text:
Q: Stackoverflow MediaPlayer Android Seekbar i am having strange issue in one of my app in the play store. The problem is i cannot replicate the issue at all. Here is my play store log cat. Any help or thoughts would be much appreciated. There is like 9 reports. There are more than 10000 active users.
java.lang.StackOverflowError
at android.os.Message.obtain(Message.java:236)
at android.os.Handler.obtainMessage(Handler.java:247)
at android.media.MediaPlayer.postEventFromNative(MediaPlayer.java:1760)
at android.media.MediaPlayer.getDuration(Native Method)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal.nepalisongsandmore.PlayerActivity$10.onProgressChanged(PlayerActivity.java:300)
at android.widget.SeekBar.onProgressRefresh(SeekBar.java:89)
at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:609)
at android.widget.ProgressBar.refreshProgress(ProgressBar.java:621)
at android.widget.ProgressBar.setMax(ProgressBar.java:775)
at android.widget.AbsSeekBar.setMax(AbsSeekBar.java:180)
at com.peshal....

Here is the code for PlayerActivity.java
package com.peshal.nepalisongsandmore;

import java.io.IOException;
import java.util.ArrayList;
import com.actionbarsherlock.app.SherlockActivity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnBufferingUpdateListener;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.AnimationDrawable;

public class PlayerActivity extends SherlockActivity {
    MediaPlayer mediaPlayer = MediaPlayerSingleton.mediaPlayer;
    NotificationManager mNotificationManager;
    Button play;
    Button forward;
    Button rewind;
    Button pause;
    Button previous;
    Button next;
    ImageView img;
    SeekBar seekBar;
    String mediaType;
    AnimationDrawable frameAnimation;
    TextView textView;
int position;
ArrayList<String> urls;
String url;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_player);
        frameAnimation = new AnimationDrawable();
        img = (ImageView)findViewById(R.id.equalizer_anim);
        textView = (TextView) findViewById(R.id.songinfo);

    //  new LoadEqualizer().execute();
         if(mediaPlayer!=null) {
             mediaPlayer.reset();
         }

        mediaType = getIntent().getExtras().getString("mediaType");
        if(mediaType.equals("songs")) {
        position = getIntent().getExtras().getInt("position");
        urls = getIntent().getStringArrayListExtra("urls");
        }
        else if(mediaType.equals("radios")) {
            url = getIntent().getExtras().getString("radioUrl");
            //radioName = getIntent().getExtras().getString("radioName");
        }

        play = (Button)findViewById(R.id.play);
        seekBar = (SeekBar)findViewById(R.id.seekBar1);
        forward = (Button)findViewById(R.id.forward);
        rewind = (Button)findViewById(R.id.rewind);
        pause = (Button)findViewById(R.id.pause);
        previous =(Button) findViewById(R.id.previous);
        next=(Button) findViewById(R.id.next);
        play.setVisibility(View.GONE);
        pause.setVisibility(View.GONE);
        previous.setVisibility(View.GONE);
        next.setVisibility(View.GONE);
        rewind.setVisibility(View.GONE);
        forward.setVisibility(View.GONE);

        textView.setText("Buffering..");
        playMusic();

    }

    public void playMusic() {
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer1), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer2), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer3), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer4), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer5), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer6), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer7), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer8), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer9), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer10), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer11), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer12), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer13), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer14), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer15), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer16), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer17), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer18), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer19), 50);
        frameAnimation.addFrame(getResources().getDrawable(R.drawable.equalizer20), 50);
        frameAnimation.setOneShot(false);
        img.setBackgroundDrawable(frameAnimation);
        frameAnimation.start();
        frameAnimation.stop();

         mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
         try {
             if(mediaType.equals("songs")) {
            mediaPlayer.setDataSource(urls.get(position));
             }
             else if (mediaType.equals("radios")) {
            mediaPlayer.setDataSource(url);
             }
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        mediaPlayer.prepareAsync();

        mediaPlayer.setOnPreparedListener(new OnPreparedListener(){

            @Override
            public void onPrepared(MediaPlayer mp) {
                mediaPlayer.start();
                frameAnimation.start();
                if (mediaType.equals("songs")) {

                rewind.setVisibility(View.VISIBLE);
                forward.setVisibility(View.VISIBLE);
                previous.setVisibility(View.VISIBLE);
                next.setVisibility(View.VISIBLE);
                seekBar.setMax(mediaPlayer.getDuration());
            }
                pause.setVisibility(View.VISIBLE);
                textView.setText("");
            }

        });

        pause.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View view) {
                mediaPlayer.pause();
                frameAnimation.stop();
                play.setVisibility(View.VISIBLE);
                pause.setVisibility(View.GONE);
                rewind.setVisibility(View.GONE);
                forward.setVisibility(View.GONE);

            }

        });
        play.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                mediaPlayer.start();
                frameAnimation.start();
                play.setVisibility(View.GONE);
                if (mediaType.equals("songs")) {
                pause.setVisibility(View.VISIBLE);

                rewind.setVisibility(View.VISIBLE);
                forward.setVisibility(View.VISIBLE);
                }

            }

        });
        forward.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                mediaPlayer.seekTo(mediaPlayer.getCurrentPosition() + 1000);

            }

        });
        previous.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                if (position==0) {
                position = urls.size() -2;
                }
                else {
                    position = position-2;
                }
                mediaPlayer.stop();
                mediaPlayer.reset();
                play.setVisibility(View.GONE);
                pause.setVisibility(View.GONE);
                previous.setVisibility(View.GONE);
                next.setVisibility(View.GONE);
                rewind.setVisibility(View.GONE);
                forward.setVisibility(View.GONE);
                getNextTrack();

            }

        });
        next.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                mediaPlayer.stop();
                mediaPlayer.reset();
                play.setVisibility(View.GONE);
                pause.setVisibility(View.GONE);
                previous.setVisibility(View.GONE);
                next.setVisibility(View.GONE);
                rewind.setVisibility(View.GONE);
                forward.setVisibility(View.GONE);
                getNextTrack();

            }

        });
        rewind.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                mediaPlayer.seekTo(mediaPlayer.getCurrentPosition() - 1000);

            }

        });

        mediaPlayer.setOnCompletionListener(new OnCompletionListener(){

            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {
                mediaPlayer.reset();
                frameAnimation.stop();

                if(mediaType.equals("songs")) {
                    getNextTrack();

            }
            }

        });
        mediaPlayer.setOnBufferingUpdateListener(new OnBufferingUpdateListener(){
            int state;

            @Override
            public void onBufferingUpdate(MediaPlayer mediaPlayer, int percent) {
                seekBar.setProgress(mediaPlayer.getCurrentPosition());
                TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
                state = tm.getCallState();
                if(state==TelephonyManager.CALL_STATE_OFFHOOK|| state==TelephonyManager.CALL_STATE_RINGING) {
                    mediaPlayer.pause();
                    new CallHandler().execute();
                }
            }

        });

        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                seekBar.setMax(mediaPlayer.getDuration());
                if(fromUser){
                    mediaPlayer.seekTo(progress);
                    }

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }

        });

    }

    Intent intent;
    NotificationManager notificationManager;

    @Override
    protected void onPause() {
        if(MediaPlayerSingleton.mediaPlayer.isPlaying()) {

            notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
            intent = new Intent(getApplicationContext(), PlayerActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| Intent.FLAG_ACTIVITY_SINGLE_TOP);
            PendingIntent pIntent = PendingIntent.getActivity(getBaseContext(), 0, intent,0);
            NotificationCompat.Builder noti =
                    new NotificationCompat.Builder(this)
                    .setSmallIcon(android.R.drawable.ic_media_play)
                    .setContentTitle("Nepali Music And more")
                    .setContentText("Playing");
        noti.setContentIntent(pIntent);
        noti.setAutoCancel(true);
        noti.setOngoing(true);
         Notification notification = noti.getNotification();

            notificationManager.notify(1, notification);
        }

        super.onPause();
    }

    @Override
    protected void onResume() {
        if (notificationManager!=null) {
        notificationManager.cancel(1);
        }
        super.onResume();
    }

    public void getNextTrack() {
        if(mediaPlayer.isLooping()||mediaPlayer.isLooping()) {
            mediaPlayer.reset();
        }
        if(position!=(urls.size()-1)) {
            position = position + 1;
        }
        else{
            position=0;
        }
        playMusic();
    }
public class CallHandler extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... params) {
        Log.d("New asynctask started", " Call handler");
        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        while(tm.getCallState()==TelephonyManager.CALL_STATE_OFFHOOK|| tm.getCallState()==TelephonyManager.CALL_STATE_RINGING) {
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        mediaPlayer.start();
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        Log.d("asynctask finished", " Call handler");
        super.onPostExecute(result);
    }

}

}

A: Remove seekBar.setMax(mediaPlayer.getDuration()); from onProgressChanged - it doesn't need to be there, you should have accurate duration in the onPrepared callback, no need to set it again in other callbacks
UPDATE:
At least you need to remove it from onProgressChanged call, because changing SeekBar max value can change progress position and trigger onProgressChanged again. If you really need to call setMax - make onProgressChanged schedule on the UI thread - you can use post(Runnable)

redpajama_set_name: RedPajamaStackExchange


text:
«Віктор_Робот» () — український повнометражний мальований анімаційний фільм.

Міжнародна фестивальна прем'єра стрічки відбулася 26 вересня 2020 року у ході Національного конкурсу 11-го Одеського кінофестивалю. Українська кінопрокатна прем'єра стрічки відбулася 24 червня 2021 року; дистриб'ютор — Arthouse Traffic.

Штучна Залізна Зірка з невідомої причини перестала світити і для її ремонту прилітають на зорельоті дівчинка Вікторія зі своїми батьками. В пошуках творця Залізної Зірки Вікторія знайомиться з роботом, який стає її другом і отримує ім'я Віктор.

Сюжет

У далекому майбутньому винахідник Маркіян створює Залізну Зірку Зоря́ну та штучні планети, щоб подолати перенаселеність Сонячної системи. Та з невідомих причин Зоряна згасає, а Маркіян зникає. В надрах Залізної Зірки працюють роботи-механіки, один з них, під номером 112358132 випадково потрапляє в аварію та втрачає зубчате коліщатко. Він перестає коритися програмі, здобуваючи змогу діяти на власний розсуд. Роботи-санітари вважають його небезпечним і переслідують, але 112358132 рятує інженер Василь. Він визначає, що цей робот насправді єдиний справний, але не розуміє чому інші працюють не так, як очікується.

Дочка Василя (вона ж онука Маркіяна), Вікторія, називає робота-втікача Віктором і хоче використати його, аби довести батькам, що вона доросла. Вікторія з Віктором запускають транспортну капсулу та вирушають на пошуки Маркіяна. Проте дівчинка не справляється з керуванням і капсула падає на звалище зламаних роботів. Віктор допомагає полагодити робота-збирача брухту. Санітари відслідковують це та вирушають на пошуки Віктора. Вони доручають роботові-поводиреві знайти втікача. Здогадавшись, що Віктор у дівчинки, поводир втирається в довіру, обіцяючи відвести її до Маркіяна. Зламані роботи вирушають за Вікторією, сподіваючись, що вона їх полагодить.

Поводир відволікає Вікторію, привівши в «цирк», де Віктор ремонтує його «директора» і виявляється, що той насправді астроном. Від астронома дівчинка дізнається, що з роботами-механіками щось негаразд. Коли Вікторія запитує в нього про поводиря, то поводир псує астронома.

Дорогою далі поводир підмовляє Вікторію зупинитися полагодити роботів. Оскільки дівчинка перекладає всю роботу на Віктора, механіка помічають. Поводир з трьома своїми колегами просить відчинити браму центру керування Залізною Зіркою. Брама виявляється несправна, тож Віктор вилазить на допомогу і тоді поводирі його схоплюють. Поводир при натовпі роботів звинувачує Віктора, що це він їх поламав, а Вікторія — його спільниця, котра насправді нічого не вміє. Дівчинка каже, що не знає Віктора. Поводир впускає Вікторію до центру керування, в якому не виявляється Маркіяна. Замість нього там сидить схожий зовні Роботило, який садить дівчинку в клітку.

Санітари хочуть вставити Віктору нове зубчате коліщатко, щоб він знову став покірним механізмом. Тоді за Віктора заступають поремонтовані ним роботи-музиканти. Роботило задумує використати Вікторію як приманку для Маркіяна. Вікторія вибачається перед Віктором і кричить роботам, що це Роботило їх поламав. Віктор вибачає її та поспішає на допомогу.

Справжній Маркіян рятує Віктора від санітарів і визволяє Вікторію. Дід пояснює, що мета Роботила — ламати все довкола, а перемогти його неможливо, бо його кінцівки — це самостійні роботи-поводирі, що ремонтують хазяїна. Не справившись сам, Маркіян покликав на Зоряну батьків Вікторії для допомоги. Також він зазначає, що назвав Залізну Зірку на честь бабусі Вікторії. Роботило наздоганяє Маркіяна, проте дід відмовляється з ним битися. Він відволікає Роботила лестощами, з яких Вікторія дізнається, що метою Роботила був пошук недоліків конструкції Залізної Зірки. Дід закидає йому в пащу Віктора, котрий жбурляє в механізм контрольне зубчате коліщатко і воно заклинює лиходія.

Батьки забирають Вікторію з Маркіяном. Дорогою додому дід розповідає, що колись наділив Роботила свободою, скасувавши для нього єдиного закони робототехніки. Вікторія обіцяє навчитися всього, чого не знає, щоб в майбутньому повернутися та доглядати за Залізною Зіркою. Віктор визнає дівчинку справжньою подругою, але вирішує залишитися, щоб запустити Залізну Зірку. Відлітаючи, люди спостерігають як Зоряна починає сяяти.

Під час титрів Віктор звільняє роботів від Маркіянових контрольних зубчатих коліщаток. Роботи ремонтують Залізну Зірку та одні одних.

У ролях
Голоси героям подарували:

 Віка — Марія Аглоткова
 Дід Маркіян — Василь Мазур
 Мама — Римма Зюбіна
 Тато — Віктор Жданов
 Обсерватор (астроном) — Антон Слєпаков
 Музиканти — Анатолій Хостікоєв, Мар'яна Головко, Богдан Бенюк
 Роботи-святляки — Соломія Мельник, Ніна Гаранецька, Ганна Нікітіна, Наталія Галаневич, Руслана Хазіпова, Тетяна Гаврилюк, Zo
 Санітари — Сергій Солопай
 Роботило — Марко Галаневич
 Поводирі — «Доктор звук»

Пісні виконали «Dakh Daughters», Мар'яна Головко, Антон Слєпаков («Вагоновожатые»), Марко Галаневич. Авторкою текстів пісень є Марися Нікітюк, композитором — Антон Байбаков.

Виробництво

Виробництво фільму тривало понад три роки з 2015 по 2019 роки; над стрічкою працювало майже 200 професіоналів. Анатолій Лавренішин зазначав, що хотів зробити посил про щасливе майбутнє: «люди можуть досягнути чогось набагато світлішого і кращого ніж те, що маємо сьогодні. Ця історія розповідає про дитину з майбутнього, яка отримала життєвий досвід». Задум фільму з'явився з випадково підслуханої фрази у кафе, що всі довкола — роботи. Проте від задуму мультфільму до реалізації минуло 15 років. У Лавренішина було багато ідей, з-поміж них і про роботів, але щодо «Віктора_Робота», за словами режисера «тут більше ідея розкрити перевтілення дівчинки, показати отримання такого життєвого досвіду».

Наприкінці 2019 року творці повідомили що виробництво стрічки завершено. 4 квітня 2021 року автори проєкту представили трейлер, в якому розкрили більше деталей сюжету. Зокрема, відомо, що головна героїня Віка зустріне свого нового друга випадково та допоможе йому втекти від роботів-переслідувачів.

Кошторис
Проєкт стрічки став одним із переможців Восьмого конкурсного відбору Держкіно та отримав державну фінансову підтримку розміром 31,1 млн ₴, що й становить загальну вартість виробництва фільму. 29 липня 2016 року Державне агентство України з питань кіно уклало державний контракт зі студією «Червоний собака» про надання 100 % державної фінансової підтримки розміром 31,1 млн ₴.

Реліз

Кінофестивальний реліз
Міжнародна прем'єра стрічки відбулася 26 вересня 2020 року у ході Національного конкурсу 11-го ОМКФ.

Кінопрокатний реліз
Arthouse Traffic вперше представили тізер стрічки 17 червня 2020 року.

Кінопрокатна прем'єра фільму в Україні неодноразово переносилася. Початково планувалася прем'єра у 2019 році, потім у 2020 році, а згодом прем'єру перенесли на 24 червня 2021 року; дистриб'ютор — Arthouse traffic.

Реліз для домашнього відео
Реліз для домашнього відео в Україні відбувся 23 серпня 2021 року на vod-платформі sweet.tv.

Нагороди

 «Найкращий анімаційний фільм» «Кінокола» (2020);
 приз Глядацьких Симпатій на Одеському Міжнародному Кінофестивалі (2020);
найкращий повнометражний фільм для дітей на 13-му Міжнародному фестивалі анімаційного кіно «Tofuzi» у Батумі (2021).

Сприйняття
За рецензією ITC.ua, «"Віктор_Робот" з'являється по-своєму вчасно, презентуючи глядачеві космічну фантастику, на яку зазвичай не чекаєш від українських кінематографістів». Анімація характеризувалася як головна перевага фільму: «Спочатку візуал "Віктора_Робота" трохи нагадує комп'ютерну гру Machinarium, а головний персонаж своєю поведінкою викликає асоціації з мультфільмом "ВОЛЛ·І" (WALL·E). Та це все перше враження, згодом стає зрозуміло, що творчій команді українського мультфільму вдалося створити свій фантастичний вимір, в якому є багато цікавих деталей», а завдяки музиці фільм «отримує дивакувато-чаруючу атмосферу (такий саундтрек міг би підійти для повнометражного космічного фільму, в якому все одночасно тривожно та прекрасно)». Разом з тим зауважувалося, що «На превеликий жаль, розвиток сюжету доволі швидко зупиняється, історія стає одноманітною […] сценарій мультфільму дещо простуватий, особливо це помітно в кульмінації, яка ніби товчеться на одному місці. Так, тут є справжній антагоніст, є пошук зниклого персонажа, а також є переосмислення цінностей після пройдених випробувань. Однак все це подано занадто безхитрісно та прямо, то ж і емоції після перегляду доволі стримані».

У 112.ua відгукнулися, що «На відміну від ігрового кіно, анімація в Україні — не найсильніша частина індустрії. Тому вихід фантастичної повнометражки Анатолія Лавренішина "Віктор_Робот" насправді подія куди більш значуща, ніж здається на перший погляд». Відзначалося, що режисер пішов не шляхом переробки стандартних диснеївських сюжетів про принцесу або про магічних істот, а створив власну оригінальну історію. Хоча в ній є впізнавані паралелі з відомими творами, наприклад, «Коли глядача знайомлять з Віктором […] найбільше він схожий на Сема Лаурі з антиутопії Террі Гілліама "Бразилія". Та ж понура сутулість, той же згаслий погляд, та же відсутність амбіцій, таке ж не значуще ім'я і навіть такий само капелюх». Однак, «Він здається беззахисним, а виявляється наймогутнішим. Йому протистоїть величезний антагоніст, який може ставати просто гігантським, тому їхнє протистояння метафорично перетворюється на поєдинок Давида і Голіафа». Вердикт виглядав так: «І нехай "Віктор_Робот" — це ще не піксарівський шедевр, але вже відмінний мультфільм для сімейного перегляду. Красивий, атмосферний, зрозумілий і з надзвичайно стильною музикою. Справжня удача для вітчизняної анімації, що відроджується».

Згідно з «Читомо», «У мультфільму дуже гарні естетичні орієнтири. Багато-хто відзначає, що світ роботів нагадує комп'ютерну гру Machinarium. Вони справді дуже подібні. Окрім того, сінефіли точно впізнають у місті роботів риси "Метрополісу" Фріца Ланґа 1927 року. Також простежуються подібності з містом-руїною з манґи Юкіто Кішіри "Бойовий янгол Аліта" ("Сни зброї"). Механічний соціум навіває спогади про мультфільм "Роботи" 2005 року, а сценарний закрут, що запускає історію, дуже схожий на початок "Короткого замикання" […] Відверто кажучи, якби мультфільм був вдвічі коротшим, він би сприймався значно краще. Темп основної частини просідає. "Віктору_Роботу" бракує драйву. […] Натомість творцям добре вдалися характери персонажів: вони не статичні, а проходять певну еволюцію. Мила, але спершу егоїстична та марнославна дівчинка Віка (вона навіть робота на свою честь назвала!) протягом історії переосмислює свою поведінку і ставлення до стосунків з іншими».

Супутня продукція

 «Віктор_Робот. Щоденник збирача планет» (2021) — книга Анастасії Лавренішиної, приквел фільму. В ній Віктор прилітає на Землю до Віки, щоб дізнатися, як була створена Залізна Зірка й для кого вона має світити. Віка не може відповісти на всі запитання Віктора, проте вона має дідовий «Щоденник збирача планет», в якому читачам пояснюється астрофізичні теорії та їхнє практичне застосування.

Джерела та примітки

Посилання

Фільми українською мовою
Фільми України 2020
Анімаційні повнометражні фільми України
Науково-фантастичні мультфільми України
Мультфільми за алфавітом
Фантастичні фільми 2020
Мальовані мультфільми

redpajama_set_name: RedPajamaWikipedia


the one who is hit remembers forever."
its true im angolan and i am a living experience of that proverb meaning that u always forget the kids that you beat,but the kid that been beatin up by you will grow and never forget and he will one day come and seek revenve if he feels like take you down.
If the stone contains self evident truth that stands on its own, then it is good that it was thrown and it is good that he who is hit remembers forever....In other matters it's true one should be careful throwing stones.
It would be helpful, I think, if this quote was hung in every U.S. Senate office and those of the House.
Also, one who lives in a glass house should never throw stones. The administration in Washington is as such.
A victim of a crime could not only be physically damaged but emotionally. Their bodies might be scared but so are their memories. It will live with them in one way or another. While the predator feels no regards except for their fulfillment.
I have just used this quotation to end my thesis on: restorative justice. It concisely describes the long-term effects of crime on victims and how offenders are reluctant to put a face to the victim.
It's great to have Angolan proverbs proven the ancient knowledge to new generation. I'm a lost Angolan and want to go back my roots for a long time. I never forgot it, reading this proverbs makes me feel home already.


text:
Healing the Divide: Poems of Kindness and Connection (Paperback)
By James Crews (Editor), Ted Kooser (Preface by)
If you give Healing the Divide a chance -- if you hold it with purpose in your hands -- then it will hold you back. The poems in this varied collection hold space for reflection and meaning-making. Read in the morning as part of your meditation practice.
— From Healing the Divide - James Crews
This anthology features poems by Mark Doty, Ross Gay, Donald Hall, Marie Howe, Naomi Shihab Nye and many others. These poets, from all walks of life, and from all over America, prove to us the possibility of creating in our lives what Dr. Martin Luther King called the "beloved community," a place where we see each other as the neighbors we already are. Healing the Divide urges us, at this fraught political time, to move past the negativity that often fills the airwaves, and to embrace the ordinary moments of kindness and connection that fill our days.
James Crews' work has appeared in Ploughshares, Raleigh Review, Crab Orchard Review and The New Republic, among other journals, and he is a regular contributor to The (London) Times Literary Supplement. His first collection of poetry, The Book of What Stays, won the 2010 Prairie Schooner Book Prize and received a Foreword Magazine Book of the Year Award. Other awards include residencies from the Sitka Center for the Arts and Caldera Arts as well as two Dorothy Sargent Rosenberg Prizes. He holds an MFA in creative writing / poetry from the University of Wisconsin-Madison and a PhD in writing and literature from the University of Nebraska-Lincoln, where he worked for Ted Kooser's American Life in Poetry newspaper column and grew to love the Great Plains. He now lives on an organic farm in Shaftsbury, Vermont, just a few miles from the Robert Frost Stone House.
Ted Kooser, 13th United States Poet Laureate (2004-2006), is a retired life insurance executive who lives on an acreage near the village of Garland, Nebraska, with his wife, Kathleen Rutledge. His collection Delights & Shadows was awarded the Pulitzer Prize in Poetry in 2005. His poems have appeared in The Atlantic Monthly, Hudson Review, Antioch Review, Kenyon Review and dozens of other literary journals. His memoir, Local Wonders: Seasons in the Bohemian Alps, a Barnes & Noble Discover finalist in nonfiction, also won the 2002 Friends of American Writers Award and ForeWord Magazine's Gold Medal recognition for autobiographical writing. His newest collection, Kindest Regards: New and Selected Poems, was published by Copper Canyon Press in 2018
Publisher: Green Writers Press
Poetry / Subjects & Themes / Inspirational & Religious
Poetry / Subjects & Themes / Death, Grief, Loss

redpajama_set_name: RedPajamaCommonCrawl


The stadium opened on October 14, 1924. It was dedicated to 3527 students, graduates, and workers who had served in World War I. The stadium sat on approximately 11 acres.
During that span the team won six national championships including three consecutive (1934-1936). The championship years were 1934, 1935, 1936, 1940, 1941 and 1960. The official capacity of the stadium during the 1970s was listed as 56,652. The stadium seated approximately 66,000 people with additional temporary bleachers, although many of the seats were far away from the field. The stadium-record attendance was 66,284 against Purdue on November 18, 1966.
Memorial stadium also served as the track and field venue for the University of Minnesota teams, and due to a conflict with a Minnesota Twins playoff game at Metropolitan Stadium, the NFL's Minnesota Vikings played a 1969 regular season game against the Green Bay Packers at Memorial Stadium.
Gophers coach Glen Mason, who normally dodges stadium-related questions, shared his desire for an on-campus, open-air football stadium and stressed how such a stadium would greatly enhance his program.
"There are a lot of things that go into having the best possible program in college football," Mason said Wednesday during his weekly press conference. "It's not just winning and losing. It's everything that goes with the whole game-day experience. One of the great things about the Big Ten conference is the game-day pageantry. It's not just a game. It's an event."
That same spectacle usually is absent at the Metrodome, where the Gophers have played since moving from Memorial Stadium in 1982.
Even as Mason rebuilt the Gophers into a bowl contender after nearly a decade of losing, the nonconference home paid attendance figures have slipped in each of the past three years, from 46,195 in 1997 to 35,800 this year. Actual attendance for this year's three-game sweep of Ohio University, Louisiana-Monroe and Illinois State was more than 10,000 less per game than the paid attendance.
There is no plan to build the Gophers a new stadium. And that, Mason said, makes it harder to compete in the Big Ten.
Mason used Ohio State and Penn State as examples of Big Ten universities that are committing more than $100 million each to upgrade their football stadiums. Northwestern and Iowa are two other Big Ten schools that recently have invested millions in their football programs, Gophers athletic director Mark Dienhart said.
"When you look at what is happening nationally with the amount of investments that these great academic institutions are making in athletics and football, it's mind-boggling," Mason said. "I think there is an importance there. There's a demand for that, not only to stay competitive in recruiting, but to keep the alumni and supporters coming back to your campus. I think we're lost in that area."
University president Mark Yudof has said repeatedly that a new stadium for the Gophers, which probably would cost about $400 million, won't be on his capital agenda anytime soon. The university already is undergoing a three-year, $850 million construction project.
"[Yudof has] the most complicated job in the state as it is, and that already complicated job has been further complicated by the athletic department the past six months," said Pat Forciea, marketing consultant to the men's athletics department. "About the only way it could be more complicated is if by some way we were to step into the stadium debate."
University officials agree that is not about to happen.
"It would be wonderful to have a stadium at a certain point in time, but I expect that's not an issue on the short-term horizon," Forciea said. "The university has far more pressing needs right now."
The university, however, is concerned about the future of the Metrodome. The Vikings and Twins both insist they cannot stay in the dome and be competitive.
"If the stadium debate really starts to heat up with the Vikings, we would like to be at the table," said McKinley Boston, the vice president for student development and athletics. "We have no other place to play our football games."
Mason knew he was going to create a stir when he agreed to answer a question about the Metrodome.
"I normally try to dodge questions about the dome, but you guys [the media] caught me in a good mood, and I've had too much coffee," Mason joked.
Mason also shared a funny story from a recent speaking engagement he had in Edina.
"I fielded a question like this about the dome," Mason said. "And I said, 'Well, heck, I don't know. We play in the dome, and it's great because that's where we play.' But then I said, 'Besides being the head coach at Minnesota, I'm also a taxpayer. So, speaking from a taxpayer's standpoint, if we're going to take tax dollars and build a new stadium, let's build one for the Gophers because we're not going anyplace. We're not going to threaten to move to Mankato if you don't give us free hot dogs.
"And you know what?" Mason added, "I got a standing ovation."


text:
Written by August Wilson
Directed by Marion Isaac McClinton
November 30, 2000 – January 6, 2001 in Goodman's Albert Theatre
The new Goodman Theatre proudly opened its inaugural season with King Hedley II, by two-time Pulitzer Prize-winner August Wilson. The eighth play in Wilson's chronicle of the twentieth-century African American experience, King Hedley II paints a vivid, almost operatic portrait of a neighborhood struggling to come to terms with the hearsh realities of life in the mid-1980s. Variety says, "August Wilson's unflinching new play may be the most passionate work that this astonishing American author has penned to date."


text:
Save diversity charity Creative Access from being closed!
William Njobvu started this petition to Prime Minister of the United Kingdom and Leader of the Conservative Party Theresa May MP
Diversity charity Creative Access is facing closure after the government withdrew more than £2m of funding for its paid BAME internship programmes. This is terrible news as hundreds, if not thousands, of people from diverse backgrounds have been placed in internships in companies they may have never worked for if it wasn't for Creative Access. There's a worrying lack of diversity in a majority of newsrooms and media organisations in Britain and Creative Access is the only organisation who have worked incredibly hard to tackle this. Please sign this petition to show Theresa May how important it is to have charities like Creative Access around. This petition isn't just for people of colour, it's for people of all backgrounds to support a positive movement, that is now being destroyed by the government.
Today: William is counting on you
William Njobvu needs your help with "Save diversity charity Creative Access from being closed!". Join William and 3,230 supporters today.


text:
Local results
Local Racing
Local AFL
Music and Gigs
Tamworth Country Music Festival
CommunityCommunity News
community, community-news,
EXPECT to see Hannah Burton's name up in lights alongside opera's Pavarotti, Callas and Caruso. The young singer has landed an Opera Australia Regional Vocal Scholarship that will see her taught by world-renowned artistic, music, drama and language coaches. Plus, she'll spend time backstage at the Sydney Opera House before she performs in front of artistic director Lyndon Terracini. It all started with a Barbie movie, Hannah said. "There's a scene where this fluffball sidekick character eats a fruit and starts singing the Aria of the Night from The Magic Flute," she said. "I would sing along with it. "My mum always wanted to be an opera singer so she brought me up on it, my dad would play Meat Loaf and ACDC and my mum would play us Bach at bedtime." The Oxley High School Year 12 student is one of four singers chosen to take part in the program after a vigorous selection program. Hannah sung musical theatre until the last two years when she took up opera. To win the scholarship she had to send in two videos of herself singing, and then apply the feedback from Opera Australia's Regional Children's Chorus master Mark Connors to make it through to the final round. Just like an athlete, Hannah needs at least 15 minutes to warm up before she sings. "It's like if you were running a race, you need to warm up your body so you don't have injury and can work to your full potential," she said. "I stay away from dairy or anything too heavy to eat - I try to do it all the time but I love chocolate." There's a number of different voice types and Hannah was lucky enough to have an operatic voice. Read also: There was no point singing rock music if she was going to sound like a classical singer anyway, so two years ago she gave in. "I'm excited to understand what goes into creating an opera or being an opera singer," she said. "I know there's a lot of hard work and practice, but how they do it, and you're learning from the best so I'm ready to get my notebook and write down everything I see." Want more local news? Subscribe to the Leader to read it here first
https://nnimgt-a.akamaihd.net/transform/v1/crop/frm/hAWJC77isbRCSsmqzS5A6F/78d240da-a90a-469a-9108-5035d52b24d8.jpg/r10_0_5189_2926_w1200_h678_fmax.jpg
November 10 2019 - 5:30AM
Opera Australia: Tamworth's Hannah Burton wins Regional Voice Scholarship
Madeline Link
commentComments
TALENTED: Hannah Burton has won an Opera Australia scholarship. Photo: Peter Hardin 051119PHB005
EXPECT to see Hannah Burton's name up in lights alongside opera's Pavarotti, Callas and Caruso.
The young singer has landed an Opera Australia Regional Vocal Scholarship that will see her taught by world-renowned artistic, music, drama and language coaches.
Plus, she'll spend time backstage at the Sydney Opera House before she performs in front of artistic director Lyndon Terracini.
It all started with a Barbie movie, Hannah said.
"There's a scene where this fluffball sidekick character eats a fruit and starts singing the Aria of the Night from The Magic Flute," she said.
"I would sing along with it.
"My mum always wanted to be an opera singer so she brought me up on it, my dad would play Meat Loaf and ACDC and my mum would play us Bach at bedtime."
The Oxley High School Year 12 student is one of four singers chosen to take part in the program after a vigorous selection program.
Hannah sung musical theatre until the last two years when she took up opera.
To win the scholarship she had to send in two videos of herself singing, and then apply the feedback from Opera Australia's Regional Children's Chorus master Mark Connors to make it through to the final round.
Just like an athlete, Hannah needs at least 15 minutes to warm up before she sings.
"It's like if you were running a race, you need to warm up your body so you don't have injury and can work to your full potential," she said.
"I stay away from dairy or anything too heavy to eat - I try to do it all the time but I love chocolate."
There's a number of different voice types and Hannah was lucky enough to have an operatic voice.
Poor passenger numbers to blame for scrapped Sydney flights
Government to offer cheap loans, road funds to ease drought pain
Fires bans in place as crews brace for severe, gusty conditions
There was no point singing rock music if she was going to sound like a classical singer anyway, so two years ago she gave in.
"I'm excited to understand what goes into creating an opera or being an opera singer," she said.
"I know there's a lot of hard work and practice, but how they do it, and you're learning from the best so I'm ready to get my notebook and write down everything I see."
Want more local news? Subscribe to the Leader to read it here first
Discuss "From Barbie to Bach: young opera singer to hit Sydney spotlight"
Please note: All comments made or shown here are bound by the Online Discussion Terms & Conditions.
Two in court for drink-driving charges after bad start to 2020
Fanny Lumsden still without power after horror mega-fire engulfs town
Troy Cassar-Daley couch-surfed his way up to country's biggest stages
Court date set to hear Tamworth licensee's hotel indecency charge
Six local water myths busted
More questions raised with Queensland part of gas pipeline on hold
Sign up to receive our Breaking News Alerts and Editor's Daily Headlines featuring the best local news and stories.
The Northern Daily Leader


The most disturbing book published in recent memory is Hitler's Willing Executioners: Ordinary Germans and the Holocaust, by Daniel Jonah Goldenhagen. With overwhelming evidence and logic, Goldenhagen debunks the myth that the Holocaust was the creation of an evil man who terrorized the German people into "following orders." Rather, he postulates it was the logical endpoint of centuries of German anti-Semitism and intolerance.
Goldenhagen reports that Hitler did not need to coerce the Germans into participating in the unspeakable barbarities in what became humanity's darkest hour. There were plenty of volunteers. His thesis has unleashed a raging debate in academe: do humans engage in such barbarism because of conditioning, or is it part of our nature. The answer, sadly, is both.
Several decades ago, social scientist Dr. Stanley Milgram performed an interesting experiment. He placed an actor in a booth and hooked him up to a wire. Participants in the experiment were asked to teach the actor a task and administer a shock of increasing intensity when the actor has performed the task inadequately. Of course the actor was receiving no shock, but the participants didn't know this. Milgram found that a large percentage of the participants were capable of giving lethal shocks, even though the actors feigned intense pain during prior shocks. Milgram came to the glum conclusion that one-third of the human population was emotionally capable of working in a concentration camp.
strength to cause death. Gorillas, on the other hand, are relative pacifists. Fights among males for mating rights consist of a single blow. The weaker male immediately concedes. Bears don't even bother to fight. They map out their territory by clawing up a tree. Smaller bears making lower claw marks conclude that there is no sense in fighting a larger opponent and move somewhere else.
Why is this? Lorenz theorizes that since both bears and gorillas are physically equipped to kill each other, fights rarely escalate to a lethal level. Such behavior is not good for the survival of the species. So why do humans engage in such sadistic and brutal behavior? Lorenz believes human intelligence evolved too quickly, without a concomitant decrease in our violent instincts. Our primordial ancestors quickly realized that while crushing a human skull was virtually impossible with a fist, it could easily be accomplished with a rock. It takes tens of thousands of years for evolution to cause physical and behavioral changes in a species. But in the case of humanity, it took only a few thousand years to perfect the technology of killing. In fact, in the past one hundred years, we have "advanced" from primitive Gatling guns to hideous thermonuclear weapons that can destroy the planet. Yet our primitive and barbaric instincts still lurk in the hypothalamus and limbic system of our brains.
Any neophyte politician soon realizes that appealing to people's emotions gets you farther than appealing to their logic. As has been shown so many times in history, leaders often assume power by fallaciously blaming a particular group for economic and social difficulties. That is why it is so important that our democracies have independent media outlets that can fearlessly expose politicians who engage in demagoguery and prevent monsters like Hitler from emerging. Diffusing power is the best way to insure that our barbaric impulses don't get the better of us.


text:
Revision as of 16:06, 10 March 2018 by Waltdatedworld (Talk | contribs)
The Entrance to Adventureland
Exotic Lands
Opening date
Number of Attractions
Adventureland is a land inside the Magic Kingdom.
2 Attractions
3 Past Attractions
Adventureland opened on October 1, 1971 with three attractions- the Tropical Serenade, the Jungle Cruise and the Swiss Family Treehouse, as well as the Safari Arcade (which wound up closing by 1972) [1]. Originally based on the 1950's view of exotic adventure [2], Adventureland's lush vegetation, tribal music and Pacific architecture gave the land a "jungle like" feel.
The focal point of Adventureland was The Sunshine Pavilion, which was sponsored by the Florida Citrus Growers from 1971 until 1986. The pavilion itself was made up of a Balinese pagoda (which marked the entrance of the Tropical Serenade) and the Sunshine Tree Terrace, home of both the Citrus Swirl and the Florida Orange Grower's mascot the Orange Bird. Just outside of the Sunshine Tree Terrace, from 1971 until 2000 guests could find the Sunshine Tree that gave the snack bar its namesake [3].
The original theme of the land was quickly expanded with the addition of "Caribbean Plaza". The new area opened to guests in 1973 and was built to house the popular dark ride Pirates of the Caribbean. Although Disney had initially not planned on building Pirates of the Caribbean, guest demand necessitated the quick construction of a copy of the popular Disneyland attraction [4]. Other additions shortly followed, when the House of Treasure shop, the Plaza del sol Caribe and the Caribbean Arcade [5] [6] opened. . Pirates of the Caribbean eventually opened to guests December 15, 1973 [7]. Besides adding an immensely popular attraction to the land, Caribbean Plaza also gave Adventureland island aesthetics that it did not previously have. Also of note, is the fact that prior to the construction of Caribbean plaza Adventureland and Frontierland did not connect. By extending Adventureland back towards Frontierland, Caribbean plaza allowed guests to travel between the two lands [8].
The next major change to Adventureland did not come until September 1, 1997 when the Tropical Serenade closed for an extensive refurbishment [9]. The attraction later reopened on April 5, 1998 as The Enchanted Tiki Room (Under New Management). This updated show was similar to the Tropical Serenade, however the premise was changed so that Iago (from Aladdin) and Zazu (from The Lion King) had taken over as owners of the classic musical revue [10].
The addition of the Enchanted Tiki Room (Under New management) was followed by another major Adventureland expansion in 2001. Taking inspiration from the Disney movie Aladdin, an Arabian Bazaar was added to the land [11]. This new section featured the ride The Magic Carpets of Aladdin and two new shops, Agrabah Bazaar and Zanzibar Trading Company. The Magic Carpets of Aladdin is a hub and spoke attraction similar to the popular Dumbo the Flying Elephant attraction in Fantasyland. Located in front of the Sunshine Pavilion, the Arabian Village expansion also once again changed the theme of Adventureland, adding desert oasis to the land's motif [12].
Another change came to Adventureland when the Enchanted Tiki Room (Under New Management) closed on January 12, 2011 after experience a small fire. Instead of repairing the attraction, Imagineers decided the time was right to bring back the original Tiki Room show (albeit in a slightly edited form) for the Magic Kingdom's 40th anniversary [13]. The attraction reopened as Walt Disney's Enchanted Tiki Room on August 15, 2011 [14].
After the success of the Pirates of the Caribbean movie series, pirates have been featured prominently in Adventureland. For example, an experience called Captain Jack Sparrow's Pirate Tutorial allows guests to be trained as pirates by Captain Jack himself. On May 31, 2013, A Pirate's Adventure- Treasures of the Seven Seas opened. This interactive game has guests searching all over Adventureland for hidden treasure [15].
On March 12, 2015 the Sunshine Tree Terrace and Aloha Isle switched locations, although they kept their respective menus. [16]
The Magic Carpets of Aladdin and Walt Disney's Enchanted Tiki Room in Adventureland
Jungle Cruise- The Jungle Cruise takes guests aboard tramp steamers as they travel along some of the world's most famous rivers. The ride is narrated by a humorous cast member.
Walt Disney's Enchanted Tiki Room- In this musical revue guests are entertained inside the Enchanted Tiki Room, where birds, flowers and tikis put on an unforgettable show.
The Magic Carpets of Aladdin- This ride, based on the Disney movie Aladdin, allows guest to board a magic carpet and fly high above Advetureland.
Pirates of the Caribbean- This classic Disney attraction allows guests to sail along with pirates as they invade the Spanish Port Royale. This ride inspired the Pirates of the Caribbean film series which in turn inspired the Imagineers to insert Captain Jack Sparrow, Blackbeard, Davy Jones and Captain Barbossa into the ride.
Swiss Family Treehouse- Based on the Disney movie Swiss Family Robinson, this walkthrough attraction lets guests see what the shipwrecked Robinson family lived like.
A Pirate's Adventure: Treasures of the Seven Seas - In this interactive game, guests use a pirate map and magic talisman to help them complete five different pirate raids throughout Adventureland. Based on the Pirates of the Caribbean film series, this game features characters including Jack Sparrow and Hector Barbossa.
Past Attractions
The Enchanted Tiki Room (Under New Management)- This musical revue was a re-themed version of the Tropical Serenade. The show featured popular Disney characters Iago (from Disney's Aladdin) and Zazu from (from Disney's The Lion King). The Enchanted Tiki Room (Under New Management) opened on September 1, 1997 and closed January 2011 [17].
Shrunken Ned's Junior Jungle Boats- For five dollars guests could steer miniature boats around a small pond. Shrunken Ned's Junior Jungle Boats opened in 1997 and closed in 2012 [18] [19]
Tropical Serenade- The first "Tiki Room" show in the Magic Kingdom. Tropical Serenade ran from opening day 1971 until September 1, 1997. It was then re-themed before reopening as the Enchanted Tiki Room (Under New Management). Walt Disney's Enchanted Tiki Room is a slightly edited version of the original Tropical Serenade.
The Swiss Family Treehouse looms large over Adventureland
Tortuga Tavern- Located across the way from Pirates of the Caribbean, Tortuga Tavern offers counter service dining and specializes in BBQ cuisine. The restaurant was formally known as El Pirata Y el Perico.
Sunshine Tree Terrace- Located directly across from the Swiss Family Treehouse, the Sunshine Tree Terrace serves citrus specialties and slushies. The popular Citrus Swirl can be purchased here.
Aloha Isle- Located outside of Walt Disney's Enchanted Tiki Room, Aloha Isle sells ice cream and other snacks. Aloha Isle is one of the only places in the Magic Kingdom guests get Dole Whip soft serve ice cream.
Jungle Skipper Canteen- Located near the entrance to Adventureland, the Jungle Skipper Canteen is a Jungle Cruise themed table service restaurant.
Bwana Bob's- Located right by the entrance to Adventureland towards Main Street USA, Bwana Bob's sells Adventureland plush and toys.
Zanzibar Trading Company- Located in Arabian Village, this shop sells Aladdin themed clothing and toys.
Agrabah Bazaar- Located in Arabian Village, Agrabah Bazaar sells Arabian themed toys, clothes and gifts.
Pirates Bazaar- Located next to Pirates of the Caribbean this store sells pirates related clothing, toys and gifts.
The Crow's Nest- Located just past Pirates of the Caribbean, towards central Adventureland, the Crow's Nest sells film, cameras, batteries and photo albums.
Island Supply- Located in central Adventureland, Island Supply sold island clothing and apparel until Sunglass Hut assumed sponshorship of the shop in 2015. At this time, the store's merchandise was changed accordingly.
Captain Jack Sparrow's Pirate Tutorial- This interactive show features Captain Jack Sparrow, who trains young would-be swashbucklers the way of the pirate. For showtimes Click Here.
The opening day Adventureland attractions were the Swiss Family Treehouse, the Tropical Serenade and Jungle Cruise [20].
Imagineer Morgan "Bill" Evans was primarily in charge of the landscape design of Adventureland [21]
Bwana Bob's was originally called the Adventureland Kiosk however it was renamed in 1985 as a tribute to comedian Bob Hope, who had appeared in the Disney film "Call me Bwana" and also dedicated Disney's Contemporary Resort [22].
Dorothea Redmond was responsible for designing both Adventureland's facades and the Adventureland Veranda [23].
The terracotta tiles embedded in the pavement near the Magic Carpet's of Aladdin came from a structure that had to be removed to faciliate the construction of the attraction [24].
Similarly, the jewels found embedded in the pavement can be purchased at Agrabah Bazaar [24].
↑ http://www.omniluxe.net/wyw/safari.htm
↑ http://www.examiner.com/article/memories-of-the-magic-kingdom-adventureland
↑ http://www.omniluxe.net/wyw/stt.htm
↑ http://jimhillmedia.com/editor_in_chief1/b/jim_hill/archive/2001/01/01/274.aspx
↑ http://www.omniluxe.net/wyw/ca.htm
↑ http://passport2dreams.blogspot.com/2006/08/caribbean-plaza-romance-of-tropics.html
↑ http://www.wdwmagic.com/attractions/pirates-of-the-caribbean.htm
↑ https://www.mouseplanet.com/9576/Visiting_the_Magic_Kingdom_in_1971
↑ https://www.waltdatedworld.com/id47.htm
↑ http://www.yesterland.com/newmanagement.html
↑ http://disneyology.blogspot.com/2010/03/dissecting-disneys-lands-adventureland.html
↑ http://www.omniluxe.net/wyw/adv.htm
↑ http://allears.net/tp/mk/tiki.htm
↑ http://www.insidethemagic.net/2011/08/walt-disneys-enchanted-tiki-room-reopens-at-walt-disney-world-uniting-new-technology-with-a-classic-show/
↑ http://touringplans.com/magic-kingdom/attractions/a-pirates-adventure-treasures-of-seven-seas
↑ http://www.disneyfoodblog.com/2015/03/12/news-aloha-isle-and-sunshine-tree-terrace-switch-places-in-disney-worlds-magic-kingdom/
↑ http://www.wdwmagic.com/attractions/shrunken-neds-junior-jungle-boats/news/11oct2012-photos---shrunken-ned's-junior-jungle-boats-radio-controlled-attraction-removed.htm
↑ http://www.florida-project.com/walt-disney-world-photos/magic-kingdom/adventureland/shrunken-neds-junior-jungle-boats
↑ http://thisdayindisneyhistory.homestead.com/disneyworldgrandopening.html
↑ http://disneyparks.disney.go.com/blog/2013/04/its-a-jungle-out-there-the-history-of-jungle-cruise-horticulture/
↑ http://www.wdwradio.com/2007/09/adventureland-trivia/
↑ http://passport2dreams.blogspot.com/2016/03/understanding-adventureland-veranda.html
↑ 24.0 24.1 Adventureland: Walt Disney World Walking Tour by Lou Mongello
Retrieved from "http://themickeywiki.com/index.php?title=Adventureland&oldid=11105"


text:
AUD AUD, GBP, USD,
DECORATIVE & INTERIORS
UNUSUAL OBJECTS
MONEY, TOKENS & BADGES
USA CAMPAIGN BUTTONS
USA POLICE BADGES
DINKY CARS
HISTORICAL POSTCARDS
VINTAGE PLAYBOY
Visit Paddington
Help me find a...
Alfred Landon 1936 Republican Presidential Campaign
Poltical badges
Landon and Knox campaign buttons features the colorful sunflower and sizes range from .5 inch to well over 6 inches in diameter. Alfred Mossman Landon, known as Alf Landon (September 9, 1887 to October 12, 1987), was an American Republican politician, who served as the 26th Governor of Kansas from 1933 to 1937. He was best known for having been the Republican Party's nominee for President of the United States, defeated in a landslide by Franklin D. Roosevelt in the 1936 presidential election.
The first photographic image on pins dates to 1860. Abraham Lincoln and his various opponents used the tintype or ferrotype photo process. The first mass production of metal political buttons date back to the 1896 William McKinley campaign for president with "celluloid" buttons with one side of a metal disk covered with paper (printed with the message) and protected by a layer of clear plastic.
Since 1916, buttons have also been produced by lithographing the image directly onto the metal disk. A celluloid-type button is fastened to a garment using a pin on the back side of the button (in recently produced buttons, the pin generally fits into a safety-pin-style catch). A lithographed button may fasten with a pinback or with a metal tab which folds over a lapel or pocket.
One of the most famous uses of campaign buttons occurred during the 1940 U.S. presidential election, when Wendell Willkie's campaign produced millions of lithographed slogan buttons in rapid response to news items about President Franklin D. Roosevelt.
Time has a great feature on Campaign buttons, click here
All collections › USA CAMPAIGN BUTTONS › Alfred Landon 1936 Republican Presidential Campaign
Elihu Root 1909 New York US Senate Campaign
Elihu Root (February 15, 1845 – February 7, 1937) was an American lawyer and statesman who served as the Secretary...
William Taft 1908 Republican Presidential Campaign
William Howard Taft (September 15, 1857 – March 8, 1930) was the 27th president of the United States (1909–1913) and...
Alton Parker 1904 Democrat Presidential Campaign
Alton Brooks Parker (May 14, 1852 – May 10, 1926) was an American judge, best known as the Democrat who...
Theodore Roosevelt 1944 Democrat Presidential Campaign
The 1944 United States presidential election was the 40th quadrennial presidential election. It was held on Tuesday, November 7, 1944....
Roosevelt 1936 Democrat Presidential Campaign
The 1936 United States presidential election was the thirty-eighth quadrennial presidential election, held on Tuesday, November 3, 1936. In the...
Alfred Smith 1928 Democrat Presidential Campaign
Alfred Emanuel Smith (December 30, 1873 – October 4, 1944) was an American politician who served four terms as Governor...
social-flickr social-tumblr
You have items to sell?
Bloodworth Bellamy purchases quality collections. Contact Nick Cadey on 0447038107 as a first step.
nickcadey@bloodworthbellamy.com
346 Oxford Street
Paddington, NSW
© 2020 Bloodworth Bellamy
AUD,
GBP,
USD,


This page shows ALL legal disclosures for our WVUOV-AALNC.COM website.
You can view all disclosures right here on one page below, or if you prefer, use the links provided to view each page separately for easier reading.
WE HAVE A NO TOLERANCE SPAM POLICY. We do not email unless someone has filled out an "opt in" form or "webform" expressing an interest in our information or products and/or services, or otherwise directly and proactively requesting it. News of the features and benefits of Membership is spread through advertising, joint venture marketing, and word of mouth, so we are only building relationship with folks who wish to learn more about what we have to offer and willingly subscribe to our content and contact through email. You are always completely in control of whether you receive email communication from wvuov-aalnc.com, and can terminate at any time.
NOTE - Every auto-generated email contains a mandatory unsubscribe link that cannot be removed. Therefore, each communication generated by wvuov-aalnc.com carries with it the option to "unsubscribe" and never receive another email communication from wvuov-aalnc.com.
The following describes the Copyright Notice for our wvuov-aalnc.com website.
The entire contents of our wvuov-aalnc.com website are protected by intellectual property law, including international copyright and trademark laws. The owner of the copyrights and/or trademarks are our website, and/or other third party licensors or related entities.
You are granted a nonexclusive, nontransferable, revocable license to use our wvuov-aalnc.com website only for private, personal, noncommercial reasons. You may print and download portions of material from the different areas of the website solely for your own non-commercial use, provided that you agree not to change the content from its original form. Moreover, you agree not to modify or delete any copyright or proprietary notices from the materials you print or download from wvuov-aalnc.com. Also note that any notice on any portion of our website that forbids printing & downloading trumps all prior statements and controls.
As a user at wvuov-aalnc.com, you agree to use the products and services offered by our website in a manner consistent with all applicable local, state and federal laws and regulations. No material shall be stored or transmitted which infringes or violates the rights of others, which is unlawful, obscene, profane, indecent or otherwise objectionable, threatening, defamatory, or invasive of privacy or publicity rights.
Our website prohibits conduct that might constitute a criminal offense, give rise to civil liability or otherwise violate any law. Any activity that restricts or inhibits any other wvuov-aalnc.com user from using the services of our website is also prohibited. Unless allowed by a written agreement, you may not post or transmit advertising or commercial solicitation on our website.
Your privacy is important to us at wvuov-aalnc.com. To better protect your privacy we provide this notice explaining our online information practices and the choices you can make about the way your information is collected and used. You agree to agree to these policies by virtue of using our website in a way that leads to you providing us with personal information.
Other information may be collected as well by wvuov-aalnc.com, which is rather typical of most websites. For instance, the source that referred you to our website is generally known. Likewise, your duration on our website, and your destination when you leave our website can also be tracked. Other common data collected includes the type of operating system the computer you are using to access our website has. Similarly, the type of web browser is often noted. Again, this is common data collection, and helps ultimately produce a better end-user experience.
A prime example of limited access to our website is where some wvuov-aalnc.com content may be protected by a username and password. Whether a username and password is generated by our website, or created by you, these will almost always be connected with some other information related to or connected with you. This is true since much content that is protected on the internet is subscription based, often paid for. Thus, the username and password must necessarily be tied to your other account data. Usernames and passwords, by their very nature, should be kept private.
While we are staunch privacy advocates at wvuov-aalnc.com, there are times when even we may be forced to abandon these ideals. Just as major search engines face ongoing compulsion to provide data against their will, so too may the same occur with our wvuov-aalnc.com website. Illegal activity or other serious acts or allegations could create legal liability for our website. In those cases, we reserve the right to share your information, or else may simply be compelled to do so by law. On the other hand, there may be times when we would need to share your private information in order to protect our own interests. For instance, in cases of suspected or alleged copyright infringement or other intellectual property violations, it may be necessary to share personal information.
This website is owned and controlled by wvuov-aalnc.com.
In you claim for refund, please, include explanation of reasons for refund request, and detailed order information.
Upon confirmation of your request for a refund, you must also destroy all copies of any software or downloaded files you may have made or stored in any place, as well as uninstall the software or downloaded files from any computers owned or controlled by you where you have installed the software or downloaded files. All licenses you may have to use the software/download files will be immediately terminated, and any further use of the software will be an infringement of copyrights as well as other intellectual property rights. No refunds are issued for provided products or services if provided products or services meet their predefined specifications.


text:
Community, Value, and Worth
In English writers of the seventeenth century we still often find the word 'worth' used for use-value and 'value' for exchange-value. This is quite in accordance with the spirit of a language that likes to use a Teutonic word for the actual thing, and a Romance word for its reflection. Marx, Capital, Volume 1.
Here we go again. Late last week, people noticed that the same transphobic speaker who spoke at Vancouver Public Library earlier this year is scheduled to speak at Toronto Public Library as well. In the midst of pushback against the room-booking, Vancouver Public issued a statement (now gone from their website - that's some great information management, VPL) making three fundamental claims:
VPL is only renting the space; they don't endorse the speaker or the statements mmade.
VPL cares deeply about its community, especially LGBTQ2S+ community.
Intellectual freedom is one of VPL's core values and trumps all other considerations ("the fundamental role of libraries as a place for free expression and intellectual freedom must be upheld.")
Now, we can leave aside the question of endorsement: those who live by the brand die by the brand, in other words, libraries can't expect the public to associate the library with events put on in their spaces ("hosted" or not) only when it suits them. If you foster a connection between, say, the public library's image and one set of speakers you have to expect the public to make the same connection between the library and other kind of speakers. What's fascinating to me here - and extremely troubling - is that while public libraries seem to expect the public to intuitively understand when a particular speaker is not speaking on behalf of or with the support of the library, they insist on vetting presentations made by their own workers, or policing their speech for fear they might be mistaken for representing the library, thus denying them their own intellectual freedom in order to protect their image. At best this is cognitive dissonance, at worst it is hypocrisy. There is, however, a political economy aspect of this as well. The idea that a "third party rental" is merely a cash/exchange relationship - a contract - and therefore carries no social, political, or moral charge, is a precept of capitalism in general and neoliberal capitalism in particular. What the library doesn't understand is that while it is operating firmly in the mode of a value-free exchange relationship, the human community of which it is a part sees things very differently indeed.
In terms of community support, this is upheld by VPL's own set of core values, which includes "community-led planning" and "community partnerships". "Intellectual freedom" is in the same list, but there is no indication that it carries more weight or takes priority over the others. Why then, do public libraries prioritize intellectual freedom over community when conflicts between these values arise? This is the heart of the third claim, for the absolute hegemony of "intellectual freedom" over all other considerations.
Fast forward a few months, and Toronto city librarian Vickery Bowles is reading from the same script in her statement about the same speaker booking space at Toronto Public Library.
Intellectual freedom is one of the core values of public libraries, and we promote freedom of expression in our collections, programs and services. We cannot deny access to a room rental on the basis of views that the third-party holds if the request meets criteria set out in our policy. The event organizers are also contractually obligated not to violate the policy. As always, we will be prepared to take immediate action should any room rental contravene the law or our policies.
Intellectual freedom, contract, policy: these are the hallmarks of liberal-bourgeois thinking. What is significant here is that, as many people have already pointed out, Toronto Public Library's policy already allows them to refuse a hall rental on the basis of discriminatory views. This change to the policy was made after the last time this came up, when TPL rented a room to a bunch of nazis to hold a memorial service. Clearly, the library's insistence on maximalist intellectual freedom and contract trumps even its own policies.
We uphold the principles of intellectual freedom, but at the same time are deeply committed to equity and diversity. Allowing a room booking does not imply we endorse or support the views expressed. We are strong supporters of the LGBTQ2S+ community within TPL and the communities we serve.
Note the "but". Toronto Public has the same problem with conflicting values that Vancouver Public does. Note also the is/ought elision when the statement claims "we are strong supporters of the LGBTQS+ commmunity". How honest is that support when a bourgeois conception of intellectual freedom and the sanctity of contract immediately overrides it? As I've mentioned before, when library values are abandoned at the first obstacle, then they are meaningless.
What I find most worrisome about Bowles' restatement of the VPL position is not that they are so fundamentally similar: public librarians share the same professional and political education, and their libraries serve the same role as apparatus of the state, so it is unsurprising that they should share views. But in that case, why has TPL not learned from the VPL experience? VPL, after many years working to gain the support and trust of marginalized communities in Vancouver destroyed those relationships at one stroke. As a result Vancouver Pride banned VPL from participating as an organization. Toronto Public Library seems to pride itself on its support of Toronto's LGBTQ2S+ community; how shocked are they going to be when they too are banned from participating in Pride? Because if chief librarians of public libraries don't learn from each other, I'm fairly certain that Pride organizers do.
We (libraries) spend a lot of time and energy trying to communicate our value to our parent instiutions (often a university or a city). Library administrators respect this relationship because it is an exchange relationship: we will do the bidding of the neoliberal state in exchange for budgetary support. Here the sanctity of contract raises its head again. But we are prepared to abandon any concept of value to our communities at the first hurdle. The allegiances of the public library (and the academic library) are to the state, the state that holds the purse-strings. The library's community - as we have seen at VPL, TPL, in the security theatre of Winnipeg Public Library, and the pro-cop "both-sidesism" at Halifax Public - is there to be disciplined, controlled, dictated to, not listened to or learned from. This is because the relationship of the library to its community cannot be one of value, but must be one of worth. The library has value to its parent institution, but is supposed to be worth something to (and worthy of) its community. Because libraries are capitalist institutions, they can only understand, subscribe to, and participate fully in one of these relationships: the relationship of exchange, or as Marx and Engels put it, the relationship of "callous cash payment".
I think it would be useful to revive the distinction between value and worth in these discussions. Human lives - especially in this instance, the lives of transgender people - may have no value under capitalism (which is how public libraries get themselves into this mess to begin with), but we therefore have to insist on their worth. In order for public libraries to be worth anything to their communities, they have to demonstrate that their communities are worth something to them.
NOTE: Bowles' statement refers to this post by Alvin Schrader on IF at the Ryerson Centre for Free Expression. I've addressed this post previously on this site.


When a new year comes around most of us make resolutions that involve our health, fitness or diet. All of which are great things to strive for, but (let's be honest) they could use an injection of fun. We don't always have time for ourselves, so why not take up a new hobby this year! Hong Kong is home to many unique and fun things that you can do on your own, with your spouse, or even with the whole family. To give you some inspiration, we've rounded up ten of the most interesting activities to try. Let the fun begin!
Get your swing on with Hong Kong Swings! Swing is a fun and upbeat style of dance that was popular from the 1920s to the 1940s. This organisation has plenty to offer to the solo-mama or if you want to try something different with your spouse. Free social classes are held every Wednesday at Grappa's Cellar with formal four to five-week studio courses also available in Sheung Wan ($230 for a drop-in class, $680 for a full-course).
Crafts aren't just for kids! Make and Do Hong Kong is a creative platform for everything handmade. It offers a variety of workshops in which you have the chance to express and create a variety of unique items like candles, brush-stroke lettering, macramé making, figure-drawing, embroidery and more. For a full list of upcoming workshops check the Facebook page.
If you're looking for a low-key hobby that gives back to the community, there are plenty of local volunteer organisations that need people just like you. No Cantonese? No problem, there are many organisations that require English or no language skills at all. Volunteering is a satisfying activity that you and the whole family can get involved in. Check out our list of volunteer organisations to get you started.
Looking for a fun way to take care of your mental and physical health? Try Tai Chi! This martial art is a defensive style that has fluid and dance like movements. It is also a spiritual activity in which the movements are linked to the Chinese concepts of yin and yang. Since it's one of the most popular styles of martial arts in Hong Kong, there are classes you can join for a nominal fee all over the city. View and register for Tai Chi classes through The Leisure and Culture Services Department website. You can even try Tai Chi Sword classes!
Want to learn how to cook Cantonese food? Home's Cooking Studio is prepared to give you the full immersive experience. Not only does it teach you how to prepare delicious home-cooked Cantonese food, but it also starts you off by taking a trip to a local wet market so that you can buy the ingredients first — just like a local! Classes are available during the week with morning and afternoon sessions starting at $750 per person.
For something a little different, why not try pole dancing. Similar to gymnastics (except you just have one piece of apparatus), this intensive art is a phenomenal workout and a great confidence booster. Aerial Arts Academy has been training dancers of all levels since 2009 and with three locations to choose from, and an extensive and varied schedule, you're sure to find the right course to get you started.
Be your own bartender and learn to mix cocktails and drinks like a pro! For an hour and a half at the Ozu Bar in Central, you'll learn the essentials of making two different unique cocktails from a professional mixologist. This is a great hobby to get involved in with your Mama friends, because you can stick around and enjoy your drinks at the bar afterwards! $2,880 (6 people minimum) plus $480 for each additional person up to a maximum number of 20 people.
Since the emergence of technology, calligraphy has become a less common skill. This art of writing is challenging to learn, but also meditative. Kalo Make Art is one of Hong Kong's leading calligraphers and designers, where you can learn to make beautiful hand-crafted cards, letters and invitations with either a fountain pen or a brush pen. Fountain pen workshops start at $700 per person and include a calligraphy starter kit.
You've probably heard all about kombucha (fermented tea) and its list of extensive benefits, such as being a natural source of probiotics and an antioxidant. If this is a drink that you find yourself swigging back frequently, or have always wanted to try, did you know that you can make your own? That's right! Food Craft (the venue that specialises in crafting healthy food for purchase and showing you how to do it) has a step-by-step class. As well as making kombucha, it also offers a variety of bread making courses, alongside making miso, kefir, tofu and more!
Capoeria is a form of Afro-Brazilian martial arts that mixes acrobatics and dance. The roda is the circle in which fighters will play music on various African-type instruments, as well as sing, which sets the rhythm of the fight for two or more fighters within. This martial art is fast-paced, graceful, highly social and a ton of fun. It's a great way to get fit, strong and agile outside of the old gym class. Axé Capoeira is an international capoeira company, with trainers from Brazil bringing plenty of expertise. It has two locations on Hong Kong Island with classes available for both adults and kids.


text:
Interior Design Studio Aylott + Van Tromp shares its 2022 predictions for the future of hospitality
Following two years that have seen the hospitality industry severely impacted by the effects of the global pandemic, contemporary Interior Design and Branding Studio Aylott + Van Tromp has identified 4 key trends that are expected to emerge throughout 2022.
The studio's founders Nathan Aylott and James Van Tromp, who are also co-creators of the Hytte modular hotel and retreat concept, share their hospitality trend predictions for the coming twelve months.
Modular hotel design
"Design-led, sustainable cabins created specifically for the hotel and leisure industry will become highly sought-after, delivering both off-the-shelf designs and bespoke co-branded cabins for hoteliers and leisure operators alike. The Hytte modular concept allows landowners, developers, and operators a commercially flexible and personally tailored offering, whether a start-up or multi-national brand. The innovative 'hotel-in-a-box' concept is advantageous because it allows developers to control the quality, budget and consistency of the product from a single manufacturing location while reducing the construction timescale substantially (by almost 50%). Developers can begin small with a handful of units, then decide to scale up to create a small, village-like community."
Secluded stays
"On one hand, there is a natural and personal reaction to mass-market holidays, overbearing commercialism, and a growing sense of environmentalism. Then throw into the mix Covid-19 and you have the perfect storm. Whether it will be shorter localised getaways reachable by car, bike, or foot, or opting for an increasingly isolated accommodation, much of our newly acquired social distancing habits are here for the long haul. Travelers are looking for off-grid destinations with an abundance of private space to allow them to remain in their own social bubbles, while still enjoying all of the amenities they would expect from a traditional hotel complex. A Hytte resort is a hotel without indoor corridors; cabins are instead connected by interweaving outdoor decking which creates a far safer social environment in these pandemic-ridden times."
A renewed connection to nature
"Travellers will continue to seek escapism and comfort that retains a raw feeling, capturing the emotive sense of camping in the wild and being close to nature. To reinforce a sense of escapism, a minimalist Nordic aesthetic is captured in every Hytte construction, with each one blending seamlessly into its natural surroundings and offering an immediate connection to nature through the use of oversized picture windows and skylights to create carefully placed vistas."
Alternative destinations on the rise
"For years the main Cities have been the focal point of hospitality and rightly so; people would head to London, Paris or Edinburgh as a treat, visiting the sights or seeing a show. Times however have changed, and the trend is heading towards low-key, softer tourism. Alongside off-the-grid locations, cultural centres with an abundance of history, such as St.Albans where our latest hotel venture The Samuel Ryder for Tapestry Collections opens in January, are becoming fashionable because it matches peoples ideals. They want to experience something different and unique, far from the madding crowd."
Hytte modular hotel and retreat concept — Hytte
Hytte modular hotel and retreat concept — Hyatt
About Aylott + Van Tromp
The experience of Aylott + Van Tromp's founders is unique, with both Nathan and James" backgrounds originating in the commercial sector, focusing on brand activation, retail, fashion, product launches, customer engagement, and even automotive design. In 2013 the Interior Design & Branding Studio was formed to harness this diverse skill-set and create a multi-disciplinary offering for the rapidly evolving and changing world of leisure and hospitality design.
Bringing something new to what was a traditional and fairly small marketplace, they have always seen buildings and hotels in particular, as perfectly packaged brand spaces. An extension of our lives – you stay in them, you eat in them, you exercise in them, you relax in them. They need to tend to your every whim, whilst always striving to exceed expectations or provide an appropriate emotion.
Being firm believers in the need for the hospitality industry to connect with an audience and "be relevant", the Hytte brand has been a natural extension of their ideals and opened up the opportunity to create something softer focused, and a step away from the mainstream brands they predominantly work for.
Tags: Aylott, Design, Future, Hospitality, Interior, predictions, Shares, Studio, Tromp, van
Strolling The Haight Ashbury – SAN FRANCISCO | World Travel Vlog
Development team wants to build 5,000 apartments on San Diego's sports arena site — with or without an arena
Taking Something Out of an Eye – The Life of a Hotel Doctor
Forget the Winter Blues with these Five Enticing Stays with Outdoor Hot Tubs
IDeaS Revenue Solutions First RMS Provider to Achieve Level IV Global Support Certification from Hotel Tech Report
Global Hotel Alliance Encourages Customers to Experience Hotels at Home and Away With One Million Discovery Dollar Giveaway


The Bandwagon Group is a team of professionals devoted to harnessing your talents and nurturing them into realised growth. We pride ourselves in providing you with a stable platform that will allow you to grow and evolve your abilities into a valued asset.
The Bandwagon Group is a team of professionals devoted to harnessing your talents and nurturing them into realised growth. We pride ourselves in providing you with a stable platform that will allow you to develop and evolve your abilities into a valued asset.


Hargreaves Lansdown has added the Neptune US Opportunities fund, managed by Felix Wintle, to its Wealth 150 list of recommended funds.
Stuart Goodwin, an analyst at Hargreaves Lansdown, says Wintle has impressed them with his economic and sector views. Over three years to May 19, according to Financial Express, the £135m fund is comfortably number one in the IMA North American sector, returning 18.51%.
The next best fund, Schroder US Small & Mid Cap, returned 5.15%, a difference of 13.36 percentage points.
Goodwin says: "At the beginning of March he [Wintle] repositioned his portfolio into stocks he feels will perform well in a recovery, such as energy, materials and retail. He also increased his weighting in financials. Albeit a short time period, since then the S&P 500 has grown 17.7% (according to Lipper, from March 9 to May 15) and the portfolio has benefited from this exposure.
Scottish Life has received independent validation of the processes underlying the governed range of its new investment proposition, launched in January.
The recent article, Red tape register, echoes our fears that any national register could become a bureaucratic nightmare for landlords up and down the country.


Produced by Peggy Lee and Shawn Pierce. Recorded and mixed at the Factory, Vancouver, B.C., (April 2002) by Shawn Pierce for Maximum Music.
"Brad Turner's phenomenal talents as a trumpeter, pianist, drummer and composer make him one of Canada's most in-demand and highly esteemed musicians. Brad has performed and/or recorded with such artists as Joe Lovano, Kenny Wheeler, John Scofield, Michael Moore, Reneé Rosnes, Jimmy Greene, Terell Stafford, Ingrid Jensen, Mike Murley, Seamus Blake, Kenny Werner and Ernie Watts. Brad's groups have opened for McCoy Tyner, Roy Haynes, Wayne Shorter, Clark Terry, Diana Krall, Ahmad Jamal and Tony Bennett.
As a leader, Brad has released six albums, five as a trumpeter with his quartet, the most recent being the 2007 release Small Wonder, which was nominated for a Juno in the Traditional Jazz Album category.
What Is, released in 2005, won Best Jazz Album, at the 2006 Western Canadian Music Awards. As a pianist with his trio, the 2004 release, Question the Answer was nominated for a 2005 Canadian Urban Music Award, and a 2006 Canadian Indie Music Award.
In 1997 and 1998 Brad won Juno Awards (Canadian Grammy) for Best Contemporary Jazz Album recognizing his work in the internationally established electric jazz group Metalwood.
Winner of National Jazz Awards for Jazz Composer of the Year (2000 and 2002), Brad was awarded Musician of the Year for 2005, and was a recipient of 2006 Victor Lynch-Staunton Prize for excellence in musical achievement.
In 2008 and again in 2009, Brad took home National Jazz Awards for Trumpeter of the Year and Producer of the year.
Brad is a member of the jazz studies faculty at Capilano University, in North Vancouver, B.C."