tag:blogger.com,1999:blog-32264295371326418182024-02-07T06:33:23.114+01:00TecJunkiefrankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.comBlogger58125tag:blogger.com,1999:blog-3226429537132641818.post-385629579054605632015-01-03T10:56:00.003+01:002015-01-03T10:57:15.381+01:00Logitech Harmony Ultimate Send simple ir command with pythonpyharmony from Pete LePage<br />
<a href="https://github.com/petele/pyharmony">https://github.com/petele/pyharmony</a><br />
<br />
<u>Description from original author:</u><br />
Python library for connecting to and controlling the Logitech Harmony Link<br />
<br />
<u>Additional code:</u><br />
<blockquote class="tr_bq">
<span style="color: #666666;">Added send simple ir command<br />Needs additional arguments: device_id and command Use it with:<br />PYTHONPATH="." python harmony --email user@example.com --password pass --harmony_ip 192.168.0.1 send_command </span><span style="color: #666666;"> </span><span style="color: #666666;">--device_id=123456 --command=PowerToggle</span></blockquote>
<div>
<u>Link</u><br />
<a href="https://github.com/petele/pyharmony/pull/4">https://github.com/petele/pyharmony/pull/4</a><br />
<br /></div>
frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com1tag:blogger.com,1999:blog-3226429537132641818.post-38917431105561550322014-12-12T19:54:00.000+01:002014-12-12T19:55:29.819+01:00MySQL: Decode numerical html entitiesIf You want to decode numerical html entities like "&#252;" or "&#xFC" to the char "ü" in pure MySQL this function will help You.
<blockquote class="tr_bq" style="orphans: 2; text-align: -webkit-auto; widows: 2;">
<pre>
CREATE FUNCTION entity_decode(txt TEXT CHARSET utf8)
RETURNS TEXT CHARSET utf8
NO SQL
DETERMINISTIC
BEGIN
DECLARE tmp TEXT CHARSET utf8 DEFAULT txt;
DECLARE entity TEXT CHARSET utf8;
DECLARE pos1 INT DEFAULT 1;
DECLARE pos2 INT;
DECLARE codepoint INT;
IF txt IS NULL THEN
RETURN NULL;
END IF;
LOOP
SET pos1 = LOCATE('&#', tmp, pos1);
IF pos1 = 0 THEN
RETURN tmp;
END IF;
SET pos2 = LOCATE(';', tmp, pos1 + 2);
IF pos2 > pos1 THEN
SET entity = SUBSTRING(tmp, pos1, pos2 - pos1 + 1);
IF entity REGEXP '^&#[[:digit:]]+;$' THEN
SET codepoint = CAST(SUBSTRING(entity, 3, pos2 - pos1 - 2) AS UNSIGNED);
IF codepoint > 31 THEN
SET tmp = CONCAT(
LEFT(tmp, pos1 - 1),
CHAR(codepoint USING utf32),
SUBSTRING(tmp, pos2 + 1)
);
END IF;
END IF;
IF entity REGEXP '^&#x[[:alnum:]]+;$' THEN
SET codepoint = CONV(SUBSTRING(entity, 4, pos2 - pos1 - 2), 16, 10 );
IF codepoint > 31 THEN
SET tmp = CONCAT(
LEFT(tmp, pos1 - 1),
CHAR(codepoint USING utf32),
SUBSTRING(tmp, pos2 + 1)
);
END IF;
END IF;
END IF;
SET pos1 = pos1 + 1;
END LOOP;
END
</pre>
</blockquote>
Usage:
<blockquote class="tr_bq" style="orphans: 2; text-align: -webkit-auto; widows: 2;">
<pre>
SELECT entity_decode("YOUR TEXT HERE")
</pre>
</blockquote>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-65540569677284206572014-11-01T10:08:00.002+01:002014-11-01T10:08:57.916+01:00SeriesPlugin Version 1.0 für OE2.0 und OE2.2First public version for OE2.0 and OE2.2 (DM7080 HD)<br /><br />The Source Code is now public available at the Schwerkraft Git and at Github <a href="https://github.com/betonme/e2openplugin-SeriesPlugin">https://github.com/betonme/e2openplugin-SeriesPlugin</a> <br /><br />With the next Update from DMM, it should be available on Your Plugin Feed.frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com2tag:blogger.com,1999:blog-3226429537132641818.post-72644502503727395522014-07-21T20:09:00.002+02:002014-07-21T20:09:38.022+02:00PSMoveAPI<b>PS Move API</b><br />
<br />
<u>Description of author:</u><br />
The PS Move API is an open source library for Linux, Mac OS X and Windows
to access the Sony Move Motion Controller via Bluetooth and USB directly from
your PC without the need for a PS3. Tracking in 3D space is possible using a
PS Eye (on Linux and Windows), an iSight camera (on Mac OS X) or any other
suitable camera source.<br /><br />Repository at GitHub:<br /><a href="https://github.com/betonme/psmoveapi">https://github.com/betonme/psmoveapi</a><br />
<br />
<u>Changes:</u><br />
<ul>
<li>Removed static declaration of clock_gettime because of linker error</li>
<li>Include winsock2.h before windows.h</li>
<li>Fixed calibration for windows 8</li>
<li>Separated calibration device from input device</li>
<li>Added basic support for the navigation controller </li>
</ul>
<br />
<u>Pull Request:</u><br /><a href="https://github.com/thp/psmoveapi/pull/118">https://github.com/thp/psmoveapi/pull/118</a>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-36312806237120479172014-01-16T20:19:00.000+01:002014-01-16T20:19:01.501+01:00Hibiscus Scripting-PlugIn für Kreditkarten der Sparkasse SigmaringenMit dem neuen Script könnt Ihr die Umsätze der Kreditkarten der Sparkassen Sigmaringen einfach und bequem abrufen lassen.<br />
<br />
Installation über mein Repository:<br />
<a href="http://tecjunkie.blogspot.de/2014/01/hibiscus-plugin-repository.html">http://tecjunkie.blogspot.de/2014/01/hibiscus-plugin-repository.html</a><br />
<br />
Oder einfach über das Repository von Sebastian Richter:<br />
<a href="http://hibiscus-scripting.derrichter.de/updates/neuesscripting-pluginfuerkreditkartendersparkassesigmaringen">http://hibiscus-scripting.derrichter.de/updates/neuesscripting-pluginfuerkreditkartendersparkassesigmaringen</a><br />
An dieser Stelle, noch Vielen Dank für die Unterstützung und den tollen Post.<br />
<br />
Bei Fragen gibt es im Hibiscus Banking Scripte Forum ein eigenes Unterforum:<br />
<a href="http://scripting-forum.derrichter.de/viewforum.php?f=32">http://scripting-forum.derrichter.de/viewforum.php?f=32</a>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-63508872918564952612014-01-16T19:49:00.003+01:002014-09-01T17:35:32.752+02:00Repository für meine Hibiscus PluginsAb jetzt können meine Hibiscus Plugins über ein eigenes Repository eingebunden werden und bei einer neuen Version werdet Ihr automatisch benachrichtigt.<br />
<br />
Um das Repository nutzen zu können müsst Ihr es erst noch in Hibiscus eintragen.<br />
Unter "Datei » Einstellungen", Reiter "Updates" mit dem Button "Neues Repository hinzufügen" folgende URL eintragen "<a href="http://hibiscus.betonme.bplaced.net/repository.xml">http://hibiscus.betonme.bplaced.net/repository.xml</a>".<br />
<div>
<br />
Zum Repository gibt es auch ein kleines Frontend:<br />
<a href="http://hibiscus.betonme.bplaced.net/">http://hibiscus.betonme.bplaced.net/</a><br />
<br /></div>
<div>
Hier findet Ihr noch eine sehr ausführliche Anleitung:</div>
<div>
<a href="http://hibiscus-scripting.derrichter.de/installation#TOC-Methode-1.-empfohlen-automatische-Installation-f-r-Scripting-PlugIns-oder-z.-B.-HTMLUnit-Einbinden-einer-Online-Verzeichnisses-Repository-in-Jameica-f-r-die-einfache-Installation-von-Scripting-PlugIns-und-HTMLUnit-mit-automatischen-Updates">hibiscus-scripting.derrichter.de</a><br />
<br />
Update: 24.08.2014<br />
Neue Repository URLs.</div>
frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com2tag:blogger.com,1999:blog-3226429537132641818.post-36593223853941545162014-01-01T18:50:00.004+01:002014-01-16T19:50:48.387+01:00Hibiscus Offline Konto Dauerauftrag Script 0.2<br />
Ein kleines Update des Offline Konten Scipts, dass die Installation vereinfachen soll.<br />
<br />
Installation:<br />
<ul>
<li>Jamaica starten</li>
<li>Plugin-Manager öffnen</li>
<li>Neues Plugin installieren...</li>
<li>Zip Archiv auswählen: Veraltet</li>
<li>Jameica neustarten</li>
</ul>
Für alle die das Script noch nicht kennen:<br />
<a href="http://tecjunkie.blogspot.de/2010/10/hibiscus-offline-konto-dauerauftrag.html">http://tecjunkie.blogspot.de/2010/10/hibiscus-offline-konto-dauerauftrag.html</a><br />
<br />
<b>Update 16.01.2014</b><br />
Jetzt ist die Installation noch einfacher über das neue Repository:<br />
<a href="http://tecjunkie.blogspot.de/2014/01/hibiscus-plugin-repository.html">http://tecjunkie.blogspot.de/2014/01/hibiscus-plugin-repository.html</a><br />
<br />frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-61029596106569131952013-09-28T13:48:00.000+02:002015-08-02T15:26:01.603+02:00Userscripts for OTR @ Fernsehserien.deThese userscripts will add search links for <a href="http://www.onlinetvrecorder.com/">OnlineTVRecorder</a> files to the air dates list of all series and episodes on Fernsehserien.de.
No need to search seperate for an episode anymore.<br />
<br />
OtrKeyFinder @ Fernsehserien: <a href="http://userscripts.org/scripts/show/178761">userscripts.org</a>, <a href="https://greasyfork.org/scripts/3369-otrkeyfinder-fernsehserien">greasyfork.org</a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxtPim23zA6WUD0GlBsJ9pYphW8fxP7P-X2cV-51uyGJSLWa0_whQoRj1XNtWybDGtoNx7w-7Opgrnk-Q4foa8Ok4m1JYnatgTy-b-AIiqqRGfygHx76lWUwCng4ZWlMnn5u7ACd5Uz91v/s1600/OTRKF.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxtPim23zA6WUD0GlBsJ9pYphW8fxP7P-X2cV-51uyGJSLWa0_whQoRj1XNtWybDGtoNx7w-7Opgrnk-Q4foa8Ok4m1JYnatgTy-b-AIiqqRGfygHx76lWUwCng4ZWlMnn5u7ACd5Uz91v/s320/OTRKF.jpg" width="320" /></a></div>
<br />
OtrDatenkeller @ Fernsehserien: <a href="http://userscripts.org/scripts/show/178763">userscripts.org</a>, <a href="https://greasyfork.org/scripts/3371-otrdatenkeller-fernsehserien">greasyfork.org</a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNnC-5xft-LC3NEPCrdGwV2KyRzR1WzN8Jc2ZKgiXzhMZBK188Easa2EmzdIzv_OWY8QkozAL3JJntAoXnBNnN_ucNZarCyXzX6IuyDJBWJFOLN_wU44eqrIjWXuRpvDKB2SNuYS_wQMaP/s1600/OTRDk.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNnC-5xft-LC3NEPCrdGwV2KyRzR1WzN8Jc2ZKgiXzhMZBK188Easa2EmzdIzv_OWY8QkozAL3JJntAoXnBNnN_ucNZarCyXzX6IuyDJBWJFOLN_wU44eqrIjWXuRpvDKB2SNuYS_wQMaP/s320/OTRDk.jpg" /></a></div>
<br />
<br />
To use these userscripts You need:<br />
Chrome and <a href="http://tampermonkey.net/">Tampermonkey</a> or
Firefox and <a href="http://www.greasespot.net/">Greasemonkey</a><br />
<br />
Both scripts can be installed at the same time without interferences.<br />
<br />
Update 2014.07.17:<br />
Userscripts seems to be down. Now the scripts are additionally hosted at <a href="https://greasyfork.org/">https://greasyfork.org/</a><br />
https://greasyfork.org/de/scripts/3369-otrkeyfinder-fernsehserien-defrankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-241261264873880982013-08-27T06:25:00.000+02:002013-08-27T12:59:02.064+02:00Enigma2 SeriesPlugin reached 1.000.000 requests<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb8p2_ZHEwolKt4GaaH1FeTzbXBHPYT9joOJxWxvDAcPGtM932h0Rt_J8kqp5NCm6YofMpU0lmkw9gJcPS08hyphenhyphenq62FOleOeN5PdetxAdQyBpePpsvVGzuHexB2qy_LcHoI8ebeJppRrnY_/s1600/seriesplugin_stats.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb8p2_ZHEwolKt4GaaH1FeTzbXBHPYT9joOJxWxvDAcPGtM932h0Rt_J8kqp5NCm6YofMpU0lmkw9gJcPS08hyphenhyphenq62FOleOeN5PdetxAdQyBpePpsvVGzuHexB2qy_LcHoI8ebeJppRrnY_/s640/seriesplugin_stats.png" width="640" /></a></div>
<br />
For more details on the plugin, visit the <a href="http://bit.ly/seriespluginihad">IHAD Forum Thread</a>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-33524445789385634412013-07-03T19:55:00.003+02:002013-07-03T19:55:45.048+02:00Vodster.de: Compare prices of german video on demand movies<div>
I'm proud to present my latest project: <a href="http://vodster.de/">Vodster.de</a></div>
<div>
<br /></div>
<div>
At Vodster.de You can instantly find and compare thousands of movies, which come from 17 video on demand provider.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguNDFC6PYhQHa3VIs45NH2LyMI3R9wtYQlKygBRDnVSIOLG6qd0qdk1400pV-r3ONNsKwqulazv3c8fkiBFOpESoFmmhAoedsPjpKaXlWiG7aLrHX7dSjkj8atY06FXNPfkwGqZuGaQPGP/s1219/Screenshot_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguNDFC6PYhQHa3VIs45NH2LyMI3R9wtYQlKygBRDnVSIOLG6qd0qdk1400pV-r3ONNsKwqulazv3c8fkiBFOpESoFmmhAoedsPjpKaXlWiG7aLrHX7dSjkj8atY06FXNPfkwGqZuGaQPGP/s320/Screenshot_1.jpg" width="320" /></a></div>
<br />
Actually Vodster is just for the german market.frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-30495454281796756122013-03-30T09:30:00.000+01:002013-07-08T08:54:39.963+02:00FNET - Embedded TCP/IP StackThe FNET TCP/IP stack is a free, open source, dual TCP/IPv4 and IPv6 Stack for building an embedded communication software on 32bit MCUs.<br /><br /><div>
<div>
<b>Bug Reports:</b><br />#12 ISR Unlock w'ont execute pending interrupt handlers<br /><a href="http://sourceforge.net/p/fnet/bug-reports/12/">http://sourceforge.net/p/fnet/bug-reports/12/</a><br /><br />#13 ARP responses are too long</div>
<div>
<a href="http://sourceforge.net/p/fnet/bug-reports/13/">http://sourceforge.net/p/fnet/bug-reports/13/</a><br />During testing I noticed that Wireshark marks the length of the ARP responses as invalid (too long).<br />The investigation shows that the FCS of the request is copied to the response.<br /><br />#14 fnet_fec_rx_buf_next<br /><a href="http://sourceforge.net/p/fnet/bug-reports/14/">http://sourceforge.net/p/fnet/bug-reports/14/</a><br />Compiler error:<br />../../Ethernet/fnet_stack/cpu/common/fnet_fec.c:524: <br />error: static declaration of 'fnet_fec_rx_buf_next' follows non-static<br /><br /><b>Feature Requests:</b><br />#15 Support for GCC<br /><a href="http://sourceforge.net/p/fnet/feature-requests/15/">http://sourceforge.net/p/fnet/feature-requests/15/</a><br /><br />#16 Support for MCF5372</div>
<div>
<a href="http://sourceforge.net/p/fnet/feature-requests/16/">http://sourceforge.net/p/fnet/feature-requests/16/</a><br /></div>
</div>
frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-5209619172568739052013-01-24T21:11:00.003+01:002013-07-23T17:37:14.408+02:00GMail Auto PurgeToday I've found a very similar Google Script:<br />
<a href="http://www.labnol.org/internet/gmail-auto-purge/27605/">http://www.labnol.org/internet/gmail-auto-purge/27605/</a><br />
<br />
Update 23.07.2013<br />
Another script:<br />
<a href="http://www.johneday.com/422/time-based-gmail-filters-with-google-apps-script">http://www.johneday.com/422/time-based-gmail-filters-with-google-apps-script</a>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-18163174223337748602013-01-20T15:13:00.000+01:002013-01-21T08:23:53.307+01:00Shell: Delicious bookmark export with CurlThere are a lot of solution, how we can automate the export of the delicious bookmarks via the API into an XML file, but nothing for exporting the HTML backup file.
The advantaqge of the HTML file, it can be imported into Firefox, Chrome ...
Here is my solution, which runs fine on my Synology NAS:
<pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace;
color: #000000; background-color: #eee;
font-size: 12px; border: 1px dashed #999999;
line-height: 14px; padding: 5px;
overflow: auto; width: 100%">
<code style="color:#000000;word-wrap:normal;">
#!/bin/ash
# By http://tecjunkie.blogspot.com/
# 2013
CookieFileName=cookies.txt
username=user
password=password
curl --cookie $CookieFileName --cookie-jar $CookieFileName \
--data "username=$username&password=$password" \
https://previous.delicious.com/login --silent --insecure --location
curl --cookie $CookieFileName \
--form "include_notes=yes&include_tags=yes" \
http://export.delicious.com/settings/bookmarks/export --silent --insecure --location \
--output "delicious.html"</code>
</pre>
frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-47605915985038903972012-07-08T04:00:00.000+02:002012-07-09T09:23:55.157+02:00GMail CleanUp WebApp<span style="font-family: inherit;">GMail CleanUp can now be used as StandAlone WebApp without Google Spreadsheets:</span><br />
<a href="https://script.google.com/macros/s/AKfycbz05MyWn_hJwj8_dRtNFHHWRQVwzrJ-jr8p-i4JtQ/exec"><span style="font-family: inherit;">https://script.google.com/macros/s/AKfycbz05MyWn_hJwj8_dRtNFHHWRQVwzrJ-jr8p-i4JtQ/exec</span></a><br />
<span style="font-family: inherit;"><br /></span><br />
<span style="font-family: inherit;">After submiting Your settings, a new Trigger will be set automatically.</span><br />
<span style="background-color: white; font-family: inherit;">The CleanUp will be done every day between 1am and 2am.</span><br />
<br class="Apple-interchange-newline" /><div>
The close button can only be used, if the GUI is opened from a Spreadsheet.</div>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-55474508489586786642012-07-06T22:37:00.002+02:002013-01-28T23:45:49.738+01:00Dreambox InfoBarTunerState 1.0.1 Beta 1<u style="background-color: white;">Change-List:</u><br />
<u><br /></u>
New Icon (Thanks CoolST)<br />
<br />
New Config-Option:<br />
Number of pending records: 0 - 5 of the upcoming timers can be displayed<br />
<br />
Very simple update mechanism added.<br />
If IBTS is shown, a timer will update the content every 60 seconds.<br />
<br />
If an entry will be exceed the screen width, the title field will be shorten.<br />
<br />
<br />
<u>Bug Fixes:</u><br />
<br />
For a finished record, following information will be displayed:<br />
<blockquote class="tr_bq">
Time Left / Duration = Duration<br />
Elapsed = Duration<br />
Time Left = 0</blockquote>
<u>Extract and copy to:</u><br />
/usr/lib/enigma2/python/Plugins/Extensions/InfoBarTunerState<br />
<br />
<u>Archive:</u><br />
Update: <a href="https://github.com/betonme/e2openplugin-InfoBarTunerState">GitHub Repository</a>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-11947990114929280412012-06-14T21:20:00.001+02:002012-06-20T08:40:34.923+02:00Dreambox: Migrate existing Ext3 filesystems to Ext4<div class="tr_bq">
After reading several articles about migrating existing Ext3 filesystems to Ext4, I decided to try it with my one drive.</div>
<br />
<u>Before You start:</u><br />
<br />
<ul>
<li>make sure You have the latest OE2.0 DMM experimental image!</li>
<li>it can take several hours to complete the migration!</li>
</ul>
<br />
<u>Open a telnet connection:</u><br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;"># Stop Enigma2</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">init 4</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"># Display mounted disks</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">mount
</span><br />
<blockquote class="tr_bq">
<div style="border: 1px solid #555; padding: 5px;">
<span style="font-family: 'Courier New', Courier, monospace;">/dev/disk/by-uuid/aaaabbbbcccc on /media/hdd
type ext3 ( rw,relatime,errors=continue,barrier=1,data=writeback)
</span></div>
</blockquote>
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"># Unmount the disk</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">umount /media/hdd
</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"># List available devices</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">fdisk -l
</span><br />
<blockquote class="tr_bq">
<div style="border: 1px solid #555; padding: 5px;">
<span style="font-family: 'Courier New', Courier, monospace;">Device Boot Start End Blocks Id System</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">/dev/sda1 1 121601 976760032 83 Linux</span></div>
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span></blockquote>
<span style="font-family: 'Courier New', Courier, monospace;"># Convert the filesystem
# The first step will run fairly fast</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">tune2fs -O extents,uninit_bg,dir_index /dev/sda1
</span><br />
<blockquote class="tr_bq">
<div style="border: 1px solid #555; padding: 5px;">
<span style="font-family: 'Courier New', Courier, monospace;">tune2fs 1.42.1 (17-Feb-2012)
</span></div>
</blockquote>
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"># Repair it</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"># The second step will take a while, in my case for 1TB about 1 hour </span><br />
<span style="font-family: 'Courier New', Courier, monospace;">fsck.ext4 -yfD /dev/sda1
</span><br />
<blockquote class="tr_bq">
<div style="border: 1px solid #555; padding: 5px;">
<span style="font-family: 'Courier New', Courier, monospace;">e2fsck 1.42.1 (17-Feb-2012)</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Pass 1: Checking inodes, blocks, and sizes</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Pass 2: Checking directory structure</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Pass 3: Checking directory connectivity</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Pass 3A: Optimizing directories</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Pass 4: Checking reference counts</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Pass 5: Checking group summary information</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">/dev/sda1: 1545/953984 files (28.3% non-contiguous), 216730948/244190008 blocks</span></div>
</blockquote>
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span><br />
<span style="font-family: 'Courier New', Courier, monospace;">reboot</span>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-85763299897529041492012-05-31T17:18:00.002+02:002012-05-31T17:18:10.068+02:00VPN-Verbindung mit Android zur FRITZ!BoxIm AVM VPN-Portal gibt es eine sehr ausführliche Anleitung zum VPN Verbindungsaufbau zwischen einem Android Gerät und einer Fritz Box:<br />
<a href="http://www.avm.de/de/Service/Service-Portale/Service-Portal/VPN_Interoperabilitaet/16518.php?portal=VPN">AVM Android VPN Anleitung</a><br />
<br />
Ein letzter Punkt fehlt noch in der Anleitung:<br />
Die IP der FritzBox sollte noch im NCP Konfigurationstool im Feld DNS-Server eingetragen werden, dann funktioniert auch die Namensauflösung über VPN.frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-78334745985139941302012-04-29T11:31:00.001+02:002012-11-15T20:31:07.388+01:00My Dreambox Plugins<br />
<b>Stable Releases:</b><br />
<a href="http://bit.ly/rHPRkn%20">InfoBarTunerState</a> OE2.0 ready<br />
<a href="http://bit.ly/nx1cgC">Enhanced Movie Center</a> OE2.0 ready<br />
<a href="http://bit.ly/rvf6MG">WerbeZapper Enhanced</a> OE2.0 ready <br />
<a href="http://bit.ly/xgvJVh">Autotimer WebInterface</a> OE2.0 ready<br />
<a href="http://bit.ly/wcRrpz">PushService</a> OE2.0 ready<br />
<br />
<b>In Development:</b><br />
<a href="http://bit.ly/seriespluginihad">SeriesPlugin</a> OE2.0 ready <br />
<a href="http://bit.ly/IJSLC2">CutlistDownloader</a> OE2.0 ready<br />
<br />
<b>E2 Patches:</b><br />
<a href="http://bit.ly/sGr3Dk">E2 Patch to avoid SkinErrors</a><br />
<br />
<b>Further:</b><br />
<a href="http://bit.ly/ihadtorss">IHAD to RSS</a>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-64001379608429251452012-04-26T19:56:00.001+02:002013-10-06T10:51:44.534+02:00Google Analytics PHP Client: Send page information with EventsI'm using the TrackPageView and TrackEvent features of php-ga.<br />
<br />
During studying the Events on my Google Analytics page, I saw there are no page information attachted to the Events.<br />
I take a look into the very well commented code, and could implement it in a few minutes.<br />
Attached to the Issue You will find a zip archive containing two unified diffs of the changed files:<br />
<blockquote class="tr_bq">
<div style="font-family: "Courier New",Courier,monospace;">
Tracker.php </div>
<div style="font-family: "Courier New",Courier,monospace;">
EventRequest.php </div>
</blockquote>
Now You can also send the page information with the Events.<br />
Actually it is a required parameter, it could also be changed to an optional.<br />
<br />
You can find the Feature Request and Patch here:<br />
<a href="http://code.google.com/p/php-ga/issues/detail?id=16">Issue 16: Send page information with Events </a><br />
<br />
Update:<br />
The patch is now part of php-ga 1.2frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-43796723903303334492012-04-25T18:04:00.001+02:002012-04-26T08:06:00.602+02:00Google Analytics without utilizing the clients<div style="font-family: inherit;">
<span style="font-size: 100%;">If You want to use Google Analytics without JavaScript, You can use the <a href="https://developers.google.com/analytics/devguides/collection/other/mobileWebsites?hl=de-DE">Google</a> or the </span><a href="http://www.blogger.com/goog_666238993"><span style="font-size: 100%;">Galvanize</span></a><span style="font-size: 100%;"> script, but both will utilize the clients by using an Image tag.</span></div>
<div style="font-family: inherit;">
<br /></div>
<div style="font-family: inherit;">
The alternative way to avoid this, is a little tweak over the Google Script.</div>
<div style="font-family: inherit;">
Just follow their instructions and download the ga.php.</div>
<div style="font-family: inherit;">
<br /></div>
<div style="font-family: inherit;">
<span style="font-size: 100%;"><span style="font-weight: normal;">You have to comment out:</span></span></div>
<div style="font-family: inherit;">
<span style="font-size: 100%;"><span style="font-weight: normal;">ga.php line 182:</span></span></div>
<blockquote class="tr_bq" style="font-family: "Courier New",Courier,monospace;">
<span style="font-size: 100%;"><span style="font-weight: normal;">writ</span><b><span style="font-weight: normal;">eGifData();</span></b></span></blockquote>
<span style="font-size: 100%;"><b><span style="font-weight: normal;"></span></b></span><br />
<div style="font-family: inherit;">
<span style="font-size: 100%;"><b><span style="font-weight: normal;">Instead of using thier PHP code snipped insert this one before Your own Code:</span></b></span></div>
<br />
<blockquote class="tr_bq">
<div style="font-family: "Courier New",Courier,monospace;">
<span style="font-size: 100%;"><b><span style="font-weight: normal;"> // Google Analytics without utilizing the clients<br /> // URL<br /> $GA_ACCOUNT = "MO-ACCOUNT_ID";<br /> $GA_PHP = "ga.php";<br /><br /> function </span></b></span><span style="font-size: 100%;"><b><span style="font-weight: normal;">sendPageView</span></b></span><span style="font-size: 100%;"><b><span style="font-weight: normal;">() {<br /> global $GA_ACCOUNT, $GA_PHP;<br /> <br /> $_GET["utmac"] = $GA_ACCOUNT;<br /> $_GET["utmn"] = rand(0, 0x7fffffff);<br /> <br /> $referer = $_SERVER["HTTP_REFERER"];<br /> $query = $_SERVER["QUERY_STRING"];<br /> $path = $_SERVER["REQUEST_URI"];<br /> if (empty($referer)) {<br /> $referer = "-";<br /> }<br /> $_GET["utmr"] = $referer;<br /> if (!empty($path)) {<br /> $_GET["utmp"] = $path;<br /> }<br /> $_GET["guid"] = "ON";<br /> <br /> include($GA_PHP);<br /> // Only if You want to debug something <br /> print_r(error_get_last());<br /> }<br /> </span></b></span><span style="font-size: 100%;"><b><span style="font-weight: normal;"> // Avoid sending anything before else You will get:<br /> // Warning: Cannot modify header information </span></b></span></div>
<div style="font-family: "Courier New",Courier,monospace;">
<span style="font-size: 100%;"><b><span style="font-weight: normal;"> sendPageView();</span></b></span></div>
<div style="font-family: "Courier New",Courier,monospace;">
<span style="font-size: 100%;"><b><span style="font-weight: normal;"> <br /> // YOUR PHP CODE GOES HERE </span></b></span></div>
</blockquote>
<b><span style="font-family: inherit;">Attention: </span></b><br />
<span style="font-family: inherit;">Avoid sending anything before else You will get the warning:</span><br />
<span style="font-family: inherit;">Cannot modify header information </span><br />
<br />
<b><span style="font-family: inherit;">More advanced Version:</span></b><br />
<div style="font-family: inherit;">
<span style="font-size: 100%;"><span style="font-weight: normal;">You have to comment out also:</span></span></div>
<div style="font-family: inherit;">
<span style="font-size: 100%;"><span style="font-weight: normal;">ga.php line </span></span><span style="font-family: inherit;">154 - 158</span><span style="font-size: 100%;"><span style="font-weight: normal;">:</span></span><span style="font-family: inherit;"> </span></div>
<blockquote class="tr_bq">
<div style="font-family: inherit;">
<span style="font-family: "Courier New",Courier,monospace;">setrawcookie(...) </span></div>
</blockquote>
<span style="font-family: inherit;">And comment out at the end of the file:</span><br />
<blockquote class="tr_bq">
<span style="font-family: inherit;"> <span style="font-family: "Courier New",Courier,monospace;">trackPageView();</span></span><span style="font-family: inherit;"></span></blockquote>
<br />
<div style="font-family: inherit;">
<span style="font-size: 100%;"><b><span style="font-weight: normal;">Now You can send it also after Your code, just call:</span></b></span></div>
<blockquote class="tr_bq">
<div style="font-family: inherit;">
<span style="font-family: inherit;"> <span style="font-family: "Courier New",Courier,monospace;">trackPageView();</span></span><span style="font-family: inherit;"></span><span style="font-size: 100%;"><b><span style="font-weight: normal;"> </span></b></span></div>
</blockquote>
<span style="font-size: 100%;"><b><span style="font-weight: normal;">Maybe You want also to rename our function </span></b></span><span style="font-size: 100%;"><b><span style="font-weight: normal;">sendPageView to initGoogleAnalytics, because it will never send anything.</span></b></span><br />
<br />
<b>Further:</b><br />
<span style="font-size: 100%;"><b><span style="font-weight: normal;">If You want to use the whole Google Analytics functionalities, You may take a look on the <a href="http://code.google.com/p/php-ga/%20">Server-Side Google Analytics PHP Client</a></span></b></span>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-24604375038760180892012-04-09T10:58:00.003+02:002012-04-25T17:46:31.469+02:00KeePass AutoType EnhancementJust a small improvement to the KeePass AutoType feature.<br />
<br />
Do You also have the situation, that programs store the username.<br />
Then the default KeePass AutoType won't work and You have to change the entries AutoType.<br />
<br />
So why not change the overall AutoType to avoid this behaviour.<br />
<br />
Select Your "Database" and "Edit Group".<br />
Go to the tab "AutoType" and add the Prefix (Ctrl+A): <b>^a</b><br />
<br />
The complete AutoType should look like:<br />
^a{UserName}{TAB}{Password}{ENTER}<br />
<br />
KeePass will now select the complete Username before starting typing it.frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-65418461846051959062012-03-27T17:51:00.004+02:002012-03-27T17:51:31.634+02:00Share via Bookmarklet on Google Reader<b>Description of Ridllr:</b><br />
Google Reader’s sharing features are going away, but Ridllr will let you continue to share and consume content using Google Reader. <a href="http://www.ridllr.com/">http://www.ridllr.com</a><br />
<br /><br />
<b>Source Code:</b><br />
<blockquote class="tr_bq">
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span id="goog_87092596"></span>javascript:location.href='http://www.ridllr.com/sendto?title='+encodeURIComponent(document.title)+'&url='+encodeURIComponent(location.href);</span></blockquote>
<b>HowTo install:</b><br />
Just add this link to Your Bookmarks:<br />
<blockquote class="tr_bq">
<a href="javascript:location.href='http://www.ridllr.com/sendto?title='+encodeURIComponent(document.title)+'&url='+encodeURIComponent(location.href);"><span style="font-family: "Courier New",Courier,monospace;">Share via Ridllr</span></a></blockquote>
<b>HowTo use it:</b><br />
If You find page, You want to share with Your Ridllr Contacts on Google Reader, just click the Bookmarklet.<br />
<br />
<b>Alternative Service:</b><br />
<blockquote class="tr_bq">
<a href="http://sharebro.org/">http://sharebro.org</a></blockquote>
<b>More on Bookmarklets:</b><br />
<blockquote class="tr_bq">
<a href="http://en.wikipedia.org/wiki/Bookmarklet%20">http://en.wikipedia.org/wiki/Bookmarklet </a><br />
<a href="http://marklets.com/">http://marklets.com</a></blockquote>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-32851448307919568612012-02-27T19:16:00.000+01:002012-02-27T19:16:52.466+01:00Dreambox-Blog PushService<span class="" id="result_box" lang="en"><span class="hps"></span><span class="hps">The publication</span> <span class="hps">of the beta release have passed</span> <span class="hps">less than 24</span> <span class="hps">hours and here is t</span><span class="hps">he very first</span> <span class="hps">review</span><span class="">:</span></span><br />
<span class="" id="result_box" lang="en"><span class=""></span></span><a href="http://www.dreambox-blog.com/index.php/6576/pushservice-automatische-e-mail-benachrichtigung-bei-bestimmten-events">http://www.dreambox-blog.com/index.php/6576/pushservice-automatische-e-mail-benachrichtigung-bei-bestimmten-events</a>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-36254855028199457962012-02-27T07:00:00.000+01:002012-02-28T16:47:51.438+01:00Dreambox PushServicePushService (kurz PS) hält euch immer auf dem aktuellen Stand was auf eurer Dreambox passiert.<br />
<br />
Dazu wird PS in konfigurierbaren, regelmäßigen Abständen oder zu bestimmten Events ausgeführt, prüft Eure Dreambox nach Euren Vorgaben und benachrichtigt euch per eMail über Vorgänge/Unstimmigkeiten.<br />
<br />
<b>Hier ein Beispiel für eine EMail-Benachrichtigung:</b><br />
<blockquote class="tr_bq">
<i>Subject: DM8000 PushService: Free space warning</i><br />
Free disk space limit has been reached:<br />
Path: /media/hdd/movie<br />
Limit: 100 GB<br />
Left: 88 GB<br />
Provided by Dreambox Plugin PushService 0.1<br />
C 2012 by betonme @ IHAD</blockquote>
<br />
<b>Tastenbelegung im Setup:</b><br />
<ul>
<li>Grün: Speichern und schließen</li>
<li>Rot/Exit: Beenden ohne zu speichern</li>
<li>Blau: Neues Plugin hinzufügen</li>
<li>Gelb: Plugin entfernen</li>
<li>Text: Aktuelle nicht gespeicherte eMail Konfiguration testen</li>
<li>Info: Testlauf ohne eine eMail zu versenden</li>
</ul>
<br />
Die Grundkonfiguration von PS wird in der E2 Config abgespeichert.<br />
Alle Plugin-Einstellungen werden in einer XML-Datei abgelegt (Default = /etc/enigma2/pushservice.xml).<br />
<br />
<b>PS Grundkonfiguration:</b><br />
<ul>
<li>Enable PushService = True</li>
<li>Dreambox name (Mail Subject) = Dreambox</li>
<li>Config file = /etc/enigma2/pushservice.xml</li>
<li>Start time (HH:MM) = 1:00 Uhr</li>
<li>Period in hours (0=disabled) = 24</li>
<li>Run on boot = True</li>
<li>SMTP Server = smtp.server.com</li>
<li>SMTP Port = 587</li>
<li>SMTP SSL = True</li>
<li>User name</li>
<li>Password</li>
<li>Mail from = [EMAIL]abc@provider.com[/EMAIL]</li>
<li>Mail to or leave empty</li>
</ul>
<br />
<b>Aktuelle Plugins mit Beispielen und Optionen:</b><br />
<ul>
<li>FreeSpace: </li>
</ul>
Ihr gebt einen Pfad vor und den gewünschten freien Speicher, liegt der ermittelte freie Speicherplatz darunter, bekommt Ihr eine eMail.<br />
Kann mehrfach hinzugefügt werden, damit verschiedene Speicher geprüft werden können.<br />
-Allow HDD wake up = False<br />
-Where to check free space = /media/hdd/movie<br />
-Free space limit in GB = 100GB<br />
<ul>
<li>DeactivatedTimers: </li>
</ul>
Der AutoTimer trifft auf einen Timerkonflikt und kann eine Sendung nicht aufnehmen und erstellt deswegen einen deaktivierten Timer (muss aktiviert werden). PS würde euch in dem Fall direkt eine eMail mit dem betreffenden Timer zuschicken.<br />
- Remove deactivated timer(s) after successful transmission = False (On False PS will tag them as DeactivatedTimerPushed)<br />
<ul>
<li>CrashLog: </li>
</ul>
Angelehnt an die DMM Funktion. Ihr seid außer Haus und es tritt ein GS auf, die Dreambox startet automatisch neu und sendet euch eine Benachrichtigung mit dem CrashLog im Anhang.<br />
-Delete crashlog(s) after successful transmission = False (On False PS will rename them to .pushed)<br />
<ul>
<li>RecordSummary:</li>
</ul>
Eine Liste aller getätigten Aufnahmen wird euch zugeschickt.<br />
-Remove finished timer(s) only after = False (On False PS will tag them as FinishedTimerPushed)<br />
<ul>
<li>RecordNotification:</li>
</ul>
Ihr bekommt eine sofortige Benachrichtigung, wenn eine Aufnahme startet oder beendet wird.<br />
-Send notification on record start = False<br />
-Send notification on record end = True<br />
<ul>
<li>IPKGUpdateNotification:</li>
</ul>
Wenn Updates bereitstehen bekommt Ihr eine Liste aller Plugins mit der aktuell installierter Version und der Version des Updates.<br />
-Start update check if not done yet = False<br />
<br />
Weitere Plugin-Module können sehr einfach zur Laufzeit ohne Neustart hinzugefügt werden.<br />
Wenn das Setup geöffnet wird, werden die Einstellungen und Module neu eingelesen.<br />
Jedes Modul kann weitere Einstellungen bereitstellen, die dann automatisch in der Config eingebunden werden.<br />
(Erklärung für Entwickler folgt)<br />
<br />
<b>Roadmap:</b><br />
Konfiguration / Optionen übersetzen<br />
Öffentlicher Beta-Test<br />
Schwerkraft GIT -> Feed<br />
Lokalisierung ist vorbereitet, somit kann jeder dazu beisteuern.<br />
<br />
<b>Installation:</b><br />
Zip entpacken und nach /usr/lib/enigma2/python/Plugins/Extensions/PushService kopieren<br />
<br />
<b>Dependancies:</b><br />
<ul>
<li>python-twisted-core</li>
<li>python-twisted-mail</li>
<li>python-twisted-names</li>
<li>python-twisted-protocols</li>
<li>python-twisted-web </li>
<li>python-pyopenssl </li>
</ul>
<b>Anleitung zum Erstellen eines Plugin-Moduls:</b><br />
Es gibt ein Paar Rahmenbedingungen für die Module:<br />
<ul>
<li>Die py-Datei und der class-Namen müssen übereinstimmen</li>
<li>Die class muss eine subclass der PluginBase sein</li>
</ul>
Alles weitere ist optional und hängt von Eurem Modul ab:<br />
<ul>
<li>init: Sollte die Optionen behinhalten (self.setOptions ...) Das Speichern/Laden/Setup-Eintrag wird alles von der PluginBase erledigt.</li>
<li>run: Führt eure Prüfungen durch und gebt Subject, Body(optional), Attachments(optional) zurück. Wenn ihr None, False oder "" zurückgebt, wird keine eMail versendet.</li>
<li>success: Callback bei erfolgreichem Versand</li>
<li>error: Callback wenn ein Fehler beim Versenden auftritt</li>
<li>begin: Wird aufgerufen, wenn PS gestartet wird</li>
<li>end: Wird aufgerufen, wenn PS gestoppt wird</li>
</ul>
Die Bedingungen werden Beim Laden der Module auch geprüft, Fehler werden auf der Konsole ausgegeben.<br />
<br />
<a href="http://bit.ly/wcRrpz">Link</a> <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjetJZiRo9mWO2zLzRJnU7o082FWwEGs40RPPaFNuPqhBKxJ0cInDCzVRoTPVkZ6KpYZfGW5Ib-RpYA7148fMzkiYyiJbKXonDPkIPfdLzHPLT7S5b_V4r2u5KD5IzW4btY35yxC3BHDs9L/s1600/config_main1.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjetJZiRo9mWO2zLzRJnU7o082FWwEGs40RPPaFNuPqhBKxJ0cInDCzVRoTPVkZ6KpYZfGW5Ib-RpYA7148fMzkiYyiJbKXonDPkIPfdLzHPLT7S5b_V4r2u5KD5IzW4btY35yxC3BHDs9L/s200/config_main1.jpg" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCKQiq0ALNk20peN54Z-Z7rkeIQTaINeIjGxvPuGGztgVD_l-Ul9nd8zvCktUocn4BllOMP70djzjPGJlbLsDqgeMRcCWBjZFcOBWdk4klL1Z8GXE-jUAzj8IlwLLsfbopQqqF2FXjQrTH/s1600/config_main2.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCKQiq0ALNk20peN54Z-Z7rkeIQTaINeIjGxvPuGGztgVD_l-Ul9nd8zvCktUocn4BllOMP70djzjPGJlbLsDqgeMRcCWBjZFcOBWdk4klL1Z8GXE-jUAzj8IlwLLsfbopQqqF2FXjQrTH/s200/config_main2.jpg" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBUGywtYz-0s0cMvrBhaI4kv93fTB1VTCIdyEH_uVepu_lmHiLSzAEt57CkVq7KcHfuowPnmQQ2pqohEGxH8xBMhWenaodkDuC2ZWqhVLzmCHmv4TUCROBeQqH1owJwGNxYKh91OZ93uXF/s1600/config_addplugin.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBUGywtYz-0s0cMvrBhaI4kv93fTB1VTCIdyEH_uVepu_lmHiLSzAEt57CkVq7KcHfuowPnmQQ2pqohEGxH8xBMhWenaodkDuC2ZWqhVLzmCHmv4TUCROBeQqH1owJwGNxYKh91OZ93uXF/s320/config_addplugin.jpg" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjToXfnb15Z1b-5he_2cLT0mOQ2pLxeT7zopnMhEOtCUoSIlnl75yGM00VRw5F1qnU_UxC9TpgoIrCZOuMI9tPgaaWoHfFmwFPH1aG-yOv9coyHfFULMRhi0BYDjseaTAyXe9H3liV3MBJI/s1600/config_plugins1.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjToXfnb15Z1b-5he_2cLT0mOQ2pLxeT7zopnMhEOtCUoSIlnl75yGM00VRw5F1qnU_UxC9TpgoIrCZOuMI9tPgaaWoHfFmwFPH1aG-yOv9coyHfFULMRhi0BYDjseaTAyXe9H3liV3MBJI/s200/config_plugins1.jpg" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_dHPAgi2XZ-34Xt2_4-GtTLOAuxAYLZdobShxogxXwwfv2ZMW4L8llCaReaPgGkjipN3DhlEtBSqTbqkwH78f2fWkeknKV2ZkCJ9xsGwNW185_iBhQ6u5C0VT47x21AZT98Ab9IquVE7I/s1600/config_plugins2.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_dHPAgi2XZ-34Xt2_4-GtTLOAuxAYLZdobShxogxXwwfv2ZMW4L8llCaReaPgGkjipN3DhlEtBSqTbqkwH78f2fWkeknKV2ZkCJ9xsGwNW185_iBhQ6u5C0VT47x21AZT98Ab9IquVE7I/s200/config_plugins2.jpg" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKlFJoE1BfpX59dodTOpoVXikE1q794S5XoOWCVmFvhAsnKMyF_H2f1r3vWz3es5k3J4VC3_nW3CNTGhlz1DiHHnWkdEfz6rxDIziZ-njcN9kig6JgRpwgMe5WBNNIapyXr9614kKbE6Yq/s1600/help.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKlFJoE1BfpX59dodTOpoVXikE1q794S5XoOWCVmFvhAsnKMyF_H2f1r3vWz3es5k3J4VC3_nW3CNTGhlz1DiHHnWkdEfz6rxDIziZ-njcN9kig6JgRpwgMe5WBNNIapyXr9614kKbE6Yq/s200/help.jpg" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJBHRXwYd4SmED3xrTLSRghraVHAO6_FQJuci1xaYo_8ATPZO7b4rqVZpmKdERKwgD7MC8EyLMa2gPtEFMqVQQG1PDx8X9_mDvLW40TWTvr1fxNtR3sFHmjrm8ytdP-ANQqsr8EHOdKygq/s1600/testmailsuccess.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJBHRXwYd4SmED3xrTLSRghraVHAO6_FQJuci1xaYo_8ATPZO7b4rqVZpmKdERKwgD7MC8EyLMa2gPtEFMqVQQG1PDx8X9_mDvLW40TWTvr1fxNtR3sFHmjrm8ytdP-ANQqsr8EHOdKygq/s200/testmailsuccess.jpg" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUg3bx43L2j38luNXcuYOxxapapMFB0eD___5DmAUo9WtZ8cgb9AhZ2xZaj9h3v8KlTJGGv0h9lq4j5NcZ3aptqVfTXk5QTsEMLckCt6zjRBTkzp88axGr9S1MPJm9V7JJGYQ70ddwoosv/s1600/testmailfailed.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUg3bx43L2j38luNXcuYOxxapapMFB0eD___5DmAUo9WtZ8cgb9AhZ2xZaj9h3v8KlTJGGv0h9lq4j5NcZ3aptqVfTXk5QTsEMLckCt6zjRBTkzp88axGr9S1MPJm9V7JJGYQ70ddwoosv/s200/testmailfailed.jpg" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDga1DjqBz0UoVMWrrJ59bt5aRRyXO_qm5rXqdOrqFAUbO7J0F4SKHw0hvAYL87vAoPpSyd_-Eta6wRnuJJ6C4d0wdctwCe7YRXgFEjZj5XK0EnthnLMIiL9kunxKeXXAhOQ6BXjfJtoN4/s1600/testrun.jpg" imageanchor="1"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDga1DjqBz0UoVMWrrJ59bt5aRRyXO_qm5rXqdOrqFAUbO7J0F4SKHw0hvAYL87vAoPpSyd_-Eta6wRnuJJ6C4d0wdctwCe7YRXgFEjZj5XK0EnthnLMIiL9kunxKeXXAhOQ6BXjfJtoN4/s200/testrun.jpg" width="200" /></a>
</div>frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com0tag:blogger.com,1999:blog-3226429537132641818.post-51119645539838249832012-02-16T07:24:00.000+01:002012-07-09T09:24:20.132+02:00Google Apps Script: GMail CleanUpI wrote a small script, which can automatically clean Your GMail Inbox.<br />
<br />
<br />
Update is now available via Scriptgalerie.<br />
<u><br /></u><br />
<u>Description:</u><br />
<br />
Select the label(s) You want to be cleaned
regularily. All mails / threads which are older then the configured age
are moved automatically to Your trash. <br />
<br />
<u>1. Installation: </u><br />
Open a new new Google Spreadsheet:
<a href="http://docs.google.com/">Google Docs</a>
and go to Tools and Scriptgalerie.<br />
Search for GMail Cleanup, install it and grant authorization.<br />
<br />
<u>2. Configuration: </u><br />
Opent the Scriptmanager via the Tools.<br />
Select the onOpen function and click execute, the config screen should appear.<br />
<br />
Set Your options, click Submit and Close.<br />
<br />
<u>3. Trigger: </u><br />
<br />
Go to the Scripteditor, Triggers menu and choose "current scripts triggers". Click the link to set up a new trigger, choosing the "moveToTrash" function, a "time-driven" event, "day timer," and then for example "midnight to 1am." Click save and you are done.<br />
<br />
You can also setup an email alert if something goes wrong.<br />
<br />
<u>Run manually:</u><br />
Via Scriptmanager, execute the function moveToTrash.<br />
<br />
<u>Source-Code:</u><br />
You can view and edit the code, if You installed it.<br />
To view it,open Your spreadsheet and go to Tools and select Scripteditor.<br />
A new Tab with the script source will be opened.<br />
<u><br /></u><br />
<u>Deinstallation: </u><br />
You can deinstall it via the Scripteditor.<br />
Select on the left side the top level GMail Cleanup Script and choose Menu, delete.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNXGjFizXUBO5ePPkZj4mM3DAshG_bmcnxxZXHQh7nfsImtaMT4Uit0FMX29DMjdW0TpPhmCUy-I6TkK0Ci_EAgVv5tgVow88TYuh4GjkFq5DR72-ec0q3BSc_y8lxXOAg1Igeljw5-aq2/s1600/gmailcleanup.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNXGjFizXUBO5ePPkZj4mM3DAshG_bmcnxxZXHQh7nfsImtaMT4Uit0FMX29DMjdW0TpPhmCUy-I6TkK0Ci_EAgVv5tgVow88TYuh4GjkFq5DR72-ec0q3BSc_y8lxXOAg1Igeljw5-aq2/s320/gmailcleanup.jpg" width="248" /></a></div>
<br />frankglaserhttp://www.blogger.com/profile/09170142065111217670noreply@blogger.com3