Free Software Foundation (FSF) spustila projekt Librephone, jehož cílem je vytvoření svobodného operačního systému pro mobilní telefony. Bez binárních blobů.
Byla vydána verze 7 s kódovým název Gigi linuxové distribuce LMDE (Linux Mint Debian Edition). Podrobnosti v poznámkách k vydání. Linux Mint vychází z Ubuntu. LMDE je postaveno na Debianu.
Byl vydán Mozilla Firefox 144.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze lepší správu profilů. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 144 bude brzy k dispozici také na Flathubu a Snapcraftu.
Discord potvrdil únik osobních údajů přibližně 70 000 uživatelů. Incident se týká uživatelů po celém světě, především těch, kteří v rámci ověřování svého věku nahráli do aplikace doklad totožnosti. Únik informací se netýkal systémů samotné platformy, ale došlo k němu přes kompromitovaný účet pracovníka zákaznické podpory u externího poskytovatele služeb.
Americká společnost OpenAI, která provozuje chatbota ChatGPT, kvůli výrobě vlastních procesorů pro umělou inteligenci (AI) spojí síly s firmou Broadcom. Firmy o tom informovaly (en) ve svém včerejším sdělení. OpenAI se snaží zajistit si výpočetní výkon potřebný k uspokojení rostoucí poptávky po svých službách. Akcie Broadcomu po zprávě výrazně zpevnily.
O víkendu 18. a 19. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, "festival tvořivosti, vynálezů a bastlířské radosti", a GameDev Connect, "akci určenou pro všechny současné a hlavně budoucí herní vývojáře, kteří touží proniknout do jednoho z nejúžasnějších průmyslů na světě".
Do 20. října do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2025 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
O zavedení nástroje na monitorování online konverzací v rámci boje proti dětské pornografii (tzv. Chat Control) měli ministři vnitra rozhodovat na úterním společném zasedání v Lucemburku. Plán dánského předsednictví Rady EU ale před pár dny ztroskotal, když se ukázalo, že Chat Control nemá dostatečnou podporu.
Již toto úterý proběhne každoměsíční akce Virtuální Bastlírna, kterou pořádá projekt MacGyver. Jde o virtuální posezení u piva a volné klábosení o různých zajímavostech ze světa elektroniky, softwaru i techniky. V posledním měsíci se stalo nemálo zajímavostí týkajících se spousty bastlířů - kupříkladu Arduino nyní patří pod Qualcomm, Raspberry Pi vydalo nový počítač, ale potichu i miniaturní compute module. Pro AMS od Bambu Lab se
… více »Google zpřístupňuje své AI nástroje českým univerzitním studentům prostřednictvím předplatného Google AI Pro na 12 měsíců bez poplatku. Platnost nabídky vyprší 9. prosince 2025.
Bash skript pre zlúčenie dvoch textových titulkov do jednoho. Výsledkom je súčasné zobrazenie 2 titulkov na spodku/vrchu okna prehrávača (podobnú funkciu má napr. PowerDVD, ale len pri dvd titulkoch). Opravy a vylepšenia sú vítané.
#!/bin/bash # merge2ass.sh - script for merging two text-subtitles into an ass subtitle file # version 0.9b, 02-feb-2013 # comments/criticism/praise to jose1711-gmail-com # dependencies: mplayer (if your subtitle files need to be converted to srt), gnu utils # thanks to: # - d.watzke for comments # - belisarivs for testing # - boris dušek <boris (dot) dusek - gmail - com> for testing/ideas # - swans100 - patch for milliseconds precision srt subs # # $1 is a movie file # $2 is a subtitle1 # $3 is a subtitle2 # $4 is optional and could be "-pm" or "--play-movie" for instant watching of the movie # example: # merge2ass.sh movie.avi english.srt slovak.sub # mplayer -noautosub -ass movie.avi -sub movie-bilingual.ass -subcp utf8 # # or just # merge2ass.sh movie.avi english.srt slovak.sub -pm # # or even only # merge2ass.sh --detect movie.avi -pm # ## # release history: # 0.8a (29. 7. 2007) # - initial public release # 0.8.1a (30. 7. 2007) # - check_syntax fixed (d.watzke) # - multiline echo -> cat (d.watzke) # - removes temp files after conversion # 0.8.2 (1. 8. 2007) # - check whether the input files exist prior to running MPlayer # - check for MPlayer binary # - help page added # - new optional CLI parameters: -pm (plays movie after conversion), --help # 0.8.2.1 (2. 8. 2007) # - timestamp in output more compatible (reported by belisarivs) # 0.9 (8. 8. 2007) # - performs a check for writable output # - check for MPlayer's support of ass/ssa if -pm is used # - pointers to subtitle files stored as arraysF # - autorecognition of subtitles based on MPlayer's -sub-fuzziness feature (--detect) # - output filename based on movie filename (+bilingual.ass) # - bash now mandatory (non-POSIX syntax used) # - flag -pm has a long alias (--play-movie) # 0.9a (27. 4. 2012) # - added compatibility with SRT subtitles using milliseconds precision (thanks juan!) # 0.9b (2. 2. 2013) # - define encoding in ssa header (thanks mathieuu!) # # some future thoughts: # - more optional flags (do_not_remove_temp_files, play_but_dont_delete_output_afterwards,dont_do # the_conversion_just_merging,output_file..) # - cleaner sed/awk code # - support for other players (xine, totem, kmplayer, vlc..) # - subtitle encoding detection based on enca (if present) - boris? # # docs: # - http://en.wikipedia.org/wiki/SubStation_Alpha # - http://www.perlfu.co.uk/projects/asa/ass-specs.doc # # THE STORY ENDS HERE # set -x # normally you do not want to see mplayer's error output #mplayer_err=/dev/stderr mplayer_err=/dev/null arg_count="$#" movie="$1" sub[1]="$2" sub[2]="$3" show_help(){ cat << EOF ---------------------------------------------------------------------------------- | | | Merge2ass - a script for merging two text subtitles into ass/ssa subtitle file | | author: jose1711 - gmail - com, 2007/08 | ---------------------------------------------------------------------------------- Usage: merge2ass.sh [--help] [movie subtitle1 subtitle2] [-pm|--play-movie] or merge2ass.sh --detect movie [-pm|--play-movie] --help show this help page and exit --detect try to detect subtitles using MPlayer's sub-fuzziness=1 flag movie movie file (anything that MPlayer recognizes) subtitle[12] file(s) containing text subtitles that MPlayer recognizes -pm play movie immediately and remove the output after finishing --play-movie EOF } detect_subtitles(){ while read -r line; do sub[++i]="$line" done < <(mplayer -sub-fuzziness 1 -frames 0 "$movie" 2>/dev/null | sed -n "s/^SUB: Added subtitle file ([0-9]*): \(.*\)$/\1/p") echo "$i subtitles were detected in total." echo "These two will be used:" echo "${sub[1]}" echo "${sub[2]}" } convert_subs(){ type mplayer || { echo "MPlayer not installed or binary not in path, please investigate. Exiting.."; exit 1; } echo "Converting the 1st subtitle file (${sub[1]}) to a time-based format..." # slower but does not require the video file for conversion # mplayer /dev/zero -rawvideo pal:fps=25 -demuxer rawvideo -vc null -vo null -noframedrop -benchmark -sub "$movie" -dumpsrtsub mplayer -dumpsrtsub -noautosub -really-quiet -frames 0 -sub "${sub[1]}" "$movie" 2>>"$mplayer_err" && echo "Done" mv dumpsub.srt "${sub[1]}-temp" echo "Converting the 2nd subtitle file (${sub[2]}) to a time-based format..." mplayer -dumpsrtsub -noautosub -really-quiet -frames 0 -sub "${sub[2]}" "$movie" 2>>"$mplayer_err" && echo "Done" mv dumpsub.srt "${sub[2]}-temp" } generate_ssa_header(){ cat > "$output" << EOF [Script Info] Title: Original Script: Original Translation: Original Editing: Original Timing: Original Script Checking: ScriptType: v4.00 Collisions: Normal PlayResY: 1024 PlayDepth: 0 Timer: 100,0000 [V4 Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding Style: lang1style,Arial,64,65535,65535,65535,-2147483640,-1,0,1,3,0,6,30,30,30,0,0 Style: lang2style,Arial,64,15724527,15724527,15724527,4144959,0,0,1,1,2,2,5,5,30,0,0 Encoding:0 [Events] Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text EOF } generate_ssa_dialogs(){ sed -e "/ --> /s/,/./g" "${sub[1]}-temp" | tr -d "\r" | awk 'BEGIN{ORS="";print " "} / --> /,/^$/ {ORS=" ";print} /^$/{print "\n"}' | sed -e "s/ --> /,/g" -e "s/^ \([^ ]*\) \(.*\)/Dialogue: Marked=0,\1,lang1style,Cher,0000,0000,0000,,\2/" -e "s/,00:/,0:/g" -e "s/\([:,]\)0\([0-9]\)/\1\2/g" -e "s/\([0-9]\)\(\.\)\([0-9]\)\([0-9]\)0\(,\)/\1\2\3\4\5/g" >>"$output" sed -e "/ --> /s/,/./g" "${sub[2]}-temp" | tr -d "\r" | awk 'BEGIN{ORS="";print " "} / --> /,/^$/ {ORS=" ";print} /^$/{print "\n"}' | sed -e "s/ --> /,/g" -e "s/^ \([^ ]*\) \(.*\)/Dialogue: Marked=0,\1,lang2style,Cher,0000,0000,0000,,\2/" -e "s/,00:/,0:/g" -e "s/^ *//g" -e "s/\([:,]\)0\([0-9]\)/\1\2/g" -e "s/\([0-9]\)\(\.\)\([0-9]\)\([0-9]\)0\(,\)/\1\2\3\4\5/g" >>"$output" } remove_temp_files(){ rm "${sub[1]}-temp" "${sub[2]}-temp" } play_movie(){ mplayer -ass 2>/dev/null >/dev/null || { echo "Too old MPlayer version, can't understand ASS/SSA subs. Install a newer version."; exit 1; } mplayer -really-quiet -fs "$movie" -sub "$output" -ass -subcp utf8 -noautosub } delete_output(){ rm "$output" } eval last_arg='$'${arg_count} if [ $arg_count -eq 0 ]; then show_help exit 0 fi for param in $* do if [ $param = "--help" ]; then show_help; exit 0; fi done if [ "$movie" = "--detect" ]; then movie="${sub[1]}" output="${movie%.*}-bilingual.ass" > "$output" #|| { echo "Can't write here! Exiting.." && echo 1; } detect_subtitles fi if [ ! -f "$movie" ]; then echo "Movie file ($movie) does not exist. Going back to shell.."; exit 1; fi if [ ! -f "${sub[1]}" ]; then echo "Subtitle1 file (${sub[1]}) does not exist. Going back to shell.."; exit 1; fi if [ ! -f "${sub[2]}" ]; then echo "Subtitle2 file (${sub[2]}) does not exist. Going back to shell.."; exit 1; fi echo "Processing.." # reset output output="${movie%.*}-bilingual.ass" > "$output" #|| { echo "Can't write here! Exiting.." && echo 1; } convert_subs generate_ssa_header generate_ssa_dialogs remove_temp_files if [ "$last_arg" = "-pm" -o "$last_arg" = "--play-movie" ]; then play_movie delete_output fi exit 0 # set +x
Tiskni
Sdílej:
vim ~/.emacs
check_syntax()
se nikdy neukončí, díky nesmyslnému použití subshellu. Použij if
.
[[ $# -ne 3 ]]
je rychlejší.
cat > soubor << EOF obsah souboru EOF