<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>skweez.net</title>
	<atom:link href="http://skweez.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://skweez.net</link>
	<description>Alles skweez?</description>
	<lastBuildDate>Sun, 13 May 2012 20:19:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
<atom:link rel="search"
           href="http://skweez.net/opensearch"
           type="application/opensearchdescription+xml"
           title="Content Search" />		<item>
		<title>A little status report</title>
		<link>http://skweez.net/a-little-status-report/</link>
		<comments>http://skweez.net/a-little-status-report/#comments</comments>
		<pubDate>Sun, 13 May 2012 19:00:06 +0000</pubDate>
		<dc:creator>ritze</dc:creator>
				<category><![CDATA[English posts]]></category>
		<category><![CDATA[anjuta]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[planet gnome]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1776</guid>
		<description><![CDATA[What I&#8217;ve done this week: split the language-support-cpp-java plugin in an indentation-c-style plugin and a language-support-cpp-java plugin without the indentation part read the documentation about the plugin system of anjuta Splitting the plugin took more time and was more challenging than expected. The main problem was to understand what each method does. So I had [...]]]></description>
			<content:encoded><![CDATA[<p>What I&#8217;ve done this week:</p>
<ul>
<li>split the <em>language-support-cpp-java</em> plugin in an <em>indentation-c-style</em> plugin and a <em>language-support-cpp-java</em> plugin without the indentation part</li>
<li>read the documentation about the plugin system of anjuta</li>
</ul>
<p>Splitting the plugin took more time and was more challenging than expected. The main problem was to understand what each method does. So I had to read much documentation. I&#8217;m not already done with this work, but I&#8217;m on a good way…</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/a-little-status-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Summer of Code 2012</title>
		<link>http://skweez.net/google-summer-of-code-2012/</link>
		<comments>http://skweez.net/google-summer-of-code-2012/#comments</comments>
		<pubDate>Sun, 06 May 2012 12:10:18 +0000</pubDate>
		<dc:creator>ritze</dc:creator>
				<category><![CDATA[English posts]]></category>
		<category><![CDATA[anjuta]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[planet gnome]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1762</guid>
		<description><![CDATA[I&#8217;m accepted with my proposal on Google Summer of Code for this year. My mission is to bring clang magic to Anjuta. &#8220;Anjuta? What is Anjuta?&#8221;, maybe you wonder yourself now. Anjuta is a IDE just like Eclipse. Clang is a compiler front-end for the LLVM compiler. With this compiler front-end for C, C++, Objective [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m accepted with my <a href="https://google-melange.appspot.com/gsoc/project/google/gsoc2012/ritze/8001" title="proposal">proposal</a> on Google Summer of Code for this year. My mission is to <a href="https://live.gnome.org/MoritzLuedecke_Anjuta_Clang" title="bring clang magic to Anjuta">bring clang magic to Anjuta</a>. &#8220;Anjuta? What is Anjuta?&#8221;, maybe you wonder yourself now. <a href="http://www.anjuta.org/" title="Anjuta">Anjuta</a> is a IDE just like Eclipse.</p>
<p><a href="http://clang.llvm.org/" title="Clang">Clang</a> is a compiler front-end for the <a href="http://llvm.org" title="LLVM">LLVM</a> compiler. With this compiler front-end for C, C++, Objective C and Objective C++ code we can get better results in Anjuta. For example if you make a simple mistake by writing code Anjuta will warn you. This can save a lot worse.</p>
<p>The first major obstacle is to make thoughts about the future architecture of the language support interface, so that you&#8217;ll be simple load plugins for a language feature like autocompletion or indentation. To support this purposes I&#8217;ll split up already available language plugins in an indentation part and the support part.</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/google-summer-of-code-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity Usability Problems: Hidden Global Menu</title>
		<link>http://skweez.net/unity-usability-problems-hidden-global-menu/</link>
		<comments>http://skweez.net/unity-usability-problems-hidden-global-menu/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 15:26:08 +0000</pubDate>
		<dc:creator>mks</dc:creator>
				<category><![CDATA[English posts]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1719</guid>
		<description><![CDATA[Since version 11.10 Ubuntu has a feature called Global Menu. This means, that window menus don&#8217;t appear in the window itself anymore but on the very top of the screen in the so called panel. Have a look at the video to see it in action: Dieses Video auf YouTube ansehen Embedded with WP YouTube [...]]]></description>
			<content:encoded><![CDATA[<p>Since version 11.10 Ubuntu has a feature called Global Menu. This means, that window menus don&#8217;t appear in the window itself anymore but on the very top of the screen in the so called panel. Have a look at the video to see it in action:</p>
<p><center></p>
<noscript><a href="http://youtu.be/1yO-HDVXh7Q"><img src="http://img.youtube.com/vi/1yO-HDVXh7Q/0.jpg" alt="" width="420" height="295" /><br />Dieses Video auf YouTube ansehen</a> Embedded with WP YouTube Lyte.</noscript>

<p></center></p>
<p>I have the impression that Ubuntu&#8217;s UX designers are trying to mimic Mac OS X here. However, there are several problems with the solution they came up with. The Mac shares some of them, but some are specific to Unity.</p>
<p>The Global Menu wants to give more vertical screen real-estate to the running applications by having only one menu bar taking up space for all windows together. On netbooks this may be a usefull thing, but on computers with HD everywhere nowadays this actually makes usability worse. The Global Menu makes you &#8220;travel&#8221; large distances with the mouse from the window to the upper border, which can contribute to <a href="http://en.wikipedia.org/wiki/Repetitive_strain_injury">repetive strain injury</a>.</p>
<p>Another problem is that the menus are not visually connected to the window or application they belong to. For first time users it can be hard to grasp that the menu even belongs to the window or application that is currently in focus. On first sight it looks as if the menu contains global functions. OS X and Ubuntu both try to fix this problem by showing the name of the application at the left most position.</p>
<p>However, Ubuntu has another big usability issue adding to the previous point. It hides the menu and only shows it when the user hovers over it with the mouse. First time users will probably have a *very* hard time even finding the menu at all. In my opinion this is the biggest glitch of them, because you can&#8217;t find the menu, without knowing that it is there in the first place and moving the mouse up there. I think this is called a vicious cycle.</p>
<p>To make things worse, I don&#8217;t even see *any* reason why one would hide the menu, as there is oviously enough space to display it all the time.</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/unity-usability-problems-hidden-global-menu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Adium Contacts Spotlight Importer</title>
		<link>http://skweez.net/adium-contacts-spotlight-importer/</link>
		<comments>http://skweez.net/adium-contacts-spotlight-importer/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 10:23:56 +0000</pubDate>
		<dc:creator>elm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[adium]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1708</guid>
		<description><![CDATA[Ever missed your Adium contacts in the Spotlight search results? Well here is the (beta) answer to this problem: The Adium Contacts Spotlight Importer Plugin. With this plugin all your contacts become available in Spotlight and with one keystroke you can start a conversation. You can find the plugin on our Github page. The plugin [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://skweez.net/wp-content/uploads/2012/02/Spotlight-Screenshot.png"><img src="http://skweez.net/wp-content/uploads/2012/02/Spotlight-Screenshot.png" alt="" title="Adium Contacts Spotlight Importer" width="796" height="227" class="aligncenter size-full wp-image-1710" /></a>Ever missed your Adium contacts in the Spotlight search results? Well here is the (beta) answer to this problem: The Adium Contacts Spotlight Importer Plugin. With this plugin all your contacts become available in Spotlight and with one keystroke you can start a conversation.</p>
<p>You can find the plugin on <a href="http://elm.github.com/Adium-Contacts-Spotlight-Importer/" title="http://elm.github.com/Adium-Contacts-Spotlight-Importer/">our Github page</a>. The plugin is beta software as we did not test it very much so feel free to report issues on <a href="https://github.com/elm/Adium-Contacts-Spotlight-Importer">Github</a> or submit patches.</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/adium-contacts-spotlight-importer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roundcube Identity SMTP Plugin</title>
		<link>http://skweez.net/roundcube-identity-smtp-plugin/</link>
		<comments>http://skweez.net/roundcube-identity-smtp-plugin/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 15:35:44 +0000</pubDate>
		<dc:creator>elm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[roundcube]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1679</guid>
		<description><![CDATA[Some days ago we (the skweez.net team) decided to try to replace all the fancy services from Google with software on our own server. So we looked at Roundcube for a decent web mail interface. Roundcube works great but we missed one feature: to send mails with a mail address from another email provider like [...]]]></description>
			<content:encoded><![CDATA[<p>Some days ago we (the skweez.net team) decided to try to replace all the fancy services from Google with software on our own server. So we looked at <a href="http://roundcube.net/" target="_blank">Roundcube</a> for a decent web mail interface. Roundcube works great but we missed one feature: to send mails with a mail address from another email provider like Google. <a href="http://skweez.net/wp-content/uploads/2012/02/Bildschirmfoto-2012-02-17-um-16.11.26.png"><img src="http://skweez.net/wp-content/uploads/2012/02/Bildschirmfoto-2012-02-17-um-16.11.26-300x183.png" alt="" title="Roundcube Identity SMTP Plugin" width="300" height="183" class="alignright size-medium wp-image-1704" /></a> This is important as we wanted to use our own mail server to collect all the mails from all the different providers. Thats no problem with most of the mail providers but to answer the mails with the correct email address you need to send the mails through their mail server or your mail will be detected as spam.</p>
<p>Enter: <strong>The Roundcube Identity SMTP Plugin</strong></p>
<p>This plugin allows you to specify a SMTP server for every identity you setup in Roundcube. You can now answer all the mails you get with the correct address from within Roundcube.</p>
<p>The plugin is available from github: <a href="https://github.com/elm/Roundcube-SMTP-per-Identity-Plugin" target="_blank">https://github.com/elm/Roundcube-SMTP-per-Identity-Plugin</a> It is not tested very widely but it works for us so it may work for you. Feel free to leave a comment or a patch or flattr this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/roundcube-identity-smtp-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strom sparen mit skweez</title>
		<link>http://skweez.net/strom-sparen-mit-skweez/</link>
		<comments>http://skweez.net/strom-sparen-mit-skweez/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 13:26:01 +0000</pubDate>
		<dc:creator>mks</dc:creator>
				<category><![CDATA[Deutsche Beiträge]]></category>
		<category><![CDATA[sparen]]></category>
		<category><![CDATA[strom]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1652</guid>
		<description><![CDATA[Mir ist gestern bei meinem Kabelmodem aufgefallen, dass dieses wie einige andere Netzwerkgeräte ein Netzteil mit 12V und 1A am Ausgang hat. Im Gegensatz zu den anderen Geräten wurde es mit einem Schaltnetzteil (SNT), statt so einem klobigen Trafonetzteil (TNT), geliefert. Die Stecker sind bei allen gleich. Darum habe ich mal einen einfachen Test mit [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://skweez.net/wp-content/uploads/2012/02/05.jpg"><img src="http://skweez.net/wp-content/uploads/2012/02/05-150x150.jpg" alt="Trafonetzteil, unbelastet: 7W" title="Trafonetzteil, unbelastet" class="alignright size-thumbnail wp-image-1668" /></a></p>
<p>Mir ist gestern bei meinem Kabelmodem aufgefallen, dass dieses wie einige andere Netzwerkgeräte ein Netzteil mit 12V und 1A am Ausgang hat. Im Gegensatz zu den anderen Geräten wurde es mit einem <a href="http://de.wikipedia.org/wiki/Schaltnetzteil">Schaltnetzteil</a> (SNT), statt so einem klobigen <a href="http://de.wikipedia.org/wiki/Netzteil#Trafonetzteil">Trafonetzteil</a> (TNT), geliefert. Die Stecker sind bei allen gleich.</p>
<p>Darum habe ich mal einen einfachen Test mit einem Strommessgerät gemacht, wobei ich nicht sagen kann, wie präzise das Gerät arbeitet. Aber wenn die Anzeige nur annähernd stimmt, dann lohnt sich die Anschaffung von neuen Netzteilen für die älteren Geräte, die ich in absehbarer Zeit nicht ablösen möchte. Eines der TNT verbraucht schon ohne angeschlossenes Gerät 7W, beim SNT zeigt das Messgerät 0 an. Mit angeschlossenem Modem verbraucht das andere TNT satte 16W, das SNT 7W.</p>
<p>Die ersten <a href="https://www.dropbox.com/gallery/1110161/1/Stromverbrauch%20Netzteile?h=edec79">Fotos</a> zeigen jeweils die unbelasteten Netzteile, die folgenden sind mit angeschlossenem Modem.</p>
<p>Wenn die beiden Trafonetzteile, die ich in meinem Haushalt gefunden habe, zusammen nur 10W mehr verbrauchen als zwei SNT, dann sind das bei mir im Jahr ca. 50kW/h. Das macht bei meinem aktuellen Stromtarif ca. 12€ p.a. Beim Inernetauktionär gibt es passende SNT für ca. 5€ je Stück.</p>
<p>Die Basisstation meines DECT-Telefons braucht auch ca. 7W. Ich teste gerade, ob es praktikabel ist, das Android-Handy mit einem SIP-Client als Festnetz-/WLAN-Telefon zu benutzen. Meine ersten Tests mit <a href="https://market.android.com/details?id=com.csipsimple">CSipSimple</a> verliefen positiv. Das Handy verbraucht dadurch sicher etwas mehr Strom, aber bestimmt keine 7W.</p>
<p>Ich denke mal, die Geldbeträge erscheinen vielen lächerlich, aber mir geht&#8217;s auch eher um&#8217;s Prinzip und ich dachte ich teile die Erfahrungen mal, vielleicht bringt das jemandem was.</p>
<p>PS: Alte Netzteile gehören nicht in den Hausmüll, sondern auf den Wertstoffhof!</p>
<p><strong>Ergänzung:</strong> <em>Ich habe gelesen, dass es bei einigen alten Geräten zu Problemen kommen kann, wenn diese intern noch ein SNT haben. Dann können die sich gegenseitig aufschaukeln und im schlimmsten Fall kann da was zu brennen anfangen. Also wie immer gilt: Ausprobieren auf eigene Gefahr! Skweez übernimmt keine Haftung für irgendwelche Schäden.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/strom-sparen-mit-skweez/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ergänzung: Grub 2 in GPT/BIOS-Systemen</title>
		<link>http://skweez.net/erganzung-grub-2-in-gptbios-systemen/</link>
		<comments>http://skweez.net/erganzung-grub-2-in-gptbios-systemen/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 15:49:42 +0000</pubDate>
		<dc:creator>mks</dc:creator>
				<category><![CDATA[Deutsche Beiträge]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntuusers.de]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1637</guid>
		<description><![CDATA[Dieser Artikel ist eine kurze Ergänzung zu meinem Artikel über GUID-Partitionstabellen auf BIOS-Systemen. Ich habe festgestellt, dass die Unterstützung für extlinux unter Ubuntu (10.04 „Lucid“) eher … naja … mau ist. Wenn man auf einem so installierten System stattdessen Grub benutzen will, benötigt man eine kleine Partition, z.B. von einem MB Größe, mit dem Partitionstyp [...]]]></description>
			<content:encoded><![CDATA[<p>Dieser Artikel ist eine kurze Ergänzung zu meinem <a href="http://skweez.net/system-auf-guid-partition-table-umstellen/">Artikel über GUID-Partitionstabellen</a> auf BIOS-Systemen.</p>
<p>Ich habe festgestellt, dass die Unterstützung für extlinux unter Ubuntu (10.04 „Lucid“) eher … naja … mau ist. Wenn man auf einem so installierten System stattdessen Grub benutzen will, benötigt man eine kleine Partition, z.B. von einem MB Größe, mit dem Partitionstyp EF02 („BIOS-Boot-Partition“).</p>
<p>Hintergrund: Da Grub zu groß ist, um komplett in den Boot-Sektor zu passen, ist er in einen Stage 1 und einen Stage 2-Loader aufgeteilt. Der Stage 2-Loader wird normalerweise in einen kleinen freien Bereich zwischen Master Boot Record und erster Partition geschrieben. Da es diesen Bereich aber auf einem GPT-System nicht gibt, quittiert Grub den Versuch einer Installation mit der Warnmeldung:</p>
<blockquote><p>Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.</p></blockquote>
<p>Hat man die o.g. extra Partition angelegt, kann man Grub wie gewohnt mit grub-install installieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/erganzung-grub-2-in-gptbios-systemen/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Selling GPL&#8217;ed software</title>
		<link>http://skweez.net/selling-gpled-software/</link>
		<comments>http://skweez.net/selling-gpled-software/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 19:49:45 +0000</pubDate>
		<dc:creator>mks</dc:creator>
				<category><![CDATA[English posts]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[gpl violation]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1598</guid>
		<description><![CDATA[Apparently someone is trying to make money with an Android application that I wrote a month ago. At first I was really mad about people ripping off others by making money of other people&#8217;s work. But today I actually feel it is a bit of a compliment. At least this guy thinks, my little app [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently someone <a href="https://market.android.com/details?id=net.hwado.WiFiSync">is trying to make money</a> with an Android application that <a href="https://github.com/michaelkanis/WifiSync">I wrote</a> a month ago. At first I was really mad about people ripping off others by making money of other people&#8217;s work. But today I actually feel it is a bit of a compliment. At least this guy thinks, my little app is worth some money. <img src='http://skweez.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>But seriously, of course I complained about it to Google with their DMCA form.</p>
<p>Regarding the GPL and selling software: this is actually possible, as long as you respect the terms of the license. Paragraph 4 of the <a href="http://www.gnu.org/licenses/gpl.html">GPL says</a>:</p>
<blockquote><p>You may convey verbatim copies of the Program&#8217;s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.</p></blockquote>
<p><strong>Update:</strong> Google removed the App. And it seems to me that they removed the vendor&#8217;s account all together.</p>
<p><strong>Update 2:</strong> After Google removed it the first time, the guy created a new merchant account and uploaded my app again. I filed a DMCA complain again and Google took down the app and his account a <em>second time</em>. But this guy is really persistent: On August 16th he uploaded the app AGAIN. Remember: He has to pay 25 US$ everytime he creates a new account. And he does this to try selling an app (of about 50 LoC) for 2$, that I give away for free. How stupid can one single person be? I would have thought you&#8217;d need at least ten *really* stupid people to gather that amount of idiocy.</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/selling-gpled-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse, Android and Git submodules</title>
		<link>http://skweez.net/eclipse-android-and-git-submodules/</link>
		<comments>http://skweez.net/eclipse-android-and-git-submodules/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 08:45:55 +0000</pubDate>
		<dc:creator>mks</dc:creator>
				<category><![CDATA[English posts]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1584</guid>
		<description><![CDATA[Because I couldn&#8217;t find any info on how to use sub-projects (that is sub folders in a project) as libraries within the ADT in Eclipse, here&#8217;s a short how-to: Use submodules as you normally would, e.g. when cloning a project with sub-projects use this: git submodule init git submodule update Then in Eclipse you can [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://skweez.net/wp-content/uploads/2011/07/Bildschirmfoto-Properties-for-yaxim.png"><img src="http://skweez.net/wp-content/uploads/2011/07/Bildschirmfoto-Properties-for-yaxim-150x150.png" alt="" title="Properties for yaxim" class="alignright size-thumbnail wp-image-1587" /></a></p>
<p>Because I couldn&#8217;t find any info on how to use <em>sub-projects</em> (that is sub folders in a project) as libraries within the ADT in Eclipse, here&#8217;s a short how-to:</p>
<p>Use <a href="http://book.git-scm.com/5_submodules.html">submodules</a> as you normally would, e.g. when cloning a project with sub-projects use this:</p>
<p><code>git submodule init<br />
git submodule update</code></p>
<p>Then in Eclipse you can create a new Android project with the wizard from the existing source (and pointing the location to the sub directory).</p>
<p>When you reference the sub-project as a library for the main project, it will magically point to the correct directory <em>inside</em> the main project.</p>
<p>The <a href="https://github.com/pfleidi/yaxim/wiki/">yaxim</a> Jabber client for Android for example uses this to depend on the <a href="https://github.com/ge0rg/MemorizingTrustManager/wiki">MemorizingTrustManager</a> (see the screenshot).</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/eclipse-android-and-git-submodules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BIOS wiederherstellen mit Arduino</title>
		<link>http://skweez.net/bios-wiederherstellen-mit-arduino/</link>
		<comments>http://skweez.net/bios-wiederherstellen-mit-arduino/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 18:36:19 +0000</pubDate>
		<dc:creator>mks</dc:creator>
				<category><![CDATA[Deutsche Beiträge]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[bios]]></category>
		<category><![CDATA[eeprom]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://skweez.net/?p=1551</guid>
		<description><![CDATA[Vor einiger Zeit habe ich mein nur wenige Monate altes Mainboard gebrickt, indem ich versehentlich eine falsche BIOS-Version eingespielt habe. Leider kam die Erleuchtung zu spät: Never change a running system! Gut, dass ich noch ein Notebook habe und dass ich eh schon immer mal etwas mit einem Arduino machen wollte. Jetzt schien mir die [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit habe ich mein nur wenige Monate altes Mainboard gebrickt, indem ich versehentlich eine falsche BIOS-Version eingespielt habe. Leider kam die Erleuchtung zu spät: <em>Never change a running system!</em> Gut, dass ich noch ein Notebook habe und dass ich eh schon immer mal etwas mit einem <a href="http://arduino.cc">Arduino</a> machen wollte. Jetzt schien mir die richtige Gelegenheit dafür.</p>
<p><em>Warnung: Der Artikel ist etwas lang. Für Individuen der Twitter-Generation mit einer auf 140 Zeichen verkürzten Aufmerksamkeitsspanne hier die Kurzform:</em></p>
<blockquote><p>Hab es geschafft: #bios #flashen mit #Arduino <a href="https://github.com/michaelkanis/arduino_bios_flash">https://github.com/michaelkanis/arduino_bios_flash</a></p></blockquote>
<h3>Vorbereitung</h3>
<p><a href="http://skweez.net/wp-content/uploads/2011/07/DSCN3241.jpg"><img src="http://skweez.net/wp-content/uploads/2011/07/DSCN3241-150x150.jpg" alt="" title="Chip mit DIP-Zange und Cent-Stück als Größenvergleich" class="alignright size-thumbnail wp-image-1579" /></a></p>
<p>Zunächst war ich mal erleichtert, als ich gesehen habe, dass der Chip <em>gesockelt</em> und nicht gelötet ist. Das machte das Vorhaben um einiges einfacher. Den Aufkleber des Mainboard-Herstellers vom Chip entfernt, gibt dieser seine Typenbezeichnung preis. Wenn man ein bisschen nach den vielen Nummern googlet, findet man schnell raus, um welchen Chip es sich handelt. Meiner ist ein <strong><a href="http://www.macronix.com/QuickPlace/hq/PageLibrary4825740B00298A3B.nsf/h_Index/6F878CF760C559BD482576E00022E6CC/?OpenDocument&#038;EPN=MX25L8006E">Macronix MX25L8006E</a></strong>. Eine Makroaufnahme mit einer einfachen Digicam hilft, die winzige Schrift lesbar zu machen.</p>
<p>Das Datenblatt des Herstellers erwies sich als sehr hilfreich. Erste Erkenntnis: der Chip wird per <strong><a href="http://de.wikipedia.org/wiki/Serial_Peripheral_Interface">Serial Peripheral Interface</a> (SPI)</strong> angesprochen. Der Arduino unterstützt dieses Protokoll ebenfalls von Haus aus. Würde er das nicht, könnte man es per <a href="http://de.wikipedia.org/wiki/Bitbanging">Bit-Banging</a> implementieren.</p>
<p>Mein größtes Problem war nun, dass der Arduino mit 5V-Pegeln arbeitet, der Macronix-Chip aber nur 3,3V-Pegel unterstützt. Das Risiko, den Chip durch eine zu hohe Spannung zu zerstören, wollte ich angesichts der schweren Beschaffbarkeit in Deutschland nicht eingehen. Allerdings bin ich Software-Entwickler und kenne mich im Prinzip überhaupt nicht mit Elektronik aus. Das nur als Anmerkung, falls jemand meine Lösungsversuche saudämlich findet. <img src='http://skweez.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Meine grundlegende Vorgehensweise sollte so aussehen: Schaltung aufbauen. Software schreiben in drei Schritten: Chip auslesen, löschen, neu beschreiben. (<a href="http://de.wikipedia.org/wiki/Electrically_Erasable_Programmable_Read-Only_Memory">EEPROM-Chips</a> werden in zwei Schritten zunächst gelöscht und können dann erst neu beschrieben werden)</p>
<h3>Erster Versuch: Spannungsteiler</h3>
<p><a href="http://skweez.net/wp-content/uploads/2011/07/IMG_20110612_122026.jpg"><img src="http://skweez.net/wp-content/uploads/2011/07/IMG_20110612_122026-150x150.jpg" alt="" title="Erster Versuch mit Spannungsteiler und Dioden" class="alignright size-thumbnail wp-image-1573" /></a></p>
<p>Eine einfache Möglichkeit, aus einer höheren Spannung eine Niedrigere zu machen, ist ein <a href="http://de.wikipedia.org/wiki/Spannungsteiler">Spannungsteiler</a>. Weil ich mehrere Leitungen absenken musste, entschied ich mich, stattdessen den Ground-Level zu erhöhen. Da der erhöhte Ground-Level nun die LOW-Spannung auf ca. -1,7V abgesenkt hat, habe ich Dioden eingebaut, die daraus wieder 0V machen sollten. Nach einigem Basteln hatte ich nun eine scheinbar funktionstüchtige Schaltung. Natürlich habe ich den Chip erst eingesteckt, nachdem ich mit dem Multimeter sämtliche Spannungen an allen Pins (mehrmals) überprüft hatte.</p>
<p>Das Schreiben der Software zum Auslesen des Chips ging relativ flott, hier war ich wieder in &#8220;meinem Element&#8221;. Zunächst sah es auch so aus, als wäre ich am Ziel. Das Auslesen klappte. Meistens. Manchmal. Irgendwie nicht zuverlässig. Bits gingen verloren. Mist.</p>
<h3>Die Lösung: Zufall</h3>
<p><a href="http://skweez.net/wp-content/uploads/2011/07/DSCN3303.jpg"><img src="http://skweez.net/wp-content/uploads/2011/07/DSCN3303-150x150.jpg" alt="" title="Finale Version" class="alignright size-thumbnail wp-image-1577" /></a></p>
<p>Durch Zufall fand ich heraus, dass mein Arduino auf den 5V-Leitungen nur 3,3V ausgibt, wenn man ihn mit einem Netzteil statt über USB mit Strom versorgt, obwohl das Netzteil auch 5V hat. Ob das ein Bug oder ein Feature ist, weiß ich nicht, für mich ist es ein Feature. Da ich die USB-Verbindung trotzdem brauchte, um die BIOS-Datei zum Arduino zu übertragen, kappte ich in einem USB-Kabel die 5V-Leitung. Dann entfernte ich den Spannungsteiler und schloss den Chip direkt an den Arduino an. Jetzt klappte das Auslesen reproduzierbar perfekt. Was ich jetzt noch brauchte, war ein Stück Software auf Laptop-Seite, dass dem Arduino das BIOS in kleinen Happen schickt und wartet, da der BIOS-Chip zum flashen eine gewisse Zeit braucht. Nach ca. 10 Minuten war der Chip neu geflasht und mein Rechner startete wieder. Die Performance wäre vielleicht noch ausbaufähig, aber ich war ja am Ziel. Deswegen ist die Software auch nicht sonderlich schön. Insbesondere fehlt jede Fehlerbehandlung. Ich stelle sie trotzdem <a href="https://github.com/michaelkanis/arduino_bios_flash">auf Github</a>, vielleicht kann sie ja mal noch jemand gebrauchen. Lizenz: <em>Beerware</em>. Tut damit, was Ihr wollt und flattrt mir ein Bier, wenn Ihr mögt. Oder auch nicht. Gewähr gibt es natürlich keine, wenn ihr damit mehr kaputt macht, seid ihr selbst Schuld. <img src='http://skweez.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Falls jemand mit Ahnung von Elektronik das hier liest:</strong> Warum klappt es mit dem Spannungsteiler nicht? Ist da ein Bauteil zu langsam? Ich habe auch gelesen, dass man aus so einer Schaltung nicht viel Strom ziehen darf. Könnte es daran liegen?</p>
<p>Könnte man stattdessen in jeder Leitung drei Silizium-Dioden in Reihe vorschalten, um die Spannung um (3 * 0,6V) = 1,8V auf 3,2V zu verringern?</p>
]]></content:encoded>
			<wfw:commentRss>http://skweez.net/bios-wiederherstellen-mit-arduino/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.507 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-13 21:24:03 -->
<!-- Compression = gzip -->
