tag:blogger.com,1999:blog-53107001471076199562024-03-16T02:10:33.566+01:00Pi's WorldUnknownnoreply@blogger.comBlogger212125tag:blogger.com,1999:blog-5310700147107619956.post-3771513823764322762023-07-19T19:33:00.004+02:002023-07-19T19:33:27.049+02:00Laravel Forge: fatal: couldn't find remote ref refs/heads<p>On Laravel Forge I checked out a branch and deleted it from the git server by accident. Now I can not fetch and can not switch branch. Fun fact Forge tells me it switched while it did not:</p><p></p><blockquote><p><span style="font-family: courier;">forge@myserver:~/myserver.de$ git fetch </span></p></blockquote><blockquote><p><span style="font-family: courier;">fatal: couldn't find remote ref refs/heads/mybranch</span></p><p><span style="font-family: courier;">fatal: the remote end hung up unexpectedly</span></p></blockquote><p></p><p>This can be fixed be open and edit <span style="font-family: courier;">.git/config</span></p><p>In remote section replace the checked out branch <span style="font-family: inherit;">mybranch</span> with <b>*</b> two times:</p><blockquote><p><span style="font-family: courier;">[remote "origin"]</span></p><p><span style="font-family: courier;"> url = git@bitbucket.org:me/mygit</span></p><p><span style="font-family: courier;">-- fetch = +refs/heads/<b>mybranch</b>:refs/remotes/origin/<b>mybranch</b> </span></p></blockquote><blockquote><p><span style="font-family: courier;">++ fetch = +refs/heads/<b>*</b>:refs/remotes/origin/<b>*</b></span></p></blockquote><p>Save and quite.</p><p>Now you can run "<span style="font-family: courier;">git fetch</span>" and "<span style="font-family: courier;">git checkout main</span>".</p><p>I also deleted the old branch: <span style="font-family: courier;">git branch -d mybranch</span> </p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-76205144320000626072023-07-13T09:55:00.004+02:002023-07-26T15:55:40.033+02:00Neato lidar laser not spinning<p> </p><p>My Neato was starting and stopping but it did not move.</p><p>Turned out the lidar in the tower was not spinning. You can find a guide how to fix it on <a href="https://www.youtube.com/watch?v=UTglivLKHD0">YouTube</a>. In the video he uses an old motor from a CD Player he had. If you need to buy one you might be lost. I searched a long time. You can use a "solar" motor but they might break soon again.</p><p>I replaced it with RF-300FA-12350 DVD Player Motor from ebay (3,99€). <br />12V, Size: 24.4 x 12.4 mm with 19.4 mm shaft.</p><p>It is important to revers polarity. I cut of the old motor from the plug and soldered the red wire to the black one.</p><p>Also if you need to <a href="https://www.youtube.com/watch?v=CFG3V7bemF0">replace the side brush rubber</a>, you can use a 25 x 2 mm seal. 3,50 € for 10 pieces.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-91273809177800882412015-11-19T10:18:00.000+01:002015-11-19T10:18:47.078+01:00PHPStorm open local terminal in project folderNot sure why this is not default, but can change this.<br />
<br />
In <span style="font-family: Courier New, Courier, monospace;">Settings > Tools > Terminal</span> change the "<span style="font-family: Courier New, Courier, monospace;">Shell path</span>" and add your project path.<br />
<br />
Windows: <span style="font-family: Courier New, Courier, monospace;">cmd.exe /K cd C:\your_project_path</span><br />
<span style="font-family: inherit;">Linux/Mac: ? (please leave a comment)</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-82097994307003083422015-10-15T16:44:00.005+02:002015-10-15T16:44:44.707+02:00PHPStorm: fatal: protocol error: bad line length character: ErroIn PHPStorm I got with git pull and git push this error:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">fatal: protocol error: bad line length character: Erro</span><br />
<span style="font-family: Courier New, Courier, monospace;">An error has occurred while processing the shared archive file.</span><br />
<span style="font-family: Courier New, Courier, monospace;">Unable to unmap shared space.</span><br />
<br />
While command line and tortoise worked fine.<br />
<br />
Fixed it by changing in PHPStorm settings in Version Control > Git:<br />
"SSH executable" from "Build-in" to "Native"<br />
<br />
Only toke me a few hours to figure this out :DUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-5310700147107619956.post-89267616333123549812015-09-29T13:18:00.001+02:002015-10-01T10:23:54.407+02:00Allgemeine Zeitung: Eine Datenkrake am Rande der LegalitätDas Webseiten ihre Benutzer gerne ausspionieren ist bekannt. Die <a href="http://www.allgemeine-zeitung.de/">AZ</a> geht jedoch noch einen Schritt weiter, in dem sie die <a href="https://en.wikipedia.org/wiki/Evercookie">Evercookie</a> genannte Technik einsetzt. Eine Methode, die auch von der <a href="http://www.theguardian.com/world/interactive/2013/oct/04/tor-stinks-nsa-presentation-document">NSA</a> bereits zur Spionage benutzt wurde.<br />
<br />
Das besondere bei Evercookies ist, dass sie sich nicht löschen lassen und auch im "Private Surfen" Modus des Browser noch funktionieren. Darüber hinaus sind Cookies immer an eine Seite/Domain gebunden, wohingegen Evercookies diesen Sicherheits-Mechanismus durchbrechen und auch auf anderen Seiten den Benutzer weiter verfolgen.<br />
<br />
Generell missbraucht die Technik zahlreiche Funktionen, die gar nicht zum Speichern von Daten gedacht sind und stört so deren eigentlichen Zweck. Wie ein Virus kopiert das Script seine Daten an alle verfügbaren Stellen. Löscht oder überschreibt man eine Speicherort, wird dieser automatisch aus den anderen Quellen wiederhergestellt. So zum Beispiel, wenn im Browser seine Cookies löscht.<br />
<br />
Der <a href="https://github.com/samyk/evercookie">Autor</a> selbst gibt einige Gründe an warum man Evercookie nicht verwenden sollte und schreibt "Be warned! Evercookie can potentially cause problems for you or your users.". Aufgeführt sind Performance- und Darstellungs-Probleme, aber auch das es Ansehen und Ruf der Seite schaden kann.<br />
<br />
Ich persönlich finde es eine Frechheit, was die AZ ihren Lesern zumutet. Zudem bezweifel ich, dass solche Hacker Methoden in Deutschland legal sind.<br />
<br />
<br />
Der Evercookie ist bei der Allgemeinen Zeitung zur Zeit hier zu finden:<br />
<br />
<ul>
<li><a href="http://www.allgemeine-zeitung.de/js/evercookie.v2635.js">http://www.allgemeine-zeitung.de/js/evercookie.v2635.js</a></li>
<li><a href="http://www.allgemeine-zeitung.de/js/customfuncs.v2635.js">http://www.allgemeine-zeitung.de/js/customfuncs.v2635.js</a>, Zeile 2379</li>
</ul>
<div>
<br /></div>
<div>
<b>Update 01.10.2015</b></div>
<div>
<br /></div>
<div>
Da ich verwundert war, dass sich jemand in Deutschland traut Evercookies einzusetzen habe ich mal nach anderen Seiten gesucht ob dies eine verbreitete Technik ist. Bei der <a href="https://meanpath.com/f/wb03MS">Quellcode-Suchmaschine meanpath</a> findet sich jedoch nur 5 Treffer. Die meisten davon schein zwar eine deutsche .de Domain zu haben, aber zu einem ausländische Unternehmen zu gehören.</div>
<div>
<br /></div>
<div>
Außerdem habe ich noch einen <a href="http://www.fechner.eu/apprecht-zum-einsatz-von-canvas-fingerprinting-und-evercookies/">Rechsanwalt</a> gefunden, der die Verwendung in Deutschland ebenfalls als problematisch bewertet.</div>
<div>
<br /></div>
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-1116091511468583622015-09-16T09:54:00.001+02:002015-09-16T09:54:46.986+02:00Spam-Welle in DeutschlandGerade läuft eine Spam-Welle. Die sehen u.a. so aus:<br />
<br />
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Guten Tag,</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Wir bieten Ihnen Kredite zu guten Konditionen an von 2000 bis zu 100 000 Euro</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Kreditantrag ist für Sie kostenlos.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Auch ohne Schufa!</div>
<br />
Schaut man sich die Mail Header an, sieht man woher die Mail kommt:<br />
<br />
<pre style="white-space: pre-wrap; word-wrap: break-word;">Received: from edenbrent.com ([79.165.77.63]) by mx-ha.gmx.net (mxgmx105) with
ESMTP (Nemesis) id xxxxxxxxxxxxxxxxx for <xxxxxxxxx gmx.net="">; Wed, 16
Sep 2015 09:10:11 +0200
Received: by %108.16.130.32; Wed, 16 Sep 2015 11:04:03 +0300</xxxxxxxxx></pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;">
</pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;"><span style="font-family: 'Times New Roman'; white-space: normal;">Also von </span>108.16.130.32 <span style="font-family: 'Times New Roman'; white-space: normal;">über </span>edenbrent.com<span style="font-family: 'Times New Roman'; white-space: normal;">. Die IP wird von einem Botnetz sein, das habe ich mir nicht weiter angeschaut. Interessanter ist der Host über den die Mails verschickt werden. Da gibt es noch viele weitere:</span></pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;">
</pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;"><ul>
<li><a href="http://www.gunandfurious.com/" rel="noreferrer" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.8px; white-space: normal;" target="_blank">http://www.gunandfurious.com/</a></li>
<li><a href="http://www.koengeens.be/" rel="noreferrer" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.8px; white-space: normal;" target="_blank">http://www.koengeens.be/</a><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px; white-space: normal;"> </span></li>
<li><a href="http://hoffmannlandmaschinen.de/" rel="noreferrer" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.8px; white-space: normal;" target="_blank">http://hoffmannlandmaschinen.<wbr></wbr>de/</a></li>
</ul>
</pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;">
</pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;"><span style="font-family: 'Times New Roman'; white-space: normal;">Es fällt sofort auf, dass es alles Wordpress Seiten sind, womit klar ist, dass die Seite wohl gehacked wurden und nun munter Spam verschicken.</span></pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;"><span style="font-family: 'Times New Roman'; white-space: normal;">
</span></pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;"><span style="font-family: 'Times New Roman'; white-space: normal;">Ich habe die Seitenbetreiber nun mal angeschrieben, aber bei der unendlichen Anzahl von Wordpress Seiten ist das natürlich mühsam. Interessant wäre zu wissen über welche Lücke die Seite gehacked wurden...</span></pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;">
</pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;">
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-75266221706646663662015-06-03T10:03:00.002+02:002015-06-03T10:03:38.885+02:00Privacy vs AIDas große Dillema des nächsten 10 Jahre. Immer mehr Sprachassistent schießen aus dem Boden. Siri, Google Now, <a href="http://www.amazon.com/oc/echo/">Echo</a> oder jetzt <a href="https://www.indiegogo.com/projects/musio-your-curious-new-friend#/story">Musio</a>. Autos werden künftig serienmäßig einen Assistent verbaut haben.<br />
<br />
Die kleinen Helfer werden immer mehr können, doch der Harken: Sie funktionieren nur Online. Sie brauchen ein Rechen Cluster, dass ihnen die gewünschte Intelligenz einhaucht. Dafür wird es nötig Sprache live aus Autos, Wohnung, ... aus aller Welt in große Rechenzentren zu leiten. Der feuchte Traum eines jeden Geheimdienstes. Seit Snowden besteht kein Zweifel mehr daran, dass diese Daten kopiert und automatisch ausgewertet werden.<br />
<br />
Da ist nur zu hoffen, dass steigende Rechen-Leistung bald für den Assistent zuhause ermöglichen, bevor sich das richtig durchsetzt.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-5310700147107619956.post-13790943681735077142015-04-22T14:42:00.000+02:002015-04-22T14:42:18.439+02:00Index strikes back!Das war ein Spaß heute. Es fing an, das PhpStorm keine Datei auf den Server geladen hat. Stattdessen reagiert es einfach nicht mehr. Remote Host öffnen... hängt. FileZilla... hängt. SSH.. ls.. hängt... hängt.... zeigt unendlich viele backup Dateien der index.php:<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">index.php.bak.553785435d2a1</span><br />
<span style="font-family: Courier New, Courier, monospace;">index.php.bak.5537866e6dd85</span><br />
<span style="font-family: Courier New, Courier, monospace;">index.php.bak.5537879a7f265</span><br />
<span style="font-family: Courier New, Courier, monospace;">index.php.bak.553788c6b1cd0</span><br />
<span style="font-family: Courier New, Courier, monospace;">index.php.bak.553789f2c3d3f</span><br />
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">$ rm index.php.bak.*</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">/bin/rm: Argument list too long</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: inherit;">Google... </span><a href="http://stackoverflow.com/questions/11289551/argument-list-too-long-error-for-rm-cp-mv-commands">stackoverflow ftw</a></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">$find . -maxdepth 1 -name "</span><span style="font-family: 'Courier New', Courier, monospace;">index.php.bak.*</span><span style="font-family: 'Courier New', Courier, monospace;">" -print0 | xargs -0 rm</span></div>
<div>
<br /></div>
<div>
<span style="font-family: inherit;">Haha, gewonnen, alles gut. Upload geht wieder. Remote Host... zweigt schon wieder </span>index.php.bak.553793529fb77</div>
<div>
<br /></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">$ ls -la</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"></span><br />
<div>
<span style="font-family: Courier New, Courier, monospace;">-rw-rw-rw-. 1 apache apache index.php.bak.553790fab8794</span></div>
<span style="font-family: Courier New, Courier, monospace;">
<div>
-rw-rw-rw-. 1 apache apache index.php.bak.553792268158b</div>
<div>
-rw-rw-rw-. 1 apache apache index.php.bak.553793529fb77</div>
</span></div>
<div>
<br /></div>
<div>
Alle 5 Minuten wird eine erstelle. Von apache, also irgendein Script...</div>
<div>
<br /></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">$ crontab -e</span></div>
<div>
<br /></div>
<div>
Ist leer.</div>
<div>
<br /></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">$ ls /etc/cron.*</span></div>
<div>
<br /></div>
<div>
Auch nichts dabei.</div>
<div>
<br /></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">$ grep "index.php." -R *</span></div>
<div>
<br /></div>
<div>
Wieder nichts...</div>
<div>
<br /></div>
<div>
Schließlich findet sich im Apache Log der entscheidende Hinweis. Ein verschlüsseltes Fremd-Modul wird von außen alle 5 min. aufgerufen und macht irgendeinen mist.</div>
<div>
<br /></div>
<div>
Hersteller ist informiert. Derweil heißt es fleißig löschen...</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-31084787265789627692015-01-23T10:36:00.003+01:002015-01-23T12:04:32.834+01:00Detect client speed using JavaScriptYou can detect how long it toke for the browser to load the page. With load I mean the download time. Have a look at window.performance it contains all the timings. Also see <a href="http://www.html5rocks.com/en/tutorials/webperformance/basics/">html5rocks</a>.<br />
<br />
<pre style="background-color: white; font-family: 'Courier New'; font-size: 12pt;"><span style="color: navy; font-weight: bold;">if </span>(<span style="color: #660e7a; font-weight: bold;">window</span>.performance && <span style="color: #660e7a; font-weight: bold;">window</span>.performance.timing)
{
<span style="color: navy; font-size: 12pt; font-weight: bold;">var </span><span style="color: #458383; font-size: 12pt;">download_time </span><span style="font-size: 12pt;">= (</span><span style="color: #660e7a; font-size: 12pt; font-weight: bold;">window</span><span style="font-size: 12pt;">.performance.timing.responseEnd </span><span style="font-size: 12pt;"> - </span><span style="color: #660e7a; font-size: 12pt; font-weight: bold;">window</span><span style="font-size: 12pt;">.performance.timing.responseStart);</span><span style="color: navy; font-weight: bold;">
var </span><span style="color: #458383;">speed </span>= (<span style="font-style: italic;">$</span>(<span style="color: green; font-weight: bold;">'html'</span>).<span style="color: #7a7a43;">html</span>().<span style="color: #660e7a; font-weight: bold;">length</span>) / <span style="color: #458383;">download_time</span>;
<span style="color: navy; font-weight: bold;"> if </span>(<span style="color: #458383;">speed </span>< <span style="color: blue;">400</span>)
{
<span style="color: #7a7a43;">alert</span>(<span style="color: green; font-weight: bold;">'slow'</span>);
}
<span style="color: navy; font-weight: bold;">else</span><span style="color: navy; font-weight: bold;"> </span>{
<span style="color: #7a7a43;">alert</span>(<span style="color: green; font-weight: bold;">'fast'</span>);
}
}
</pre>
<br />
<b>Note </b>that this works best it the page size is large. For small pages the TCP/IP overhead for is large compared to your download time. My page was about 19304 bytes and I was able to detect mobile vs desktop.<br />
<br />
Also see <a href="http://stackoverflow.com/questions/890221/how-to-get-current-page-size-in-kb-using-just-javascript">this stackoverflow question</a>.<br />
<br />
<a href="http://caniuse.com/#search=performance">This does not work</a> for IE8 and SafariUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-80363548455139721542014-12-17T11:36:00.001+01:002014-12-17T11:37:16.999+01:00IE Post empty with NTLMWith NTLM login enabled sometimes data send with POST is missing. This is because IE has an internal timeout and tries to recheck NTLM.<br />
<br />
With <a href="http://www.telerik.com/download/fiddler">fiddler</a> you can see the problem. One hacky solution is to catch this request and response with a fake answer. After this the IE will send the normal POST data.<br />
<br />
To get the correct NTLM response use fiddle during a NTLM login. Switch the inspector to "Auth" and look for the "Type: 1" response and replace <your_fake_data> below with long string behind "WWW-Authenticate: NTLM". Place this at the top of your page and it will catch and respond to any IE NTLM request.</your_fake_data><br /><br />
<div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #557799;">
<span style="color: #996633;">$headers</span> <span style="color: #333333;">=</span> <span style="color: #007020;">apache_request_headers</span>();
<span style="color: #996633;">$auth</span> <span style="color: #333333;">=</span> <span style="color: #996633;">$headers</span>[<span style="background-color: #fff0f0;">'Authorization'</span>];
<span style="color: #008800; font-weight: bold;">if</span> (<span style="color: #996633;">$auth</span> <span style="color: #333333;">&&</span> substr(<span style="color: #996633;">$auth</span>,<span style="color: #0000dd; font-weight: bold;">0</span>,<span style="color: #0000dd; font-weight: bold;">5</span>) <span style="color: #333333;">==</span> <span style="background-color: #fff0f0;">'NTLM '</span>)
{
<span style="color: #996633;">$msg</span> <span style="color: #333333;">=</span> <span style="color: #007020;">base64_decode</span>(substr(<span style="color: #996633;">$auth</span>, <span style="color: #0000dd; font-weight: bold;">5</span>));
<span style="color: #008800; font-weight: bold;">if</span> (<span style="color: #996633;">$msg</span>[<span style="color: #0000dd; font-weight: bold;">8</span>] <span style="color: #333333;">==</span> <span style="background-color: #fff0f0;">"</span><span style="background-color: #fff0f0; color: #666666; font-weight: bold;">\x01</span><span style="background-color: #fff0f0;">"</span>) {
header(<span style="background-color: #fff0f0;">'HTTP/1.1 401 Unauthorized'</span>);
header(<span style="background-color: #fff0f0;">'WWW-Authenticate: NTLM <your_fake_data>'</your_fake_data></span>);
<span style="color: #008800; font-weight: bold;">exit</span>;
}
}</span></pre>
</div>
<br />
Note: This might be a security risk. Make sure to check the user Session and send him to your NTLM login is needed.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-37128295931873365502014-12-15T12:27:00.003+01:002014-12-15T12:27:29.400+01:00Nachricht schicken über die linux bashWer ist online?<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"># who</span><br />
<span style="font-family: Courier New, Courier, monospace;">user1 pts/0 2014-12-15 11:33 (12.12.45.34)</span><br />
<span style="font-family: Courier New, Courier, monospace;">user2 pts/1 2014-12-15 11:57 (56.23.53.54)</span><br />
<br />
Nachricht an Benutzer user2 schicken:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"># write user2 pts/2</span><br />
<span style="font-family: Courier New, Courier, monospace;">Hallo,</span><br />
<span style="font-family: Courier New, Courier, monospace;">nur mal so!</span><br />
<br />
Ctrl+D zum Abschicken.<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-30709081894599088902014-12-01T15:46:00.003+01:002014-12-01T15:46:59.780+01:00Menschen und Roboter<h4>
Robot und Frank</h4>
Gestern hab ich den Film "Robot und Frank" geguckt und er hat meine Erwartungen voll erfüllt. Ich mag Filme, die sich mit der zunehmenden Verbreitung von Robotern auseinandersetzen. Die kritisch hinterfragen wie sie in die Gesellschaft integriert werden und welche Vor- und Nachteile sich daraus ergeben.<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=DE&source=ss&ref=ss_til&ad_type=product_link&tracking_id=piswo-21&marketplace=amazon&region=DE&placement=B009S38CL4&asins=B009S38CL4&linkId=X2OM2CBHUVI7PPXN&show_border=true&link_opens_in_new_window=true" style="height: 240px; width: 120px;"></p>
<p>
</iframe><br />
<h4>
Real Humans</h4>
Thematisch die gleiche Richtung schlägt die schwedische Serie Real Humans ein. Diese ist selbst auf schwedisch mit englischem Untertitle noch sehr sehenswert. Inzwischen gibt es jedoch auch Deutschen Ton.<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=DE&source=ss&ref=ss_til&ad_type=product_link&tracking_id=piswo-21&marketplace=amazon&region=DE&placement=B00BJWFHZ6&asins=B00BJWFHZ6&linkId=VETCW7WGABNXEJJK&show_border=true&link_opens_in_new_window=true" style="height: 240px; width: 120px;"></p>
<p>
</iframe><br />
<br />
Die zweite Staffel gibt es zwar, aber konnte ich bisher nicht finden.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-85458726944527986712014-11-06T21:18:00.001+01:002014-11-06T21:28:08.625+01:00webid-solutions ing-diba Warteschleife schummelnIch liebe Web-Anwendungen, vor allem wenn sie sauber geschrieben sind. Vor allem weil das JavaScript schön Open Source ist und man als Anwender die frei Kontrolle über die UI hat.<br />
<br />
So habe ich neulich ein Konto bei der ING-DiBa angelegt und die bequeme Legitimation per Video-Call genutzt. Leider hängt man dabei recht lange auf der Webseite www.webid-solutions.de/diba und wartet auf einen Ansprechpartner. Besonders nervig, dass man nur alle 30 Sekunden neu Versuchen kann und dann wartet man wieder.<br />
<br />
Die Warte Zeit kann man aber gut nutzen um eben mal den Source Code auf zu machen und die callSkype() Funktion zu suchen. Dort ist schnell die lästige alert() Meldung, dass man doch 30 Sekunden warten soll ersetzt durch ein automatisches neu versuchen. Einfach F12 und die Funktion in die Console kopieren und schon ist das Warten vorbei:<br />
<br />
<pre style="background-color: white;"><span style="background-color: transparent;"><pre style="font-family: 'Courier New'; font-size: 12pt;"><span style="color: navy; font-weight: bold;">function </span><span style="font-style: italic;">callSkype</span>() {
<span style="color: navy; font-weight: bold;">var </span><span style="color: #458383;">xmlhttp</span>;
<span style="color: navy; font-weight: bold;">var </span><span style="color: #458383;">theUrl </span>= <span style="color: green; font-weight: bold;">"https://webid-gateway.de//service/skypename/cn/000112/ai/160746000"</span>;
<span style="color: navy; font-weight: bold;">var </span><span style="color: #458383;">d </span>= <span style="color: navy; font-weight: bold;">new </span><span style="font-style: italic;">Date</span>();
<span style="color: navy; font-weight: bold;">var </span><span style="color: #458383;">t </span>= <span style="color: #458383;">d</span>.<span style="color: #7a7a43;">getTime</span>();
<span style="color: #660e7a; font-weight: bold;">clickcounter </span>= <span style="color: #660e7a; font-weight: bold;">clickcounter </span>+ <span style="color: blue;">1</span>;
<span style="color: navy; font-weight: bold;">if </span>(<span style="color: #660e7a; font-weight: bold;">clickcounter </span>== <span style="color: blue;">2</span>) {
<span style="color: #660e7a; font-weight: bold;">document</span>.<span style="color: #7a7a43;">getElementById</span>(<span style="color: green; font-weight: bold;">"callback_box"</span>).<span style="color: #660e7a; font-weight: bold;">style</span>.<span style="color: #660e7a; font-weight: bold;">display</span><span style="color: #660e7a; font-weight: bold;"> </span>= <span style="color: green; font-weight: bold;">"block"</span>;
}
<span style="color: navy; font-weight: bold;">if </span>(<span style="color: #660e7a; font-weight: bold;">window</span>.<span style="font-style: italic;">XMLHttpRequest</span>) {
<span style="color: #458383;">xmlhttp </span>= <span style="color: navy; font-weight: bold;">new </span><span style="font-style: italic;">XMLHttpRequest</span>();
} <span style="color: navy; font-weight: bold;">else </span>{
<span style="color: #458383;">xmlhttp </span>= <span style="color: navy; font-weight: bold;">new </span><span style="font-style: italic;">ActiveXObject</span>(<span style="color: green; font-weight: bold;">"Microsoft.XMLHTTP"</span>);
}
<span style="color: #458383;">xmlhttp</span>.<span style="color: #7a7a43;">onreadystatechange </span>= <span style="color: navy; font-weight: bold;">function </span>() {
<span style="color: navy; font-weight: bold;">if </span>(<span style="color: #458383;">xmlhttp</span>.<span style="color: #660e7a; font-weight: bold;">readyState </span>== <span style="color: blue;">4</span>) {
<span style="color: navy; font-weight: bold;">if </span>(<span style="color: #458383;">xmlhttp</span>.<span style="color: #660e7a; font-weight: bold;">responseText </span>!== <span style="color: green; font-weight: bold;">""</span>) {
<span style="color: #660e7a; font-weight: bold;">window</span>.<span style="color: #660e7a; font-weight: bold;">location </span>= <span style="color: green; font-weight: bold;">"skype:"</span>+<span style="color: #458383;">xmlhttp</span>.<span style="color: #660e7a; font-weight: bold;">responseText</span><span style="color: #660e7a; font-weight: bold;"> </span>+<span style="color: green; font-weight: bold;">"?call&video=true"</span>;
} <span style="color: navy; font-weight: bold;">else </span>{
<span style="color: grey; font-style: italic;">// nein ich möchte nicht warten</span>
<span style="background-color: transparent; font-size: 12pt;">// sondern es direkt nochmal probieren:</span>
<span style="color: grey; font-style: italic;"> </span><span style="font-style: italic;">callSkype</span>();
}
}
}
<span style="color: #458383;">xmlhttp</span>.<span style="color: #7a7a43;">open</span>(<span style="color: green; font-weight: bold;">"GET"</span>, <span style="color: #458383;">theUrl</span>, <span style="color: navy; font-weight: bold;">true</span>);
<span style="color: #458383;">xmlhttp</span>.<span style="color: #7a7a43;">send</span>(<span style="color: navy; font-weight: bold;">null</span>);
<span style="color: #660e7a; font-weight: bold;">lastClick </span>= <span style="color: #458383;">t</span>;
<span style="background-color: #e4e4ff;">}</span>
<span style="font-style: italic;">callSkype</span>();</pre>
</span></pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-30838664119812185522014-09-16T15:10:00.004+02:002014-09-16T15:11:10.199+02:00Jetzt ohne Werbung!Wie <a href="http://pinetik.blogspot.de/2014/04/flattr-anstelle-von-werbung.html">angekündigt</a> ist die Google Werbung hier im Blog nun abgeschaltet.<br />
<br />
Ich muss jedoch anmerken, dass in den letzten 5 Monaten niemand auf einen Flattr Button gedrückt hat! Wahrscheinlich fehlt dazu hier das passende Publikum. Ich lass vorerst trotzdem Flattr mal noch drin...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-91927988206834192262014-06-18T14:57:00.000+02:002014-06-18T14:57:09.998+02:00Passwörter verschickenWebanwendungen sollte nie Passwörter verschicken sondern nur einen Passwort-Rest Link. Trotzdem kommt es in der Praxis leider manchmal vor das man jemand ein Passwort schicken will und der Empfänger leider kein GPG oder S/MIME hat.<br />
Hier kann man dann ein passwort-geschützes Archiv schicken oder aber wenn sonst wirklich nichts geht einen Dienst wie <a href="https://onetimesecret.com/">https://onetimesecret.com/</a> benutzen. Das am besten jedoch nur, wenn man die <a href="https://github.com/onetimesecret/onetimesecret">Open Source Version</a> selbst installiert hat. Mit https natürlich! Onetimesecret zeigt den Content nur einmal an und dann nie wieder.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-18735743902111739022014-06-16T15:52:00.001+02:002014-06-16T15:52:59.850+02:00Bitbucket: Search file size to find big filesTo find big files in your repository you can press F12 and search in your browser using the <a href="https://confluence.atlassian.com/display/BITBUCKET/src+Resources">Bitbucket Api</a>.
Here is an example:
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #008800; font-weight: bold;">function</span> getFolder(name){
$.getJSON(name, <span style="color: #008800; font-weight: bold;">function</span>(response)
{
$.each(response.directories, <span style="color: #008800; font-weight: bold;">function</span>(i, a)
{
getFolder(name <span style="color: #333333;">+</span> <span style="background-color: #fff0f0;">'/'</span> <span style="color: #333333;">+</span> a);
} );
$.each(response.files, <span style="color: #008800; font-weight: bold;">function</span>(i,a){
<span style="color: #008800; font-weight: bold;">if</span> (a.size <span style="color: #333333;">></span> <span style="color: #0000dd; font-weight: bold;">1024</span><span style="color: #333333;">*</span><span style="color: #0000dd; font-weight: bold;">1024</span> ) console.log(name, a);
});
});
}
getFolder(<span style="background-color: #fff0f0;">'https://bitbucket.org/api/1.0/repositories/<user>/<rep-slug>/src/master/'</span>);
</pre>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-33281080258486095372014-05-20T21:41:00.001+02:002014-05-20T21:41:24.395+02:00ImageMagick batch convert jpg to tiff windowsTo convert all files in current directory create a .bat file containing:<br />
<br />
<pre>for %%f in (.\*) do (
convert %%f tiff/%%~nf.tiff
)</pre>
<br />
Where <code>%%~nf</code>
is a <a href="http://stackoverflow.com/a/3215539/956397">special operator</a> returning the file name without extension.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-90597582193216007252014-05-14T15:57:00.000+02:002014-05-14T15:57:08.914+02:00Schneller lesen mit OpenSpritz<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwsAadHhTxkgGpl1GP7MdqZJX3u0ZcVlLinjHBt0IGbsYzSZaBfP8bdl83_c5-4AiWK7k-7sFoa7AP5AmisFRpF05mvfMJgiQM_4ObgzybP4b60tXa3wkq-1E2vb7PBh5uMMWH-p2lDEdk/s1600/Spritz.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwsAadHhTxkgGpl1GP7MdqZJX3u0ZcVlLinjHBt0IGbsYzSZaBfP8bdl83_c5-4AiWK7k-7sFoa7AP5AmisFRpF05mvfMJgiQM_4ObgzybP4b60tXa3wkq-1E2vb7PBh5uMMWH-p2lDEdk/s1600/Spritz.gif" height="182" width="320" /></a></div>
Mit <a href="https://github.com/Miserlou/OpenSpritz">OpenSpritz</a> kann man Texte schneller lesen. Gibt's als <a href="https://play.google.com/store/apps/details?id=pro.dbro.openspritz">Android App</a> und <a href="https://chrome.google.com/webstore/detail/readline/hjbkmfadmomgaokjodomncmbgmmodona">Chrome</a> Plugin. Alles OpenSource.<br />
Im Chrome Text markieren und Rechtsklick "Start Readline" schon geht es los. Pause mit Space falls es zu schnell geht kann man auch langsamer oder eben auch schneller stellen.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-58908296027934841262014-05-13T07:57:00.001+02:002014-05-18T21:10:07.274+02:00ImgBurn Graph DataGerade durchforste ich meine Festplatte mit <a href="http://pinetik.blogspot.de/2010/01/ordnergroe-anzeigen.html">WinDirStat</a> nach unnützen Dateien als ich ein Verzeichnis von ImgBurn finde in dem über die letzten zwei Jahre protokolliert wurde was ich wann gebrannt hab. Ich brenne nicht viel waren nur 5MB für 63 CDs, aber gruselig das hier einfach ein Log geschrieben wird ohne das man informiert wird. Wenn diese Liste der Sicherheitskopien in falsche Hände gelangt...<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">%HOMEPATH%\AppData\Roaming\ImgBurn\Graph Data Files</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Abstellen lässt sich das unter</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">Tools > Settings... > Graph Data > Capture Graph Data</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-33268126664046534582014-05-06T15:20:00.001+02:002014-05-06T15:20:15.150+02:00Evercookie -- never forgetSchlimm was es alles gibt. <a href="http://samy.pl/evercookie/">Evercookie</a> ist sowas von dem man eigentlich nicht will dass es jemand weiß, damit es niemand verwendet. Man muss es aber doch ansprechen damit man sich davor schützen kann.<br />
<br />
Ein normaler Cookie ermöglicht es Nutzer zu verfolgen. Der Nutzer hat jedoch die Möglichkeit Cookies zu löschen, zu deaktivieren oder in einen Privaten Modus zu wechseln. Evercookie zielt darauf den Tracking-Code überall wo nur möglich zu speichern um den Nutzer in jedem Fall zu verfolgen, egal wie sehr er sich dagegen wehrt. Aktuell wird man den Cookie nicht mal im Privaten Modus von Chrome los.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-57060827461233996012014-05-05T17:11:00.001+02:002014-05-06T08:30:24.375+02:00Nettes JavaScript Rätsel-SpielLinks hat man eine 2D ASCII Welt in der man rumlaufen kann. Rechts ein JavaScript, dass die Welt generiert und steuert. Es gilt das Script an den erlaubten Stellen so zu ändern das man links zum Ausgang kommt: <a href="http://alexnisnevich.github.io/untrusted/">untrusted</a><br />
<br />
Die 2D Welt basiert übrigens auf <a href="http://ondras.github.io/rot.js/hp/">rot.js</a>. Ein JavaScript Framework für 2D roguelike Spiele in ASCII Graphik. Mit Pathfinding, Lightning, Field of View (FOV) in einem Canvas. Schick!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-33285500342021438992014-04-28T13:52:00.000+02:002014-04-28T13:52:01.375+02:00Magine TVMit <a href="http://www.magine.com/" rel="external" style="background-color: white; color: #666666; font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 14px; line-height: 19.200000762939453px;" target="_blank">Magine TV</a> kann man alle gängigen deutschen Sender auf mobilen Geräten (Android, iPhone, Tablett) anschauen. Derzeit kostenlos und bald auch mit <a href="https://plus.google.com/111962553585014295231/posts/58irZ3LK1Pg">Chromecast Support</a>.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-13377510387964679072014-04-23T14:41:00.001+02:002014-04-23T14:41:25.224+02:00Internet Explorer Virtual Test MashinesMicrosoft bietet <a href="http://loc.modern.ie/de-de/virtualization-tools#downloads">kostenlos VMs mit Internet Explorer</a> (ab IE6) für Windows, Mac und Linux als VMWare und VirtualBox.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-18424814328321541642014-04-15T21:14:00.001+02:002014-09-16T16:34:02.328+02:00SerienbewertungEine schicke Seite die <a href="http://graphtv.kevinformatics.com/">graphische Auswertung von Serien</a> anhand der Bewertungen aus der <a href="http://www.imdb.com/">Internet Movie Database</a> (IMDb) erstellt. Beispiele:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKP4xEMn_Ao6wHYtw7_WVr3DNmkhyphenhyphenRJ6gM54xhm4Ub_BKZGS2DENqEUdIP4qLK9eeQgAK6rz2VmimrAYfSGwDVU1-06LZwGpipjjWi5GxTMsdoXMUc4MTvz9lWLTJgyKMm06L0p-3N4_Hx/s1600/chart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKP4xEMn_Ao6wHYtw7_WVr3DNmkhyphenhyphenRJ6gM54xhm4Ub_BKZGS2DENqEUdIP4qLK9eeQgAK6rz2VmimrAYfSGwDVU1-06LZwGpipjjWi5GxTMsdoXMUc4MTvz9lWLTJgyKMm06L0p-3N4_Hx/s1600/chart.png" height="425" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.amazon.de/s/?_encoding=UTF8&camp=1638&creative=19454&field-keywords=game%20of%20thrones&linkCode=ur2&rh=i%3Aaps%2Ck%3Agame%20of%20thrones&site-redirect=de&sprefix=game%20of%20%2Cstripbooks%2C196&tag=piswo-21&url=search-alias%3Daps&linkId=L5EDMZDWM7CHXGTN" target="_blank">Game of Thrones bei Amazon</a><img alt="" border="0" height="1" src="https://ir-de.amazon-adsystem.com/e/ir?t=piswo-21&l=ur2&o=3" style="border: none !important; margin: 0px !important;" width="1" /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn7pFYyAE6a1g6Ovj9ecC8YdloOz2_U2L_bJ-qob0Ug3_7uAkNirN1jSK1cDnum_tWiLRm2-9t51wSVEaRUz7e69FnzEtrXeAUEePzdXshHMG63bf5gMogNyIi-GjWddNrtkex2w8iJM9-/s1600/chart+(1).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn7pFYyAE6a1g6Ovj9ecC8YdloOz2_U2L_bJ-qob0Ug3_7uAkNirN1jSK1cDnum_tWiLRm2-9t51wSVEaRUz7e69FnzEtrXeAUEePzdXshHMG63bf5gMogNyIi-GjWddNrtkex2w8iJM9-/s1600/chart+(1).png" height="426" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicCLMM0w34P8Pvq-4RnMG8CFloCPkBw7iqiwsAlwrw3G3bNgzaFBPHC8n6NIRRHkBEoptGGwYdKtAKrDx4oEtWigdEplNDW4lzaMW0Pteg3_lB40C9XNka-REDWE_WWT1UvG8r9bfcCKac/s1600/chart+(2).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicCLMM0w34P8Pvq-4RnMG8CFloCPkBw7iqiwsAlwrw3G3bNgzaFBPHC8n6NIRRHkBEoptGGwYdKtAKrDx4oEtWigdEplNDW4lzaMW0Pteg3_lB40C9XNka-REDWE_WWT1UvG8r9bfcCKac/s1600/chart+(2).png" height="426" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5310700147107619956.post-24545092438849765732014-04-15T14:06:00.004+02:002014-12-02T15:38:43.230+01:00Chromecast Serien und Filme als Stream schauen - kinox movie4k kinokiste<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=DE&source=ss&ref=ss_til&ad_type=product_link&tracking_id=piswo-21&marketplace=amazon&region=DE&placement=B00ICIJIJQ&asins=B00ICIJIJQ&linkId=&show_border=true&link_opens_in_new_window=true" style="float: right; height: 240px; width: 120px;">
</iframe>
Für 35€ kann man beliebige Filme und Serien auf dem großen Fernseher schauen und per Handy steuern. Dazu braucht man nur Googles Chromecast und die Web Video Caster App:<br />
<br />
1. <a href="http://www.google.de/intl/de/chrome/devices/chromecast/">Chromecast</a> in HDMI Port stecken und über USB Strom drauf geben<br />
(Netzteil oder USB Port am Fernseher)<br />
2. Chromecast per <a href="https://www.blogger.com/"><span id="goog_1808612154"></span>App</a> einrichten (oder mit <a href="https://cast.google.com/chromecast/setup/">Laptop</a>)<br />
3. <a href="https://play.google.com/store/apps/details?id=com.instantbits.cast.webvideo">Web Video Caster</a> App auf dem Android Handy installieren (für iPhone gibt es <a href="https://itunes.apple.com/de/app/castnow-browser-for-chromecast/id843195222">CastNow Browser</a>)<br />
4. Streaming Portal wie <a href="http://kinox.to/">kinox.to</a> oder <a href="http://www.movie4k.to/">movie4k.to</a> in Web Video Caster öffnen<br />
5. Zum Video durchklicken und an die Chromecast schicken<br />
<br />
Klappt nur mit HTML5 Videos, also nicht mit Flash, aber das ist keine große Einschränkung. Qualität ist natürlich wie sonst im Stream auch so la la, aber wer darauf Wert legt schaut aber sowieso keine Web Streams. Man kann auch mit dem normalen Browser auf dem Handy surfen und dann die Seite mit dem Video "Teilen" und an Web Video Caster schicken. Man braucht also nicht für jede blöde Seite eine eigen App sondern kann man einer App jede Seite streamen.<br />
<br />
Vom Laptop aus kann man auch ganze Webseiten Tabs auf der Chromecast anzeigen also auch mit Flash Videos. Vom Handy geht das nicht, weil hierfür ein Video Stream erstellt werden muss der mehr Performance braucht. Das bringt mir jedoch nichts weil ich nicht den Laptop anmachen will um was auf dem Fernseher zu sehen.<br />
<br />
Nun bin ich mit dem Setup sehr zufrieden. Für kleines Geld und kaum Stromverbrauch kann man bequem Filme und Serien schauen. Das ganze ist in ein paar Minuten startklar und übers Handy kann man neben Pause und Play auch spulen.<br />
Perfekt!<br />
<br />
<b>Update </b>Ich hatte etwas Empfangsprobleme, weil die Chromecast hinterm Fernseher hing. Mir hat hier ein Adapter für "um die Ecke" geholfen. Die gibt es in allerlei Formen:<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=DE&source=ss&ref=ss_til&ad_type=product_link&tracking_id=piswo-21&marketplace=amazon&region=DE&placement=B001C6G5C8&asins=B001C6G5C8&linkId=JGQRC3S5FFZ4VTMU&show_border=true&link_opens_in_new_window=true" style="height: 240px; width: 120px;">
</iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=DE&source=ss&ref=ss_til&ad_type=product_link&tracking_id=piswo-21&marketplace=amazon&region=DE&placement=B002TLPUVC&asins=B002TLPUVC&linkId=4RP23BG4CLHUKQGB&show_border=true&link_opens_in_new_window=true" style="height: 240px; width: 120px;">
</iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=DE&source=ss&ref=ss_til&ad_type=product_link&tracking_id=piswo-21&marketplace=amazon&region=DE&placement=B00DID74K0&asins=B00DID74K0&linkId=UG4XUWBSMYKOIYWU&show_border=true&link_opens_in_new_window=true" style="height: 240px; width: 120px;">
</iframe>Unknownnoreply@blogger.com1