<?xml version="1.0"?>
<?xml-stylesheet href="http://blogmal.42.org/rss-style.xsl" type="text/xsl"?>
<!-- name="generator" content="blosxom/2.0" -->

<rss version="2.0">
<channel>
<title>Sec, blogmal!   </title>
<link>http://blogmal.42.org</link>
<description>Moment, gleich hab ichs ...</description>
<language>en</language>
<webMaster>sec@42.org</webMaster>

<item><title>Presto now on github</title><link>http://blogmal.42.org/tidbits/presto-github.story</link><category>/tidbits</category><pubDate>Fri, 01 Feb 2013 11:41:03 +0000</pubDate><description>&lt;p&gt;A recent discussion on our IRC channel reminded me of my old tool &lt;code&gt;presto&lt;/code&gt; which can modify the UID of any running process on &lt;a class=&quot;def&quot; href=&quot;http://www.freebsd.org/&quot;&gt;FreeBSD&lt;/a&gt; via write access to &lt;code&gt;/dev/kmem&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Yes, of course this not a security problem, but sometimes this comes in handy - E.g. if you need to promote a running editor to &lt;strong&gt;really&lt;/strong&gt; write that file now.&lt;/p&gt;
&lt;p&gt;I dusted it off, converted the old &lt;a class=&quot;def&quot; href=&quot;https://en.wikipedia.org/wiki/Revision_Control_System&quot;&gt;RCS&lt;/a&gt; to &lt;a class=&quot;def&quot; href=&quot;http://git-scm.com/&quot;&gt;git&lt;/a&gt;, updated it for current FreeBSD versions and put it on &lt;a class=&quot;def&quot; href=&quot;https://github.com/&quot;&gt;github&lt;/a&gt; here: &lt;a href=&quot;https://github.com/Sec42/presto&quot;&gt;https://github.com/Sec42/presto&lt;/a&gt; - so if you want to play around with it - go ahead :-)&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/presto-github.story</guid></item>
<item><title>Youtube nologin the second</title><link>http://blogmal.42.org/tidbits/youtube-nologin-2.story</link><category>/tidbits</category><pubDate>Fri, 11 Jan 2013 09:59:06 +0000</pubDate><description>&lt;p&gt;Youtube changed the way it deals with restricted videos, and thus my &lt;a href=&quot;http://blogmal.42.org/tidbits/youtube-nologin.story&quot;&gt;previous&lt;/a&gt; &lt;a class=&quot;def&quot; href=&quot;https://en.wikipedia.org/wiki/Bookmarklet&quot;&gt;bookmarklet&lt;/a&gt; broke. Here is a fixed version:&lt;/p&gt;
&lt;center&gt; &lt;a href=&quot;javascript:var%20m=/youtube\.com.*?(?:verify_age|watch)\?.*?\bv=([\w-]+)\b/i.exec(decodeURIComponent(document.location.href));if(m!=null){window.location='https://www.youtube.com/v/'+m[1];}&quot;&gt; Youtube nologin &lt;/a&gt;&lt;/center&gt;
&lt;p&gt;As with all bookmarklets, drag that link to your toolbar, and click it later as you need it.&lt;/p&gt;
&lt;p&gt;And here is a new video to test it on: &lt;a href=&quot;https://www.youtube.com/watch?v=P99qJGrPNLs&quot;&gt;Cyberpunk 2077 Teaser&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/youtube-nologin-2.story</guid></item>
<item><title>Mime-Decoder Bookmarklet</title><link>http://blogmal.42.org/misc/mime-bookmarklet.story</link><category>/misc</category><pubDate>Thu, 22 Nov 2012 13:52:53 +0000</pubDate><description>&lt;p&gt;&lt;a href=&quot;https://twitter.com/nixspam&quot;&gt;@nixspam&lt;/a&gt; wollte mime-strings im Browser decoded haben, da hab ich schnell mal ein Bookmarklet daf&amp;#252;r gebastelt. Vermutlich interessiert das kaum jemand anderen, aber hier ists gut aufgehoben und ich finde es bei Bedarf auch wieder:&lt;/p&gt;
&lt;h4&gt;&lt;a id=&quot;TestStrings&quot;&gt;&lt;/a&gt;Test strings:&lt;/h4&gt;
&lt;pre class=code&gt;&lt;code&gt;&amp;quot;=?UTF-8?B?44GC44GE?=&amp;quot;
&amp;quot;=?UTF-8?Q?=E3=81=82=E3=81=84?=&amp;quot;
Subject: =?utf-8?Q?10=20?= =?utf-8?Q?=E2=82=AC=20Gutschein!?=
&lt;/code&gt;&lt;/pre&gt;
Decode these with this &lt;a title=&quot;Bookmarklet by @42Sec &amp;lt;sec&amp;#64;42.org&amp;gt;, parts of this Code are from strutil.js (c) Satoru Takabayashi licenced under GPLv2.&quot; href=&quot;javascript:(function(){var%20t=61;var%20d=63;function%20c(B){var%20w=[];var%20A=0;var%20y=0;for(var%20x=0;x&amp;lt;B.length;++x){var%20z=B[x];if(z&amp;gt;=256){}else{if((z&amp;amp;192)==128){if(y&amp;gt;0){A=(A&amp;lt;&amp;lt;6)|(z&amp;amp;63);y-=1}else{}}else{if(y==0){w.push(A)}else{}if(z&amp;lt;128){A=z;y=0}else{if((z&amp;amp;224)==192){A=z&amp;amp;31;y=1}else{if((z&amp;amp;240)==224){A=z&amp;amp;15;y=2}else{if((z&amp;amp;248)==240){A=z&amp;amp;7;y=3}else{}}}}}}}if(y==0){w.push(A)}else{}w.shift();return%20w}function%20q(w){var%20z=[];for(var%20y=0;y&amp;lt;w.length;++y){var%20B=w[y];if(B&amp;lt;(1&amp;lt;&amp;lt;16)){z.push(B)}else{var%20A=((B-(1&amp;lt;&amp;lt;16))/(1&amp;lt;&amp;lt;10))+55296;var%20x=(B%(1&amp;lt;&amp;lt;10))+56320;z.push(A);z.push(x)}}return%20z}var%20g=%22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/%22;function%20b(B){var%20A=[];var%20C=[];for(var%20x=0;x&amp;lt;B.length;x+=4){C.length=0;for(var%20w=x;w&amp;lt;x+4;++w){var%20z=B.charAt(w);if(z==%22=%22||z==%22%22){break}var%20y=g.indexOf(z);if(y&amp;gt;=64){break}C.push(y)}if(C.length==1){}else{if(C.length==2){A.push((C[0]&amp;lt;&amp;lt;2)|(C[1]&amp;gt;&amp;gt;4))}else{if(C.length==3){A.push((C[0]&amp;lt;&amp;lt;2)|(C[1]&amp;gt;&amp;gt;4));A.push(((C[1]&amp;amp;15)&amp;lt;&amp;lt;4)|(C[2]&amp;gt;&amp;gt;2))}else{if(C.length==4){A.push((C[0]&amp;lt;&amp;lt;2)|(C[1]&amp;gt;&amp;gt;4));A.push(((C[1]&amp;amp;15)&amp;lt;&amp;lt;4)|(C[2]&amp;gt;&amp;gt;2));A.push(((C[2]&amp;amp;3)&amp;lt;&amp;lt;6)|(C[3]))}}}}}return%20A}function%20u(z,x){var%20y=[];for(var%20w=0;w&amp;lt;z.length;){if(z.charAt(w)==x){y.push(parseInt(z.substr(w+1,2),16));w+=3}else{y.push(z.charCodeAt(w));++w}}return%20y}function%20v(w){w=w.replace(/_/g,%22%20%22);return%20u(w,%22=%22)}function%20l(x){var%20y=%22%22;for(var%20w=0;w&amp;lt;x.length;++w){y+=String.fromCharCode(x[w])}return%20y}function%20m(w){var%20x=q(w);return%20l(x)}function%20p(z,x,w){var%20y=z[x];if(!y){y=w}return%20y}var%20e=/^=\?([^?]+)\?([BQ])\?([^?]+)\?=$/;var%20f=/^=\?([^?]+)\?([BQ])\?([^?]+)\?=/;function%20s(w){return%20w.match(e)!=null}function%20r(A){var%20w=A.match(e);if(w){var%20B=w[1];B=B.replace(/\*.*$/,%22%22);var%20x=w[2];var%20y=w[3];var%20z;if(x==%22B%22){z=b(y)}else{if(x==%22Q%22){z=v(y)}}if(B!=%22%22&amp;amp;&amp;amp;z){return[B,z]}}return[]}var%20h={UTF8:c};function%20j(z,y){var%20x=o(y);var%20w=h[x];if(w){return%20w(z)}return[]}function%20i(y){for(var%20w=0;w&amp;lt;y.length;++w){var%20x=y.charCodeAt(w);if(!(x==9||x==10||x==13||x==32)){return%20false}}return%20true}function%20n(z){var%20y=[];var%20x=%22%22;while(z!=%22%22){var%20w=z.match(f);if(w){if(!i(x)){y.push(x)}x=%22%22;y.push(w[0]);z=z.substr(w[0].length)}else{x+=z.charAt(0);z=z.substr(1)}}if(!i(x)){y.push(x)}return%20y}function%20o(w){return%20w.toUpperCase().replace(/[_-]/g,%22%22)}function%20a(C){var%20A=n(C);var%20z=%22%22;for(var%20x=0;x&amp;lt;A.length;++x){if(s(A[x])){var%20B=r(A[x]);if(B.length==0){z+=A[x];continue}var%20y=o(B[0]);var%20D=B[1];var%20w=j(D,y);if(w.length&amp;gt;0){z+=m(w)}else{z+=A[x]}}else{z+=A[x]}}return%20z}function%20k(E){var%20z,y,D,B,C,w;if(E.nodeType==3){E.data=E.data.replace(/=\?[^?]+\?([BQ])\?[^?]+\?=/gi,function(x){return%20a(x)})}else{if(E.tagName!=%22STYLE%22&amp;amp;&amp;amp;E.tagName!=%22SCRIPT%22&amp;amp;&amp;amp;E.tagName!=%22A%22){for(C=0;w=E.childNodes[C];++C){k(w)}}}}document.body.normalize();k(document.body)})();&quot;&gt;Decode-Bookmarklet&lt;/a&gt;.
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/misc/mime-bookmarklet.story</guid></item>
<item><title>Die unsichtbare Schildkröte</title><link>http://blogmal.42.org/misc/unsichtbare-schildkroete.story</link><category>/misc</category><pubDate>Thu, 15 Nov 2012 11:14:11 +0000</pubDate><description>&lt;p&gt;Neulich hab ich mich an den Satz &lt;q&gt;Sie stolpern &amp;#252;ber eine tote unsichtbare Schildkr&amp;#246;te&lt;/q&gt; erinnert. Vielen Rollenspielern ist dieser Satz vermutlich noch in Erinnerung &amp;#8211; er stammt aus einer der Patzertabellen des (Pen&amp;amp;Paper) Rollenspiels &lt;a class=&quot;def&quot; href=&quot;https://de.wikipedia.org/wiki/MERS&quot;&gt;MERS&lt;/a&gt;. Damals ging schon das Ger&amp;#252;cht um, der Satz basiere auf einem &amp;#220;bersetzungsfehler, drum hab ich gestern mal nachgeschaut &amp;#8211; Das Internet wei&amp;#223; schlie&amp;#223;lich alles.&lt;/p&gt;
&lt;p&gt;Die deutsche Version:&lt;/p&gt;
&lt;div class=&quot;subbox&quot;&gt; &lt;center&gt;&lt;b&gt;FT-1 - Patzertabelle Nahkampfwaffen&lt;/b&gt;&lt;/center&gt;&lt;br&gt;&lt;b&gt;97-99&lt;/b&gt;: &lt;q&gt;Sie stolpern &amp;#252;ber eine tote, unsichtbare Schildkr&amp;#246;te. Dies verwirrt Sie sehr und Sie sind 3 Runden lang benommen.&lt;/q&gt; &lt;div align=right style=&quot;font-size: xx-small&quot;&gt; &lt;a href=&quot;http://home.arcor.de/skell/doc_dateien/Patzer.xls&quot;&gt;Quelle&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;und im Original:&lt;/p&gt;
&lt;div class=&quot;subbox&quot;&gt; &lt;center&gt;&lt;b&gt;FT-1 - Hand Arms Fumble Table&lt;/b&gt;&lt;/center&gt;&lt;br&gt;&lt;b&gt;97-99&lt;/b&gt;: &lt;q&gt;Stumble over an unseen, imaginary, deceased turtle. You are very confused. Stunned 3 rounds.&lt;/q&gt; &lt;div align=right style=&quot;font-size: xx-small&quot;&gt; &lt;a href=&quot;http://www.scribd.com/doc/43724279/10499120-Middle-Earth-Role-Playing-MERP-Game-Rulebook-2nd-Edition&quot;&gt;Quelle&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Da gef&amp;#228;llt mir die deutsche Version doch deutlich besser ;)&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/misc/unsichtbare-schildkroete.story</guid></item>
<item><title>Youtube and verify_age</title><link>http://blogmal.42.org/tidbits/youtube-nologin.story</link><category>/tidbits</category><pubDate>Mon, 12 Nov 2012 11:18:47 +0000</pubDate><description>&lt;p&gt;While watching some the awseome &lt;a class=&quot;def&quot; href=&quot;http://www.gearboxsoftware.com/&quot;&gt;Gearbox&lt;/a&gt; &lt;a href=&quot;http://www.borderlands2.com/us/&quot;&gt;Borderlands 2&lt;/a&gt; videos (like &lt;a href=&quot;https://www.youtube.com/watch?v=nicvyhrmTDs&quot;&gt;this&lt;/a&gt; one), I kept getting these annoying &lt;q&gt;Sign in to view this video&lt;/q&gt; gateway pages. If you want to view them anyway without logging in, you can use this &lt;a class=&quot;def&quot; href=&quot;https://en.wikipedia.org/wiki/Bookmarklet&quot;&gt;bookmarklet&lt;/a&gt; I cobbled together:&lt;/p&gt;
&lt;center&gt; &lt;a href=&quot;javascript:var%20m=/youtube\.com.*?verify_age\?.*?\bv=([\w-]+)\b/i.exec(decodeURIComponent(document.location.href));if(m!=null){window.location='https://www.youtube.com/v/'+m[1];}&quot;&gt; Youtube nologin &lt;/a&gt;&lt;/center&gt;
&lt;p&gt;As with all bookmarklets, drag that link to your toolbar, and click it later as you need it.&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/youtube-nologin.story</guid></item>
<item><title>Er druckt nicht!</title><link>http://blogmal.42.org/tidbits/ubuntu-precise-printing.story</link><category>/tidbits</category><pubDate>Wed, 09 May 2012 16:18:58 +0000</pubDate><description>&lt;p&gt;&lt;/p&gt;
&lt;div class=subbox&gt;&lt;strong&gt;Update&lt;/strong&gt;: Inzwischen gab es ein CUPS-update, und jetzt druckts auch wieder. Ich lass den Artikel trotzdem mal hier stehen als Anleitung wie man ein Paket festnagelt&amp;#8230;&lt;/div&gt;
&lt;p&gt;&lt;a class=&quot;def&quot; href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt; 12.04 (auch &lt;a class=&quot;def&quot; href=&quot;https://wiki.ubuntu.com/DevelopmentCodeNames&quot;&gt;Precise Pangolin&lt;/a&gt; genannt) hat derzeit ein kleines Druckproblem.&lt;/p&gt;
&lt;p&gt;Hintergrund ist das Upgrade von &lt;a class=&quot;def&quot; href=&quot;http://www.cups.org/&quot;&gt;cups&lt;/a&gt; 1.5.0 auf 1.5.2 das wohl bei verschiedenen Leuten Probleme ausl&amp;#246;st: z.B. &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/cups/+bug/995111&quot;&gt;hier&lt;/a&gt; und &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/cups/+bug/992468&quot;&gt;hier&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Die kurzfristige L&amp;#246;sung ist ein downgrade auf die alte cups Version. Der Trick dabei ist, das man die aus dem Repository der vorherigen Ubuntu-Version (11.04, oneiric) holen muss.&lt;/p&gt;
&lt;p&gt;Also einmal das alte Repo hinzuf&amp;#252;gen.&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt;/etc/apt/sources.list.d/old-packages.list
deb http://de.archive.ubuntu.com/ubuntu/ oneiric main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ oneiric main restricted
EOF
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und dann die cups-version festnageln.&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;cat &amp;lt;&amp;lt; EOF &amp;gt;/etc/apt/preferences.d/cups
Package: cups
Pin: version 1.5.0-8
Pin-Priority: 1001
EOF
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ein schnelles:&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;apt-get update; apt-get install cups
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;bringt einem dann die alte cups-version und wieder funktionierendes Drucken ein.&lt;/p&gt;
&lt;p&gt;Wer das (sp&amp;#228;ter) wieder loswerden will, ein &lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;rm /etc/apt/sources.list.d/old-packages.list /etc/apt/preferences.d/cups
apt-get update; apt-get upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;sollte alles wieder in den Ursprungszustand versetzen.&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/ubuntu-precise-printing.story</guid></item>
<item><title>Liptauer Rezept</title><link>http://blogmal.42.org/pastimes/liptauer.story</link><category>/pastimes</category><pubDate>Mon, 12 Dec 2011 15:27:25 +0000</pubDate><description>&lt;p&gt;Auch wenn keiner danach gefragt hat, ich wollte das Rezept f&amp;#252;r den Brotaufstrich den ich auf H&amp;#246;nis Feier mitgebracht habe noch festhalten.&lt;/p&gt;
&lt;p&gt;Hab ihn nach l&amp;#228;ngerem suchen (&lt;q&gt;Das Haus verliert nichts&lt;/q&gt;) in einem alten B&amp;#252;chlein von mir gefunden. Nennt sich Liptauer und ist f&amp;#252;r mich ein untrennbare &amp;#246;sterreichische Erinnerung.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th align=&quot;left&quot;&gt;&lt;/th&gt;
&lt;th align=&quot;left&quot;&gt;&lt;/th&gt;
&lt;th align=&quot;left&quot;&gt;Liptauer&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;250g&lt;/td&gt;
&lt;td&gt;Topfen (alternativ: Magerquark)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;2 TL&lt;/td&gt;
&lt;td&gt;K&amp;#252;mmel (gemahlen)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;2 TL&lt;/td&gt;
&lt;td&gt;Paprika (Edels&amp;#252;&amp;#223;, gemahlen)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;3-4&lt;/td&gt;
&lt;td&gt;Essiggurken (fein gehackt)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;ca. 10&lt;/td&gt;
&lt;td&gt;Kapern (fein gehackt)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;
&lt;td&gt;Zwiebel (fein gehackt)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td&gt;Tomatenmark&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td&gt;Senf (Estragon)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td&gt;Pfeffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;&lt;/td&gt;
&lt;td&gt;Salz (wenig)&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Und nun viel Spa&amp;#223; beim nachmachen.&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/pastimes/liptauer.story</guid></item>
<item><title>Arte Video download</title><link>http://blogmal.42.org/tidbits/arte-video-download.story</link><category>/tidbits</category><pubDate>Tue, 29 Mar 2011 09:14:53 +0000</pubDate><description>&lt;p&gt;&lt;a href=&quot;http://blog.fefe.de/&quot;&gt;Fefe&lt;/a&gt; bloggt in letzter Zeit lauter Links in die Arte Mediathek. Leider gibt es den Kram dort nur gestreamt, und nicht zum runteladen.&lt;/p&gt;
&lt;p&gt;Daf&amp;#252;r gibt es zwar das praktische &lt;a href=&quot;http://rtmpdump.mplayerhq.hu/&quot;&gt;rtmpdump&lt;/a&gt;, aber man muss immer noch die URL des Streams rausfummeln.&lt;/p&gt;
&lt;p&gt;Zus&amp;#228;tzlich dazu gibt es noch eine pseudo-Security in der der Client einen passenden Hash mitschicken muss, sonst bricht der Stream nach kurzer Zeit ab.&lt;/p&gt;
&lt;p&gt;Weil mich das schon beim zweiten mal genervt hat, hab&amp;#39; ich ein kleines Script geschrieben, was sich f&amp;#252;r einen durch die .xmls wuselt, und die passende Kommandozeile f&amp;#252;r rtmpdump zusammenbastelt.&lt;/p&gt;
&lt;p&gt;Die komfortable Version ist ein &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/&quot;&gt;Greasemonkey&lt;/a&gt;-Script &lt;a href=&quot;http://blogmal.42.org/tidbits/arte-video-download/arte_rtmpdump.user.js&quot;&gt;arte_rtmpdump.user.js&lt;/a&gt; das beim betreten der Mediathek-Seiten einfach in einem kleinen Window den passenden Aufruf von rtmpdump anzeigt.&lt;/p&gt;
&lt;p&gt;Wer nicht so auf Browser-Integration steht kann mein kleines &lt;a class=&quot;def&quot; href=&quot;http://www.perl.org/&quot;&gt;perl&lt;/a&gt;-script &lt;a href=&quot;http://blogmal.42.org/tidbits/arte-video-download/arte_rtmpdump.pl&quot;&gt;arte_rtmpdump.pl&lt;/a&gt; nehmen, das braucht allerdings noch &lt;a href=&quot;http://search.cpan.org/dist/XML-LibXML/&quot;&gt;XML::LibXML&lt;/a&gt; und mein &lt;a href=&quot;http://blogmal.42.org/tidbits/arte-video-download/GET.pm&quot;&gt;GET.pm&lt;/a&gt; als Module.&lt;/p&gt;
&lt;p&gt;Happy downloading&amp;#8230;&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I fixed arte_rtmpdump.pl to now only require the Mediathek URL on the commandline and work from there. So no more checking the source :-)&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/arte-video-download.story</guid></item>
<item><title>The tale of a TCP bug</title><link>http://blogmal.42.org/tidbits/tcp-bug.story</link><category>/tidbits</category><pubDate>Thu, 24 Mar 2011 13:43:12 +0000</pubDate><description>&lt;p&gt;The following post is a bit longish, and details my foray into the &lt;a class=&quot;def&quot; href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Bsd&quot;&gt;BSD&lt;/a&gt; TCP/&lt;a class=&quot;def&quot; href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Internet_Protocol_Suite&quot;&gt;IP&lt;/a&gt; stack debugging and finding what I think is a 15-year old bug.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blogmal.42.org/tidbits/tcp-bug.story&quot;&gt;Read more ...&lt;/a&gt;</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/tcp-bug.story</guid></item>
<item><title>Why I would never buy a Dell PowerConnect 2724</title><link>http://blogmal.42.org/tidbits/no-dell-2724.story</link><category>/tidbits</category><pubDate>Thu, 17 Mar 2011 09:07:25 +0000</pubDate><description>&lt;p&gt;At work, we acquired the above mentioned 24Port switch from Dell. It supports a so called &lt;q&gt;managed mode&lt;/q&gt; (needs to be enabled by poking into a hole on the switch with a paperclip).&lt;/p&gt;
&lt;p&gt;Enabling that sets the switch IP to 192.168.2.1/24 &amp;#8211; with no way to change that. So far so annoying. Ok, I can configure an alias on my Ethernet to connect to that.&lt;/p&gt;
&lt;p&gt;When you do that, don&amp;#39;t be impatient, the IP needs ages to come up, but eventually you will be able to ping it.&lt;/p&gt;
&lt;p&gt;I was a bit surprised that it actually only supports http on port :80, no https, no ssh, no telnet and no snmp. &amp;#8211; But ok, lets log in via http.&lt;/p&gt;
&lt;p&gt;The login page is not only a &amp;lt;frameset&amp;gt; (well, it came out 2005, but was that really necessary?), but only works with javascript: &amp;#8211; WTF?&lt;/p&gt;
&lt;p&gt;Trying to login with the default credentials (user admin, empty password) results in a Error message &lt;q&gt;User name or Password is missing&lt;/q&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blogmal.42.org/tidbits/no-dell-2724.story&quot;&gt;Gory details about this bug...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: Their TCP/HTTP code is &lt;strong&gt;broken&lt;/strong&gt;, and their support doesn&amp;#39;t know it.&lt;/p&gt;
&lt;p&gt;Have fun.&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/no-dell-2724.story</guid></item>
<item><title>Patching Android Apps</title><link>http://blogmal.42.org/rev-eng/patching-android-apps.story</link><category>/rev-eng</category><pubDate>Mon, 14 Mar 2011 13:46:35 +0000</pubDate><description>&lt;p&gt;How to patch an Android application:&lt;/p&gt;
&lt;p&gt;First off, some basics. Android applications are delivered in a single .apk file. This is simply a differently-named .zip file, so any common zip tool should be able to unpack it. Inside you will usually find all the resources (images, sounds) and (among other things) a file called classes.dex which contains the code for that application. This is bytecode for the dalvik VM. You can disassemble this bytecode into something you could call &lt;q&gt;android assembler&lt;/q&gt;. Compared to &lt;q&gt;real&lt;/q&gt; assembler code, this is pretty high-level, but still nothing like a high-level language like java. As method and member names are preserved, it is usually fairly easy to understand unless the author used an obfuscator before release (In that case, all your methods will be named a, b, c...).&lt;/p&gt;
&lt;p&gt;To follow this example along, you need a few tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Your favourite editor&lt;/li&gt;
&lt;li&gt;A simple zip/unzip utility (commandline or &lt;a href=&quot;http://www.7-zip.org/&quot;&gt;7zip&lt;/a&gt; or similar gui tool)&lt;/li&gt;
&lt;li&gt;An android assembler/disassembler
&lt;ul&gt;
&lt;li&gt;The best one currently is &lt;a href=&quot;http://jf.andblogs.net/&quot;&gt;JesusFreke&lt;/a&gt;&amp;#39;s smali/baksmali which you can get here: &lt;a href=&quot;https://code.google.com/p/smali/&quot;&gt;https://code.google.com/p/smali/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A way to sign your zip file.
&lt;ul&gt;
&lt;li&gt; For a quick&amp;amp;dirty hack, &lt;a href=&quot;http://forum.xda-developers.com/attachment.php?attachmentid=307505&amp;amp;d=1270995314&quot;&gt;SignApk&lt;/a&gt; is easy to use, but you can also use &lt;a href=&quot;http://download.oracle.com/javase/1.3/docs/tooldocs/win32/jarsigner.html&quot;&gt;jarsigner&lt;/a&gt; if you&amp;#39;re already familiar with it. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Not to forget a working java installation. Smali/baksmali and signapk/jarsigner both require it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As a simple example, we&amp;#39;ll be removing the focus sound from the android camera. &amp;#8211; As we&amp;#39;ll be replacing a &lt;q&gt;builtin&lt;/q&gt; app, you will need root access to your phone. &lt;/p&gt;
&lt;p&gt;&lt;ol&gt;&lt;li&gt; First, get a copy of the .apk you intend to change. In our case, we grab it from our phone with:&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;adb pull /system/app/Camera.apk
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;li&gt; Then, we need to get the &lt;code&gt;classes.dex&lt;/code&gt; file from it&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;unzip Camera.apk classes.dex
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;li&gt; Now we run the disassembler. The output will be in the &lt;code&gt;out/&lt;/code&gt; subdirectory.&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;java -jar baksmali-1.2.6.jar classes.dex
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can peek around the &lt;code&gt;out/&lt;/code&gt; subdir where all the code is. Change whatever you want.&lt;/p&gt;
&lt;p&gt;&lt;li&gt; In our case, the file we need to edit is: &lt;code&gt;com/android/camera/Camera$AutoFocusCallback.smali&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To remove the focus sound, look for a line containing &lt;q&gt;&lt;code&gt;invoke-virtual&lt;/code&gt;&lt;/q&gt; and &lt;q&gt;&lt;code&gt;-&amp;gt;startTone&lt;/code&gt;&lt;/q&gt;. In my version it looks like this:&lt;/p&gt;
&lt;pre class=cmdout&gt;&lt;code&gt;invoke-virtual {v0, v1}, Landroid/media/ToneGenerator;-&amp;gt;startTone(I)Z&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Just delete that line.&lt;/p&gt;
&lt;p&gt;&lt;li&gt; After you&amp;#39;re done, we need to put it all back together into an &lt;code&gt;.apk&lt;/code&gt;. First we re-assemble the code into a classes.dex:&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;java -jar smali-1.2.6.jar out -o classes.dex
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;li&gt; Put that file back into the &lt;code&gt;.apk&lt;/code&gt; with&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;zip Camera.apk classes.dex
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;li&gt; Because we changed the contents, we now need to re-sign it. If you&amp;#39;re using signapk, do this:&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;java -jar signapk.jar testkey.x509.pem testkey.pk8 Camera.apk Camera_signed.apk
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;li&gt; Last but not least, we need to install our new &lt;code&gt;.apk&lt;/code&gt;. Because it&amp;#39;s a system app, we need to actually replace the file like this:&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;adb remount
adb push Camera_signed.apk /system/app/Camera.apk
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If it were a normal app, you would simply uninstall the original, and then install the &lt;code&gt;.apk&lt;/code&gt; like any other app. (e.g. with &lt;code&gt;adb install foo.apk&lt;/code&gt;)&lt;br /&gt;&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;After you reboot your phone, your Camera should now be less noisy. Yay!&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
&lt;p&gt;P.S.: If you want to remove the &lt;q&gt;shutter&lt;/q&gt; sound instead, check &lt;a href=&quot;http://forum.xda-developers.com/showthread.php?t=955589&quot;&gt;this thread&lt;/a&gt; on xda-developers.com. Basically it boils down to:&lt;/p&gt;
&lt;pre class=cmdx&gt;&lt;code&gt;adb remount
adb shell rm /system/media/audio/ui/camera_click.ogg 
&lt;/code&gt;&lt;/pre&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/rev-eng/patching-android-apps.story</guid></item>
<item><title>Bye bye matrix (oder: Onkel Sec erzählt vom Krieg)</title><link>http://blogmal.42.org/misc/bye-bye-matrix.story</link><category>/misc</category><pubDate>Sat, 12 Mar 2011 15:57:46 +0000</pubDate><description>&lt;p&gt;Als alter J&amp;#228;ger und Sammler trenne ich mich eher ungern von Dingen. &lt;q&gt;Kann man vielleicht noch mal brauchen&lt;/q&gt; oder &lt;q&gt;Ist ja eigentlich noch gut&lt;/q&gt;. &amp;#8211; Manchmal spielt auch eine gewisse Sentimentalit&amp;#228;t mit rein, so wie in diesem Fall:&lt;/p&gt;
&lt;div style=&quot;font-size: large;&quot;&gt; &amp;lt;inerinnerungschwelg&amp;gt;&lt;/div&gt;
&lt;div style=&quot;float: left; padding-right: 20px; padding-top: 10px; text-align: center;&quot;&gt; &lt;img src=&quot;http://blogmal.42.org/misc/bye-bye-matrix/matrix-bye.jpg&quot; alt=&quot;Bild: random image&quot;/&gt; &lt;br /&gt;&lt;small&gt;(Matrix)&lt;/small&gt;&lt;/div&gt;
&lt;div&gt; Matrix war mein zweiter PC &amp;#252;berhaupt. Den ersten hatte ich nach nur einem Jahr an meine Mutter weiter&amp;quot;verkauft&amp;quot;. Leute die &amp;#228;hnlich alt sind wie ich, werden vielleicht das &lt;a class=&quot;def&quot; href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Luigi_Colani&quot;&gt;Colani&lt;/a&gt;-Design erkennen &amp;#8211; Richtig: Der Rechner stammt von &lt;a class=&quot;def&quot; href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Vobis&quot;&gt;Vobis&lt;/a&gt; (Das war deren zweite Generation von Colani-Rechnern, die erste Generation hatte noch nicht dies &amp;#39;T&amp;#252;rchen&amp;#39;, sondern tats&amp;#228;chlich runde Slotblenden, sogar f&amp;#252;rs CD-Rom) [Colani hab ich sogar Jahre sp&amp;#228;ter mal getroffen, aber das ist eine andere Geschichte...]&lt;/div&gt;
&lt;p&gt;Es war der erste Rechner auf dem ich ein Unix (&lt;a class=&quot;def&quot; href=&quot;http://www.freebsd.org/&quot;&gt;FreeBSD&lt;/a&gt; 2.0.5, damals) installiert habe. Den ich auch zu diversen LAN-Parties (Yay! &lt;a class=&quot;def&quot; href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Doom_%28video_game%29&quot;&gt;DOOM&lt;/a&gt;!) geschleppt habe. (Netzwerk: IPX &amp;#252;ber BNC, was f&amp;#252;r ein Spa&amp;#223; bei der obligatorischen Fehlersuche &lt;strong&gt;shiver&lt;/strong&gt;).  Sp&amp;#228;ter hat er mir noch viele Jahre als Mail/Shellserver gute Dienste geleistet, bis er doch irgendwann durch modernere Hardware abgel&amp;#246;st wurde.&lt;/p&gt;
&lt;p&gt;Matrix ist ein 486DX2-66. Damals eine sagenhafte Rechenleistung. Konnte sogar mp3 in Echtzeit abspielen. Gekauft urspr&amp;#252;nglich mit 8MB RAM. Damit &lt;a class=&quot;def&quot; href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/X_Window_System&quot;&gt;X11&lt;/a&gt; gut lief kamen 16MB dazu (Finanziert durch den &amp;#39;gl&amp;#252;cklichen&amp;#39; Verkauf einer der 4MB-Riegel, aber auch das ist eine andere Geschichte...). Sp&amp;#228;ter, als das RAM deutlich billiger wurde, wurden es dann insgesamt 52MB. Da ist selbst eine &lt;a href=&quot;http://www.plugapps.com/index.php5/Hardware:_Seagate_Dockstar&quot;&gt;Dockstar&lt;/a&gt; besser ausgestattet :)&lt;/p&gt;
&lt;p&gt;Achja. &lt;a class=&quot;def&quot; href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/VESA_Local_Bus&quot;&gt;Vesa Local Bus&lt;/a&gt;. Hab ich damals nur gekauft weil die &lt;a href=&quot;http://www.heise.de/ct/&quot;&gt;C&amp;#39;t&lt;/a&gt; damals lauthals verk&amp;#252;ndet hatte, &lt;a class=&quot;def&quot; href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Peripheral_Component_Interconnect&quot;&gt;PCI&lt;/a&gt; sei viel zu kompliziert, das k&amp;#246;nne sich niemals durchsetzen, VLB sei &lt;q&gt;the way to go&lt;/q&gt;. Hab dann seinerzeit sogar einen VLB-SCSI-Controller erstanden (&amp;#252;ber Usenet, kennt das noch wer? :) Sieht so aus als g&amp;#228;be es keine spur mehr von dem Artikel in &lt;a href=&quot;https://groups.google.com/&quot;&gt;google groups&lt;/a&gt; &amp;#8211; Aber das war vermutlich auch in einer &lt;a href=&quot;http://www.in.tum.de/&quot;&gt;TU&lt;/a&gt;-Internen Newsgroup&amp;#8230;&lt;/p&gt;
&lt;div style=&quot;font-size: large;&quot;&gt; &amp;lt;/inerinnerungschwelg&amp;gt;&lt;/div&gt;
&lt;p&gt;So oder so bin ich beim rum-r&amp;#228;umen wieder &amp;#252;ber den Rechner gestolpert, und ihn jetzt doch entsorgt. &lt;/p&gt;
&lt;p&gt;Farewell &lt;strong&gt;matrix.42.org&lt;/strong&gt; *schnueff*&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/misc/bye-bye-matrix.story</guid></item>
<item><title>Still more Beopardy</title><link>http://blogmal.42.org/misc/beopardy-2010.story</link><category>/misc</category><pubDate>Thu, 24 Feb 2011 16:52:56 +0000</pubDate><description>&lt;p&gt;As a few people have asked again about my the code used to run &lt;q&gt;Hacker Jeopardy&lt;/q&gt; on the &lt;a href=&quot;http://events.ccc.de/congress/2010/&quot;&gt;27c3&lt;/a&gt; - not much has changed since my last posting &lt;a href=&quot;http://blogmal.42.org/misc/beopardy-2006.story&quot;&gt;4 years ago&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The code is mostly unchanged, and bit-rotting away.  &amp;#8211; It now lives inside a virtual machine because I got tired of fighting with X11 fonts and PerlTK setup.&lt;/p&gt;
&lt;p&gt;The only new feature it gained since 2006 is the last-minute support for &lt;q&gt;moods&lt;/q&gt;. It addresses 4 of our &lt;a href=&quot;https://wiki.muc.ccc.de/moodlamp&quot;&gt;moodlamps&lt;/a&gt; to provide feedback for the candidates and, well, just look nice :-)&lt;/p&gt;
&lt;p&gt;The code with slightly more up-to-date documentation can be found &lt;a href=&quot;http://www.42.org/~sec/B/beopardy-2010/&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You&amp;#39;ll still need the Hardware to manage the buzzers &amp;#8211; see the &lt;a href=&quot;http://blogmal.42.org/misc/beopardy-2006.story&quot;&gt;old post&lt;/a&gt; for more info about that part.&lt;/p&gt;
&lt;p&gt;The question files are not public, just because we want to have the option to recycle some questions now and then.&lt;/p&gt;
&lt;p&gt;This will also probably be the last version of that code, it has grown lots of warts, is no fun to maintain and a complete rewrite is in progress. Let&amp;#39;s hope it is finished in time.&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/misc/beopardy-2010.story</guid></item>
<item><title>Math symbols</title><link>http://blogmal.42.org/tidbits/logicals.story</link><category>/tidbits</category><pubDate>Mon, 14 Feb 2011 16:08:45 +0000</pubDate><description>
&lt;p&gt;Not very exciting news, but as a result of a recent discussion on Math symbols:&lt;/p&gt;
&lt;table class=&quot;logic logic1&quot;&gt; &lt;tr class=logicheader&gt;&lt;th&gt;Oper&lt;/th&gt;&lt;th&gt;C&lt;/th&gt;&lt;th&gt;Logic&lt;/th&gt;&lt;th&gt;Other&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;NOT &lt;/th&gt;&lt;td&gt;!&lt;/td&gt;&lt;td&gt;&amp;#172;&lt;/td&gt;&lt;td&gt;~&lt;/td&gt;         &lt;/tr&gt; &lt;tr&gt;&lt;th&gt;AND &lt;/th&gt;&lt;td&gt;&amp;amp;&lt;/td&gt;&lt;td&gt;&amp;#8743;&lt;/td&gt;&lt;td class=big&gt;&amp;#8901; / &amp;#183;&lt;/td&gt;    &lt;/tr&gt; &lt;tr&gt;&lt;th&gt;OR  &lt;/th&gt;&lt;td&gt;|&lt;/td&gt;&lt;td&gt;&amp;#8744;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;        &lt;/tr&gt; &lt;tr&gt;&lt;th&gt;XOR &lt;/th&gt;&lt;td&gt;^&lt;/td&gt;&lt;td class=big&gt;&amp;#8891;&lt;/td&gt;&lt;td&gt;&amp;#8853;&lt;/td&gt;        &lt;/tr&gt; &lt;tr&gt;&lt;th&gt;NAND&lt;/th&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=big&gt;&amp;#8892;&lt;/td&gt;&lt;td&gt;&amp;#8593;&lt;/td&gt;        &lt;/tr&gt; &lt;tr&gt;&lt;th&gt;NOR &lt;/th&gt;&lt;td&gt; &lt;/td&gt;&lt;td class=big&gt;&amp;#8893;&lt;/td&gt;&lt;td&gt;&amp;#8595;&lt;/td&gt;        &lt;/tr&gt; &lt;tr&gt;&lt;th&gt;IMP &lt;/th&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt;&amp;#8594;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;In case you need to use them anywhere, these are the codes:&lt;/p&gt;
&lt;table class=&quot;logic logic2&quot;&gt; &lt;tr class=logicheader&gt;&lt;th&gt;Oper&lt;/th&gt;&lt;th&gt;C&lt;/th&gt;&lt;th&gt;Logic&lt;/th&gt;&lt;th&gt;Other&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;NOT &lt;/th&gt;&lt;td&gt;U+0021&lt;/td&gt;      &lt;td&gt;U+00AC &amp;amp;not;&lt;/td&gt;&lt;td&gt;U+007E &amp;amp;tilde;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;AND &lt;/th&gt;&lt;td&gt;U+0026 &amp;amp;amp;&lt;/td&gt;&lt;td&gt;U+2227 &amp;amp;and;&lt;/td&gt;&lt;td&gt;U+2022 U+00B7&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;OR  &lt;/th&gt;&lt;td&gt;U+007C&lt;/td&gt;      &lt;td&gt;U+2228 &amp;amp;or;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;XOR &lt;/th&gt;&lt;td&gt; &lt;/td&gt;           &lt;td&gt;U+22BB&lt;/td&gt;&lt;td&gt;U+2295 &amp;amp;oplus;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;NAND&lt;/th&gt;&lt;td&gt; &lt;/td&gt;           &lt;td&gt;U+22BC&lt;/td&gt;&lt;td&gt;U+2191 &amp;amp;uarr;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;NOR &lt;/th&gt;&lt;td&gt; &lt;/td&gt;           &lt;td&gt;U+22BD&lt;/td&gt;&lt;td&gt;U+2193 &amp;amp;darr;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;IMP &lt;/th&gt;&lt;td&gt; &lt;/td&gt;           &lt;td&gt;U+2192 &amp;amp;rarr;&lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;More Math fun in the Unicode space can be found &lt;a href=&quot;http://www.fileformat.info/info/unicode/block/mathematical_operators/list.htm&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Practice safer math,&lt;br /&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/logicals.story</guid></item>
<item><title>Mplayer interesting options</title><link>http://blogmal.42.org/tidbits/mplayer-cheatsheet.story</link><category>/tidbits</category><pubDate>Fri, 28 Jan 2011 15:10:36 +0000</pubDate><description>&lt;p&gt;I like mplayer as a very versatile video player, just the documentation is a bit lacking at times. This is my scratchpad of options I&amp;#39;ve found useful over the years:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;-af scaletempo&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To keep the pitch on your video if you play it faster/slower - Very useful to speed up slow lectures/talks and still understand what&amp;#39;s being said.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Use [ or ] to increase/decrease video playback speed.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;-af volume=20&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Increase the volume a bit, useful to boost audio over the standard maximum.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;-vm -adapter 2&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Play fullscreen on your &lt;q&gt;second&lt;/q&gt; video output.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;-ao null&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Play without audio.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you know any other interesting options, please share them below..&lt;/p&gt;
&lt;p&gt;&amp;#8211; Sec&lt;/p&gt;
</description><author>sec@42.org (Sec)</author><guid isPermaLink="false">http://blogmal.42.org/tidbits/mplayer-cheatsheet.story</guid></item>
  </channel>
</rss>