<?xml version="1.0" encoding="utf-8" ?>

<?xml-stylesheet type="text/xsl" href="/templates/2k11/rss.xsl" media="screen" ?>
<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Daniel Lange's blog (Entries tagged as shell)</title>
    <link>https://daniel-lange.com/</link>
    <description>agrep -pB IT /dev/life</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 2.6.0 - http://www.s9y.org/</generator>
    <pubDate>Sun, 09 Aug 2015 17:44:49 GMT</pubDate>

    <image>
    <url>//daniel-lange.com/uploads/Avatar_Blog_144_234.png</url>
    <title>RSS: Daniel Lange's blog - agrep -pB IT /dev/life</title>
    <link>https://daniel-lange.com/</link>
    <width>144</width>
    <height>234</height>
</image>

<item>
    <title>Generate an indexed list of passwords</title>
    <link>https://daniel-lange.com/archives/107-Generate-an-indexed-list-of-passwords.html</link>
            <category>Other</category>
    
    <comments>https://daniel-lange.com/archives/107-Generate-an-indexed-list-of-passwords.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=107</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=107</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Generating an indexed list of passwords without complex perl or python:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;pwgen &lt;span style=&quot;color: #660033;&quot;&gt;-y&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;30&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;nl&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-w&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n&lt;/span&gt; rz &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; -&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Explanation:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;pwgen: -y = complex passwords (including symbols) ; 20 = length of password; 30 = number of passwords to generate&lt;/p&gt;

&lt;p&gt;nl: -w 2 = zero pad to a width of two characters; -n rz = print right-justified; -s - = use dash as a separator&lt;/p&gt;

&lt;p&gt;&lt;!-- s9ymdb:616 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;394&quot; height=&quot;471&quot;  src=&quot;https://daniel-lange.com/uploads/entries/150809_generate_indexed_list_of_passwords.png&quot; title=&quot;nl ... old but golden&quot; alt=&quot;screenshot of pwgen | nl&quot; /&gt;&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sun, 09 Aug 2015 17:31:58 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/107-guid.html</guid>
    <category>bash</category>
<category>passwords</category>
<category>security</category>
<category>shell</category>

</item>
<item>
    <title>Managing a project consisting of multiple git repositories</title>
    <link>https://daniel-lange.com/archives/99-Managing-a-project-consisting-of-multiple-git-repositories.html</link>
            <category>IT</category>
    
    <comments>https://daniel-lange.com/archives/99-Managing-a-project-consisting-of-multiple-git-repositories.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=99</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=99</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;The core team organizing DebConf, the annual Debian developer conference, reached out to me two weeks ago to help support this year&#039;s effort a bit.&lt;/p&gt;

&lt;p&gt;I&#039;m very happy to do so as Debian is a cornerstone of everything I do in the Open Source/Free Software space.&lt;/p&gt;

&lt;p&gt;&lt;!-- s9ymdb:612 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;459&quot; height=&quot;494&quot;  src=&quot;https://daniel-lange.com/uploads/entries/150329_git_pull_all_screenshot.png&quot; title=&quot;Screenshot of git_pull_all with color&quot; alt=&quot;Screenshot of git_pull_all with color&quot; /&gt;&lt;/p&gt;

&lt;p&gt;To get me started I got access to a lot of mailing lists and irc channels. And even more git repositories. So many that the DebConf team even has an &lt;a href=&quot;https://wiki.debconf.org/wiki/GitMigration&quot; title=&quot;DebConf explanation of git repository structure&quot;&gt;instruction page&lt;/a&gt; on how the repositories all fit together.&lt;/p&gt;

&lt;p&gt;It&#039;s unfortunately quite common to split a bigger project into many git repositories to ease access rights management and reduce the noise and data transfer volume for the average user. The downside is, everybody ends up with a dozen or more individual repositories to keep pulling. And then there&#039;s git annex for yet another &lt;a href=&quot;http://en.wikipedia.org/wiki/Fundamental_theorem_of_software_engineering&quot; title=&quot;Wikipedia: The Fundamental theorem of software engineering&quot;&gt;level of indirection&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://joeyh.name/&quot; title=&quot;Joey Hess&#039; homepage&quot;&gt;Joey Hess&lt;/a&gt;, a former Debian developer, has even written an extensive tool, &lt;a href=&quot;http://myrepos.branchable.com/&quot; title=&quot;Myrepos (mr) homepage&quot;&gt;myrepos&lt;/a&gt;, to meta-manage the different repositories and it can do quite some magic across different SCMSs&lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;#fn:1&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. In my case this is a bit of an overkill though.&lt;/p&gt;

&lt;p&gt;And using myrepos may get you confused at some point whether to now run &lt;code&gt;mr&lt;/code&gt; or &lt;code&gt;git&lt;/code&gt; directly for each batch of repos you have inherited over some time of working on multiple projects.&lt;sup id=&quot;fnref:2&quot;&gt;&lt;a href=&quot;#fn:2&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Thus I prefer the simple route:&lt;/p&gt;

&lt;p&gt;Check out each repository into a common top-level directory (&lt;code&gt;~/debconf/&lt;/code&gt; in this case) and then put the following two lines into an executable script &lt;code&gt;git_pull_all&lt;/code&gt; into that top level directory:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; ~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;debconf&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-mindepth&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-maxdepth&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-type&lt;/span&gt; d &lt;span style=&quot;color: #660033;&quot;&gt;-exec&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-c&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;cd {}; test -r .git/config &amp;amp;&amp;amp; git pull $*&amp;quot;&lt;/span&gt; \;&lt;/div&gt;

&lt;p&gt;This will allow you to pull all git repos with one command and keep the normal syntax for everything else you do with each repo.&lt;/p&gt;

&lt;p&gt;The --mindepth and --maxdepth will instruct &lt;code&gt;find&lt;/code&gt; to just go and run your &lt;code&gt;git pull&lt;/code&gt; only inside each direct child of the top level directory. So recursion depth = 1. That is the single trick there is to this.&lt;/p&gt;

&lt;h3&gt;Updates:&lt;/h3&gt;

&lt;p&gt;If you like to have some color and a bit of a spaced layout for improved readability, try:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; ~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;debconf&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-mindepth&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-maxdepth&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-type&lt;/span&gt; d &lt;span style=&quot;color: #660033;&quot;&gt;-exec&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-c&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;cd {}; test -r .git/config &amp;amp;&amp;amp; (printf &lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt;\033[1m\033[34m%-50s\033[0m&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\$&lt;/span&gt;{PWD}:&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt; ; git pull $*)&amp;quot;&lt;/span&gt; \;&lt;/div&gt;

&lt;p&gt;When you have &lt;strong&gt;pull.rebase=true&lt;/strong&gt; set in your .gitconfig, you can run &lt;code&gt;./git_pull_all --no-rebase&lt;/code&gt; to avoid rebases in case you work somewhere and want to have the merge commits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.S.:&lt;/strong&gt; The DebConf15 Heidelberg registration just opened, please check &lt;a href=&quot;http://debconf15.debconf.org&quot; title=&quot;DebConf15 Heidelberg home page&quot;&gt;the DebConf15 homepage&lt;/a&gt; for news, venue information and please register if you want to come around.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id=&quot;fn:1&quot;&gt;
&lt;p&gt;Source Code Management Systems, like git, mercurial (hg) or subversion (svn). Or God forbid ... &lt;a href=&quot;https://git.wiki.kernel.org/index.php/LinusTalk200705Transcript&quot; title=&quot;Linus&#039; talk of git with a lot of .... info on cvs; transcript&quot;&gt;cvs&lt;/a&gt;. I don&#039;t like the (D)VCS (Distributed) Version Control Systems moniker. Because that&#039;s not really all these systems do. Not even the most important piece of what they do these days.&amp;#160;&lt;a href=&quot;#fnref:1&quot; rev=&quot;footnote&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id=&quot;fn:2&quot;&gt;
&lt;p&gt;With myrepos you can still work with each individual repository via git. Just so nobody will write in &quot;but...&quot;.&amp;#160;&lt;a href=&quot;#fnref:2&quot; rev=&quot;footnote&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
 
    </content:encoded>

    <pubDate>Thu, 05 Mar 2015 13:30:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/99-guid.html</guid>
    <category>debian</category>
<category>git</category>
<category>scms</category>
<category>script</category>
<category>shell</category>
<category>updated</category>

</item>
<item>
    <title>Apple iPhone ring tones Linux style</title>
    <link>https://daniel-lange.com/archives/59-Apple-iPhone-ring-tones-Linux-style.html</link>
            <category>Open Source</category>
    
    <comments>https://daniel-lange.com/archives/59-Apple-iPhone-ring-tones-Linux-style.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=59</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=59</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Apple has crippled the iPhone to not allow normal music files as ringtones. Business decision. Technically any sub 40 second MP4 audio file will do once you rename it to &lt;code&gt;*.m4r&lt;/code&gt; and drag-and-drop it to the ringtones folder of your phone in iTunes. Longer ones will work, too. But you&#039;d need a jailbroken iPhone for that as iTunes will refuse to transfer the ringtone file if it&#039;s too long. Not much of an issue imho, who keeps ringing your phone for 40 seconds or more?&lt;/p&gt;

&lt;p&gt;There&#039;s a gazillion websites available telling you how to convert a single .mp3-file to a ringtone with or without iTunes help and there are hundreds of tools doing that for you if you can&#039;t find out how to do it with just iTunes itself. Still the ones I tried failed for me as I wanted to convert my 20 or so standard ringtones from the good old Motorola K3 to iPhone ringtones all in one go. Without having to edit each one by hand. They are already nice ringtones and have served me well for years, just too long for the iPhone and in .mp3 format.&lt;/p&gt;

&lt;p&gt;The basic processing sequence needed is&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cut the .mp3 down to 39s&lt;/li&gt;
&lt;li&gt;Convert the .mp3 -&gt; .wav (with mplayer, normalize output gain while we&#039;re at it)&lt;/li&gt;
&lt;li&gt;Convert the .wav -&gt; .mp4 (with facc)&lt;/li&gt;
&lt;li&gt;Clean up, GOTO 1 for next file&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So below is the free shell script to create multiple ringtones in one go on any Linux system. You need to install cutmp3, mplayer and faac for it, so &lt;code&gt;apt-get install cutmp3 mplayer faac&lt;/code&gt; on Debian or Ubuntu. cutmp3 is currently not in the portage tree for Gentoo, but you can download an ebuild from &lt;a href=&quot;http://www.fn-clan.de/downloads/gentoo/poly-c_overlay/media-sound/cutmp3/&quot; title=&quot;Ebuild for cutmp3&quot;&gt;Polynomial-C&#039;s overlay&lt;/a&gt; (&lt;a href=&quot;http://gentoo-overlays.zugaina.org/poly-c/portage/media-sound/cutmp3/&quot; title=&quot;Poly-C mirror at gentoo-overlays.zugaina.org&quot;&gt;mirror&lt;/a&gt;). Or you just download the cutmp3 binary from &lt;a href=&quot;http://www.puchalla-online.de/cutmp3.html&quot; title=&quot;download Cutmp3 from the author&#039;s homepage&quot;&gt;Jochen Puchalla&#039;s homepage&lt;/a&gt;. There&#039;s no error checking in the script, so know your way around the shell before running it.&lt;/p&gt;

&lt;p&gt;Without further ado:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# convert_to_ringtone file1.mp3 [file2.mp3, ...]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Placed into the public domain by Daniel Lange, 2011.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; arg&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Processing &lt;span style=&quot;color: #007800;&quot;&gt;$arg&lt;/span&gt;...&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; cutmp3 &lt;span style=&quot;color: #660033;&quot;&gt;-c&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-a&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;0.0&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-b&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;39.0&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$arg&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-O&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$arg&lt;/span&gt;.tmp&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mplayer&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-vo&lt;/span&gt; null &lt;span style=&quot;color: #660033;&quot;&gt;-vc&lt;/span&gt; null &lt;span style=&quot;color: #660033;&quot;&gt;-af&lt;/span&gt; volnorm &lt;span style=&quot;color: #660033;&quot;&gt;-ao&lt;/span&gt; pcm:fast:&lt;span style=&quot;color: #007800;&quot;&gt;file&lt;/span&gt;=tmpfile.wav &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$arg&lt;/span&gt;.tmp&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; faac &lt;span style=&quot;color: #660033;&quot;&gt;-b&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;128&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-c&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;44100&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-w&lt;/span&gt; tmpfile.wav&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #007800;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$arg&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;s/.mp3//g&#039;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;s/ /_/g&#039;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; tmpfile.m4a &lt;span style=&quot;color: #007800;&quot;&gt;$name&lt;/span&gt;.m4r&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; tmpfile.wav&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$arg&lt;/span&gt;.tmp&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$arg&lt;/span&gt; done.&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Apple 1984 ad. When they we&#039;re thinking different.&quot; href=&#039;http://en.wikipedia.org/wiki/1984_(advertisement)&#039; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:535 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;305&quot; height=&quot;228&quot;  src=&quot;https://daniel-lange.com/uploads/Apple1984.jpg&quot; title=&quot;Apple 1984 ad. When they were thinking differently.&quot; alt=&quot;Wikipedia article on Apple&#039;s 1984 ad.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Update&lt;/h3&gt;

&lt;p&gt;23.12.14 Apparently the faac package in Debian and Ubuntu has had the MP4 writing capability removed in v1.28-5 and later due to a minor license incompatibility. See the &lt;a href=&quot;http://metadata.ftp-master.debian.org/changelogs//non-free/f/faac/&quot; title=&quot;Debian Changelogs for faac&quot;&gt;Debian Changelogs&lt;/a&gt;. Duh.&lt;/p&gt;

&lt;pre&gt;
faac (1.28-5) unstable; urgency=low
  [ Andres Mejia ]
  * Disable mp4v2 support.
    This only disables mp4v2 for the faac utility program. The faac
    utility is GPL-2 but the mp4v2 library is MPL-1.1. The two licenses
    are incompatible with each other.
&lt;/pre&gt;

&lt;p&gt;So ... unfortunately you have to built faac from source yourself or pin the v1.28-4 version which is identical except for the castration anyways.&lt;/p&gt;

&lt;p&gt;Random distro dev: &lt;i&gt;&quot;Why oh why doesn&#039;t my distro ever head mainstream...?&quot;&lt;/i&gt;&lt;br /&gt;
Hint: Because of stuff like this.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sun, 27 Mar 2011 09:55:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/59-guid.html</guid>
    <category>apple</category>
<category>convert</category>
<category>iphone</category>
<category>mp3</category>
<category>mp4</category>
<category>ringtone</category>
<category>script</category>
<category>shell</category>
<category>updated</category>

</item>

</channel>
</rss>
