Produnis uninteressant – aber wahr

25. November 2017

Friendica als Feedreader für RSS, Twitter, Youtube etc. nutzen

Filed under: Herr Immer,Jean Pütz,ubuntuusers — produnis @ 13:20

Seit einiger Zeit nutze ich Friendica,
eine Art dezentrale Facebook-Alternative, die mit der „Federation“ (Diaspora, GNUscocial, etc.) verbunden ist.
Heute möchte ich kurz zeigen, wie ich Friendica nutze, denn ein gutes Argument ist ja immer:
„Wieso sollte ich mir einen Friendica-Account zulegen, wo doch eh alle anderen bei Facebook oder SnapChat sind“ – denn das stimmt ja auch. Aber ich nutze Friendica eher als aufgemotzten Feed-Reader. Ich hab hier mal irgendwann den Spruch gelesen „if it has a feed, we can track it“.
Und so habe ich alle Webseiten, die ich sonst so täglich abgegrast habe (zB spiegel.de tagesschau.de, planet der ubuntuusers, youtube, twitter) in Friendica als „Kontakte“ eingetragen.
Auf Friendica werden mir dann alle Tweets und Neuigkeiten im Look einer „Facebook-Timeline“ angezeigt.

Da ich meine Kontakte in „Gruppen“ sortieren kann, nehme ich Einfluss auf meine Timeline:
– ich will jetzt nur Funstuff sehen
– ich will nur Nachrichten
– ich will nur Astronomie
– ich will alles sehen

Die Beiträge kann ich dann „liken“, kommentieren und verteilen – denn in der „Federation“ gibt es durchaus auch „echte Menschen“, mit denen man sich verbinden und unterhalten kann.
Ich kann wirklich nur empfehlen, das ganze mal auszuprobieren. Man kann sich entweder selbst einen Friendica-Server aufsetzen (das ist gar nicht sooo schwer), oder einen öffentlichen Server nutzen, siehe https://dir.friendica.social/.

Sobald ihr einen Account habt, könnt ihr Kontakte hinzufügen. Auf eurer Kontaktseite seht ihr links ein Feld „Neuen Kontakt hinzufügen“.
(Ich nutze das Theme „vier“, und alle Screenshots sind vom Theme „vier“.)

Hier tragt ihr die Feedadressen ein. Und die sieht so aus:

  • Twitter: in Form einer Mailadresse USERNAME@twitter.com, also zB realDonaldTrump@twitter.com
  • RSS-Feed: einfach die URL des Feeds eintragen, zB. https://planet.ubuntuusers.de/feeds/full/10/ oder http://feeds.feedburner.com/d0od?format=xml
  • Youtube-Kanäle: ihr benötigt die Channel-ID des Kanals, dem ihr folgen wollt. Für die Kontaktanfrage nutzt man folgende URL, wobei die Channel-ID ergänzt werden muss: https://www.youtube.com/feeds/videos.xml?channel_id=, also zB. https://www.youtube.com/feeds/videos.xml?channel_id=UCtJVZjY6xsZUV-sYdcIFpZw
  • Instagram: Hier wandelt man den Instagram-Stream in einen RSS-Feed um. Die Adresse für die Kontaktanfrage lautet https://websta.me/rss/n/USERNAME also zB https://websta.me/rss/n/s04
  • Diaspora: Einfach die Kontaktadresse, zB comedy@diasp.de eingeben. Funktioniert so auch mit allen anderen Federationsaccounts, zB GNUsocial.
  • Dann klickt man auf „Verbinden“.

Auf der nächsten Seite meckert friendica bei mir, dass „das angefragte Profil nicht vorhanden“ sei (roter Pfeil). Dies kann man ignorieren und einfach auf „Anfrage abschicken“ klicken.

Unter „Kontakteinstellungen“ gibt es die Möglichkeit, „weitere Informationen zu dem Feed“ zu holen (blauer Pfeil).

Hier muss man herumspielen. Manche Feeds zeigen den Inhalt „schöner“, wenn man das Feld „Deaktiviert“, bei anderen ist die Einstellung „Beziehe Informationen“ „schöner“. Bei Youtube-Channels ist grundsätzlich „beziehe informationen“ zu wählen.

Bei zB Blogs, die nicht soooo regelmäßig posten, wie zB linuxundich.de, setze ich den Haken bei „Benachrichtigung bei neuen Beiträgen“. So bekomme ich oben rechts bei der „Glocke“ angezeigt, wenn etwas neues da ist.

Sollte kein Avatar zum Feed angezeigt werden, kann man eines per Bild-URL hinzufügen. Klicke auf „Erweitert“ (s.o., roter Pfeil), und trage in das Feld „Neues Foto von dieser URL“ eine Bild-URL ein.

Friendica kopiert sich dann das Bild von dort.

So erstellt man sich seinen ganz privaten aufgemotzten RSS-Feed-Reader.

Viele „wichtige“ Feeds (z.B. Fefe oder Tagesschau) werden bereits von Bots in die Federation gespiegelt. Es lohnt sich, das Userverzeichnis zu durchforsten. Ich folge diesen Bot-Accounts, ihr könnt die Adressen direkt als Kontaktanfrage nutzen:

aljazeera@squeet.me
arch@friendica.produnis.de
atheism@friendica.produnis.de
bildblog@friendica.produnis.de
derpostillon@gnusocial.de
deutschlandfunk@squeet.me
dlr@squeet.me
earthquake@social.yl.ms
esa@squeet.me
fefesblog@pod.geraspora.de
funstuff@friendica.produnis.de
heiseonline@squeet.me
ey_lou_flynn@pod.geraspora.de
kicker@friendica.produnis.de
Kodi@mastodon.cloud
linuxundich@friendica.produnis.de
nachdenkseiten@friendica.produnis.de
nasa@squeet.me
ncnews@libranet.de
sciencenature@friendica.produnis.de
spon@friendica.produnis.de
tagesschau@squeet.me
taz@pod.geraspora.de
urknall@friendica.produnis.de
wdr@squeet.me
zdfheute@squeet.me

Ja, und zu guter letzt könnt ihr euch auch gerne mit mir verbinden: produnis@friendica.produnis.de

Weblinks

9. Februar 2017

git poor man’s time machine

Filed under: Arch,Jean Pütz,Professor Hastig,ubuntuusers — produnis @ 23:48

Eine etwas exotischere Verwendungsweise von git ist die einer Time Machine. Das Prinzip einer Time Machine ist, dass für einen Ordner, zB dem eigenen Dokumentenordner, regelmäßige Schnappschüsse erstellt werden. Das Feature ist dann, dass man „durch die Zeit“ blättern kann, um alte Versionen oder gelöschte Dateien zu finden.
Mit git kann man sich soetwas recht einfach erstellen:

Im Terminal wechselt man in das gewünschte Verzeichnis:

cd /Pfad/zum/Verzeichnis

Dort erstellt man ein git-Repository:

git init

Und fügt alle Dateien dem Repository hinzu:

git add *
git commit -m "initial commit"

Jetzt benötigen wir ein Script, welches per Cronjob in den Intervallen ausgeführt wird, die wir gerne für unsere Time Machine Snapshots hätten. Mögliche Cronjobs wären zB.

crontab -e
@hourly /pfad/zu/script.sh
@daily /pfad/zu/script.sh

Die Datei script.sh müssen wir erstellen und ausführbar machen, und ihr folgenden Inhalt geben:

#!/bin/bash
DATE=`date +"%Y-%m-%d_%H-%M-%S"`
cd /path/to/your/folder       # Change to your settings
git checkout -b $DATE
git checkout $DATE
git add *
git commit -m "snapshot of $DATE"
git checkout master
git rebase $DATE

Das Script erstellt einen neuen Branch DATE und führt einen commit auf alle Änderungen im Verzeichnis durch.
Anschließend wird ein rebase des commit auf den Branch „master“ ausgeführt.
Die Änderungen liegen also im Branch DATE als auch im Branch master.

Der Branch DATE wird nicht gelöscht. Er ist der Landepunkt für unsere Zeitmaschine.

Um nun durch die Zeit zu reisen wechselt man im Terminal in das Verzeichnis und gibt ein:

git checkout DATE

wobei DATE ein Zeitstempel ist.
Welche Zeitstempel verfügbar sind zeigt der Befehl

git branch

Der Befehl versetzt euer Verzeichnis in den Zustand, in dem es sich zum Zeitpunkt DATE befunden hat.

Um wieder in die Gegenwart zu wechseln verwendet man den Befehl:

git checkout master

Weblinks

6. Juli 2016

MediaWiki: alle Seiten einer Kategorie als PDF exortieren mit Python

Filed under: Jean Pütz,Professor Hastig,ubuntuusers — produnis @ 21:50

Auf meinem Server habe ich MediaWiki installiert, und ich notiere innerhalb diese Wikis meine (privaten) Sachen, unter anderem Notizen zu eben diesem Server (wie funktioniert das mit systemd, wie starte ich den mpd-Server, wie funktionieren RegularExpressions, uws).

Jetzt hätte ich meine ganzen Artikel gerne in eine PDF-Datei exportiert, so dass ich auch ohne Netzverbindung – bzw. falls der Server mal down ist – meine Sachen nachlesen kann.

Ich habe letztes Jahr bereits das PHP-Skript mwc2pdf.php geschrieben (github), mit welchem man alle Seiten einer MediaWiki-Kategorie, inklusive der Seiten aller Unterkategorien, als PDF exportieren kann. Da sich mit mediawiki-1.27 die MediaWiki-api.php geändert hat, musste ich das Skript etwas anpassen.
In diesem Zuge ist mir die Idee gekommen, das Skript nach python zu portieren.

Et voila: mwc2pdf.py (github).

Das Skript benötigt mediawiki-1.27, wkhtmltopdf, python2 sowie dessen libs „pdfkit„, „PyPDF2„, „urllib2„, welche evtl. nachinstalliert werden müssen.

Das erstellte PDF (welches alle Seiten enthält) verfügt über Bookmarks, über welche man zu den entsprechenden Artikeln gelangen kann. Dieses Feature habe ich in der PHP-Version (mit pdftk) nicht hinbekommen. Die PyPDF2-lib schafft das problemlos…

Falls ihr also selber MediaWiki im Einsatz habt, und mal „alles“ ausdrucken möchtet…
🙂

3. September 2015

WETEK openELEC Box

Filed under: Jean Pütz,ubuntuusers — Schlagwörter: , — produnis @ 10:20

Bislang betreibe ich meinen Fernseher mit einer Dreambox (DVB-S Fernsehen) sowie mit einem PivosXIOS (Kodi). Beide Geräte habe ich gestern durch eine WETEK openeELEC Box ersetzt.

WETEK baut eigentlich Android-TV-Boxen, jedoch gibt es derzeit eine „limited Edition“ der WETEK-Play-Box, die mit vorinstalliertem openeELEC direkt als Kodi-Box verkauft wird. Die Box kostet 99,- Euro inklusive weltweitem Versand.

Die Box hat 2 DVB-S-Tuner für HD-TV eingebaut (gibt es aber auch mit 2xDVB-C), verfügt über 3 USB-Ports, 100mbit-LAN, WLAN, microSD, SPDIF und HDMI.

Die Box war 2 Tage nach der Bestellung hier, das Paket beinhaltet die Box, eine Fernbedienung sowie ein HDMI-Kabel und ein AV-Kabel.

Eine Anleitung liegt nicht bei.

Die Box (bzw. Kodi) läuft super zackig, und wenn man schonmal irgendwo anders Kodi benutzt oder eingerichtet hat, kommt man direkt klar. Die einzige Schwierigkeit ist, das Live-TV der Tuner in Kodi zu integrieren. Ich verwende für diese Aufgabe tvheadend, welches man direkt in Kodi nachinstallieren kann. Die Installation und Konfiguration von tvheadend ist aber alles andere als intuitiv, so dass man ohne Anleitungsvideos bei Youtube (z.b. hier oder hier) nicht klarkommen wird.
Ist tvheadend aber einmal eingerichtet, fluppt es wirklich gut, und die TV-Streams lassen sich im gesamten Netzwerk abgreifen. So kann ich an jedem Laptop hier auch fernsehen.

Fazit

  • Die Box (bzw. Kodi) läuft super flott, HD per DVB-S läuft klar und ruckelfrei
  • Die Fernbedienung liegt gut in der Hand und hat viele nützliche Funktionstasten
  • Ich bin begeistert

Weblinks

16. März 2015

MediaWiki: alle Seiten einer Kategorie plus Unterkategorien als PDF exportieren

Filed under: Jean Pütz,Professor Hastig,ubuntuusers — produnis @ 18:20

Ich habe ein kleines php-Script geschrieben, mit welchem man alle Seiten einer Kategorie inklusive der Seiten aller Sub-Kategorien von einer beliebigen MediaWiki-Instanz als PDF exportieren kann.
Benötigt werden PHP>5.5, wkhtmltopdf und pdftk (müssen evtl. erst installiert werden).

https://github.com/produnis/myscripts/blob/master/PHP/mwc2pdf.php

Ihr müsst am Anfang des Scripts die drei Variablen euren Bedürfnissen entsprechend anpassen, und dann das Script aufrufen per:

$ php /Pfad/zu/mwc2pdf.php

Das Script nutzt nun die „api.php“ der MediaWiki-Instanz und erstellt damit einen „Pagetree“. Von diesem Pagetree wird jede einzelne Seite mittels wkhtmltopdf in eine PDF-Datei exportiert.
Anschließend werden alle erzeugten PDF-Dateien mittels pdftk zu einer einzelnen Datei namens „MWC2PDF.pdf“ zusammengeführt.

$ nano mwc2pdf.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
< ?php
## Welcome to mwc2pdf
## ----------------------------------------------
## Media Wiki Category To PDF (MWC2PDF)
## is a php script that exports a Category from MediaWiki
## into PDF, including all Pages of that category as well as
## all pages from subcategories.
## mwc2pdf uses MediaWiki's "api.php" to collect
## all data and create a "pagetree".
## mwc2pdf prints out every item of that pagetree
## into a single pdf-file using "wkhtmltopdf".
## It than combines all single pdf-files into
## one single pdf-file called "MWC2PDF.pdf" using "pdftk".
##
## -----------------------------------------------
## Requires:
## - PHP >= 5.4
## - wkhtmltopdf
## - pdftk
## -------------------------
## Written by Joe Slam 2015
## Licence: GPL
## -------------------------
##
## Usage:
## 1) Change the three lines to fit your situation
## 2) open terminal
## 3) $ php /PATH/TO/mwc2pdf.php #
##
## All files are generated in the directory you call mwc2pdf from
##
####################################################################
# + + + + + + + + + + + + + + + + + + + + + + +
## Change this vars to fit your system
$mywiki = "http://192.168.0.2/produniswiki/"; // URL to index.php
$kategorie = "Kategorie:Hauptkategorie"; // Which Category to grab?
$kategorie_word = "Kategorie:"; // What is "Category:" in your wiki's language?
# + + + + + + + + + + + + + + + + + + + + + + +
# ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
## Dont change after here...
# ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
##----------------------------------------------
## API -Commands
#------------------
# List all Subcategories
$cmd_subcat = "api.php?action=query&format=xml&list=categorymembers&cmlimit=5000&cmtitle=";
# List all Pages of Category
$cmd_catinfo = "api.php?action=query&format=xml&prop=categoryinfo&titles=";
# Get URL from pageid
$cmd_geturlfromID = "api.php?action=query&format=xml&inprop=url&prop=info&pageids=";
# Functions
#-------------------
#-----------------------------------------------------------------------
function getCategoryID($xml){
# this function returns the pageid of a category
$arr=$xml->query[0]->pages[0]->page->attributes();
#echo $arr["pageid"] . ": ";
#echo $arr["title"] . "\n";
return($arr["pageid"]);
}
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
function startsWith($haystack, $needle)
{ # this function checks if the string
# "$hayshack" starts with the letters "$neddle"
$length = strlen($needle);
return (substr($haystack, 0, $length) === $needle);
}
#-----------------------------------------------------------------------
function wikiHTMLprint($command){
# This function takes a pageid and
# returns the "printable"-URL of that
# page/category
$xml = simplexml_load_file($command);
$arr = $xml->query[0]->pages[0]->page->attributes();
$output= str_replace("&action=edit", "&printable=yes", $arr['editurl']);
return($output);
}
#---- end of functions --------------
#### M A I N S C R I P T
#-------------------------
echo "\n\nCollecting data for " . $kategorie ."\n\n";
# Get pageid of start-category
$xml = simplexml_load_file($mywiki . $cmd_catinfo . $kategorie);
$current_parent = getCategoryID($xml);
# Setting up all important vars() and arrays()
#---------------------------------------------
$x = 0;
$y = 0;
$done = FALSE;
$the_pageids = NULL;
$the_names = NULL;
$loop_list = NULL;
$next_level = 0;
$current_level = 0;
$the_pageids[0] = $current_parent;
$the_names[0] = $kategorie;
$the_prefix[0] = "p0_";
$the_parentid[0] = 0;
$the_level[0] = 0;
$is_category[0] = "C";
$loop_list[0] = $kategorie;
$loop_id[0] = $current_parent;
$loop_prefix[0] = "p0_";
//---------------------------------
$x++;
# MAIN LOOP
#----------------------
while ($done == FALSE){
// get pageid of current category
$current_parent = $loop_id[$y];
# getting members of this category
//-------------------------------------------------------------
$xml = simplexml_load_file($mywiki . $cmd_subcat . $loop_list[$y]);
foreach($xml->query[0]->categorymembers[0]->cm as $child){
$arr = $child->attributes();
#echo $arr["pageid"] . ": ";
#echo $arr["title"] . "\n";
// is this a Page?
//---------------------------------------------------
if(startsWith($arr["title"], $kategorie_word) == FALSE){
if(
(startsWith($arr["title"], "Datei:") == FALSE) AND
(startsWith($arr["title"], "File:") == FALSE) AND
(startsWith($arr["title"], "Media:") == FALSE) AND
(startsWith($arr["title"], "Bild:") == FALSE)
){
// is page already in list?
if(in_array("" . $arr["title"] . "", $the_names)){
#echo "page " . $arr["title"] . " already in list \n";
}else{
#echo "new Page";
$the_pageids[$x] = $arr["pageid"];
$the_names[$x] = $arr["title"];
$the_parentid[$x] = $current_parent;
$the_level[$x] = $current_level;
$the_prefix[$x] = $loop_prefix[$y] . sprintf('%05d',$x);
$is_category[$x] = "P";
}
}else{ $x--; }
//----------------------------------------------------
// is this a Category?
//----------------------------------------------------
}elseif(startsWith($arr["title"], $kategorie_word) == TRUE){
// is Category already in list?
if(in_array("" . $arr["title"] . "", $the_names)){
#echo "cat " . $arr["title"] . " already in list \n";
}else{
#echo "new Category";
$loop_list[] = $arr["title"];
$loop_id[] = $arr["pageid"];
$loop_prefix[] = $loop_prefix[$y] . sprintf('%05d',$x) . "_";
$the_pageids[$x] = $arr["pageid"];
$the_names[$x] = $arr["title"];
$the_prefix[$x] = $loop_prefix[$y] . sprintf('%05d',$x) . "_";
$the_parentid[$x] = $current_parent;
$the_level[$x] = $current_level+1;
$is_category[$x] = "C";
}
}
//----------------------------------------------------
$x++;
} // END foreach
$y++;
$current_level++;
if($y == sizeof($loop_list)+2){
$done=TRUE;
}
//--------------------------------------------------------------
} // End WHILE false
// END Main Loop
#############################################################################
# # # # S O R T D A T A # # # # # # #
#--------------------------------------------
array_multisort($the_prefix, $the_pageids, $the_names, $the_parentid, $the_level,$is_category);
#--------------------------------------------
# # # # # # # # # # # # # # # # # # # # #
#--- output final array ---
echo "\nThis is what I got:\n";
$i = count($the_prefix);
echo $i;
for ($x =0;$x < $i; $x++){
echo $the_prefix[$x] . "|" . $is_category[$x] . "| ". $the_pageids[$x] . ": " . $the_names[$x] . " | Lev=" . $the_level[$x] . " (P=" . $the_parentid[$x] . ")\n";
}
#--------------------------------------------
## print PDF of Cats and Pages
## depends: wkhtmltopdf
#---------------------------------------------
echo "\nPrinting single Pages to PDF (wkhtmltopdf)\n";
$i = count($the_prefix);
echo "\n";
for ($x =0;$x < $i; $x++){
$command = $mywiki . "" . $cmd_geturlfromID . "" . $the_pageids[$x];
$this_pdf = wikiHTMLprint($command);
echo "Printing pageid " . $the_pageids[$x] . " | (" . $x . "/" . $i . ")\n";
$command = "wkhtmltopdf '" . $this_pdf . "' " . sprintf('%06d',$x) . "-" . $the_prefix[$x] . "-" . $is_category[$x] . "_" . $the_pageids[$x] . ".mwc2pdf.pdf";
$out = shell_exec($command);
echo "\n";
}
#---------------------------------------------
## cats the PDFs into a single one
## depends: pdftk
#---------------------------------------------
# $dummy = shell_exec("wkhtmltopdf http://google.com google.pdf");
echo "\nGenerating single PDF-file (pdftk)\n";
$command = "pdftk *.mwc2pdf.pdf cat output MWC2PDF.pdf";
$out = shell_exec($command);
## -------------------------------------------------------
echo "\nDone.\n";
?>

3. Dezember 2014

Vectrex-Emulator „parajve“

Filed under: Arch,Jean Pütz — produnis @ 19:28

Der Vectrex-Emulator „parajve“ kommt mit einem Haufen Spielen vorinstalliert daher!

Vectrex

Ein Hoch auf die 80er!

Installation

Arch:

pacaur -S parajve

Weblinks

23. November 2014

[arch] Day of Install

Filed under: Arch,Jean Pütz,Professor Hastig — produnis @ 19:22

Um unter Arch herauszufinden, wann genau das System erstmals installiert wurde, kann man wie folgt vorgehen:

  • head /var/log/pacman.log

24. September 2014

Internet-Radiostationen

Filed under: Arch,Jean Pütz,Ubuntu — produnis @ 18:09

Stationen

Sport1.fm

  • http://stream.sport1.fm/api/livestream-redirect/SPORT1FM_24_7.mp3
  • http://stream.sport1.fm/api/livestream-redirect/SPORT1FM_Einzel1.mp3
  • http://stream.sport1.fm/api/livestream-redirect/SPORT1FM_Einzel2.mp3
  • http://stream.sport1.fm/api/livestream-redirect/SPORT1FM_Einzel3.mp3
  • http://stream.sport1.fm/api/livestream-redirect/SPORT1FM_Einzel4.mp3
  • http://stream.sport1.fm/api/livestream-redirect/SPORT1FM_Einzel5.mp3
  • http://stream.sport1.fm/api/livestream-redirect/SPORT1FM_Einzel6.mp3

WDR 5

  • http://gffstream.ic.llnwd.net/stream/gffstream_w19b
  • http://gffstream.ic.llnwd.net/stream/gffstream_w19a
  • http://wdr-5.akacast.akamaistream.net/7/41/119439/v1/gnl.akacast.akamaistream.net/wdr-5

Weblinks

28. Februar 2014

[Notiz]: git-Befehle

Filed under: Jean Pütz,Professor Hastig — Schlagwörter: , — produnis @ 19:13

Änderung taggen:

git tag v0.0.1

Version auf Server releasen („Titel“ ist letzter commit-Kommentar):

git push origin v0.1.1

Terminalbefehle für Einträge in die ~/.gitconfig:

#Alias
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.am commit ' --all --amend'
git config --global alias.st status
git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)< %an>%Creset' --abbrev-commit"
 
# Config
git config --global merge.conflictstyle diff3
git config --global core.excludesfile ~/bin/gitignore

Nützliche Befehle:

#Branches detaillierter anzeigen
gitk --all

rebasing

Die Commits im Branch working soll zu einem einzigen Commit zusammengefasst, und anschließend in Branch master übernommen werden. Diesmal mittels rebase anstelle von merge:
Git-rebasing

git checkout working
git rebase -i bbbb # letzter gemeinsamer commit
git checkout master
git rebase working # der commit von 'working' wird auf 'master' angewendet

Weblinks

9. Juni 2013

mkv-Dateien splitten

Filed under: Jean Pütz — Schlagwörter: , , — produnis @ 22:21

Um einen Ausschnitt aus einem MKV-Video herauszuschneiden benötigt man unter Ubuntu das Programm mkvmerge, welches im Paket mkvtoolnix enthalten ist.

sudo apt-get install mkvtoolnix

Der Aufruf erfolgt dann so:

mkvmerge --split timecodes:ANFANGZEIT,ENDZEIT INPUT.mkv -o OUTPUT.mkv

AFANGZEIT und ENDZEIT müssen dabei im Format HH:MM:SS angegeben werden.
Möchten man also aus der Datei Film.mkv das Stück zwischen Minute 5:07 und 08:02 herausschneiden, lautet der Befehl:

mkvmerge --split timecodes:00:05:07,00:08:02 Film.mkv -o Ausschnitt.mkv

Für einzelne Kapitel nimmt man:

mkvmerge --split chapters:1,3,5 testfile.mkv -o output.mkv
Older Posts »

Powered by WordPress