text:
Q: Java Multi-threaded sound crash I'm working on a game project in Java in which I need to be able to play multiple sounds at the same time in real time. I've implemented a sound system that generates new threads to play SourceDataLine sounds on.
The game works completely fine on my computer, but for one of my testers, the sound system keeps crashing on him at random intervals. We're both running the same version of java (jre 1.6.0_29) on Windows 7, and after several rounds of testing and google-searching, I haven't been able to figure out why it always works fine for me, but crashes on him.
Here is an SSCCE demonstrating the part of my code where my problem is occurring. The important bits are the SoundPlayer, Sound, and SoundThread classes. You will need to include two sound files named shortSound.wav and longerSound.wav in the same directory you save the SSCCE in.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.sound.sampled.*;
import java.util.HashMap;
import java.util.Collection;
import java.io.*;
import java.net.URL;
import java.util.LinkedList;

public class SoundSSCCE extends JFrame
{

    private JPanel screenP;
    private JPanel bgFraming;

    /**
    *   Constructor
    *   Preconditions: None.
    *   Postconditions: The window for the SSCCE is created.
    **/

    public SoundSSCCE()
    {
        super("Sound problem SSCCE");
        this.setSize(200,100);

        // instantiate main window panel

        screenP = new SSCCEPanel(this);
        this.add(screenP);

        // finishing touches on Game window

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);

        System.out.println("Game Window successfully created!!!");
    }

    public static void main(String[] args)
    {
        SoundSSCCE gui = new SoundSSCCE();
    }
}

/**
*   SSCCEPanel is the JPanel that manages the example's timer, painting, and logic.
**/

class SSCCEPanel extends JPanel
{
    public Frame parentFrame;
    private Timer timer;
    public int logicLoops;
    public double prevFPS;
    boolean timerReady;

    // The SoundPlayer object is used by the example to play the sounds.

    public SoundPlayer soundPlayer;

    public SSCCEPanel(Frame parent)
    {
        super(true);
        parentFrame = parent;
        this.setFocusable(true);

        Toolkit.getDefaultToolkit().sync();
        logicLoops = 0;

        soundPlayer = new SoundPlayer();

        TimerListener timerListener = new TimerListener();
        prevFPS = 0;
        timerReady = true;
        timer = new Timer(0,timerListener);
        this.setFPS(60);
        timer.start();
    }

    /**
    *   setFPS()
    *   Preconditions: fps is a quantity of frames per second
    *   Postconditions: Sets the timer's refresh rate so that it
    *       fires fps times per second.
    **/

    public void setFPS(int fps)
    {
        int mspf = (int) (1000.0 /fps + 0.5);
        timer.setDelay(mspf);
    }

    /**
    *   This is the JPanel's timer listener. It runs the example's logic and repaint
    *   methods each time it gets a timer signal.
    **/

    private class TimerListener implements ActionListener
    {
        long startTime = System.currentTimeMillis();
        long lastTime = this.startTime;
        int ticks = 0;

        public void actionPerformed(ActionEvent e)
        {
            Object source = e.getSource();
            if(source == timer)
            {
                // perform a loop through the game's logic and repaint.

                synchronized(this)
                {
                    if(timerReady)
                    {
                        timerReady = false;
                        runSSCCELogic();
                        repaint();
                        timerReady = true;
                    }
                }

                // Logic for Frames per Second counter

                this.ticks++;

                long currentTime = System.currentTimeMillis();

                if(currentTime - startTime >= 500)
                {
                    prevFPS =  1000.0 * ticks/(1.0*currentTime - startTime);
                    System.out.println(prevFPS);
                    startTime = currentTime;
                    ticks = 0;
                }

                lastTime = currentTime;
            }
        }
    }

    /**
    *   repaints the SSCCE.
    *   This just shows the current FPS and the number of sounds currently playing.
    **/

    public void paintComponent(Graphics g)
    {
            super.paintComponent(g);

            Graphics2D g2D = (Graphics2D) g;
            double roundedFPS = Math.round(prevFPS*10)/10.0;

            g2D.setColor(new Color(0x000000));
            g2D.drawString("FPS: " + roundedFPS, 20,20);
            g2D.drawString("Sounds playing: " + soundPlayer.soundsPlaying(), 20,50);
            g.dispose();
    }

    /**
    *   runSSCCEELogic()
    *   This is where the run-time logic for the SSCCE example is.
    *   All it will do is play sounds at regular narrowly-spaced intervals.
    *   The sounds are stored in the same directory as the SSCCE. Substitute any .wav
    *   file here in place of shortSound.wav and longerSound.wav.
    **/

    public void runSSCCELogic()
    {
        if(logicLoops % 4 == 0)
        {
            soundPlayer.play("shortSound.wav");
        }
        if(logicLoops% 40 == 0)
        {
            soundPlayer.play("longerSound.wav");
        }
        logicLoops++;
    }

}

/**
*   My game uses makes method calls to the SoundPlayer object whenever it
*   needs to play any sounds. This separates the main game code from the lower-level
*   mucking-about with Sound object code. It also makes it easier for me to make changes to
*   my Sound class without having to make changes any lines in my game where I play sounds.
**/

class SoundPlayer
{
    private HashMap<String,Sound> sounds;
    private double volume;
    private int soundsPlaying;

    public SoundPlayer()
    {
        sounds = new HashMap<String,Sound>();
        volume = 1.0;
        soundsPlaying = 0;
    }

    /**
    *   playSound(String path)
    *   creates and plays a Sound specified by path.
    *   Preconditions: path is the file path for the sound.
    *   Postconditions: The sound is loaded and begins playing.
    *       This method returns a reference to that sound.
    **/

    public Sound play(String path)
    {
        Sound newSound;

        if(volume == 0)
            return null;

        if(sounds.containsKey(path))
        {
            newSound = sounds.get(path);
        }
        else
        {
            newSound = new Sound(path);
            sounds.put(path,newSound);
        }

        newSound.play(volume);

        return newSound;
    }

    /**
    *   load(String path)
    *   preloads a sound to be play instances of at a later time
    *   Preconditions: path is the file path for the sound.
    *   Postconditions: The sound is loaded. This method returns
    *       a reference to that sound.
    **/

    public Sound load(String path)
    {
        Sound newSound;

        if(sounds.containsKey(path))
        {
            newSound = sounds.get(path);
        }
        else
        {
            newSound = new Sound(path);
            sounds.put(path,newSound);
        }
        return newSound;
    }

    public int soundsPlaying()
    {
        int count = 0;

        Collection<Sound> soundsIterable = sounds.values();
        for(Sound sound : soundsIterable)
        {
            count += sound.instances;
        }
        return count;
    }

    public int soundsLoaded()
    {
        return sounds.size();
    }

    public void setVolume(double vol)
    {
        this.volume = vol;
    }

}

/**
*   Sound objects store the path to a given sound file and spawn new threads
*   to play instances of their sound when the SoundPlayer tells them to play.
**/

class Sound
{
    public String path;
    protected int instances;
    protected URL soundURL;

    public Sound(String name)
    {
        try
        {
            soundURL =  getClass().getClassLoader().getResource(name);
            instances = 0;
            path = name;
        }
        catch(Exception ex)
        {
            System.out.println("An error occured while loading the sound file: " + name);
            System.out.println(ex.getMessage());
            ex.printStackTrace();
        }
    }

    /**
    *   play(double volume)
    *   Preconditions: volume is between 0.0 and 1.0 inclusive, where 1.0 is
    *       at full volume and 0.0 is silent.
    *   Postconditions: The Sound spawns a new thread to play an instance
    *       of itself.
    **/

    public void play(double volume)
    {
        try
        {
            SoundThread clip = new SoundThread(this);
            synchronized(this)
            {
                // increment the count of its instances. The SoundThread
                //  will automatically decrement the sound instance when it finishes.

                instances++;
            }
            clip.setVolume(volume);
            clip.start();

        }
        catch(Exception e)
        {
            System.out.println("Sound error: Error playing sound");
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
    }
}

/**
*   SoundThread is a thread that Sound objects spawn to play instances
*   of their sounds. This supports multiple sounds being played simultaneously.
**/

class SoundThread extends Thread
{
    public SourceDataLine clip;
    public AudioInputStream stream;
    private int bufferSize = 50;
    private Sound parent;

    public SoundThread(Sound parentSound)
    {
        try
        {
            parent = parentSound;

            // obtains input stream from AudioSystem to read from the file.

            stream = AudioSystem.getAudioInputStream(parentSound.soundURL);
            AudioFormat format = stream.getFormat();

            // obtains the sound file's line

            DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);

            // loads the line into the clip

            clip = (SourceDataLine) AudioSystem.getLine(info);

            // opens the clip onto the stream

            clip.open(format);
            System.out.println("Sound buffer size: " + clip.getBufferSize());
        }
        catch(Exception e)
        {
            System.out.println("error playing sound");
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
    }

    public void run()
    {
        try
        {
            // I start my sourceDataLine and begin reading data
            // from the stream into its buffer.

            clip.start();
            int bytesRead = 0;
            byte[] soundData = new byte[bufferSize];

            // read data from the stream into the sourceDataLine until there
            // is no more data to read

            while(bytesRead != -1)
            {
                bytesRead = stream.read(soundData,0,bufferSize);
                if(bytesRead >= 0)
                {
                    clip.write(soundData, 0, bytesRead);
                }
                else
                {
                    // Here I drain and close the line and its stream when
                    //  the sound is finished playing (it has read all the bytes from its stream).
                    // My tester's log suggests that SourceDataLine.drain() is where it
                    // is crashing.

                    clip.drain();
                    clip.close();
                    stream.close();
                }
            }

            // decrement the count of the Sound's instances.

            synchronized(parent)
            {
                parent.instances--;
            }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
    }

    public void setVolume(double vol)
    {
        try
        {
            FloatControl volCtrl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
            if(vol > 1.0)
                vol = 1.0;
            if(vol < 0.0)
                vol = 0.0;

            // tricky, confusing sound math stuff.

            float dB = (float) (Math.log(vol) / Math.log(10.0) * 20.0);
            if(dB > volCtrl.getMaximum())
                dB = volCtrl.getMaximum();
            if(dB < volCtrl.getMinimum())
                dB = volCtrl.getMinimum();
            volCtrl.setValue(dB);
        }
        catch(Exception e)
        {
            System.out.println("set volume failed");
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
    }
}

Here's a log file generated by my tester's jre when the game crashes.
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=5212, tid=5524
#
# JRE version: 6.0_29-b11
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.4-b02 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  0x0000000000000000
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x00000000097c4000):  JavaThread "Thread-651" [_thread_in_native, id=5524, stack(0x000000000ecf0000,0x000000000edf0000)]

siginfo: ExceptionCode=0xc0000005, ExceptionInformation=0x0000000000000008 0x0000000000000000

Registers:
RAX=0x0000000000000000, RBX=0x00000000148ef5b0, RCX=0x00000000097c41d0, RDX=0x0000000000000002
RSP=0x000000000edef4f8, RBP=0x000000000edef6e0, RSI=0x00000000097c41d0, RDI=0x00000000097c41d0
R8 =0x000000000edef520, R9 =0x0000000000000000, R10=0x2b11000000000000, R11=0x0000000006146b00
R12=0x00000000148a1f00, R13=0x0000000000000000, R14=0x000000000edef710, R15=0x00000000097c4000
RIP=0x0000000000000000, EFLAGS=0x0000000000010246

Top of Stack: (sp=0x000000000edef4f8)
0x000000000edef4f8:   000000006d515842 000000000edef5a0
0x000000000edef508:   0000000000000000 000000000bfbbd18
0x000000000edef518:   000000006d525264 00000000148ef5b0
0x000000000edef528:   0000000006146b00 000000001491ddb0
0x000000000edef538:   2b11000000001f44 00000000096b0108
0x000000000edef548:   0000000000000000 000000006d90a5cb
0x000000000edef558:   000000006d511ed4 00000000097c41d0
0x000000000edef568:   000000006d511ed4 00000000148ef5b0
0x000000000edef578:   000000006d516055 0000000000000000
0x000000000edef588:   0000000000000000 0000000000000000
0x000000000edef598:   0000000000000000 00000000148ef5b0
0x000000000edef5a8:   0000000006146b00 000000001491ed56
0x000000000edef5b8:   2b11000000000000 00000000096b0108
0x000000000edef5c8:   0000000000000000 000000006d90a5cb
0x000000000edef5d8:   000000006d52b54b 00000000000005c8
0x000000000edef5e8:   00000000bc162e50 0000000000000000

Instructions: (pc=0x0000000000000000)
0xffffffffffffffe0:

Register to memory mapping:

RAX=0x0000000000000000 is an unknown value
RBX=0x00000000148ef5b0 is an unknown value
RCX=0x00000000097c41d0 is an unknown value
RDX=0x0000000000000002 is an unknown value
RSP=0x000000000edef4f8 is pointing into the stack for thread: 0x00000000097c4000
RBP=0x000000000edef6e0 is pointing into the stack for thread: 0x00000000097c4000
RSI=0x00000000097c41d0 is an unknown value
RDI=0x00000000097c41d0 is an unknown value
R8 =0x000000000edef520 is pointing into the stack for thread: 0x00000000097c4000
R9 =0x0000000000000000 is an unknown value
R10=0x2b11000000000000 is an unknown value
R11=0x0000000006146b00 is a global jni handle
R12=0x00000000148a1f00 is an unknown value
R13=0x0000000000000000 is an unknown value
R14=0x000000000edef710 is pointing into the stack for thread: 0x00000000097c4000
R15=0x00000000097c4000 is a thread

Stack: [0x000000000ecf0000,0x000000000edf0000],  sp=0x000000000edef4f8,  free space=1021k
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.media.sound.MixerSourceLine.nDrain(J)V+0
j  com.sun.media.sound.MixerSourceLine.drain()V+26
J  gameEngine.SoundThread.run()V
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x0000000009959000 JavaThread "Thread-1843" [_thread_in_native, id=4748, stack(0x0000000015780000,0x0000000015880000)]
  0x000000000995c000 JavaThread "Thread-1842" [_thread_in_native, id=10632, stack(0x00000000146b0000,0x00000000147b0000)]
  0x0000000009959800 JavaThread "Thread-1841" [_thread_in_native, id=4240, stack(0x0000000015a80000,0x0000000015b80000)]
  0x0000000009958800 JavaThread "Thread-1828" [_thread_blocked, id=632, stack(0x00000000145b0000,0x00000000146b0000)]
  0x000000000995c800 JavaThread "Thread-1754" [_thread_in_native, id=11188, stack(0x0000000015980000,0x0000000015a80000)]
  0x0000000009957800 JavaThread "Thread-1699" [_thread_in_native, id=8788, stack(0x00000000144b0000,0x00000000145b0000)]
  0x000000000995a800 JavaThread "Thread-1650" [_thread_in_native, id=10860, stack(0x000000000fe20000,0x000000000ff20000)]
  0x00000000097bc000 JavaThread "Java Sound Sequencer" [_thread_blocked, id=11096, stack(0x0000000006cc0000,0x0000000006dc0000)]
  0x0000000009957000 JavaThread "Thread-1285" [_thread_in_native, id=10608, stack(0x00000000142b0000,0x00000000143b0000)]
  0x00000000097c3800 JavaThread "Thread-1223" [_thread_in_native, id=6968, stack(0x000000000eff0000,0x000000000f0f0000)]
  0x00000000097c9000 JavaThread "Thread-1157" [_thread_in_vm, id=9260, stack(0x00000000143b0000,0x00000000144b0000)]
  0x00000000097c0800 JavaThread "Thread-1139" [_thread_in_native, id=10544, stack(0x00000000141b0000,0x00000000142b0000)]
  0x00000000097ca800 JavaThread "Thread-1138" [_thread_in_native, id=8456, stack(0x00000000140b0000,0x00000000141b0000)]
  0x00000000097c6800 JavaThread "Thread-1113" [_thread_in_native, id=10536, stack(0x000000000fa20000,0x000000000fb20000)]
  0x00000000097c8800 JavaThread "Thread-1110" [_thread_in_native, id=7780, stack(0x000000000edf0000,0x000000000eef0000)]
  0x00000000097c5800 JavaThread "Thread-1054" [_thread_in_native, id=10472, stack(0x000000000eef0000,0x000000000eff0000)]
  0x00000000097c1800 JavaThread "Thread-1046" [_thread_in_native, id=6148, stack(0x0000000013fb0000,0x00000000140b0000)]
  0x00000000097c0000 JavaThread "Thread-1030" [_thread_in_native, id=10720, stack(0x000000000e3a0000,0x000000000e4a0000)]
  0x00000000097c8000 JavaThread "Thread-963" [_thread_in_native, id=3148, stack(0x000000000ac50000,0x000000000ad50000)]
  0x00000000097c2000 JavaThread "Thread-923" [_thread_in_native, id=10492, stack(0x000000000fd20000,0x000000000fe20000)]
  0x00000000097c7000 JavaThread "Thread-791" [_thread_in_native, id=2044, stack(0x000000000e5a0000,0x000000000e6a0000)]
  0x00000000097c2800 JavaThread "Thread-751" [_thread_in_native, id=2780, stack(0x000000000e4a0000,0x000000000e5a0000)]
=>0x00000000097c4000 JavaThread "Thread-651" [_thread_in_native, id=5524, stack(0x000000000ecf0000,0x000000000edf0000)]
  0x00000000097bf000 JavaThread "DestroyJavaVM" [_thread_blocked, id=10636, stack(0x0000000002370000,0x0000000002470000)]
  0x00000000097be800 JavaThread "D3D Screen Updater" daemon [_thread_blocked, id=10044, stack(0x000000000d940000,0x000000000da40000)]
  0x00000000097bd800 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=3036, stack(0x000000000cc50000,0x000000000cd50000)]
  0x00000000097bd000 JavaThread "AWT-Shutdown" [_thread_blocked, id=10372, stack(0x000000000cb50000,0x000000000cc50000)]
  0x0000000009633800 JavaThread "TimerQueue" daemon [_thread_blocked, id=10840, stack(0x000000000b650000,0x000000000b750000)]
  0x0000000009631000 JavaThread "Headspace mixer frame proc thread" daemon [_thread_blocked, id=10808, stack(0x000000000ae50000,0x000000000af50000)]
  0x00000000095f0800 JavaThread "Java Sound Event Dispatcher" daemon [_thread_blocked, id=8628, stack(0x000000000a950000,0x000000000aa50000)]
  0x00000000062c1000 JavaThread "Java Sound Event Dispatcher" daemon [_thread_blocked, id=10864, stack(0x000000000a850000,0x000000000a950000)]
  0x000000000618c000 JavaThread "AWT-Windows" daemon [_thread_in_native, id=10984, stack(0x0000000006dc0000,0x0000000006ec0000)]
  0x0000000006189800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=1848, stack(0x0000000006bc0000,0x0000000006cc0000)]
  0x0000000006145000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=7160, stack(0x00000000066f0000,0x00000000067f0000)]
  0x000000000052d800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=10604, stack(0x00000000065f0000,0x00000000066f0000)]
  0x0000000000526800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=2820, stack(0x00000000064f0000,0x00000000065f0000)]
  0x0000000000524800 JavaThread "Attach Listener" daemon [_thread_blocked, id=1616, stack(0x00000000063f0000,0x00000000064f0000)]
  0x0000000000523800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=9476, stack(0x00000000062f0000,0x00000000063f0000)]
  0x000000000050f800 JavaThread "Finalizer" daemon [_thread_blocked, id=9472, stack(0x0000000005ff0000,0x00000000060f0000)]
  0x0000000000506800 JavaThread "Reference Handler" daemon [_thread_blocked, id=8864, stack(0x0000000005ef0000,0x0000000005ff0000)]

Other Threads:
  0x00000000004fe000 VMThread [stack: 0x0000000005df0000,0x0000000005ef0000] [id=3480]
  0x0000000006160800 WatcherThread [stack: 0x00000000067f0000,0x00000000068f0000] [id=6728]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 10240K, used 4696K [0x00000000ead60000, 0x00000000eb980000, 0x0000000100000000)
  eden space 10112K, 45% used [0x00000000ead60000,0x00000000eb1de278,0x00000000eb740000)
  from space 128K, 75% used [0x00000000eb770000,0x00000000eb788000,0x00000000eb790000)
  to   space 1152K, 0% used [0x00000000eb860000,0x00000000eb860000,0x00000000eb980000)
 PSOldGen        total 43392K, used 23839K [0x00000000c0800000, 0x00000000c3260000, 0x00000000ead60000)
  object space 43392K, 54% used [0x00000000c0800000,0x00000000c1f47f00,0x00000000c3260000)
 PSPermGen       total 21248K, used 12322K [0x00000000bb600000, 0x00000000bcac0000, 0x00000000c0800000)
  object space 21248K, 57% used [0x00000000bb600000,0x00000000bc208830,0x00000000bcac0000)

Code Cache  [0x0000000002470000, 0x00000000026f0000, 0x0000000005470000)
 total_blobs=1022 nmethods=599 adapters=376 free_code_cache=47801344 largest_free_block=16000

Dynamic libraries:
0x0000000000400000 - 0x000000000042e000     C:\Windows\system32\java.exe
0x00000000774b0000 - 0x0000000077659000     C:\Windows\SYSTEM32\ntdll.dll
0x0000000077020000 - 0x000000007713f000     C:\Windows\system32\kernel32.dll
0x000007fefda00000 - 0x000007fefda6c000     C:\Windows\system32\KERNELBASE.dll
0x000007feff4e0000 - 0x000007feff5bb000     C:\Windows\system32\ADVAPI32.dll
0x000007feff6a0000 - 0x000007feff73f000     C:\Windows\system32\msvcrt.dll
0x000007fefe490000 - 0x000007fefe4af000     C:\Windows\SYSTEM32\sechost.dll
0x000007fefe4b0000 - 0x000007fefe5dd000     C:\Windows\system32\RPCRT4.dll
0x000000006d7f0000 - 0x000000006dfa8000     C:\Program Files\Java\jre6\bin\server\jvm.dll
0x0000000076dd0000 - 0x0000000076eca000     C:\Windows\system32\USER32.dll
0x000007feff740000 - 0x000007feff7a7000     C:\Windows\system32\GDI32.dll
0x000007fefde60000 - 0x000007fefde6e000     C:\Windows\system32\LPK.dll
0x000007fefdd10000 - 0x000007fefddd9000     C:\Windows\system32\USP10.dll
0x000007fefb970000 - 0x000007fefb9ab000     C:\Windows\system32\WINMM.dll
0x000007fefdce0000 - 0x000007fefdd0e000     C:\Windows\system32\IMM32.DLL
0x000007fefe5e0000 - 0x000007fefe6e9000     C:\Windows\system32\MSCTF.dll
0x000000006d760000 - 0x000000006d76e000     C:\Program Files\Java\jre6\bin\verify.dll
0x000000006d3b0000 - 0x000000006d3d7000     C:\Program Files\Java\jre6\bin\java.dll
0x000000006d7b0000 - 0x000000006d7c2000     C:\Program Files\Java\jre6\bin\zip.dll
0x000000006d000000 - 0x000000006d1c3000     C:\Program Files\Java\jre6\bin\awt.dll
0x000007fefb9b0000 - 0x000007fefba21000     C:\Windows\system32\WINSPOOL.DRV
0x000007fefdf80000 - 0x000007fefe183000     C:\Windows\system32\ole32.dll
0x000007fefe750000 - 0x000007feff4d8000     C:\Windows\system32\SHELL32.dll
0x000007fefdde0000 - 0x000007fefde51000     C:\Windows\system32\SHLWAPI.dll
0x000007fefc3b0000 - 0x000007fefc5a4000     C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.dll
0x000007fefbd70000 - 0x000007fefbd88000     C:\Windows\system32\DWMAPI.DLL
0x000007fefc1d0000 - 0x000007fefc226000     C:\Windows\system32\uxtheme.dll
0x000000006d2a0000 - 0x000000006d306000     C:\Program Files\Java\jre6\bin\fontmanager.dll
0x000007fefd840000 - 0x000007fefd84f000     C:\Windows\system32\CRYPTBASE.dll
0x000007feee310000 - 0x000007feee50f000     C:\Windows\system32\d3d9.dll
0x000007fefca70000 - 0x000007fefca7c000     C:\Windows\system32\VERSION.dll
0x000007fefbad0000 - 0x000007fefbad7000     C:\Windows\system32\d3d8thk.dll
0x000007feea170000 - 0x000007feeaabb000     C:\Windows\system32\nvd3dumx.dll
0x000007fefbb00000 - 0x000007fefbb2c000     C:\Windows\system32\powrprof.dll
0x000007fefe210000 - 0x000007fefe3e7000     C:\Windows\system32\SETUPAPI.dll
0x000007fefd9c0000 - 0x000007fefd9f6000     C:\Windows\system32\CFGMGR32.dll
0x000007feff5c0000 - 0x000007feff697000     C:\Windows\system32\OLEAUT32.dll
0x000007fefdcc0000 - 0x000007fefdcda000     C:\Windows\system32\DEVOBJ.dll
0x000000006d510000 - 0x000000006d53e000     C:\Program Files\Java\jre6\bin\jsound.dll
0x000007fefbd90000 - 0x000007fefbddb000     C:\Windows\system32\MMDevAPI.DLL
0x000007fefc230000 - 0x000007fefc35c000     C:\Windows\system32\PROPSYS.dll
0x000007fef3590000 - 0x000007fef35cb000     C:\Windows\system32\wdmaud.drv
0x0000000074b10000 - 0x0000000074b16000     C:\Windows\system32\ksuser.dll
0x000007fefbea0000 - 0x000007fefbea9000     C:\Windows\system32\AVRT.dll
0x000007fefb5c0000 - 0x000007fefb60f000     C:\Windows\system32\AUDIOSES.DLL
0x000007fef40f0000 - 0x000007fef40fa000     C:\Windows\system32\msacm32.drv
0x000007fef40d0000 - 0x000007fef40e8000     C:\Windows\system32\MSACM32.dll
0x000007fef3580000 - 0x000007fef3589000     C:\Windows\system32\midimap.dll
0x000007fefe3f0000 - 0x000007fefe489000     C:\Windows\system32\CLBCatQ.DLL
0x0000000010000000 - 0x0000000010065000     C:\Program Files\WIDCOMM\Bluetooth Software\btmmhook.dll
0x0000000077670000 - 0x0000000077677000     C:\Windows\system32\PSAPI.DLL
0x000000006d600000 - 0x000000006d617000     C:\Program Files\Java\jre6\bin\net.dll
0x000007fefdf30000 - 0x000007fefdf7d000     C:\Windows\system32\WS2_32.dll
0x000007feff7b0000 - 0x000007feff7b8000     C:\Windows\system32\NSI.dll
0x000007fefd140000 - 0x000007fefd195000     C:\Windows\system32\mswsock.dll
0x000007fefd130000 - 0x000007fefd137000     C:\Windows\System32\wship6.dll
0x000000006d620000 - 0x000000006d62b000     C:\Program Files\Java\jre6\bin\nio.dll
0x0000000009540000 - 0x0000000009571000     C:\Program Files\WIDCOMM\Bluetooth Software\btkeyind.dll

VM Arguments:
java_command: MyGameMain
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
PATH=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\PC Connectivity Solution\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Broadcom\Broadcom 802.11\Driver;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files\Java\jdk1.6.0_21\bin;C:\MinGW\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Windows\system32\wbem;C:\Program Files (x86)\IVT Corporation\BlueSoleil\Mobile;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Common Files\Microsoft Shared\Windows Live
USERNAME=***********
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 6, GenuineIntel

---------------  S Y S T E M  ---------------

OS: Windows 7 , 64 bit Build 7601 Service Pack 1

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 23 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1

Memory: 4k page, physical 4160724k(2268648k free), swap 8319600k(5448724k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (20.4-b02) for windows-amd64 JRE (1.6.0_29-b11), built on Oct  3 2011 01:06:42 by "java_re" with MS VC++ 8.0 (VS2005)

time: Sat Feb 04 09:25:56 2012
elapsed time: 145 seconds

The log files suggest that the crash is happening during the sound threads when a sound finishes and calls SourceDataLine.drain() to get rid of any remaining data in the sound's buffer. I'm not sure what I'm doing wrong for this to cause my tester's jre to crash mid-game though...
Any insight from you sound/threading gurus out there would be helpful.

A: Probably too late for any help for you but just in case anyone else is interested -
In SoundThread::run you're checking bytesRead but if stream.read returns zero (and maybe it shouldn't) then you're stuck in an infinite loop.
This may depend on the precise length of the sound being played and may explain why one person only is seeing the problem.

A: At the risk of getting dinged for not answering your question directly, I would like to make a suggestion. It is possible to create a custom "Clip" object that allows both multiple playback and playback at varying speeds. If the ClipTrack (my name for it) has multiple cursors, their outputs can be summed and sent out as a single audio value.
I demonstrate the use of such here:
ClipTrack
There are links on that site that point to the Java code, posted at Java-Gaming.org, which you are welcome to use. But you'll probably want to edit the source code a LOT. I know I have since originally posting it. I am only an intermediate level Java programmer, and am teaching myself about sound. There are many things that should be done differently (the object "hands off" data to a mixer I wrote rather than playing it directly--but you can rewrite that, also the use of a CopyOnWriteArrayList is probably not optimal, if a totally non-blocking method of managing the cursors can be designed).
But, at least the basic idea can be seen there. :)
The potential gains of this approach include reducing the number of threads. Also, you will never have more than one copy of the raw audio data in memory at one time (as opposed to making multiple copies in all your Clips).
I have found working with javax.sound Clips very annoying and am happy to no longer be tangling with them.

A: This is enough of a different answer that I'm not going to revise the previous suggestion about writing a custom Clip (which a valid albeit very different approach).
BTW: I was confused by the use of the variable name 'clip' for a SourceDataLine. Really should refactor that sort of thing!
OK. Looking at your code, you omit three steps that I include on an app where I play back overlapping SDL's.
line.drain();
line.stop();
line.close();
line = null;

aiStream.close();
aiStream = null;

where "line" is a SourceDataLine, and aiStream is the AudioInputStream.
I think setting these to null might be the key steps. Not sure how important the omitted stop() step is. And I couldn't tell you exactly why this is needed, but it made a difference in my app.

A: This problem has remained unresolved. In conclusion, the problem is likely inherent in the machine(s) that the problem is occurring on and is probably not worth pursuing any further in native Java.


text:
Texas Style
September 7, 2021 September 7, 2021 15 Comments
Historically, creeps like this are called criminals.
Making the best of a bad situation
September 7, 2021 September 7, 2021 1 Comment
As #NewYork suffers catastrophic hurricane related floods, here's a geezer in NYC last night floating down and alleyway in the rain and floods, smoking a bong. 😁😎 #BossinIt pic.twitter.com/Qh050tLkxO
— Rob (@PolicyRob) September 2, 2021
A downtown solution to a lotta problems!
Wonder Wart Hog vs Super-Patriot
Same as it ever was…as far as the cast of characters.
Mexico City to replace Columbus statue with indigenous woman statue
September 7, 2021 September 6, 2021 2 Comments
A statue of Italian explorer Christopher Columbus situated in a prominent position in Mexico City is to be replaced with one of an indigenous woman…
The statue's former position will be dedicated to a monument that delivers "social justice" regarding the historic role of women in Mexico, particularly those of indigenous origin, Ms Sheinbaum said.
"Of course we recognize Columbus. But there are two visions," Ms Sheinbaum said, adding that one of these was the European vision of the "discovery of America," even though civilisations had existed for centuries in Mexico…
At the time, authorities said the statue was removed for restoration work and to allow reflection about Columbus's legacy.
Obviously, reflection led to decision. One worth endorsing.

redpajama_set_name: RedPajamaCommonCrawl


"The unusual thing about the environmental health profession is that we have access to such a broad network of expertise."
The Association of London Environmental Health Managers intervention resulted in the development of effective and workable arrangements to provide emergency services with scientific and technical advice during major incidents or emergencies.
The effective provision of scientific advice during major incidents.
The provision of local knowledge, data and easier access to records needed during a major incident.
Pool available information to reach a common view on options for, and the merits of of, different remedial actions.
The Buncefield oil depot fire in 2005 drew attention to the need for a stronger network of technical support in an emergency. Recognising that most emergency incidents impact on the environment and on health, the London Fire Brigade, approached the Association of London Environmental Health Managers for help.
After considerable work between ALEHM and LFB, arrangements were agreed to better support the emergency Science and Technical Advice Cells (STAC) that are activated during major incidents. This was further reinforced by the provision of training of Environmental Health Practitioners that have investigative skills; experience of communication with a wide audience; project management skills; and familiarity with risk assessment in a variety of scenarios.
liaison with the Government Decontamination Service.
For more information about this project contact Steve Miller.


Fall in love with our Shell Coral Skinny Tie this spring for a serious style commitment! Hand loomed from a durable microfiber material by Puccini's master weavers, this tie will lock you in for the long-haul! The fabric also boasts a care-free characteristic, leaving you with less timely chores. It ticks all the boxes with it's fun-loving coral hues enhanced by a charismatic plaid pattern. Expect an influx of compliments in response to the super skinny ultra trendy shape .
We recommend you team up with a slick ash-grey suit and why not add our matching Apricot Peach Handkerchief for a fashion-forward statement.


text:
China 18 December 1996 CIETAC Arbitration proceeding (Lentil case) [translation available]
DATE OF DECISION: 19961218 (18 December 1996)
TRIBUNAL: China International Economic & Trade Arbitration Commission [CIETAC] (PRC)
GOODS INVOLVED: Lentils
APPLICATION OF CISG: Yes
Key CISG provisions at issue: Articles 8 ; 54 ; 71 ; 74 ; 78
8A [Interpretation of party's statement or other conduct: intent of party making statement or engaging in conduct];
54A1 [Obligation to pay price includes enabling steps, e.g., arranging for letter of credit[;
74A ; 74B [General rules for measuring damages: loss suffered as consequence of breach; Outer limits of damages: foreseeability of loss];
71A1 [Suspension of performance: grounds for suspension];
78A [Interest on delay in receiving price or any other sum in arrears]
Descriptors: Intent ; Price ; Letters of credit ; Suspension of performance ; Damages ; Foreseeability of damages ; Legal costs ; Interest
Original language (Chinese): Zhong Guo Guo Ji Jing Ji Mao Yi Zhong Cai Wei Yuan Hui Cai Jue Shu Hui Bian [Compilation of CIETAC Arbitration Awards] (May 2004) 1996 vol., p. 2215-2220
English: Dong WU, CIETAC's Practice on the CISG, at nn.45, 112, 120, 124, 208, Nordic Journal of Commercial Law (2/2005)
CIETAC (PRC), Arbitration Award
Lentil case (18 December 1996)
Translation [*] by CHEN Gang [**]
Translation edited by Meihua Xu [***]
In accordance with Clause No. 15, the arbitration provision of the sales contract between Claimant Qinghai XX Import and Export Ltd. Co. of China [Seller] and Respondent XX Co. of the U.S. [Buyer] on 31 October 1995, and the written application for arbitration filed by the [Seller] on 4 April 1996 with the China International Economic & Trade Arbitration Commission (formerly known as "China Council for the Promotion of International Trade Foreign Economic and Trade Arbitration Sub-commission", hereinafter referred to as "the Arbitration Commission"), the Arbitration Commission accepted this arbitration case arising out of the Contract aforesaid. Pursuant to Article 64 of the arbitration rules, as the sum of money in dispute did not exceed renminbi [RMB] 500,000, the summary arbitration procedure was applied to this case.
In accordance with Article 65 of the arbitration rules, the Chairman of the Arbitration Commission appointed Mr. P as the sole arbitrator in charge of this case. After going over the application for arbitration filed by the Claimant [Seller] and the defense by the Respondent [Buyer], as well as evidence and materials attached respectively, the arbitrator proposed to conduct a written hearing seeing that the facts of this case were considerably simple and the disputes involved were less complicated. On 18 September 1996, the Arbitration Tribunal asked the [Seller] and the [Buyer] to provide their supplemental opinions and materials respectively. Upon the order of the Arbitration Tribunal, the two parties submitted their supplemental evidence and materials, and also provided supplemental opinions with respect to the other party's supplemental materials within the time limit set forth by the Arbitration Tribunal.
The arbitration has been concluded with an award rendered based on deliberate inquisition by the sole arbitrator through the supplemental materials provided by the two parties in this case. The facts of the case, the opinion of the arbitrator and the award are presented as follows.
PART I: FACTS OF THE CASE
The [Buyer] and the [Seller] concluded the sales contract (No. 950008) (hereinafter referred to as the "Contract") on 31 October 1995. The Contract provided that:
The [Seller] sold 300 metric tons of lentils to the [Buyer] at the price of US $335/T FOB Tianjin, China;
The total price of the goods was US $100,500;
The shipping date was to be prior to 10 December 1995; and
Payment was to be made against Letter of Credit [L/C].
On 9 November 1995, [Seller] received the L/C issued by the [Buyer] with an expiration date of 21 December 1995.
On 20 November 1995, the parties entered into a supplementary contract, which provided that:
The [Seller] sold an additional 120 metric tons of lentils to the [Buyer] at the price of US $345/T FOB Tianjin, China;
The total price of these goods was US $41,400;
The shipping date was to be not later than 15 December 1995;
Sales contract (No. 950008) also applied to other delivery terms of the goods under the supplementary contract;
Both parties agreed on the amendment to the L/C aforesaid, which would reach the Claimant [Seller] by 6 December for the total price of the 300 tons of lentils aforesaid and the additional 120 tons, and to extend both shipping dates of the two installments to 20 December and the expiry date of the L/C to 5 January 1996.
On 21 December 1995, the parties agreed to amend the contract, which provided that the price of lentil of the original 300 tons would be raised to US $337/T if the shipment could be arranged before 31 December, otherwise, to US $340/T. On 22 December 1995, the Claimant [Seller] received the L/C, which had been amended in accordance with their agreement, providing the latest shipping date was 31 December 1995 and the L/C would remain valid till 15 January 1996.
The Contract was not successfully performed, and no agreement was reached between the two parties through negotiation regarding the matter of compensation. Thereafter, the Claimant [Seller] filed an arbitration application with the Arbitration Commission on 4 April 1996.
PART II: CLAIMANT [SELLER]'S POSITION
[Seller]'s claim:
The [Seller] had gotten 300 tons of lentils ready in advance of the time of the conclusion of the Contract. The [Buyer] notified the [Seller] three times regarding the vessel's name during the period 17 December to 22 December but never sent any shipping notice, which resulted in [Seller] being unable to perform the obligation of shipment. On 15 January 1996, the [Buyer] gave the [Seller] notice to load 200 tons of lentils onto the vessel Datian. In view of the fact that the L/C had matured, the [Seller] requested several times for an extension of the L/C, and stated that the shipment would not be made till the receipt of the amendment and the extension. On the same day, the [Buyer] committed to extend the L/C and have the extension reach the [Seller] by facsimile on the 16th or 17th. However, on 17 January, the [Seller] was notified by the [Buyer] that 200 tons aforesaid could not be delivered due to port congestion. Owing to the fact that the Buyer could not dispatch ships, the parties thereafter negotiated for damages. The [Seller] contended that the [Buyer] should be held to bear the total liability for the failure of the Contract to be performed on schedule, and therefore, should compensate for all fees and losses, including interest, penalty interest, commodity inspection, phyto-sanitation, fumigation, storage, natural spoilage, and anticipated profits, which totaled US $30,000, as well as the arbitration fee and the attorneys' fee of the Claimant [Seller], which amounted to RMB 41,000.
PART III: [BUYER]'S POSITION
The [Buyer]'s defense:
The [Buyer] alleged that there was no provision for determining the specific shipping time of the goods in the amendment to the Contract concluded by the parties on 21 December 1995, which meant that the Buyer could arrange ships for delivery at any time whether before or after 31 December 1995. On 15 January 1996, the [Buyer] committed to extend the L/C, and stated that the amended L/C would reach the [Seller] on the 16th or 17th, which was approved by the [Seller]. The [Seller], however, turned down the request of the shipping agent to hand over related documents and deliver the goods. In view of the above, the [Buyer] had fully performed his obligations under the amended contract, whereas the [Seller] refused to meet the duty on his part.
The [Seller] refused to transfer the shipping documents on the same day as 15 January 1996 despite the requests from both the [Buyer] and the shipping agent of "Datian" so as to arrange the shipment. Due to the refusal by the [Seller] to deliver the cargo, the [Buyer] soon afterwards notified the bank to suspend amending the L/C. Neither of the parties under the Contract specified the issuing time of the L/C during the process of enforcing the Contract or in the original Contract.
With respect to the so-called notice received by the [Seller] on 17 January that the shipment of 200 tons for which the Buyer had committed could not be effected due to shipping congestion, this was invalid because it was merely a private letter in respect of its form and content; in any event, this notice was sent by unauthorized "Mr. Lin" in the name of an individual, after the [Seller] declined to hand over the related documents.
The "loss" claimed by the [Seller] should be regarded as a cost of export, and the calculation of interest, penalty interest and anticipated profits by the [Seller] was utterly groundless. The [Seller] was still able to resell the goods under the Contract at a profitable price by virtue of the rising market. The [Seller] should be liable for the breach of the Contract. [Buyer] retains any right to claim damages against the Claimant [Seller], and moreover, petitions the Arbitration Tribunal to dismiss all the claims made by the [Seller] and hold the [Seller] to bear the total arbitration fee and [Buyer]'s attorneys' fee for this case.
PART IV: [SELLER]'S SUPPLEMENTAL RESPONSE
Reception no later than 10 January 1996 was made a condition for effecting the shipment after 31 December 1995. The date of 31 December was a changing point for the price which was not identified with the indication that the Buyer was free to dispatch the ship at any time whether before or after 31 December.
On 15 January 1996, when after the shipping time agreed by two parties had passed, the [Seller] repeatedly urged to amend the L/C and stated clearly the position that the documents relating the goods would not be handed over till the change to the L/C had been completed. The reply from the [Buyer] was to commit to send the amended L/C to reach the [Seller] on the 16th or 17th. On the 16th, the [Seller] faxed a message that he was expecting the arrival of the amended L/C, but thereafter, did not receive any further answer from the [Buyer] except for the fax sent in the name of Mr. Lin on the 17th stating that the shipment could not be fulfilled.
It is common understanding that a seller would commence loading the goods only against the original L/C rather than its copies.
The [Seller] kept earnestly inquiring for the date of dispatching ships for the second time till after the 17th. Because there was no hope of fulfilling the contact after the 19th when Ramadan started, the parties entered into negotiations for the matter of compensation.
It was recognized by the parties that Mr. Lin acted on behalf of the [Buyer]. The unavailability of shipping space was a fact, not a reason for the [Seller] to refuse to load the goods.
The shipping advice submitted by the [Buyer] as Attachment 2 was spurious.
The L/C cannot be revoked once it has been issued except if the notice of cancellation is earlier than the fact of the amendment or modification. The statement that "Due to the negative response from the [Seller], the [Buyer] soon afterwards notified the bank to suspend amending the L/C" was found unauthentic. It was provided in the Contract that the L/C should reach the Seller several days before the shipment so as to assure the Seller a period of time of reasonable length to settle foreign exchange.
The [Seller] provided the supplemental explanation and supplemental evidence and materials regarding his claims for damages.
PART V. RESPONDENT [BUYER]'S SUPPLEMENTAL RESPONSE
The deadline agreed by the two parties for the delivery of the goods was 31 January 1996.
It was G. Premjee (UK) PLC, the issuer of the L/C, who conveyed the order of cancelling the amendment to the L/C from the [Buyer] to the bank.
After the [Seller] declined to hand over the shipping documents, the [Buyer] had no choice but to contact "XX, Gansu" in hope of buying substitutive goods for those of the [Seller].
The [Buyer] sent the shipping advice within the time limit for shipment fixed by the two parties, requiring the shipping documents of the [Seller]. Furthermore, on the same day the Respondent [Buyer] notified the bank to amend the L/C and informed the [Seller] that the L/C was under amendment. Therefore, the Respondent had performed his due obligation as the Buyer in terms of FOB. The [Seller], however, refused to hand over shipping documents and to deliver the goods, which violated his obligation to deliver the goods as the Seller under the Contract. In that case the [Seller] should be liable for the breach of the Contract. The [Buyer] further queried about the authenticity of evidence for losses claimed by the Claimant [Seller].
PART VI. OPINION OF THE ARBITRATION TRIBUNAL
1.	The time limit for delivery fixed by or determinable from the Contract
When the time limit for the delivery agreed in the Contract expired, the two parties entered into additional agreement on 21 December, in conformity with which the [Buyer] modified the L/C, fixing the shipping date on 31 December 1995, and extended the valid term of the L/C late into 15 January 1996. Reviewing the faxes between the two parties on 15 and 16 January, the Arbitration Tribunal found that although the shipment was deferred time and again, neither the Seller nor the Buyer regarded the Contract avoided or suspended performing obligations under the Contract, which indicated that the [Seller] did not object to the arrangement of dispatching ships by the [Buyer] around 15 January 1996.
The [Seller] denied that he had accepted the requirement by the [Buyer] to change the delivery date to 31 January, whereas the evidences and materials submitted by the two parties (especially "the supplementary response of the [Seller] on the dispute over No. G XX Lentil Contract" in reference to Attachment 8) witnessed that the [Seller] did agree to the further modification on the shipping date.
2.	Whether the [Seller] had accepted the method of payment proposed by the [Buyer] that the [Seller] would effect the shipment on 15 January 1996 prior to receiving the modified L/C faxed by the [Buyer] on 16 or 17 January
The [Buyer] emphasized repeatedly that the [Seller] had accepted the method of payment as seen in Attachment 8 and the third paragraph on page 2 of the arbitration application. Attachment 8 was a fax sent by the [Buyer] to the [Seller] on the evening of 15 January 1996 (the morning of 16 January Beijing time), which said in brief, "we are writing to apologize for the delay, and to confirm that the L/C will be sent tomorrow or the day after tomorrow, which is being modified as required for the time being. Moreover, the price has been raised and the deadline for shipping the goods been fixed on 31 January in the modified L/C". Pursuant to the third paragraph on Page 2 of the arbitration application, "... it is provided in Attachment 7 that the representative of the Buyer will pay the Seller U.S. dollars in cash in Tianjin, whereas afterwards the terms are accepted by the Seller that it turns out to raise the price in the modified L/C and at the same time pay in terms of L/C by fax on 15 January 1996 (in reference to Attachment 8)".
The arbitrator held that it was the settlement of the raised price by L/C that had been expressly accepted by the [Seller]. Even if the [Seller] had accepted Attachment 8 in whole, these sentences from the arbitration application and Attachment 8 do not indicate expressly or impliedly that the [Seller] had agreed to effect the shipment on 15 January prior to his receiving the modified L/C.
On the contrary, the [Seller] stated that the delivery must be performed against the reception of the amended L/C by fax on 15 January. "... before we received the amendment and the extension, we can't ship the cargo." (Refer to Attachment 10 to the arbitration application). The [Buyer] did not raise any objection to the evidence aforesaid.
3.	Whether it was reasonable that the [Buyer] required the [Seller] to ship the cargo earlier than the amended L/C reached the [Seller]
On 15 January 1996, the [Buyer] sent the shipping notice requiring the [Seller] to ship the cargo right on that day, and furthermore, informed the bank to amend the expired L/C and notified the [Seller] that the amendment would reach the [Seller] within one or two days. In view of the aforesaid, the [Buyer] alleged that he had performed his obligation due as the Buyer in terms of FOB, whereas the [Seller] violated his obligation to deliver the goods under the Contract owing to refusing to ship the goods before receiving the amendment and the extension of the L/C.
Pursuant to the second paragraph in Article 14 of the Contract in this case, "the Seller is entitled to declare the Contract avoided or defer the delivery of the goods, in case the L/C does not reach the Seller within the time limit provided in the Contract, or the L/C opened by the Buyer does not comply with the Contract; and the Buyer cannot modify or amend the L/C in time after receiving the notice ...".
The two parties in this case agreed on payment by L/C. Article 10 of this contract provided that the L/C must reach the Seller before __ days of shipment. The original sentence above the preceding line said that the Buyer shall establish a ... L/C ... in favor of the Seller, in _ payable at sight ..., but "10 DAYS" was found typed in the blank space in the sentence aforesaid, which was recognized by the arbitrator as a slip in typing though there was no argument incurred between the two parties. To specify, "10 DAYS" should have been filled in the blank below instead of the above, where the currency code fixed in the L/C should be typed, such as US $, RMB, etc., otherwise the two parties should have been in no position to understand the sentence aforesaid. The currency code fixed in the L/C could be identified according to the context of the Contract, whereas the issuing date of the L/C could not be ascertained in the same way unless regarding "10 DAYS" typed in the wrong line. The arbitrator held that the real agreement reached by the two parties at the time of concluding the Contract was "the L/C must reach the Seller before 10 DAYS of shipment".
It was indisputable that the L/C must reach the Seller before shipment, even though the two parties really did NOT specify before how many days of shipment the L/C must reach the Seller, which was determinable from the Contract, and on the other hand and more particularly, one of the main rules for international trade practice and one of the fundamental presuppositions to safeguard payment made to traders in international market by choosing letters of credit as means of payment. According to Article 54 of the United Nations Convention on Contracts for the International Sale of Goods (hereinafter referred to as the "CISG"), the Buyer's obligation to pay the price includes taking such steps and complying with such formalities as may be required under the Contract or any laws or regulations to enable payment to be made ..., mainly indicating the application to the bank for establishing the L/C or guarantee in accordance with the provisions under the sales contract, which has been universally recognized within the circles of Law and International trade in China as well as the U.S. (Referring to Feng Datong, Law of International Sales, Press of University of International Business and Economics, 1989). No seller would deliver the goods without being ensured of payment. To solve this problem, payment by L/C as known to us today became popular in the middle of the 19th century. [With reference to Jordan & Warren, Commercial Law, 876-877, citing Baird, Standby L/C in Bankruptcy, 49 U. of Chi. L. Rev. 130, 133-135 (1982)]. Subject to Article 2-325(1) of the Uniform Commercial Code (hereinafter referred to as the "UCC"), failure of the Buyer seasonably to furnish an agreed L/C is a breach of the contract for sale, and Article 5-106 thereof, one concerning Time and Effect of Establishment of L/C, provides in its Item (1)(b) that unless otherwise agreed a credit is established ... as regards the beneficiary when he receives a letter of credit or an authorized written advice of its issuance, where "authorized" can not be defined in any way but "authorized by the issuing bank". Therefore, the [Seller] was not obliged to accept an oral guarantee by the [Buyer] in respect of payment.
Prerequisites for the Seller to settle exchange in terms of the L/C are: (1) the L/C was valid at that time; and (2) all, related documents, especially shipping documents that the Buyer's application to the bank for exchange settlement should be against, must comply with provisions of the L/C. Pursuant to Item (a) in Article 43 of Uniform Customs and Practice for Documentary Credit (No. 500 publication by the International Chamber of Commerce). Hereinafter referred to as UCP 500) ... in any event, documents must be presented not later than the expiry date of the Credit. It had evidently constituted material retardation to the performance of the [Seller]'s right to guarantee exchange settlement by L/C that the [Buyer] notified the [Seller] to ship the goods on the evening of 15 January when the L/C expired, which put the [Seller] at the unexpected and additional risk of failing to have the L/C negotiated after delivery of the goods.
From the view point of a neutral and reasonable third party, it was not an effective act to safeguard the [Seller]'s right to settle exchange that the [Buyer] on his own informed the bank to amend L/C on the same day (15 January), and notified the Claimant [Seller] that the amendment would reach his place on the 16th or 17th. The L/C provided in the Contract was irrevocable. Subject to Item (D) in Article 9 of UCP 500, I), except as otherwise provided by Article 48, an Irrevocable Letter of Credit can neither be amended nor cancelled without the agreement of the Issuing Bank, the Confirming Bank, if any, and the Beneficiary. ii) The Issuing Bank shall be irrevocably bound by an amendment(s) issued by it from the time of the issuance of such amendment(s)...iii) The terms of the original Credit (or a Credit incorporating previously accepted amendment(s)) will remain in force for the Beneficiary until the Beneficiary communicates his acceptance of the amendment to the bank that advised such amendment. ... In light of the above, the time when the issuing bank was bound was when L/C was sent out, whereas the time when the beneficiary was bound was when L/C was received. Therefore, a notice of amending the L/C was not binding on any party within the period of time from when the applier made the application with the issuing bank to when the issuing bank sent out the authorized amendment, which had been de facto proved by the fact that the [Buyer] succeeded in cancelling the notification of amending the L/C on 17 January. The amendment notice by the opening bank was not sent till 17 January, which implied that the act of the L/C amendment, binding to the opening bank did not occur, and therefore, the ineffective amendment could not guarantee exchange settlement to the [Seller] at all. Hereby, the arbitrator held that the opinion was sound that "the shipment of goods should be against the receipt of the amendment". Subject to Article 5-104 of UCC, a modification of the terms of a credit or confirmation must be signed by the issuer or confirming bank, and Article 5-106 thereof, one concerning Time and Effect of Establishment of L/C, provides in its Item (1)(b) that, unless otherwise agreed, a credit is established ... as regards the beneficiary when he receives a letter of credit or an authorized written advice of its issuance. Therefore, under circumstances in which the original L/C had expired, the [Seller] was entitled to suspend performance of his obligation of delivery until receipt of the authorized amendment in writing.
The [Seller] only stated that shipment would not be effected till he had received the extension, and did not declare to terminate the Contract at any time. The [Buyer] cancelled the advice of amending the L/C on 17 January, which de facto proved that the act of amendment did not occur. The [Buyer] had established the L/C prior to 15 January, but did not appropriately perform his obligation of dispatching ships, nor did he extend the L/C after 15 January, which amounted to the violation of the obligation of payment. Owing to the failure by the [Buyer] to perform his obligation as required under the Contract, the [Buyer] should be in the position to compensate the [Seller] all losses arising therefrom.
4.	The status and authority of Mr. Daniel Lin
Subject to the correspondence between the two parties in this case, the arbitrator held that Mr. Lin was working on behalf of the [Buyer] and that it was the [Buyer] who was bound to undertake the burden to prove that Mr. Lin was not authorized and had no right to send out the advice. However, the [Buyer] failed to satisfy this burden. On the other hand, the [Seller] did not refuse to ship the cargo pursuant to the notification by Mr. Lin stating that "The goods had been squeezed out of shipping space", and therefore, it was not crucial in respect of this case the fact concerning Mr. Lin's status and authority in the [Buyer]'s company as well as the background and intention of the fax by Mr. Lin in this case.
5.	The Contract concluded by the [Buyer] and Gansu XX Import and Export Co.
The Contract concluded by the [Buyer] and Gansu XX Import and Export Co. was signed on 23 November 1995, with an L/C fixed as terms of payment. The [Buyer] should have established the L/C before 3 December 1995 so as to get ready for executing the Contract in advance of 20 December. To say the least, the evidence and materials available indicated that the [Buyer] was also being pressed by Gansu XX to arrange shipping space at the same time. Gansu XX drew original invoice on 16 January 1996 (Beijing Time). The [Buyer] failed to prove that it was after the [Seller] refused to deliver the goods when the [Buyer] concluded this contract with Gansu XX in replacement. In view of reasons put forward in Item 1, 2 and 3 above, the award of this case did not fundamentally rely on to whom and why the [Buyer] transferred the shipping space of the Datian.
6.	Losses suffered by the [Seller]
Pursuant to Article 74 of CISG, damages for breach of contracts by one party consist of a sum equal to the loss, including loss of profit, suffered by the other party as a consequence of the breach. The arbitrator held that, some losses claimed by the [Seller] were de facto incurred and irreversible, including commercial inspection, phyto-sanitation, fumigation, storage (collected for three, NOT five months, for the reason as follows) and natural spoilage, and anticipated profits due in international trade, which, in the amount of US $14,733.60 in total, should be borne by the [Buyer] as compensation for [Buyer]'s breach of contract. In addition, the interest loss should compensated by the [Buyer]. It was foreseeable to the [Buyer] as a company engaged in international trade in light of the fact that the [Seller] was extended credit by the bank to purchase the goods as a professional trade company. In respect of the length of time relied on to compensate for the interest loss aforesaid, the arbitrator held that the de facto time of reasonable length for the [Seller] to get the goods ready for shipment, wait for the vessel and pay for the warehouse charge should be THREE months, rather than FIVE months, alleged by the [Seller] due to the lack of adequate evidence and materials, and as a consequence, amounted to US $5,090.53. The penalty interest was not approved due to its minute foreseeability and the absence of payment receipt.
As for the attorneys' fees, the arbitrator judged that the Respondent [Buyer] should bear only part of payable attorney fees to the Claimant [Seller], RMB 9,000, according to the standard charge by professional attorneys, because the [Seller] did not submit the appointment contract with attorneys, nor did he note expressly the relation with this case in his attorney fee receipt.
PART VII: AWARD
The Arbitration Tribunal hereby decides:
The [Buyer] shall compensate the [Seller] for damages, totaling US $19,824.13.
The [Buyer] shall compensate the [Seller] for the attorneys' fees of RMB 9,000.
All other claims by the [Seller] are dismissed.
All other claims by the [Buyer] are dismissed.
The arbitration fees for the case should be borne by the Claimant [Seller] and the Respondent [Buyer] in share, 15% and 85% respectively, which has been fully covered by the fee of RMB XXX paid by the Claimant [Seller] to the Arbitration Tribunal in advance. Therefore, the [Buyer] shall also pay back RMB XXX advanced by the [Seller].
The aforesaid sums payable shall be settled in total by the [Buyer] within 45 days after the conclusion of the arbitration. Interest on any sum in arrears will be paid at the annual rate of 10%.
This Award is final.
* All translations should be verified by cross-checking against the original text. For purposes of this translation, Claimant of the People's Republic of China is referred to as [Seller]; Respondent of the United States is referred to as [Buyer]. Amounts in the currency of the United States (dollars) are indicated as [US $]; amounts in the currency of the People's Republic of China (renminbi) are indicated as [RMB].
** CHEN Gang LL.M. University of International Business and Economics; LL.B. Shanxi Finance and Economics University.
Pace Law School Institute of International Commercial Law - Last updated April 12, 2006


The enrichment of the lexicon with new words is necessary to keep a language lively, in its constant search for dynamic means of expression. Thus, the inventory of neologisms is made up both of semantic neologisms, i.e. neo-semantisms which enable a language to keep its peculiar identity on the expression plane by adding meaning to existing lexical units, i.e. growing semantic-ally richer, and of newly coined native units as results of creative word formation, by testing its own expressive resources. The topic of this paper, compounds, fall into the second category. Although compounding, as a word formation process is not typical of the Croatian language, a corpus of compounds extracted from contemporary post-1990 dictionaries of the Croatian language calls for areevaluation of traditional views on the word formation process. The paper thus describes the structure of novel compounds in Croatian, looking for divergencies from the treatment in Croatian grammar books and examining the ratio of words formed by pure compounding, as opposed to the combination of compounding and suffixation. Moreover, it presents new subtypes of compounds and discusses their influence on the word formation system of Croatian in general.


text:
Congresswoman calls for US investigation of Planet Aid
by Matt Smith and Amy Walters August 17, 2016 August 29, 2016
Njuli village Chief Witness Chibwana says he purchased a Planet Aid water pump with a $100 loan that took him two years to pay off. Made of PVC pipe, polyethylene rope and a used bicycle wheel, the pump is barely functioning after five years of use. Credit: Eldson Chagara for Reveal
A congresswoman has called for a government investigation of Planet Aid following a Reveal investigation showing that the U.S. has allocated more than $133 million in foreign relief funds to the Maryland-based charity despite evidence that it is controlled by a cult-like organization and funds have been misused.
U.S. Rep. Betty McCollum, D-Minn., delivered strongly worded letters today to the inspector general of the U.S. Department of Agriculture – which allocated the money – and the Government Accountability Office, asking them to launch investigations.
"Recent media reports by (Reveal from) the Center for Investigative Reporting … suggest that Planet Aid and its affiliates have engaged in a 'shell game' with US government funds," McCollum wrote.
In March, Reveal began unveiling its findings with a radio show and podcast connecting Planet Aid to the Teachers Group, a reputed Danish cult affiliated with dozens of humanitarian aid organizations around the world. The investigation, which continued with a text story published in May, traced USDA Foreign Agricultural Service funding for anti-poverty programs in Malawi and, in a local farming project, found little evidence the money had been properly spent.
The Teachers Group also operates for-profit businesses, and manages an offshore financial network that its leader once said was created to "lay down a twisted access path, with only ourselves as compass holders." That leader, Mogens Amdi Petersen, is wanted by Interpol along with four of his top associates on fraud and tax evasion charges related to what Danish prosecutors say is a network of phony charities.
Former and current Teachers Group members in Africa told Reveal that they were forced to kick back portions of their USDA-funded salaries to a bank account controlled by their Teachers Group overseers. Dubious "expenses" for aid projects funded by the United States were paid to offshore organizations controlled by the Teachers Group. Accountants and managers working on those projects said these invoices were fabricated to cover up for charity work that was never performed.
Impoverished farmers in Malawi, who were supposed to benefit, also told Reveal they did not receive water pumps, fertilizer and farm animals promised by Planet Aid. Those projects were routed through Planet Aid's partner agency, Development Aid from People to People Malawi, or DAPP Malawi, also controlled by the Teachers Group.
Following publication, UNICEF probed DAPP Malawi programs it was supporting and, in July, halted its funding of those projects and launched a deeper investigation. In August, the BBC partnered with Reveal to document misuse of British foreign aid funds by DAPP Malawi. Immediately following the broadcast, the United Kingdom's Department for International Development also suspended funding and announced it would investigate the allegations.
McCollum cited those actions in her letter, noting that, by contrast, "to date, the USDA has not taken similar action. The USDA has responded to media inquiries about its relationship with Planet Aid and its affiliates by stating that annual audits and site visits have uncovered no evidence of wrongdoing by Planet Aid or its subcontractors."
In calling on the U.S. government to investigate, McCollum cited Reveal's findings showing USDA oversight had been undermined by Planet Aid and its Teachers Group affiliates in Africa.
"Media reports indicate that 'visiting auditors (were steered) to Potemkin village farms that looked prosperous but were merely for show,' " she wrote. "Given the alleged sophistication of the Teachers Group, it is plausible that USDA auditors have not been given the access they need to fully investigate the performance of Planet Aid and its affiliates."
Today, Reveal emailed Planet Aid's main contact with the U.S. government, Marie Lichtenberg, requesting comment, but has not heard back. However, Planet Aid issued a statement to NBC News' Washington, D.C. affiliate, which is partnering with Reveal to investigate Planet Aid.
The statement said in part: "The money that Planet Aid receives from private donations and from U.S. government grants is at all times spent in accordance with agreements, and as reported, for development work around the globe."
A USDA Foreign Agricultural Service spokeswoman said in an email that the agency's own inspectors did not find any "major issues." The statement added that the Foreign Agricultural Service "does not have the authority, or the means, to conduct background investigations of individuals who work for the (private voluntary organizations) that receive program funding."
The USDA does take the allegations seriously, the spokeswoman said, noting that staff had previously referred the matter to the Inspector General. The Inspector General has not responded to a request for comment.
A Kansas whistleblower who starting in 2008 sought to convince USDA officials that Planet Aid was defrauding the government had plenty to say. Kris Alonge conducted multiple Freedom of Information Act requests, wrote letters to USDA officials, met with FBI agents and filed complaints with the IRS – only to see the USDA continue allocating funds to Planet Aid, year after year.
"I'm thrilled that someone is paying attention," Alonge said of McCollum. "She is saying the same thing that I have been saying for eight years. … It's blatant to me this group is stealing; it's money laundering, and they're keeping the money for themselves."
Matt Smith can be reached at msmith@cironline.org, and Amy Walters can be reached at awalters@cironline.org. Follow them on Twitter: @SFMattSmith and @AmyWalters.
msmith@revealnews.org
Matt Smith is a reporter for Reveal, covering religion. Smith's two-decade career in journalism began at The Sacramento Union in California. He went on to positions at newspapers in Albuquerque, New Mexico; Twin Falls, Idaho; Fairfield, California; and Newport News, Virginia. Between 1994 and 1997, Smith covered Latin America as a reporter in Dow Jones & Co.'s Mexico City bureau. For 14 years, he was a lead columnist at Village Voice Media in San Francisco. He came to Reveal from The Bay Citizen. Smith holds a master's degree from the Columbia University Graduate School of Journalism and a bachelor's degree in political science from Reed College in Portland, Oregon. Before his career in journalism, Smith was a professional bicycle racer. He is based in Reveal's Emeryville, California, office.
More by Matt Smith
Amy Walters
awalters@revealnews.org
Amy Walters is a reporter and producer for Reveal. She began her career as a broadcast journalist in the Middle East. In 2000, she moved to Washington, D.C., to work for NPR's flagship shows, "Morning Edition" and "All Things Considered." A Southern Californian native, Walters returned to the Golden State as a field producer for NPR in 2003. Her work was honored with the Edward R. Murrow Award for investigative reporting, the Alfred I. DuPont-Columbia University Award, two Peabody Awards and two Robert F. Kennedy Awards. Throughout her career, Walters has continued to cover the world, including the U.S. war with Iraq in 2004, the 2010 earthquake in Haiti, the 2011 Arab Spring in Egypt and Libya, and the U.S. war with Afghanistan. She also has reported from Ethiopia, Kenya and Iran. In 2014, Walters was based in Doha, Qatar, as a producer for Al Jazeera English before returning to the United States. Walters is based in Reveal's Emeryville, California, office.
More by Amy Walters


It offers a taste of American in the centre of Birmingham. Food-wise, we are talking dirty burgers, gourmet dogs and house smoked meats. Whilst with the drinks it covers milkshakes (with or without alcohol to accompany), in-house cocktail creations and US imported beers. Buffalo and Rye also offer a wide selection of Whiskies and Bourbons, as well as handcrafted cocktails.


text:
A BRIEF HISTORY OF THE CARIBBEAN BY JAN ROGOZINSKI PDF
by admin 11 July, 2019 0
The four major geographical groups of islands in the Caribbean. of what was probably the most destructive hurricane in the recorded history of the Caribbean?. Jan Rogozinski, A Brief History of the Caribbean. Chapter One: The enduring environment and the first islanders. Identify the following terms: Aedes Aegypti. A Brief History of the Caribbean has ratings and 21 reviews. A Brief History of the Caribbean: From the Arawak and the Carib to the Jan Rogozinski.
Author: Maule Mazur
Country: Jamaica
Uploader: Vokree
I did get to learn about the Alco, small Arawak dogs that couldn't bark. A Brief History of the Caribbean traces the people and events that have marked this constantly shifting region, encompassing everything from economic booms and busts to epidemics, wars, and revolutions, This comprehensive volume takes the reader and student through more than five hundred years of Caribbean history, beginning with Columbus's arrival in the Bahamas in Caribbean Locations and Hours.
The main sugar producing island during the first 50 years of the sugar boom, and the main source of labor in the beginning. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher. Chose it as background information for my 5th historyy history curriculum.
How was Spanish colonial culture more corporate than British or French. Tim caribbsan it liked it Mar 29, French and Dutch go to war against British.
CATHOLIC MISSALETTE PDF
The name and height of the highest point in the Bahamas? What was the name of the new country. Spain finally opens up her islands to free trade.
I'll be coming back to this one. Some thirty years before the Haitian revolution, a slave revolt on Jamaica almost destroyed plantation society. Many Europeans came to consider slavery to be evil, first in Great Britain and later on hsitory continent. Each has left its indelible mark on the peoples and cultures it touched. What island was the political capital of the French during the first four decades of their settlements in the Caribbean?
A Brief History Of the Caribbean
Set the scene well for further books on the same topic. Eve's Book Garden Published: Book has library markings labels, stamping, cardholder, etc.
Jon rated it liked it May 07, What I like most about this book is the thorough coverage of the interaction between aboriginal and various European uistory. Know the following facts and figures The four major geographical groups of islands in the Caribbean.
You will need other books to dig deeper, but good book to start with. This copy of A Brief History of the Caribbean: Sack of Santo Domingo by Drake. Want to Read saving…. This wiped out possibilities of good leaders and it repeated itself and it is understandable the last years has continued to be depressing for most of them. Chris Hartmann, Bookseller Published: Kitts settle Montserrat and Antigua.
CRYPTOGRAPHY AND NETWORK SECURITY BY ATUL KAHATE FREE PDF
Roogzinski and French begin to turn against Dutch merchants and shippers. Used book in very good condition. What was their form of social organization? First Spanish settlement on Trinidad. A trade paperback in excellent condition, clean with a tight binding and an unmarked text.
Where were they sent to? What were his objectives? When and why did the Spaniards finally settle Trinidad? When did he unite the north and south under one government? What indigenous group did the British recruit to help in fight against maroons? Fine in Fine DJ Edition: What was the most important amphibian in terms of protein? Pages are clean and tight.
The beginning of Dutch activity in the Caribbean. Beginning with the first known Caribbean islanders–the peaceful Arawak and the warlike Carib–A Brief History of the Caribbean traces the ever-changing course of events in the region, with an in-depth examination of the social, political, and economic forces that have shaped these island nations.
Hkstory to Read Currently Reading Read.
Jan Rogozinski, A Brief History of the Caribbean
Two forms of resistance were particularly feared by planters. Refresh and try again. The British Colonies Some cover wear, may contain a few marks.
DOMINIQUE LAPIERRE UN ARCOBALENO NELLA NOTTE PDF
EDWARD WILMOT BLYDEN PDF
ERESSE SACRED FATE PDF
ANANDA KENTISH COOMARASWAMY PDF
CALCLABS WITH MATHEMATICA FOR MULTIVARIABLE CALCULUS PDF
LCA110 DATASHEET PDF
BUCHHEIM DIE FESTUNG PDF
J.R.WARD UN AMORE VIOLATO PDF


Arranging a trip is a common thing which can be done by a lot of the households and a lot of institutions. Let it function as the loved ones neighborhood trip, university field vacation, or a vacation from your church first of all , crosses your mind is concerning the transportation premises. The frequently sought after travel facility made use of by tour planners is really a bus. With regards to bus rental fees, people think just about two options, a common yellowish bus or a high end tour bus. Most folks are unaware that the available choices in the field of bus leases are assorted. Trip bus rental fees may be picked based on our requires and the amount of persons travelling. In case you are a small class, you can hire a bus which could take 12 men and women. The rental expenses for this sort of tiny vehicles will likely be less when compared with that relating to other folks.
Busses are often as modest as being a 12-seater or a big and splendid the one which might take greater than 50 folks. The next thing that need considering while getting a bus solutions is that of enhanced comfort needed by you in the bus. If you are intending for a getaway which will final more than two days, it will be preferable to hire a bus service which can be a lot more luxurious in providing secure sitting and resting services within the bus. Even though such coaches will definitely cost a lot more, it really is worth the money expended as people will not be struggling much throughout their journey. Many of the lengthy travels require us to stay in our bus rental amsterdam for long hours of rides. In these cases, we can keep the people interested by means of extra facilities just like an leisure unit. Enjoyment features inside a bus involves large Televisions, DVD players and so on.
Hiring a bus with toilet facility is going to be better as you will save more time by staying away from continual pit halts. Rental services will rent payments you just the bus or even a driver together with the bus. It will always be much better to obtain a motorist if you are planning to a unknown spot. Most motorists are going to be properly proficient in traveling by means of such spots. It will be greater should your driver can perform the work of your tour manual also. It can help make your vacation far more arranged and that he should be able to require to areas where one can do your store shopping and eyesight experiencing.
The main factor you have to know worrying this minor 'rivals' is the manner in which the much better your reviews is the far better success the movie will definitely have. It should be useful or generally simply enjoyable. On the off possibility that it is reeling in or substantial, you have a lot more noteworthy chances of approving tickets, relies or relies. Catch phrases additionally carry out with an important placement in the success of the movie. This is the reason it is useful to have major information with respect to See web spider promoting. No matter there are a few people that declare thinking about that there are dependably significant treatments of film that have really been seen numerous situations that Search Engine Optimization is not that essential and it are clear they have not been enhanced.
Keeping in mind completion goal to get yourself a higher-positioning a strategy to earn individuals to leave statements ought to be situated by you. The a lot more activities you have, the larger your standing will definitely be and as shown by this you will absolutely get motion. The tickets, assessments as well as remarks show those individuals are inhabited keeping that which you do. It will absolutely get an extra substantial setting if Google views that an amazing configuration is of starting relative to your video. Keep in mind that nevertheless it is electronic; Facebook remains an area, which shows you would certainly link to numerous people with invest for Facebook Likes. Check This Out the much more reads you will certainly exist side-by-side with the extra people are requiring you the extra visible, on Facebook. In this manner the dispersed recordings will certainly get a lot more activity. Just on the off opportunity that you acquire maybe a lot extra or 100 people, your task could obtain a lift. Despite having that these are fantastic methods to disclose signs of enhancement rankings as well as Facebook Likes, we should introduce that they bore. It needs financial investment to send messages, obtain remarks, and take a rate of interest around the area living, do SEO and more.
There are also a few systems that will definitely be qualified for you to extra time. As an example there is an application that works much like Search Engine Optimization shows for facebook likes. This application makes activity to your motion pictures, innovations your costs as well as them, consequently communicating movement. There were a lot of people adulating the program. You could understand this application and in this circumstance there will certainly be no requirement for you to think about any kind of kind of programs of Search Engine Optimization. Something worth being appreciative for is that there is additionally a money back certification, nonetheless as of lately nobody appeared to consult their reimbursement. Some different techniques to quickly improve activity on Facebook contain a few various other quick procedures, Tubes Detonator as well as Facebook Money Bomb.


text:
WNC Sculpture Center and Park to host a variety of new programming – Watauga Democrat
The Western NC Sculpture Center and Park is operated by Appalachian State University Alum Joesph Bigley and Boone native Zachary Smith-Johnson.
The sculpture park is located in near the Patterson School Foundation in Lenoir.
Tripp Jarvis is one of the many artists that have sculptures in the park.
Matt Amante's "The Watcher" is a sculpture made with painted steel.
The sculpture park is open for picnicking and has grassy areas and diverse foliage.
Renowned artist Patrick Dougherty uses natural materials to build on sight.
LENOIR — The Western North Carolina Sculpture Center and Park features more than 70 works for free public viewing and a 10,000 square foot studio space for the resident artists to utilize.
After opening in November 2019, the nonprofit organization did its best to provide a safe means for the community to view and create art. The outdoor park, located on an old boarding school campus run by the Patterson School Foundation, plans to host more educational programming as event restrictions subside in addition to being open daily from dusk til dawn.
The park has diverse typography with an open space, flowing creek and trail leading into a wooded area. The sculptures are made of materials to withstand the elements, most of which being metals ranging from welded steel to iron. The sculpture park is an opportunity for emerging artists to have a depository for their work that is viewable by the public alongside recognizable names.
A group of about five artists work out of the studio space, assisting sculpture park founders Joseph Bigley and Zachary Smith-Johnson with projects in exchange for equipment access and workspace. The organization also hosts artist residencies and internships. The residency coincides with an annual spring iron pour.
The organization in planning programming free for military veterans to engage with blacksmithing, welding and mold making in addition to several other educational opportunities.
"We're really trying to increase out k through 12 programming. There are certain things that we do that correspond with these iron pours that are really easy for young people to engage with, essentially cast their own design in iron," said Bigley. "Art is usually the first thing cut in public education and being an artist and faculty member at App State, I certainly have a conviction behind the benefits of the creative process."
A monthly music series began in April and will continue through November featuring local musicians. The music series takes place mid-day the second Saturday of each month and includes sculpture tours.
A public iron pour will take place on May 28 that will include live music, food trucks, blacksmithing and other demonstrations alongside live music and food trucks.Leading up to the May 28 iron pour will be a series of scratch block workshops for the public to participate in and have something to take home. A second iron pour will take place on June 4, and though this event is smaller, the public is still invited to attend.
The sculpture park is a non-profit organization that hosts volunteer opportunities for larger events. For more information, visit www.wncsculpture.org or WNC Sculptures on Facebook and Instagram.
Thanks to modern technologies, you and more people are reading the Watauga Democrat than ever before. Freedom of the press is essential to preserving democracy: But a free press isn't free. It takes significant resources for Mountain Times Publications' 10 full-time journalists to provide credible, fact-based and ethical journalism in the High Country. So, we are asking you to join our advertisers and print subscribers in supporting local journalism with your dollar. The Watauga Democrat does not have a paywall, but your financial support will help sustain these services that you use to inform your decisions and engage with your community. CLICK HERE TO MAKE A CONTRIBUTION
We're always interested in hearing about news in our community. Let us know what's going on!
Trusted local news has never been more important, but providing the information you need, information that can change sometimes minute-by-minute, requires a partnership with you, our readers. Please consider making a contribution today to support this vital resource that you and countless others depend on.
A weekday morning newsletter with a list of local news, sports and community headlines.
Previous articleAkron Parks and Recreation announces summer programming for 2022 – cleveland.com
Next articleSpring programming at The Battery Atlanta – Yahoo News


AUTOPHIX VAG 007 is a super scanner for detecting the Volkswagen Series and OBD II vehicles,It supports not only the KWP, TP-CAN and New UDS protocols, but also all OBD II protocols,It is small, light, handy and versatile, it gets data quickly.
Jaguar and Land Rover software SDD V144 has been released at OBDEXPRESS. Free download SDD 144 for your Manoose or Mangoose Pro interface here.
1. Download "JLR PanasonicScript-Setup v17.zip" to the SDD machine Desktop.
2. Double click "JLR PanasonicScript-Setup v17.zip"
3. From the "Folder Tasks", select "Extract all files"
4. The "Extraction Wizard" will run, then select "Next"
5. Select a Destination to extract the files to and select "Next"
7. Locate and double click Folder "V2.9.1.0"
11. Following the "Reboot" there could be more "MS Dos" pop ups, once these have completed, the script has been run successfully.


Seamus Ruddy, an Irish Socialist Republican activist who had been living in Paris since December 1983, disappeared on the 8th of May, 1985.
In the following months and over time the circumstances of his disappearance became known. Seamus Ruddy was lured under the pretext of having a discussion with INLA members, then abducted, tortured, killed, and finally buried naked in the Bord forest in Normandy, his place of execution.
This story can only be understood in the context of conflict in Northern Ireland at the time.
Central to understanding the Six counties from the summer of 1969 and the long period of armed struggle that followed, is acknowledgement that it was the result of British politics that were as absurd as they were criminal.
Next to the Irish Republican Army, INLA was created in 1974 and was meant to be "the left wing" of the independence struggle.
Seamus Ruddy who enlisted to fight for Civil Rights where he lived in Newry in Northern Ireland, later joined the Irish Republican Socialist Party of which the INLA was the armed wing.
This still modest organization, in 1979 organized the attack within the British parliament in London which killed Airey Neave, the politician who placed Margaret Thatcher on the rails of power and a supporter of an uncompromising line in the Irish conflict.
Special services in subsequent years put out of harm's way or eliminated most major elements of this organization, creating the conditions for a disruption that was going to last.
During the prisoners' hunger strikes to demand political status in 1980/81, three INLA activists died. Seamus Ruddy played an important role as organizer whose role was as liaison between the strikers and their families.
Then, under the blows of repression, the organization began to fall apart. The proximity of some members of the INLA in the strafing of the Protestant Church in Darkley, County Armagh, in which three parishioners were killed in November 1983, marked the turning towards an increasing political drift.
Taking advantage of the imprisonment of a number of militants, a faction tried to control by means of force the organization's military wing. To ensure the mastery of weapons, some came to France to get the contacts Seamus Ruddy might have managed in the sphere of arms trafficking. Indeed he was arrested in Greece in 1979 with weapons from the Middle East. He was considered to have valuable knowledge in this field.
According to several books and journalistic investigations, John O'Reilly from Belfast and one of his henchmen Peter Stewart, came to France to get their hands on these supply networks. It was this O'Reilly who with another member of his faction named Sean Hughes, who beat up a refugee activist in France. The beaten man had resigned because of the "evolution" of the organization. Intimidation and violence were used to neutralize dissidents: a foretaste of what which was to be committed.
John O'Reilly was gunned down with other members of his organization in Drogheda in Ireland by a rival faction the 20th of January 1987. Peter Stewart died of illness a few years later. Sean Hughes arrested in France for arms trafficking, was expelled to Africa. All attempts by the Seamus's family and his partner, only encountered silence and threats.
Since 1994 the issue of the "disappeared" of the Northern Ireland conflict gained momentum. The families claimed the bodies of the missing. Today there are six outstanding cases, among them Seamus Ruddy.
It is likely that these people at the time received aid and support of French militants who probably believed they were acting for the cause of the Liberation of Ireland or for the establishment of a democratic socialist regime. It is the belief of many protagonists in the case. It is they, who have the key to put a final end to this disappearance.
Thirty years later, nothing can justifies this silence.
For Seamus's Irish friends, John O'Reilly's death put an end to the case. More, no prosecution is now possible after such a long time. The peace process initiated in Ireland for twenty years, if it has not solved all the problems, allowed for the demilitarisation of politics.
We, who have campaigned for the recognition of the legitimacy of the Irish cause in France for many years, cannot tolerate that this silence still goes on.
Neither the Irish Republican struggle, nor the struggle for "socialism" have anything to gain from this iniquity.
For the relatives of Seamus Ruddy, but also for the ideal of justice and democracy that was his, the silence surrounding his disappearance must stop: his remains must be found.


text:
Обикновеният гингер (Onopordum acanthium), наричан също магарешки трън, магарешки бодил, камилски бодил, жълтеникав онопордум, е тревисто двугодишно растение от семейство Сложноцветни (Asteraceae).

Първоначално магарешкият трън се среща в Европа, Северна Африка и Азия, включително в цяла България. По-късно е пренесен в Северна Америка и Австралия, където с бързото си разпространение се превръща в сериозен проблем за земеделието. Разпространен е по сухи и каменисти места, край пътища и сгради.

Употреба

Магарешкият трън е от растенията, които привличат пчелите. Народната медицина я препоръчва като лек за проблеми с потентността и простатата. Препоръчително е употребата на отварата да става след консултация с лекар. В миналото някои части са използвани за храна, а маслото, извличано от семената – за горене и за готвене.

Магарешкият трън се използва и като декоративно растение.

Допълнителни сведения
 Магарешкият трън е национален символ на Шотландия от времето на крал Александър III (1249 – 1286)
 Магарешкият трън е и част от логото на Британската енциклопедия
 Магарешкият трън е един от символите на провежданото в гр. Гурково Био рали.

Източници

Външни препратки

Метличинови
Лечебни растения
Плевели

redpajama_set_name: RedPajamaWikipedia


Inside a building two pools side by side separated by glass. But looking is not the same as seeing. There is a sense of separation and a dissolution of barriers. It is a beautiful contradiction hidden to most but the curving corners of my mouth betray the fluid intensity before me and the surge of joy and appreciation at witnessing so many bodies in various states of motion and becoming.
Young bodies expand and explore the depths of movement with eagerness and energy while larger bodies next door also move with purpose and focus. Technique and a desire to improve and become a better swimmer the shared experience. Feedback from coaches refining the co-ordination of limbs in various combinations, careful additions, subtractions correcting strokes of a body with spokes. Goggles on, prosthetics off and time running the same for everyone. Standing in the shallow water those beginning to appreciate and assemble the skills to move through this alien medium peer through to the other side with a mix of awe and respect. No, it is 'not over their heads', they know intuitively the work and effort that is perhaps the only thing that might represent a distinction between them. Perhaps from the others side, there is an awareness, a sense of the mirror and recognising the journey taken. The simple act of a smile, a wave crossing time and space to reach through illusions of separation rendering a fluidity of now and exacting a perfect moment of immanence.
Like superheroes without capes casting aside previous limits and rescuing role model images from the clutches of neurotic gendered stereotypes that prevail through more traditional sports. Not a body hair in sight yet no masculinity was in question or of concern to these guys in tight fitting body wear. Women as broad and powerful with their physicality and proudly sporting body art displaying achievements. But none were immune to goggle eyes and cap hair. These finely tuned biological machines and machines within machines, metallic eyes and cybernetic limbs assembled together as aquatic mammals.
A place where butterflies exist without a chrysalis. Although there might just be a hint of caterpillar at times.