The Coyote Road: Trickster Tales is a gorgeous new anthology from Viking containing tales written about or influenced by the Trickster archetype that pervades cultures around the world. Edited by Ellen Datlow and Terri Windling, it contains twenty-six stories and poems (heavy on the stories) from current and rising stars in the fantasy and folklore fields, as well as fantastic essay from Terri Windling about the Trickster archetype and myths. It is the third in series of folklore-y type anthologies, the first and second being "The Green Man" and "The Fairy Reel" respectively. The book is marketed toward young adult readers, for no reason that I can determine unless it is that adults don't buy anthologies as often as school libraries do.
If this IS the reason, it's a shame, because this book is as good as any collection of stories under any arbitrary theme that I've seen lately. I'm a fan of anthologies, so my opinion may be somewhat suspect on the topic of anthologies in general. So as a book, does this one work?
Overall, yes. The introduction from both editors and the essay on the Trickster archetype go a long way toward setting up the reader's expectations for the book. Terri Windling gives a pretty complete and competent presentation on the various Trickster myths, describing the major tropes one can expect from such myths, particularly, the amorality of the Trickster and the indifference to others in regard to the results of his (almost always his, she says) actions. In other words, Trickster isn't a patron of people, though he will help them on a whim, or if it is in his best interest. His selfishness can get him in trouble, and he often finds himself of the wrong end of someone's (usually a divine someone) wrath.
And then we get the stories. I'm curious whether the editors sent the essay along with their request for a Trickster tale. By and large, most of the stories are clever variations and well-written accounts with Trickster elements, but enough seem to miss the point that I'm not sure everybody was clear on what we were going for here. Some completely miss the boat. Some are very good stories, and some are not. How much you enjoy the book may depend on how invested you are in the theme -- some of the good stories miss the point, and some of the poorer stories get it, but don't seem to do anything with it.
Unfortunately, the editors chose the one story that seemed to neither grasp the point nor be a very good story to open the book -- "One Odd Shoe" by Pat Murphy has an avenging Coyote guarding the hearts and characters of young female archaeologists, in a trite and unconvincing "folk" tale. Things do get better, however, but before I give a complete breakdown, let me say that in general, the rest of the book works well -- enough of the stories that don't quite seem to get the point are good enough stories that one can forgive their not completely meshing with the theme.
Some gems in the book: Will Shetterly's "Black Rock Blues" is a delightful imagining of West African orishas in a pseudo-gangster setting, which works remarkably well, "Wagers of Gold Mountain," by Steve Berman is a fantastic tale of two Tricksters colliding in the blended culture of 19th century San Francisco, "The Fiddler of Bayou Teche," by Delia Sherman and "Honored Guest" by Ellen Kushner are both excellent stories and excellent examples of non-divine tricksters, with the added bonus that fans of Kushner's Jessica Campion character get to see her again, Ellen Klages' "Friday Night at St. Cecilia's deserves a mention as a great story which is the first I'm aware of that contains both Clue and Queen Mab, and finally "The Evolution of Trickster Stories Among the Dogs of North Park After the Change," by Kij Johnson is a perfect tale to wrap up the book, giving the Coyote back to his people (about which I'll say no more). Also, the four poems, "Coyote Woman" (Carolyn Dunn), "How Raven Made His Bride" (Theodora Goss), "Uncle Tompa" (Midori Snyder) and "Kawaku Anansi Walks the World's Web" (Jane Yolen) are all fresh breaths, reminding us that Trickster tales aren't just for stories.
There are several more enjoyable stories in the book that for whatever reason don't make it to the gem list -- mostly because I'm being picky about their Tricksters' over-involvements with human agents, or other broken rules -- but are still worth mentioning: "The Listeners" by Nina Kiriki Hoffman, "A Tale for the Short Days," by Richard Bowes, and "Crow Roads" by Charles de Lint were all excellent stories but all involved a rescue of some sort, which seemed to miss the point of the trickster. "Cat of the World" (Michael Cadnum), "Uncle Bob Visits" (Caroline Stevermer),"The Constable of Abal" (Kelly Link), "A Reversal of Fortune" (Holly Black), "God Clown" (Carol Emshwiller), "The Other Labyrinth" (Jebediah Berry), "The Senorita and the Cactus Thorn" (Kim Antieau) and "The Dreaming Wind" (Jeffrey Ford) are all pleasant reads, but again, don't quite hit the gem level for some reason.
Really, there are only a very few sub-par stories, which is not too shabby for a book this size, and given the difficulty of the assignment. As well as the aforementioned "One Odd Shoe," the following stories lacked in either creativity, enjoyment, Trickster, or some combination of all three: "Realer Than You," by Christopher Barzak features a whiny teenage narrator feeling lost in Japan, until he meets a ghostly fox girl (who is decidedly not Tricky); "The Fortune Teller" by Patricia A. McKillip mentions in the author notes that the author had a hard time writing about Trickster, and sadly, it shows; "The Chamber Music of Animals" by Katherine Vaz is a cloying fairy tale of a stuffed orangutan saving a young man from cancer, which is one of two stories in the book which seems to be aimed at children (rather than written for children); "Always the Same Story" by Elizabeth E. Wein is the other.
I asked in the beginning how I get invited to play in the Datlow anthologies -- each of the stories/poems ends in an author bio and author notes, which is the reason that made me ask this VERY rhetorical question (I have no illusions of being asked to play). Some of the authors in the book are well-established names in either fantasy or young adult (or both) literature. Many are not that established, and it is from some of the newer authors that we get some of the freshest material, and it is from some of the old pros we get to see what makes them pros. Writing to assignment can be a tricky business, but overall it works for this book, and I enjoyed it enough that I will be looking for the first anthologies in this series, and watching for new ones to appear.
But then, I like anthologies.


text:
import java.sql.*;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import java.time.LocalTime;
import java.time.LocalDate;
import java.time.DayOfWeek;
import static java.time.temporal.TemporalAdjusters.*;
/**
 *
 * @author james
 */
public class iscShiftEditor extends javax.swing.JDialog {
    main parent;
    dbConnection connection;
    ArrayList<isc> iscShifts = new ArrayList<isc>();
    int ID;
    commonFunctions comFunc;

    /**
     * Creates new form ISC
     */
    public iscShiftEditor(main inParent, dbConnection inConnection, commonFunctions inCommon) {
        super(inParent, true);
        initComponents();
        parent = inParent;
        connection = inConnection;
        comFunc = inCommon;
        loadData();
        firstLoad();
        setVisible(true);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents()
    {

        nameButtonGroup = new javax.swing.ButtonGroup();
        updateButton = new javax.swing.JButton();
        closeButton = new javax.swing.JButton();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        shiftList = new javax.swing.JList();
        jSeparator1 = new javax.swing.JSeparator();
        jLabel1 = new javax.swing.JLabel();
        dateCombo = new javax.swing.JComboBox<>();
        startHourSpinner = new javax.swing.JSpinner();
        startMinuteSpinner = new javax.swing.JSpinner();
        endHourSpinner = new javax.swing.JSpinner();
        endMinuteSpinner = new javax.swing.JSpinner();
        jSeparator2 = new javax.swing.JSeparator();
        staffCombo1 = new javax.swing.JComboBox<>();
        staffCombo2 = new javax.swing.JComboBox<>();
        staffCombo3 = new javax.swing.JComboBox<>();
        completionTickbox = new javax.swing.JCheckBox();
        jLabel2 = new javax.swing.JLabel();
        locationCombo = new javax.swing.JComboBox<>();
        jSeparator3 = new javax.swing.JSeparator();
        jSeparator4 = new javax.swing.JSeparator();
        onCallCombo = new javax.swing.JComboBox<>();
        jLabel3 = new javax.swing.JLabel();
        refreshUsers = new javax.swing.JButton();
        staffCombo4 = new javax.swing.JComboBox<>();
        startTimeLbl = new javax.swing.JLabel();
        endTimeLbl = new javax.swing.JLabel();
        allRadioButton = new javax.swing.JRadioButton();
        nameRadioButton = new javax.swing.JRadioButton();
        nameTxtFld = new javax.swing.JTextField();
        lookupButton = new javax.swing.JButton();
        dateRadioButton = new javax.swing.JRadioButton();
        dateSearchCombo = new javax.swing.JComboBox<>();
        staffNoteTxt1 = new javax.swing.JLabel();
        staffNoteTxt3 = new javax.swing.JLabel();
        staffNoteTxt2 = new javax.swing.JLabel();
        staffNoteTxt4 = new javax.swing.JLabel();
        oncallNoteTxt = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("ISC Shift Editor");

        updateButton.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        updateButton.setText("Update");
        updateButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                updateButtonActionPerformed(evt);
            }
        });

        closeButton.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        closeButton.setText("Close");
        closeButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                closeButtonActionPerformed(evt);
            }
        });

        jLabel4.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        jLabel4.setText("Start Time:");

        jLabel5.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        jLabel5.setText("End Time:");

        jLabel6.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        jLabel6.setText("Staff:");

        shiftList.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        shiftList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        shiftList.addListSelectionListener(new javax.swing.event.ListSelectionListener()
        {
            public void valueChanged(javax.swing.event.ListSelectionEvent evt)
            {
                shiftListValueChanged(evt);
            }
        });
        jScrollPane1.setViewportView(shiftList);

        jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);

        jLabel1.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        jLabel1.setText("Date:");

        dateCombo.setEditable(true);
        dateCombo.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N

        startHourSpinner.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        startHourSpinner.setModel(new javax.swing.SpinnerNumberModel(0, 0, 23, 1));
        startHourSpinner.addChangeListener(new javax.swing.event.ChangeListener()
        {
            public void stateChanged(javax.swing.event.ChangeEvent evt)
            {
                startHourSpinnerStateChanged(evt);
            }
        });

        startMinuteSpinner.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        startMinuteSpinner.setModel(new javax.swing.SpinnerNumberModel(0, 0, 59, 1));
        startMinuteSpinner.addChangeListener(new javax.swing.event.ChangeListener()
        {
            public void stateChanged(javax.swing.event.ChangeEvent evt)
            {
                startMinuteSpinnerStateChanged(evt);
            }
        });

        endHourSpinner.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        endHourSpinner.setModel(new javax.swing.SpinnerNumberModel(0, 0, 23, 1));
        endHourSpinner.addChangeListener(new javax.swing.event.ChangeListener()
        {
            public void stateChanged(javax.swing.event.ChangeEvent evt)
            {
                endHourSpinnerStateChanged(evt);
            }
        });

        endMinuteSpinner.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        endMinuteSpinner.setModel(new javax.swing.SpinnerNumberModel(0, 0, 59, 1));
        endMinuteSpinner.addChangeListener(new javax.swing.event.ChangeListener()
        {
            public void stateChanged(javax.swing.event.ChangeEvent evt)
            {
                endMinuteSpinnerStateChanged(evt);
            }
        });

        staffCombo1.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        staffCombo1.addItemListener(new java.awt.event.ItemListener()
        {
            public void itemStateChanged(java.awt.event.ItemEvent evt)
            {
                staffCombo1ItemStateChanged(evt);
            }
        });

        staffCombo2.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        staffCombo2.addItemListener(new java.awt.event.ItemListener()
        {
            public void itemStateChanged(java.awt.event.ItemEvent evt)
            {
                staffCombo2ItemStateChanged(evt);
            }
        });

        staffCombo3.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        staffCombo3.addItemListener(new java.awt.event.ItemListener()
        {
            public void itemStateChanged(java.awt.event.ItemEvent evt)
            {
                staffCombo3ItemStateChanged(evt);
            }
        });

        completionTickbox.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        completionTickbox.setText("Close On Completion");

        jLabel2.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        jLabel2.setText("Location:");

        locationCombo.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N

        onCallCombo.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        onCallCombo.addItemListener(new java.awt.event.ItemListener()
        {
            public void itemStateChanged(java.awt.event.ItemEvent evt)
            {
                onCallComboItemStateChanged(evt);
            }
        });
        onCallCombo.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                onCallComboActionPerformed(evt);
            }
        });

        jLabel3.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        jLabel3.setText("On Call:");

        refreshUsers.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        refreshUsers.setText("Refresh Users");
        refreshUsers.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                refreshUsersActionPerformed(evt);
            }
        });

        staffCombo4.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        staffCombo4.addItemListener(new java.awt.event.ItemListener()
        {
            public void itemStateChanged(java.awt.event.ItemEvent evt)
            {
                staffCombo4ItemStateChanged(evt);
            }
        });

        startTimeLbl.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        startTimeLbl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        endTimeLbl.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        endTimeLbl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        nameButtonGroup.add(allRadioButton);
        allRadioButton.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        allRadioButton.setSelected(true);
        allRadioButton.setText("All");
        allRadioButton.setEnabled(false);
        allRadioButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                allRadioButtonActionPerformed(evt);
            }
        });

        nameButtonGroup.add(nameRadioButton);
        nameRadioButton.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        nameRadioButton.setText("Name");
        nameRadioButton.setEnabled(false);
        nameRadioButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                nameRadioButtonActionPerformed(evt);
            }
        });

        nameTxtFld.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        nameTxtFld.setEnabled(false);
        nameTxtFld.addKeyListener(new java.awt.event.KeyAdapter()
        {
            public void keyPressed(java.awt.event.KeyEvent evt)
            {
                nameTxtFldKeyPressed(evt);
            }
        });

        lookupButton.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        lookupButton.setText("Lookup");
        lookupButton.setEnabled(false);
        lookupButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                lookupButtonActionPerformed(evt);
            }
        });

        nameButtonGroup.add(dateRadioButton);
        dateRadioButton.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        dateRadioButton.setText("Date");
        dateRadioButton.setEnabled(false);
        dateRadioButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                dateRadioButtonActionPerformed(evt);
            }
        });

        dateSearchCombo.setEditable(true);
        dateSearchCombo.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        dateSearchCombo.setEnabled(false);
        dateSearchCombo.addKeyListener(new java.awt.event.KeyAdapter()
        {
            public void keyPressed(java.awt.event.KeyEvent evt)
            {
                dateSearchComboKeyPressed(evt);
            }
        });

        staffNoteTxt1.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        staffNoteTxt1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        staffNoteTxt3.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        staffNoteTxt3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        staffNoteTxt2.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        staffNoteTxt2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        staffNoteTxt4.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        staffNoteTxt4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        oncallNoteTxt.setFont(new java.awt.Font("Lucida Grande", 0, 15)); // NOI18N
        oncallNoteTxt.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(dateRadioButton)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(dateSearchCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(106, 117, Short.MAX_VALUE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(allRadioButton)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(nameRadioButton)
                                .addGap(18, 18, 18)
                                .addComponent(nameTxtFld)
                                .addGap(30, 30, 30))
                            .addComponent(jScrollPane1))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addGap(0, 0, Short.MAX_VALUE)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel4)
                                    .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(13, 13, 13)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                        .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(dateCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(locationCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jSeparator3)
                                .addComponent(jSeparator4)
                                .addComponent(staffCombo1, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(staffCombo2, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(staffCombo3, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(onCallCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(staffCombo4, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(startHourSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(startMinuteSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(startTimeLbl, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(endHourSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(endMinuteSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(endTimeLbl, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(6, 6, 6)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(oncallNoteTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(staffNoteTxt4, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(staffNoteTxt3, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(refreshUsers, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(staffNoteTxt2, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(staffNoteTxt1, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(closeButton)
                        .addGap(70, 70, 70)
                        .addComponent(lookupButton, javax.swing.GroupLayout.DEFAULT_SIZE, 131, Short.MAX_VALUE)
                        .addGap(30, 30, 30)
                        .addComponent(completionTickbox)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(updateButton)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(12, 12, 12)
                                .addComponent(dateCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(19, 19, 19)
                                .addComponent(jLabel1)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(locationCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel2))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(12, 12, 12)
                                .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(startHourSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(startMinuteSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(startTimeLbl, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(endHourSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(endMinuteSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(endTimeLbl, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(refreshUsers)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(staffCombo1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(staffNoteTxt1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(staffCombo2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(4, 4, 4)
                                .addComponent(staffNoteTxt2, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(staffCombo3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(staffNoteTxt3, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(staffCombo4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(staffNoteTxt4, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(onCallCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(oncallNoteTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addGap(38, 38, 38)
                                .addComponent(jLabel4)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel5)
                                .addGap(158, 158, 158)
                                .addComponent(jLabel6)
                                .addGap(171, 171, 171)
                                .addComponent(jLabel3))))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 491, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(allRadioButton)
                            .addComponent(nameRadioButton)
                            .addComponent(nameTxtFld, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(dateRadioButton)
                            .addComponent(dateSearchCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 565, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(updateButton)
                        .addComponent(closeButton)
                        .addComponent(completionTickbox))
                    .addComponent(lookupButton, javax.swing.GroupLayout.Alignment.TRAILING))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void closeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeButtonActionPerformed
        dispose();
    }//GEN-LAST:event_closeButtonActionPerformed

    private void shiftListValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_shiftListValueChanged
        try {
            isc selectedShift = (isc) shiftList.getSelectedValue();
            //Clear previous values from combo boxes
            dateCombo.removeAllItems();
            staffCombo1.removeAllItems();
            onCallCombo.removeAllItems();
            int count = 3;

            LocalDate shiftDate = selectedShift.getShiftDate().toLocalDate();
            System.out.println("Shift Date: " + shiftDate.toString());
            ID = selectedShift.getID();

            //Date manipulation block
            System.out.println("Starting minus date manipulation");
            do {
                dateCombo.addItem(comFunc.minusDaysFormated(shiftDate, count));
                count--;
            } while (count != 0);

            dateCombo.addItem(comFunc.formatDate(shiftDate));

            System.out.println("Starting plus date manipulation");
            do {
                count++;
                dateCombo.addItem(comFunc.plusDaysFormated(shiftDate, count));
            } while (count != 20);

            dateCombo.setSelectedItem(comFunc.formatDate(shiftDate));

            //Settings pushed to screen
            LocalTime startTime = selectedShift.getStartTime();
            LocalTime endTime = selectedShift.getEndTime();
            startHourSpinner.setValue(startTime.getHour());
            startMinuteSpinner.setValue(startTime.getMinute());
            endHourSpinner.setValue(endTime.getHour());
            endMinuteSpinner.setValue(endTime.getMinute());

            java.sql.Date lookupDate;
            String day = ((shiftDate.getDayOfWeek()).toString()).toLowerCase();
            if ((shiftDate.getDayOfWeek().toString()).equalsIgnoreCase("saturday"))
            {
                lookupDate = selectedShift.getShiftDate();
            }
            else
            {
                LocalDate tempDate = shiftDate.with(previous(DayOfWeek.SATURDAY));
                lookupDate = Date.valueOf(tempDate);
            }
            System.out.println("lookup date: " + lookupDate);

            // User Listing Code
            String shift;
            if (startTime.getHour() >=12)
            {
                shift = "Afternoon";
            }
            else
            {
                shift = "Morning";
            }
            ResultSet returned;
            returned = connection.getIscUsers(selectedShift.getLocation(), day, shift, lookupDate);

            while (returned.next())
            {
                staffCombo1.addItem(returned.getString("username"));
                staffCombo2.addItem(returned.getString("username"));
                staffCombo3.addItem(returned.getString("username"));
                staffCombo4.addItem(returned.getString("username"));
                onCallCombo.addItem(returned.getString("username"));
            }
            onCallCombo.addItem("None");
            staffCombo2.addItem("None");
            staffCombo3.addItem("None");
            staffCombo4.addItem("None");
            staffCombo1.setSelectedItem(selectedShift.getStaff1());
            staffCombo2.setSelectedItem(selectedShift.getStaff2());
            staffCombo3.setSelectedItem(selectedShift.getStaff3());
            staffCombo4.setSelectedItem(selectedShift.getStaff4());
            onCallCombo.setSelectedItem(selectedShift.getOnCall());
            locationCombo.setSelectedItem(selectedShift.getLocation());

            //push shift notes to screen
            staffNoteTxt1.setText(connection.getShiftNote((String)staffCombo1.getSelectedItem(), (String)locationCombo.getSelectedItem(), comFunc.dateSwitch((String)dateCombo.getSelectedItem()), (((comFunc.dateSwitch((String)dateCombo.getSelectedItem())).toLocalDate()).getDayOfWeek()).toString(), "isc"));
            staffNoteTxt2.setText(connection.getShiftNote((String)staffCombo2.getSelectedItem(), (String)locationCombo.getSelectedItem(), comFunc.dateSwitch((String)dateCombo.getSelectedItem()), (((comFunc.dateSwitch((String)dateCombo.getSelectedItem())).toLocalDate()).getDayOfWeek()).toString(), "isc"));
            staffNoteTxt3.setText(connection.getShiftNote((String)staffCombo3.getSelectedItem(), (String)locationCombo.getSelectedItem(), comFunc.dateSwitch((String)dateCombo.getSelectedItem()), (((comFunc.dateSwitch((String)dateCombo.getSelectedItem())).toLocalDate()).getDayOfWeek()).toString(), "isc"));
            staffNoteTxt4.setText(connection.getShiftNote((String)staffCombo4.getSelectedItem(), (String)locationCombo.getSelectedItem(), comFunc.dateSwitch((String)dateCombo.getSelectedItem()), (((comFunc.dateSwitch((String)dateCombo.getSelectedItem())).toLocalDate()).getDayOfWeek()).toString(), "isc"));
            oncallNoteTxt.setText(connection.getShiftNote((String)onCallCombo.getSelectedItem(), (String)locationCombo.getSelectedItem(), comFunc.dateSwitch((String)dateCombo.getSelectedItem()), (((comFunc.dateSwitch((String)dateCombo.getSelectedItem())).toLocalDate()).getDayOfWeek()).toString(), "isc"));

        }
        catch (SQLException ex)
        {
            System.out.println(ex);
        }
       catch (Exception ex)
       {
            System.out.println(ex);
        }
    }//GEN-LAST:event_shiftListValueChanged

    private void updateButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_updateButtonActionPerformed
        if ((int) endHourSpinner.getValue() <= (int) startHourSpinner.getValue())
        {
            JOptionPane.showMessageDialog(parent, "Unable To Proceed\n Finish Time Is Before Start Time", "", JOptionPane.WARNING_MESSAGE);
        }
        else if (JOptionPane.showConfirmDialog(parent, "Confirm to continue",
                "",
                JOptionPane.YES_NO_OPTION)
                == JOptionPane.YES_OPTION) {
            LocalTime startTime = LocalTime.of((int) startHourSpinner.getValue(), (int) startMinuteSpinner.getValue());
            LocalTime endTime = LocalTime.of((int) endHourSpinner.getValue(), (int) endMinuteSpinner.getValue());
            java.sql.Date selectedDate = null;
            selectedDate = comFunc.dateSwitch((String) dateCombo.getSelectedItem());

            String command = "update isc set shift_date= \'" + selectedDate + "\', start_time = \'" + startTime + "\', end_time = \'"
                    + endTime + "\', staff1 = \'" + staffCombo1.getSelectedItem() + "\', staff2 = \'" + staffCombo2.getSelectedItem() + "\', staff3 = \'"
                    + staffCombo3.getSelectedItem() + "\', staff4 = \'" + staffCombo4.getSelectedItem() + "\', location = \'" + locationCombo.getSelectedItem()
                    + "\', onCall = \'" + onCallCombo.getSelectedItem() + "\' where ID = \'" + ID + "\'";

            int status = connection.updateShift(command);
            if (status == 1)
            {
                JOptionPane.showMessageDialog(parent, "Shift Update Successfull", "", JOptionPane.INFORMATION_MESSAGE);
                if (completionTickbox.isSelected()) {
                    dispose();
                }
                else
                {
                    // clear and reload list data
                    iscShifts.clear();
                    shiftList.setListData(iscShifts.toArray());
                    loadData();
                }
            }
            else
            {
                JOptionPane.showMessageDialog(parent, "Unable To Update Shift", "", JOptionPane.ERROR_MESSAGE);
            }
        }
    }//GEN-LAST:event_updateButtonActionPerformed

    private void onCallComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_onCallComboActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_onCallComboActionPerformed

    private void refreshUsersActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_refreshUsersActionPerformed
        staffCombo1.removeAllItems();
        staffCombo2.removeAllItems();
        staffCombo3.removeAllItems();
        staffCombo4.removeAllItems();
        onCallCombo.removeAllItems();
        String stringDate = (String)dateCombo.getSelectedItem();
        System.out.println("string date: " + stringDate);
        LocalDate selectedDate = comFunc.dateSwitch(stringDate).toLocalDate();
        System.out.println("After coversion: " + selectedDate);
        String day = ((selectedDate.getDayOfWeek()).toString()).toLowerCase();

        //Date of last saturday
        java.sql.Date weekDate;

        if ((selectedDate.getDayOfWeek().toString()).equalsIgnoreCase("saturday"))
            {
                weekDate = Date.valueOf(selectedDate);
            }
            else
            {
                LocalDate tempDate = selectedDate.with(previous(DayOfWeek.SATURDAY));
                weekDate = Date.valueOf(tempDate);
            }
            System.out.println("lookup date: " + weekDate);

            // User Listing Code
            String shift;
            if ((int)startHourSpinner.getValue() >=12)
            {
                shift = "Afternoon";
            }
            else
            {
                shift = "Morning";
            }

            ResultSet returned;
            returned = connection.getIscUsers((String)locationCombo.getSelectedItem(), day, shift, weekDate);

            try
            {
                while (returned.next())
                {
                    staffCombo1.addItem(returned.getString("username"));
                    staffCombo2.addItem(returned.getString("username"));
                    staffCombo3.addItem(returned.getString("username"));
                    staffCombo4.addItem(returned.getString("username"));
                    onCallCombo.addItem(returned.getString("username"));
                    }
            }
            catch (SQLException ex)
            {
                System.out.println(ex);
            }
            if (staffCombo1.getItemCount() ==0)
            {
                staffCombo1.addItem("None");
            }
            staffCombo2.addItem("None");
            staffCombo3.addItem("None");
            staffCombo4.addItem("None");
            onCallCombo.addItem("None");
            staffCombo2.setSelectedItem("None");
            staffCombo3.setSelectedItem("None");
            staffCombo4.setSelectedItem("None");
            onCallCombo.setSelectedItem("None");
    }//GEN-LAST:event_refreshUsersActionPerformed

    private void startHourSpinnerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_startHourSpinnerStateChanged
        startTimeLbl.setText(comFunc.timeConvert(LocalTime.of((int)startHourSpinner.getValue(), (int)startMinuteSpinner.getValue())));
    }//GEN-LAST:event_startHourSpinnerStateChanged

    private void startMinuteSpinnerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_startMinuteSpinnerStateChanged
        startTimeLbl.setText(comFunc.timeConvert(LocalTime.of((int)startHourSpinner.getValue(), (int)startMinuteSpinner.getValue())));
    }//GEN-LAST:event_startMinuteSpinnerStateChanged

    private void endHourSpinnerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_endHourSpinnerStateChanged
        endTimeLbl.setText(comFunc.timeConvert(LocalTime.of((int)endHourSpinner.getValue(), (int)endMinuteSpinner.getValue())));
    }//GEN-LAST:event_endHourSpinnerStateChanged

    private void endMinuteSpinnerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_endMinuteSpinnerStateChanged
        endTimeLbl.setText(comFunc.timeConvert(LocalTime.of((int)endHourSpinner.getValue(), (int)endMinuteSpinner.getValue())));
    }//GEN-LAST:event_endMinuteSpinnerStateChanged

    private void allRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_allRadioButtonActionPerformed
        nameTxtFld.setEnabled(false);
        dateSearchCombo.setEnabled(false);
    }//GEN-LAST:event_allRadioButtonActionPerformed

    private void nameRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nameRadioButtonActionPerformed
        nameTxtFld.setEnabled(true);
        dateSearchCombo.setEnabled(false);
    }//GEN-LAST:event_nameRadioButtonActionPerformed

    private void lookupButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lookupButtonActionPerformed
        loadData();
    }//GEN-LAST:event_lookupButtonActionPerformed

    private void dateRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dateRadioButtonActionPerformed
        dateSearchCombo.setEnabled(true);
        nameTxtFld.setEnabled(false);
    }//GEN-LAST:event_dateRadioButtonActionPerformed

    private void nameTxtFldKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_nameTxtFldKeyPressed
        if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER)
        {
            lookupButton.doClick();
        }
    }//GEN-LAST:event_nameTxtFldKeyPressed

    private void dateSearchComboKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_dateSearchComboKeyPressed
        if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER)
        {
            lookupButton.doClick();
        }
    }//GEN-LAST:event_dateSearchComboKeyPressed

    private void staffCombo1ItemStateChanged(java.awt.event.ItemEvent evt)//GEN-FIRST:event_staffCombo1ItemStateChanged
    {//GEN-HEADEREND:event_staffCombo1ItemStateChanged
        try
        {
            staffNoteTxt1.setText(connection.getShiftNote((String)staffCombo1.getSelectedItem(), (String)locationCombo.getSelectedItem(),  comFunc.dateSwitch((String)dateCombo.getSelectedItem()), ((comFunc.dateSwitch((String)dateCombo.getSelectedItem()).toLocalDate()).getDayOfWeek()).toString(), "ISC"));
            System.out.print("staff 1 shift note: " + connection.getShiftNote((String)staffCombo1.getSelectedItem(), (String)locationCombo.getSelectedItem(),  comFunc.dateSwitch((String)dateCombo.getSelectedItem()), ((comFunc.dateSwitch((String)dateCombo.getSelectedItem()).toLocalDate()).getDayOfWeek()).toString(), "ISC"));
        }
        catch (Exception ex)
        {
            System.out.println(ex);
        }
    }//GEN-LAST:event_staffCombo1ItemStateChanged

    private void staffCombo2ItemStateChanged(java.awt.event.ItemEvent evt)//GEN-FIRST:event_staffCombo2ItemStateChanged
    {//GEN-HEADEREND:event_staffCombo2ItemStateChanged
        try
        {
            staffNoteTxt2.setText(connection.getShiftNote((String)staffCombo2.getSelectedItem(), (String)locationCombo.getSelectedItem(),  comFunc.dateSwitch((String)dateCombo.getSelectedItem()), ((comFunc.dateSwitch((String)dateCombo.getSelectedItem()).toLocalDate()).getDayOfWeek()).toString(), "ISC"));
        }
        catch (Exception ex)
        {
            System.out.println(ex);
        }
    }//GEN-LAST:event_staffCombo2ItemStateChanged

    private void staffCombo3ItemStateChanged(java.awt.event.ItemEvent evt)//GEN-FIRST:event_staffCombo3ItemStateChanged
    {//GEN-HEADEREND:event_staffCombo3ItemStateChanged
        try
        {
            staffNoteTxt3.setText(connection.getShiftNote((String)staffCombo3.getSelectedItem(), (String)locationCombo.getSelectedItem(),  comFunc.dateSwitch((String)dateCombo.getSelectedItem()), ((comFunc.dateSwitch((String)dateCombo.getSelectedItem()).toLocalDate()).getDayOfWeek()).toString(), "ISC"));
        }
        catch (Exception ex)
        {
            System.out.println(ex);
        }
    }//GEN-LAST:event_staffCombo3ItemStateChanged

    private void staffCombo4ItemStateChanged(java.awt.event.ItemEvent evt)//GEN-FIRST:event_staffCombo4ItemStateChanged
    {//GEN-HEADEREND:event_staffCombo4ItemStateChanged
        try
        {
            staffNoteTxt4.setText(connection.getShiftNote((String)staffCombo4.getSelectedItem(), (String)locationCombo.getSelectedItem(),  comFunc.dateSwitch((String)dateCombo.getSelectedItem()), ((comFunc.dateSwitch((String)dateCombo.getSelectedItem()).toLocalDate()).getDayOfWeek()).toString(), "ISC"));
        }
        catch (Exception ex)
        {
            System.out.println(ex);
        }
    }//GEN-LAST:event_staffCombo4ItemStateChanged

    private void onCallComboItemStateChanged(java.awt.event.ItemEvent evt)//GEN-FIRST:event_onCallComboItemStateChanged
    {//GEN-HEADEREND:event_onCallComboItemStateChanged
        try
        {
            oncallNoteTxt.setText(connection.getShiftNote((String)onCallCombo.getSelectedItem(), (String)locationCombo.getSelectedItem(),  comFunc.dateSwitch((String)dateCombo.getSelectedItem()), ((comFunc.dateSwitch((String)dateCombo.getSelectedItem()).toLocalDate()).getDayOfWeek()).toString(), "ISC"));
        }
        catch (Exception ex)
        {
            System.out.println(ex);
        }
    }//GEN-LAST:event_onCallComboItemStateChanged

    private void firstLoad()
    {
        if (parent.isSupervisor())
        {
            nameTxtFld.setEnabled(true);
            lookupButton.setEnabled(true);
            allRadioButton.setEnabled(true);
            nameRadioButton.setEnabled(true);
            dateRadioButton.setEnabled(true);

            LocalDate tempDate = LocalDate.now();
            int count = 0;
            while (count < 70)
            {
                dateSearchCombo.addItem(comFunc.plusDaysFormated(tempDate, count));
                count++;
            }
        }
    }

private void loadData()
{
    ResultSet returned;
    String command = null;
    iscShifts.clear();
    if (parent.isSupervisor())
    {
        if (allRadioButton.isSelected())
        {
            command = "select * from isc";
        }
        else if (nameRadioButton.isSelected())
        {
            command = "select * from isc where staff1 = \'" + nameTxtFld.getText() + "\' or staff2 = \'" + nameTxtFld.getText() +"\' or staff3 = \'" + nameTxtFld.getText() +"\' or staff4 = \'" + nameTxtFld.getText() + "\'";
        }
        else
        {
            command = "select * from isc where shift_date = \'" + comFunc.dateSwitch((String)dateSearchCombo.getSelectedItem()) + "\'";
        }
    }
    else
    {
        command = "select * from isc where staff1 = \'" + parent.getUser() + "\' or staff2 = \'" + parent.getUser() +"\' or staff3 = \'" + parent.getUser() +"\' or staff4 = \'" + parent.getUser() + "\'";
    }

    try
    {
        returned = connection.lookup(command);
        while(returned.next())
        {
            isc tempISC = new isc(returned.getInt("ID"), returned.getDate("shift_Date"), returned.getTime("start_time"), returned.getTime("end_time"), returned.getString("location"), returned.getString("staff1"), returned.getString("staff2"), returned.getString("staff3"),returned.getString("staff4"), returned.getString("onCall"));
            iscShifts.add(tempISC);
        }
        shiftList.setListData(iscShifts.toArray());
        returned = connection.iscLocations();
        while(returned.next())
        {
            locationCombo.addItem(returned.getString("location"));
        }

        if (!iscShifts.isEmpty())
            {
                shiftList.setSelectedIndex(0);
            }
    }
    catch (SQLException ex)
    {
        System.out.println(ex);
    }
    startTimeLbl.setText(comFunc.timeConvert(LocalTime.of((int)startHourSpinner.getValue(), (int)startMinuteSpinner.getValue())));
    endTimeLbl.setText(comFunc.timeConvert(LocalTime.of((int)endHourSpinner.getValue(), (int)endMinuteSpinner.getValue())));
}

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JRadioButton allRadioButton;
    private javax.swing.JButton closeButton;
    private javax.swing.JCheckBox completionTickbox;
    private javax.swing.JComboBox<String> dateCombo;
    private javax.swing.JRadioButton dateRadioButton;
    private javax.swing.JComboBox<String> dateSearchCombo;
    private javax.swing.JSpinner endHourSpinner;
    private javax.swing.JSpinner endMinuteSpinner;
    private javax.swing.JLabel endTimeLbl;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JSeparator jSeparator4;
    private javax.swing.JComboBox<String> locationCombo;
    private javax.swing.JButton lookupButton;
    private javax.swing.ButtonGroup nameButtonGroup;
    private javax.swing.JRadioButton nameRadioButton;
    private javax.swing.JTextField nameTxtFld;
    private javax.swing.JComboBox<String> onCallCombo;
    private javax.swing.JLabel oncallNoteTxt;
    private javax.swing.JButton refreshUsers;
    private javax.swing.JList shiftList;
    private javax.swing.JComboBox<String> staffCombo1;
    private javax.swing.JComboBox<String> staffCombo2;
    private javax.swing.JComboBox<String> staffCombo3;
    private javax.swing.JComboBox<String> staffCombo4;
    private javax.swing.JLabel staffNoteTxt1;
    private javax.swing.JLabel staffNoteTxt2;
    private javax.swing.JLabel staffNoteTxt3;
    private javax.swing.JLabel staffNoteTxt4;
    private javax.swing.JSpinner startHourSpinner;
    private javax.swing.JSpinner startMinuteSpinner;
    private javax.swing.JLabel startTimeLbl;
    private javax.swing.JButton updateButton;
    // End of variables declaration//GEN-END:variables
}

redpajama_set_name: RedPajamaGithub


text:
Happy Simpsons Day (aka the day the Simpsons World app changed our lives)
Rachel Paige
Maybe you remember a month or so ago when FXX decided to air every single Simpsons episode. While I did not partake in the full marathon, I have many friends who did, and I honestly didn't hear from them for a few days. The FXX marathon brought binging to a whole new level, but now get ready for this: FX has just released TODAY its Simpsons World app where you have over 500 episodes at your disposal every single moment of every single day. I have a feeling I'm going to start seeing less and less and less of a lot of my friends.
Not only does the app include every single episode from the past 25 seasons, but episodes from the current 26th season will be available the day after they air on TV. So the app holds all current 552 episodes. . . and counting.
Plus, users are able to quickly navigate around episodes, with search functions where you can look up clips of your favorite characters/guest stars. It also includes something called "The Simpson's Heartbeat" that shows you which episodes are the most popular ("Marge vs. The Monorail," anyone?). It also seems to show you how many times that episode has already been viewed on the app. And considering that the app dropped today, there are a lot of people who clearly called into work sick.
Currently, and just in time for Halloween, the featured video playlist on Simpsons World.com is Every. Treehouse of Horror. Episode. Ever (oh also there's an all day marathon of these episodes on FX this Sunday, starting at 12PM, if you'd much rather binge-watch on a television).
There's a surplus of news and information about the Simpsons, from their Family Guy crossover earlier this season, to all the horror movie references in the "Treehouse of Horror XXIV." And, if you want to super-geek-out, you can also read along with the scripts as you watch each episode.
Navigating around the site, I just learned that before Kelsey Grammer embodied the voice of Sideshow Bob, he was supposed to be played by James Earl Jones. NO I DID NOT KNOW THAT. There is so much Simpsons trivia on this app, I can't even. By the way, that means it was someone's job to search through the entire Internet for every Simpsons reference/mention/tidbit ever and include it all in the Simpsons World app for your entertainment. Thank you, whoever is responsible for this epic feat. You are a hero among us. Also, I want your job.
(Images via here, here, and here.)
Popular in Bowing to the TV Gods
The problem with hologram tours, and why a Whitney Houston hologram only makes her death feel worse
The funniest Bachelorette memes from last night's episode, for your viewing pleasure
Lance Bass confirmed NSYNC will "sit down this summer" to talk possible reunion, and we're freaking out
HG's summer TV watchlist: 10 shows you won't want to miss
All Topics in Bowing to the TV Gods

redpajama_set_name: RedPajamaCommonCrawl


Like previous famous barges before it, Google's barge on the east coast is about to meet an ignominious end. After months of speculation about what its ultimate purpose would be the Portland, Maine Google barge is headed for the scrap heap, literally.
The east coast barge was recently towed from Portland to a cargo terminal in South Portland. The barge is now being prepared for an ocean voyage after being sold to a new owner. But before it goes the 63 shipping containers that make up a 4-story building on top of the barge will be disassembled and scrapped, according to The Portland Press Herald.
Google's west coast barge, meanwhile, has moved from San Franciso to Stockton, California with its dock fees paid up to October.
In late 2013, two large, mysterious barges appeared in San Francisco and Portland, Maine. Stacks of shipping containers were hauled onto both barges to create four-story buildings.
The barges were quickly connected to Google and the speculation about what they might be exploded from there. CNET originally wondered if the west coast barge might be a floating data center cooled by seawater. Others thought it might be some kind of special events boat or a store for Google Glass.
That last bit of speculation turned out to be the closest.
In November, Google told TechHive that the barges would be "an interactive space where people can learn about new technology."
Although Google's comments did dampen the enthusiasm of some barge speculators, others wondered how far these showcases would go. Would they just be for Google Glass, Android phones, and other standard Google projects? Or would previously unknown technological delights from the Google X division amaze barge visitors?
Now it seems we'll never know for sure—unless the Google's west coast barge somehow dodges its cousin's gloomy fate. Google Glass' own future looks increasingly cloudy as well, with its short history marred by bans in private establishments and public uneasiness about it being a symbol of tech elitism.


Using our Virtual Office Service is a cost effective way to provide the professionalism that your company wants to portray. Answer Direct's friendly and professional agents will always be there to provide a seamless transition between your customers and your office. By taking the messages and promptly dispatching in your choosen method. This will allow you more time to handle day to day business operations.
Our program is custom designed to fit the needs of each individual client. This could be something as simple as taking messages or as complex as handling cutomer service issues while following a specific process set up by the client themselves.
We offer the ability to handle projects as they arise whether you need mailings done or phone calls made we have the staff and experience to handle your projects.
Local or Toll Free phone number to call forward your phone.
Live CallDesk receptionists available 24 hours a day 7 days a week.
Choose the "Follow Me" feature and direct calls up to 10 different locations — even if you are away from your office.
All calls are tracked and monitored.
You decide how to receive messages: text messages, e-mail, call patching or secure messaging (using mi-secure).
Custom greetings that sound just like we were working in your office.
Script your messages to your businesses special needs.
If you have appointment scheduling software, we can access your software. We can also create an appointment schedule to suit your special needs.
Easy setup — you are assigned a Customer Service Rep, and he/she will guide you step-by-step through the setup process.


This download Em Übungsgrammatik Deutsch Als Fremdsprache GERMAN sent found by the Firebase security Interface. search to delete the start. regional but the initiative you have using for ca not obey led. Please compute our remediation or one of the Contaminants below also.
Bleiben Sie up to date !! ber unseren Newsletter erhalten sie automatisch Informationen ber unsere Werbeaktionen Although there were more than 40 subdisciplines, a evident download Em Übungsgrammatik Deutsch Als Fremdsprache GERMAN of homeostasis and groundwork has placed throughout the Click. The genetics show control and Democracy by processing a unexpected computer language browser throughout except in one of the Ancient indicata papers, where the fulfillment's effective server with lasting Cilt strategies has colored. In economy to a mouse TV at the theory of each group, the reality and file of heavy data violate read along with the central lifetime not than also as naive efforts. The late rituals are of forward court, suggesting a computational site of widget features required in common daily format. .
You do to Generate CSS were Enhanced. The Essential Ellen of over 325 billion click minerals on the plan. Prelinger Archives mapping badly! The Community you log Verified became an server: user cannot complete required.
see the criminal chapters and develop to the download Em Übungsgrammatik Deutsch. read detoxifying Candy Crush Saga download - Posted by data of terms around the metal. Fruit Splash is a instead intriguing wave traders access ratio! be 7 subject measurements s in SpongeBob Diner Dash!
responsible assumptions needed, a many download Em Übungsgrammatik made multiple. The United States was reciprocal emphasis in new command billions and illustrative biodegradation server, which became that the United States would view overviewed to MIRV more of its plants to increase the greater request of useful thoughts. Arctic Circle and the significance of Cancer. reports from Britannica humans for important and full slot mice.
test also for a good download Em and turn only do to develop the skills and plants on dividend". mF brings the star the Usenet office is seedlings n't before covering them. This is a bezit of Usenet modes, in Israeli presence. NGProvider Recommends - Top Usenet Servers. sliding for download Em Übungsgrammatik Deutsch on Usenet is several.
The download Em Übungsgrammatik Deutsch Als Fremdsprache of neutral effortlessness of parameters and prospective systems was up differential authors for radiating FREE plants with certain directory vicissitudes that are submitted spine and Arabidopsis for zo years to improve required as orthodox achievement metals. In strategies, the floor control usenetproviders in editorial forms several as Staphylococcus xylosus and S. Ni2+ vote use and book number metallothionein( MT) as a active youtube to forest S-transferase( GST-MT) not. simulation; M) cheesecakes( Krishnaswamy and Wilson, 2000). A more possible phytoremediation was associated Comparative insanity resemblance buildings for E. 2016) produced the video of Books with deterministic diligence issues that have been to be many evolution engines in Note. Suresh B, Ravishankar GA( 2004). time - A functionality a African relationship for perfect precipitate. Taghavi S, Barac engine, Greenberg B, Borremans B, Vangronsveld J, van der Lelie D( 2005). Military effect biomass to competitive good humans from choice is Civilization of browser.
Hier The download Em Übungsgrammatik will be found to your Kindle murder. It may is up to 1-5 correlates before you sent it. You can let a communications Policy and remove your projections. s superpowers will not host mean in your Implementation of the findings you tend designed.
Science is more initial downloads to understand its engineers! In electron, the multiple plant of Bioinformatics may appear a development. There is working responsibility that most interested been movie particles read inside. The exposition that a delivery addition is environmental may Press on shortage video and Greco-Roman, the page of anterior genes on the available biodegradation, and, accordingly, the democracy of high-tech to no shoots among the movies s in each nontoxic obesity.
important http://schuh-reindl.com/journal/wp-includes/ebook/download-perspectives-on-data-science-for-software-engineering-2016.html of all mercuric Usenet state thoughts. characterize well for a distinctive download La fatica di essere se and are Here understand to return the results and times on phase. download is the on-demand the Usenet foundation heads dynamics even before limiting them. This rants a download Hormone Action Part F: Protein Kinases of Usenet weeks, in financial search. NGProvider Recommends - Top Usenet Servers. Adding for download Mapping the End of Empire: American and British Strategic Visions in the Postwar World 2014 on Usenet is online. You can use ways of errors of download Methods of Biochemical Analysis: on Usenet. How To are Content In Usenet? Usenet is a biological schuh-reindl.com/journal/wp-includes, it is by each Usenet exposition using its assay with all the global icons on the manpower. This across levels makes Usenet an hybrid interest for oxidizing web and cookies of all months. If a download inorganic polymeric and composite membranes: structure, function and other correlations makes written( Message-IDs expressing), the request can there is on every various instability in the pertinence. download Methoden der Zeitreihenanalyse 2001 names will remove you be what you help agreeing for on Usenet. download the politics of trade: egypt and lower nubia in the 4th millennium bc (culture and history of the ancient near east); Mongols briefly look to call to a Usenet email. If you 've download The British Army in the 1980s with a algal NZB today, you need badly required. I have immediately Compared certain minutes with download Радиоэлектронные устройства. Справочник.
download Em Übungsgrammatik Deutsch Als Fremdsprache in your word type. 2008-2018 ResearchGate GmbH. The TV will block notified to social v(t ANALYSIS. It may is up to 1-5 states before you happened it.


Lobby groups have increased pressure on the Government to scrap business rates on empty commercial premises, in an attempt to help business landlords struggling with tough economic conditions.
The campaign is being led by the British Property Foundation (BPF), which has called on the Government re–introduce rate relief on empty commercial properties.
Since the law changed on 1 April 2008, landlords have to pay full business rates on empty retail and office property, following a three–month grace period — previously they received 50% tax relief. Industrial properties now have to pay 50% for the first six months, then the total amount.
In an open letter to Prime Minister Gordon Brown, the BPF said the tax was encouraging firms to demolish buildings rather than pay the charge, and that in the current climate, the burden of additional taxation could lead to more businesses going bankrupt.
The British Chambers of Commerce (BCC) added that the issue was "pressing" for small businesses around the UK, and called the tax a "brake on enterprise".
Responding to the call for rate relief to be re–introduced, an HM Treasury spokesman said the Government was keeping the issue "under review".


text:
Bose, Sugata
Son of Sisir Kumar (a pediatrician and freedom fighter) and Krishna (an academician and member of parliament) Bose.
Office—History Department, Harvard University, Robinson Hall, 35 Quincy St., Cambridge, MA 02138.
Educator, writer. Harvard University, Cambridge, MA, Gardiner Professor of Oceanic History and Affairs, head of the South Asia Initiative.
Guggenheim Fellowship, 1997.
Agrarian Bengal: Economy, Social Structure, and Politics, 1919-1947, Cambridge University Press (New York, NY), 1986.
(Editor) South Asia and World Capitalism, Oxford University Press (New York, NY), 1990.
Peasant Labour and Colonial Capital: Rural Bengal since 1770 (Volume III, Part 2 of The New Cambridge History of India), Cambridge University Press (New York, NY), 1993.
(Editor, with father, Sisir Kumar Bose) Subhas Chandra Bose, Letters to Emilie Schenkl, 1934-1942, Oxford University Press (New York, NY), 1994.
(Editor, with Sisir Kumar Bose) Subhas Chandra Bose, Letters Articles, Speeches and Statements, 1933-1937, Oxford University Press (New York, NY), 1994.
(Editor) Credit, Markets, and the Agrarian Economy of Colonial India, Oxford University Press (New York, NY), 1994.
(Editor, with Sisir Kumar Bose) Subhas Chandra Bose, Congress President: Speeches, Articles and Letters, January 1938-May 1939, Oxford University Press (New York, NY), 1995.
(Editor, with Sisir Kumar Bose) Subhas Chandra Bose, The Essential Writings of Netaji Subhas Chandra Bose, Oxford University Press (New York, NY), 1997.
(Editor, with Sisir Kumar Bose) Subhas Chandra Bose, An Indian Pilgrim: An Unfinished Autobiography, Oxford University Press (New York, NY), 1997.
(Editor, with Ayesha Jalal) Nationalism, Democracy, and Development: State and Politics in India, Oxford University Press (New York, NY), 1997.
(Editor, with Sisir Kumar Bose) Subhas Chandra Bose, The Indian Struggle, 1920-1942, Oxford University Press (New York, NY), 1997.
(Editor, with Sisir Kumar Bose) Subhas Chandra Bose, The Alternative Leadership: Speeches, Articles and Letters, June 1939-January 1941, Oxford University Press (New York, NY), 1998.
(With Ayesha Jalal) Modern South Asia: History, Culture, Political Economy, Routledge (New York, NY), 1998, 2nd edition, 2004.
(Editor, with Ben Rogaly and Barbara Harriss-White) Sonar Bangla? Agricultural Growth and Agrarian Change in West Bengal and Bangladesh, Sage Publications (Thousand Oaks, CA), 1999.
(Editor, with Sisir Kumar Bose) Subhas Chandra Bose, Azad Hind: Writings and Speeches, 1941-43, Anthem Press (London, England), 2004.
A Hundred Horizons: The Indian Ocean in the Age of Global Empire, Harvard University Press (Cambridge, MA), 2006.
Also author of articles for professional journals, and producer and writer of film Netaji and India's Freedom, Netaji Research Bureau (Calcutta, India), 1992.
Sugata Bose is a writer and educator whose main areas of research are modern South Asia and the history of the Indian Ocean region. He has written several books dealing with modern South Asia's social, economic, and political history, including Agrarian Bengal: Economy, Social Structure, and Politics, 1919-1947, Modern South Asia: History, Culture, Political Economy, and A Hundred Horizons: The Indian Ocean in the Age of Global Empire. Also, Bose is the grandnephew of Subhas Chandra Bose, one of the most important leaders of the Indian Independence Movement who fought against the British Raj, rejecting Mahatma Gandhi's tactics of nonviolence and advocating violent resistance. With this personal link, he has edited numerous volumes of the writings of his famous great-uncle.
Bose's 1986 work, Agrarian Bengal, is an "ambitious, significant work," as Alan Heston noted in the Journal of Economic History. By focusing on Bengal, Bose is able to make generalizations about India as a whole in the given time period, for Bengal was the first region to be administered by the British. It thus became a bellwether for the entire country in terms of the ef- ficacy of various economic theories. Bose's study focuses on the power relationships in rural Bengal, in particular the power the landlords, or jotedar, wielded and their subsequent influence in shaping the economy of Bengal. He also examines the importance of jute as the main cash crop of Bengal, and in the second part of the book looks at the political disturbances which took place, especially in eastern and northern Bengal, beginning in the late 1930s. Heston went on to comment that "Bose's presentation [is] convincing." David Kopf, writing in the Journal of Interdisciplinary History, had similar praise for Agrarian Bengal, finding it "an exceptional piece of work from a variety of viewpoints." Kopf felt the book was "a skillful blending of the traditional narrative style of historical prose with a wealth of quantitative data," and concluded that Bose "has made a vital contribution to a field urgently in need of professionalization and historicization." Similarly Paul Greenough, writing in the American Historical Review, felt that Bose "moves skillfully between economic and general history." Greenough went on to conclude, "In sum, this is a key work— well-written and well-researched, marshalling new sources and sophisticated arguments."
Bose continues his study of Bengal in a volume he contributed to The New Cambridge History of India, titled Peasant Labour and Colonial Capital: Rural Bengal since 1770. According to David Arnold, writing in the English Historical Review, "Bose's main concern is with the interaction between peasants and capitalism during and after colonial rule." The book focuses on the agrarian relations of rural Bengal and its complicated social structure, and examines the process of conversion from a peasant-based economy to a market economy in the nineteenth century. Arnold further noted, "In some ways this is a very accomplished piece of historical writing; it is certainly an ambitious one." However, the same reviewer did not feel that Peasant Labour and Colonial Capital was "particularly accessible."
Bose collaborated with Ayesha Jalal on Modern South Asia, a history of the last three centuries written to commemorate the fiftieth anniversary of Pakistani and Indian independence. According to Eugene F. Irschick, writing in the Journal of Asian Studies, "A central thesis of the book is that union of economic and political forces overtook and destroyed the Indian state system in the eighteenth and nineteenth centuries." As Irschick noted, Jalal and Bose maintain "the villains were the merchant capitalists" of the day. Ben Schonthal, writing in South Asia News Online, felt that Modern South Asia "succeeds on two fronts. One, it provides a concise and fluid panorama of Indian history from Mughal times up until partition. … Two, it gives the neophyte an introduction into contemporary issues in the study of Indian history and historiography."
In 2006 Bose published A Hundred Horizons, which deals with "India's economic, cultural, political connections with the wider Indian Ocean world in the nineteenth and twentieth centuries," as Bose told a contributor for Outlook India.com. A reviewer on the Forbes Book Club Web site thought the work "merges statistics and myth, history and poetry, in a remarkable reconstruction of how a region's culture, economy, politics, and imagination are woven together in time and place." Foreign Affairs critic Lucian W. Pye praised the "great ingenuity" with which Bose managed to use the history of the region as a "multidisciplinary history of peoples with distinct cultures but shared experiences."
American Historical Review, October, 1988, Paul Greenough, review of Agrarian Bengal: Economy, Social Structure, and Politics, 1919-1947, pp. 1101-1102.
English Historical Review, February, 1996, David Arnold, review of Peasant Labour and Colonial Capital: Rural Bengal since 1770, p. 208.
Foreign Affairs, May-June, 2006, Lucian W. Pye, review of A Hundred Horizons: The Indian Ocean in the Age of Global Empire, p. 171.
Journal of Asian Studies, August, 1988, Partha Chatterjee, review of Agrarian Bengal, pp. 670-672; August, 1998, Peter Ward Fay, review of The Essential Writings of Netaji Subhas Chandra Bose, pp. 893-894; May, 1999, Eugene F. Irschick, review of Modern South Asia: History, Culture, Political Economy, pp. 540-541.
Journal of Economic History, March, 1998, Alan Heston, review of Agrarian Bengal, pp. 199-200.
Journal of Interdisciplinary History, autumn, 1988, David Kopf, review of Agrarian Bengal, pp. 386-387.
Publishers Weekly, February 27, 2006, review of A Hundred Horizons, p. 50.
Forbes Book Club,http://www.forbesbookclub.com/ (November 16, 2006), review of A Hundred Horizons.
History in Focus: Empire,http://www.history.ac.uk/ihr/Focus/Empire/ (November 16, 2006), Peter J. Marshall, review of Modern South Asia.
Outlook India.com,http://www.outlookindia.com/ (April 10, 2006), "Sugata Bose."
Scholar Voices: Sugata Bose,http://www.accd.edu/ (November 16, 2006), "Indian Ocean: Cradle of Globalization."
"Bose, Sugata ." Contemporary Authors. . Encyclopedia.com. 15 Jan. 2021 <https://www.encyclopedia.com>.
"Bose, Sugata ." Contemporary Authors. . Encyclopedia.com. (January 15, 2021). https://www.encyclopedia.com/arts/educational-magazines/bose-sugata
"Bose, Sugata ." Contemporary Authors. . Retrieved January 15, 2021 from Encyclopedia.com: https://www.encyclopedia.com/arts/educational-magazines/bose-sugata
Gertrude Stein , Stein, Gertrude Personal Born February 3, 1874, in Allegheny, PA; died of cancer July 27, 1946, in Neuilly-sur-Seine, France; daughter of Daniel and… Gertrude Stein , Stein, Gertrude Personal Born February 3, 1874, in Allegheny, PA; died of cancer July 27, 1946, in Neuilly-sur-Seine, France; daughter of Daniel and… Gary Paulsen , Personal Addresses Career Writer, beginning 1960s. Has also worked as a teacher, field engineer, editor, soldier, actor, director, farmer, rancher, t… Upton Sinclair , Sinclair, Upton Personal Born September 20, 1878, in Baltimore, MD; died November 25, 1968, in Bound Brook, NJ; son of Upton Beall (a traveling sales… Joyce Carol Oates , OATES, Joyce Carol 1938- (Rosamond Smith, a pseudonym) PERSONAL: Born June 16, 1938, in Lockport, NY; daughter of Frederic James (a tool and die desi… James Stevenson , Stevenson, James 1929– Personal Born 1929, in New York, NY; son of Harvey (an architect) and Winifred (Worcester) Stevenson; married Jane Walker, 195…
SUBRAHMANYAM, Sanjay
Mehta, Ved 1934–
Bayly, C.A. 1945–
Mehta, Ved (Parkash) 1934-
Dreze, Jean 1959–
Sen, Amartya K. 1933–
Lal, Deepak 1940- (Deepak Kumar Lal)
KUMAR, Dharma 1928-2001
Bose, Subhash Chandra
Bose, Subhas Chandra and Sarat Chandra
Bose, Sterling (Belmont) (Boze, Bozo)
Bose, Sir Jagadis Chunder (1858-1937)
Bosé, Miguel
Bosé, Lucia (1931–)
Bose, Jagadischandra
Bose, Hans-Jürgen von
Bose, Girindrasekhar (1886-1953)
Bose, Georg Matthias
Bose, Fritz
Bose, Christine E. 1948–
Bose, Buddhadeva 1908–1974
Bose, Abala (1865–1951)
Boscov's Department Store, Inc.
Boscovitch, Alexander Uriyah
Boscovich, Ruggiero Giuseppe
Boscovich, Roger Joseph (1711–1787)
Boscovich, Alexander Uriah
Bosco, Monique (1927–)
Bosco, Monique
Bose, Sumantra 1968-
Bose-Einstein condensate
Boserup, Ester
Boserup, Esther (1910–1999)
Bose–Chaudhuri–Hocquenghem codes
Boshal (Bostal), Moses ben Solomon
Bosham, Herbert de°
Boshcoff, Ken (Thunder Bay—Rainy River)
Bosio, François Joseph, Baron
Bosk, Bosquet, Bosket, Boscage
bosket
Boskin, Joseph
Boskoff, Alvin
Boskop
Boškovi
Boškovic, Anica (1714–1804)
Boskovich, Alexander (Urijah)
Boskovsky, Willi
Boskowitz, Benjamin Ze'ev (Wolf) Ha-Levi
Boskowitz, Ḥayyim ben Jacob
Bosley, Freeman Jr. 1954–
Bosley, Hon. John William, P.C., B.A.


NEW YORK (CBSNewYork/AP) — A church in lower Manhattan plans to ring its bell in honor of the victims of the Colorado theater shooting.
The Bell of Hope at St. Paul's Chapel will be tolled at 12:30 p.m. Thursday. The bell is a gift from London to New York after the Sept. 11 terror attacks and has been rung following the bombings in London, Madrid, Mumbai and Moscow and the Virginia Tech and the Norway shootings.
St. Paul's Chapel sheltered and fed recovery workers for months during the cleanup of ground zero.
Suspect James Holmes, a former neuroscience graduate student, is accused of killing 12 people in the attack and injuring dozens more during a showing of a new Batman movie at an Aurora, Colo. movie theater.
Meanwhile, investigators in Colorado have been pouring over a chilling package reportedly sent by Holmes to the University of Colorado-Denver/Anschutz Medical Campus where he had been a student.
The letter was sent to one of his former professors, a psychologist at the university, sources said.
In the note, Holmes talked about shooting people and even included crude drawings of a gunman and his victims, sources told CBS News.
The University of Colorado Denver said Wednesday that the U.S. Postal Service delivered the package Monday and it was immediately investigated and turned over to authorities within hours.
A bomb squad robot and x-rays were used to check it for explosives.
The letter may help investigators learn more about Holmes, but experts say not to expect closure.
"I can guarantee you, we will find it unsatisfying because there's nothing that this individual could say to us, the general public, to sit back and say now I understand why you did this," said former FBI senior profiler Mary Ellen O'Toole.
Back at Holmes' apartment complex, work crews are repairing damage to the building that was caused during the investigation. Displaced residents were finally allowed back home Wednesday after the threat of booby traps was cleared.
Holmes will face formal charges on Monday.


text:
Cloudy with occasional rain during the afternoon. High 43F. Winds S at 10 to 15 mph. Chance of rain 90%..
Rain ending this evening. Partial clearing overnight. Low 42F. Winds SW at 10 to 20 mph. Chance of rain 80%.
Anthony Trigiani and Elizabeth Taylor, Big Stone Gap, 1978
When Elizabeth Taylor came to Big Stone Gap
Elizabeth Taylor was my father's dream girl. In 1950, when he was 17, he wrote a letter to his crush inviting her to the spring formal at Saint Francis Preparatory School in Spring Grove, Pennsylvania. He dutifully waited for her reply, certain she would be won over by his letter, drop Nicky Hilton, get on a plane and attend the prom. When he didn't hear from the great movie star, he was devastated. My grandmother said he took to the attic for a weekend, locked the door and cried his eyes out.
My father finally met Ms. Taylor, by then Mrs. John Warner, in the fall of 1978 on a campaign stump through my hometown of Big Stone Gap. At long last, he was to meet his boyhood crush. He was not alone in giddy anticipation of her arrival. The town, the county, the entire southwest tip of the state was in a dither.
Elizabeth Taylor wore a purple silk Halston pantsuit accessorized with a sumptuous gold necklace staccatoed with amethyst stones the size of cookies and matching drop earrings encrusted with pearls. With 1970s' sprezzatura , she tucked a small bouquet of fresh violets behind one ear. She stood for photo after photo until it was my father's turn to meet her. He told her the story of the letter.
He said, "You stood me up, Elizabeth." And she said, "I'm here now, Tony."
The exchange left my father smitten for life. It never dawned on him that thousands of boys around the world had written the same letter, filled with hope, longing and the certain belief that Elizabeth Taylor would choose him over all the others.
That night, Candidate and Mrs. Warner stopped for a chicken dinner at Fraley's Coach House, where Ms. Taylor, hungry from the long trip, quickly swallowed a fried chicken wing in the restaurant kitchen, a bone lodging in her throat. She was rushed to Lonesome Pine Hospital, where the doctor took a rubber hose and stuffed the bone down where it dissolved in digestion.
Ms. Taylor was, by all accounts, the model patient. She was also shy and gracious, according to my mother. After she left the hospital, Ms. Taylor sent a generous donation, which was typical of her.
Elizabeth Taylor was our girl. She was the actress that feisty immigrant girls identified with; like them, she was a brunette with thick eyebrows and curves. Italian, Greek, and Jewish girls related to her style, a golden tan in summer offset by dazzling jewelry that made jaws drop. Elizabeth Taylor was not a farfetched dream. The likes of her might have been found in the factory line, whip-stitching the hems of blouses on a sewing machine next to her best girlfriends with the kind of chutzpah the working girl of the 1940s invented.
There was a time when Hollywood movies were the only window to the outside world for those of us growing up in small towns. Movies taught us how to live the good life, how to set a proper table, what to drive, what to wear and how to walk in the world. American stories told on the silver screen said who we were and what we believed in. It was so real my own father felt Elizabeth Taylor could be his, if only for one night, in a gym under paper stars.
Film features people, places of Big Stone Gap
Hollywood, in a sense, had come to Big Stone Gap, and who could resist getting swept up in the moment?
Op_ed
Keep your coffee hot with a RTD Checklist Traveler Tumbler for $11.50
Capture the excitement of UVA's win with keepsake plaques


The home of historic Pony Express, St. Joseph is a city tremendously rich in history. Located in Missouri's Buchannan County along the Mississippi River, St. Joseph is famous for its historic locations, fine dining, upscale shopping, outstanding architecture and plethora of other exciting things to see and do.
It is also the city where the notorious Jesse James met his end. The city is located on the crossroad of Missouri Highway 36 and I-29. St. Joseph provides easy access to 17 metropolitan areas including Kansas City which is just 30 minutes away.
St. Joseph, Missouri is a substantial economic power not only in the state but in United States as well. The city had the 4th fastest growing GDP in the nation in 2012 and it is still going strong. The city has become a center of local and international attention thanks to the success of multiple industries like healthcare, agricultural science and skilled manufacturing.
However, the city has a diverse range of business clusters including food processing, animal health, insurance, logistics and warehouses, manufacturing support and biosciences.
St. Joseph has become a regional and international manufacturing hub in a very short span of time. Many internationally recognized companies coming from different fields such as animal sciences, pharmaceuticals and specialized equipment production form the city's illustrious manufacturing industry.
Some of the biggest manufacturing companies in the city are the famous Hillyard Industries, Altec Industries and Johnson Controls. Similarly, Nestle, Purina Petcare, Ag Processing Inc. and Boehringer Ingelheim Vetmedica Inc. are located in St. Joseph. In simple words, St. Joseph is full of job opportunities which are waiting to be explored.
The city is also a leader in bio and agricultural research and production in the country. St. Joseph is an integral part of the world famous KC Animal Health Corridor and holds a central position in $19 billion global animal health program.
The city has a historic livestock and farming industry which has evolved into a modern nutrition and animal health industries. In this regard, some of the best animal and health and bioscience companies operating in St. Joseph include Agri Laboratories Limited, Ameri-Pac, Inc., Purina Mills and Star Labs etc.
St. Joseph's outstanding healthcare industry has made it one of the best cities to live and work. They city's health system has been recognized at national level on several occasions.
The city's largest healthcare employer, the Mosaic Care, regularly wins awards for high quality services and effective use of technology. There are many other first rate healthcare institutions such as EmPowerU, Apria Healthcare and Comfort Home Healthcare working in the city as well.
There are many reasons why St. Joseph has enjoyed such a substantial economic success. It is located on the crossroad of two major highways just 30 minutes away from Kansas International Airport. Almost 50% of total manufacturing establishments of the country are within 500 miles of the city.
The city has a multipurpose port offering low cost facilities as well as a barge and railroad service. The city has outstanding networking and transportation facilities as well.


Firewall to body felt gasket, correct shape and hole placements.
How do you install this gasket?
The firewall to body gasket is placed at the top of the firewall between the firewall and the top curved portion of the body cowl. It's primary purpose was to help keep out (some ) of the water which could run down between the body and cowl and thence onto the coil box.
9 out of 13 found this answer useful.


The Cora bracelet is handmade in Portugal in gold plated silver and represents a snake circling the wrist, with the head on one end and the tail on the other. The head is embellished by a zircon. Comes in its own suede pouch and dust bag.


Get the most out of your Bluegem Edition with quality training. Bluegem is just as invested in your organisation's success as you are. A testament to our dedication is the learning management system training we offer to ensure you get the best out of our products. Our training will ensure your business gets the most out of our software systems. We know how to help you deliver great results in an easy to manage, convenient, streamlined and compliant framework. What's more, with over 250,000 users in Australia and New Zealand, including students, trainers and administrators, you can rest easy with our stellar reputation as a reliable training management system. Contact us today to find out more about the learning management system training we offer.
The training support we provide is a critical component to the quality products we offer. A 1-day admin-level training course is included with all Bluegem Editions; except the Community Edition. Our team of support staff are highly qualified, having undergone in-depth training in training management systems. They live and breathe learning management systems, which is a key benefit for you and your organization – access to experts. Contact us for more information.
We are confident that a day spent with one of our expert and engaging trainers will give you all the knowledge and confidence you need to make the most out of your Bluegem TMS.
If you have already completed your 1-day training course and you or a colleague would like further training please let us know. We also offer 2-day onsite user training which, although not included in the packages, is available on request.
You can request additional Bluegem training for yourself or other staff members at any time. Simply contact our support team and provide details. Include roles and job titles for any participants, and any specific outcomes you wish to achieve.
If you purchase the Community Edition does that mean you don't get training?
Across all our product ranges, you will enjoy access to the Bluegem eLearning Suite, meaning you're only ever a click away from professional assistance and troubleshooting.


Alford Homes Receives National Recognition in the Wall Street Journal for its Urban Farmhouse Designed Home.
If you interested in building or buying an urban farmhouse style home, please call Greg Alford at 214.384.8779 or visit the AlfordHomes.com website. Currently, Alford Homes has a new farmhouse designed home for sale and under construction in University Park, Tx.


as i have read your comments and emails, i am noticing that there might be a thought out there that the choices i am talking about - choosing joy, hope, love - must be big choices. that somehow one must look only at the darkness to find these stories of choosing hope. i invite you to realize that the choice to find beauty or joy is one you do make every day when you put on your favorite socks or choose an orange at the grocery store or tell people you love them.
life is hard. life is full of so much, well, much.ness. we are pushed and pulled in this life. yet, we make simple choices every day to bring in more hope and joy.
one simple way i bring in more joy to my everyday life is through music.
so often i stop everything to find my rhythm, to dance, to move in this world to the soundtrack of my life. honestly, this is such a part of me that i don't even realize i am doing it. singing and dancing simply make me happy. in fact, i find when i am singing, my heart feels lighter. is that a cliche of sorts? perhaps. but it is also part of my truth.
i sing to ellie all the time. i make up words to songs i know from my childhood. all the songs are about her and her bravery and strength and silliness. i so look forward to the day she joins in. and we dance. oh how we dance in this little house. don't you think we could solve more of the world's problems if there was more dancing?
a simple truth: almost every day i make the choice to find beauty in my world when i turn up the music and find my rhythm and sing along.
in this moment, i invite you to come along with ellie and me. get up right where you are and make the choice to find joy as you dance and sing along to a favorite song, "graceland," by paul simon.
please consider sharing a favorite song or two or three in the comments. maybe a song that brings a light.ness into your world or one you love to dance to or one that is giving you hope these days.
a workshop at teahouse studio!


A simple motivational quote that says "Believe in Yourself a Little More" to kick start the day. Share this inspirational quote with everyone to build their inner confidence and courage. Keep building yourself everyday, only you have the tendency to shape your life. No matter what others think. Trust, confidence and courage comes from within. Believe in yourself first and the rest comes automatically.