Skip to content

Instantly share code, notes, and snippets.

View shinokada's full-sized avatar

Shinichi Okada shinokada

View GitHub Profile

POSIX commands Cheatsheat

  • admin - create and administer SCCS files (DEVELOPMENT)
  • alias - define or display aliases
  • ar - create and maintain library archives
  • asa - interpret carriage-control characters
  • at - execute commands at a later time
  • awk - pattern scanning and processing language
  • basename - return non-directory portion of a pathname
  • batch - schedule commands to be executed in a batch queue
@shinokada
shinokada / 70s.json
Created March 9, 2026 13:08
TERA Radio Favorites - 2026-03-09 14:08:00
[
{
"stationuuid": "6cddaca1-f2c1-11e8-a471-52543be04c81",
"name": "- 0 N - 70s on Radio ON 70s",
"url_resolved": "http://0n-70s.radionetz.de/0n-70s.mp3",
"tags": "classic rock,rock,pop,disco,goldies,oldies,70er,1970s,70s",
"country": "Germany",
"countrycode": "DE",
"state": "Bavaria",
"language": "german",
@shinokada
shinokada / 70s.json
Created January 14, 2026 19:35
Terminal radio favorite lists
[
{
"changeuuid": "6cddacaf-f2c1-11e8-a471-52543be04c81",
"stationuuid": "6cddaca1-f2c1-11e8-a471-52543be04c81",
"name": "- 0 N - 70s on Radio ON 70s",
"url": "http://0n-70s.radionetz.de/0n-70s.mp3",
"url_resolved": "http://0n-70s.radionetz.de/0n-70s.mp3",
"homepage": "http://www.0nradio.com/",
"favicon": "http://www.0nradio.com/images/favicon/mstile-144x144.png",
"tags": "classic rock,rock,pop,disco,goldies,oldies,70er,1970s,70s",
@shinokada
shinokada / control
Created January 22, 2026 20:05
For Debian package using spt
Package: tera
Version: 0.8.1
Architecture: all
Maintainer: Shinichi Okada <147320+shinokada@users.noreply.github.com>
Depends: mpv, jq, fzf, wget, bash (>= 4.0)
Section: utils
Priority: optional
Homepage: https://github.com/shinokada/tera
Description: Interactive Bash script terminal music radio player. Play your favorite radio station, CRUD your favorite lists, and explore new radio stations from your terminal.
@shinokada
shinokada / gist:a3195d0b7dc167de5328cb1bfdc1198a
Created January 21, 2026 06:49
script_dir path for debian package
script_dir="/usr/share/tera"
SC1000 $ is not used specially and should therefore be escaped.
SC1001 This \o will be a regular ‘o’ in this context.
SC1003 Want to escape a single quote? echo ‘This is how it’\‘’s done’.
SC1004 This backslash+linefeed is literal. Break outside single quotes if you just want to break the line.
SC1007 Remove space after = if trying to assign a value (or for empty string, use var=’’ … ).
SC1008 This shebang was unrecognized. ShellCheck only supports sh/bash/dash/ksh. Add a ‘shell’ directive to specify.
SC1009 The mentioned parser error was in …
SC1010 Use semicolon or linefeed before ‘done’ (or quote to make it literal).
SC1011 This apostrophe terminated the single quoted string!
SC1012 \t is just literal t here. For tab, use "$(printf '\t')" instead.
@shinokada
shinokada / +page.svelte
Created July 12, 2025 13:34
ThemeProvider example
<script lang="ts">
import { type ThemeConfig, ThemeProvider, Accordion, AccordionItem, Alert, Avatar, Badge, Heading, Banner, P, BottomNav, BottomNavItem, Breadcrumb, BreadcrumbItem, ButtonGroup, Button, GradientButton, Card } from "$lib";
// theme types
import type { AccordionItemTheme, BadgeTheme, BannerTheme, BottomNavTheme, BottomNavItemTheme, BreadcrumbTheme, BreadcrumbItemTheme, ButtonTheme, GradientButtonTheme, CardTheme } from '$lib';
import { HomeSolid, WalletSolid, AdjustmentsVerticalOutline, UserCircleSolid } from "flowbite-svelte-icons";
const theme: ThemeConfig = {
accordion: "w-96 text-green-500",
accordionitem: {
@shinokada
shinokada / gist:9b84198703ed6cf6169486de6309b5a1
Created August 21, 2023 12:33
Ultimate Prompt Engineering Secret.txt
From https://twitter.com/cj_zZZz/status/1678795785650200578
1st Step:
Give it a role. "You are Spartacus, a pro copywriter,"
2nd Step:
Define its job "Your job is to write copy for online media brands"
Third step:
Give ChatGPT the control: "Now ask me all the questions that you need to know to write a perfect copy that'd align with my brand."
@shinokada
shinokada / ArchiveBox.svelte
Created November 6, 2024 06:05
Working example with draw
<script lang="ts">
import { draw } from 'svelte/transition';
import { getContext } from 'svelte';
import type { Props } from './types.ts'
let {
size = 24,
role = 'img',
color = 'currentColor',
strokeWidth = 1.5,
@shinokada
shinokada / +page.svelte
Created November 5, 2024 16:16
svelte-animate home
<script lang="ts">
import { ArrowLeft, AtSign, BadgeCheck, Bell, AcademicCap, Wrapper, ArrowDownLeft, Animate, ArrowBigUp, ArrowDownLeft2, ArrowDownOnSquare } from "$lib";
import { draw } from 'svelte/transition';
</script>
<div class="container">
<h1>Svelte Animate for Svelte 5</h1>
<h2>Click to see animation</h2>
<AtSign size={50} color="purple"/>