Archiv

Archiv für die Kategorie ‘Hobby’

Stundensatz bei monatlichem Festgehalt berechnen

11. Juli 2017 Keine Kommentare

Manchmal interessiert einen ja sein eigener Stundenlohn, sei es für die Vergleichbarkeit mit anderen Jobs oder aber wenn es um die Vergütung von Überstunden geht. Sofern man ein monatliches Festgehalt bezieht, ist einem dieser Wert aber gar nicht unbedingt bekannt. Daher hier kurz die Berechnungslogik, mit der der Stundenlohn durch Firmen ermittelt wird.

Für die Berechnung benötigt man das Brutto-Monatsentgelt und die Wochenarbeitszeit (WAZ). Im Beispiel gehen wir von 2.500 € bei einer WAZ von 40 Stunden aus. Zusätzlich benötigt man die genaue Zahl an Wochen pro Monat. Diese bekommt man mit folgender Herangehensweise ermittelt:

Ein Jahr hat 365 Tage, alle 4 Jahre haben wir ein Schaltjahr mit 366 Tagen.
(4 * 365 + 1) / 4 = 365,25 Tage im Jahr

Ein Jahr hat 12 Monate.
365,25 / 12 = 30,4375 Tage im Monat

Eine Woche hat 7 Tage.
30,4375 / 7 = 4,34821429 Wochen im Monat

Nun wird die Arbeitszeit errechnet, die man im Mittel in einem Monat verrichtet, indem man die Wochen pro Monat mit der WAZ multipliziert:
4,34821429 * 40 = 173,9285714 Stunden im Monat

Und zu guter Letzt wird das Monatsentgelt durch die Stunden im Monat geteilt, was den übers Jahr immer gleichen Stundensatz ergibt:
2.500 / 173,9285714 = 14,37371663 ≈ 14,37 Euro Brutto pro Stunde

Stundensatz = \Large \frac{Monatsentgelt}{\frac{4*365+1}{4*12*7}*\text{WAZ}} = \frac{Monatsentgelt}{4,34821429*\text{WAZ}} \approx \frac{Monatsentgelt}{4,35*\text{WAZ}}

 
Alternativ kann man den Stundensatz auch mittels Jahresentgelt und täglicher Arbeitszeit ermitteln. Dafür werden dann die Arbeitstage des Jahres genutzt. Am Beispiel von oben macht das 30.000 € und bei 5 Arbeitstagen 8 Stunden am Tag.

Stundensatz = \Large \frac{Jahresentgelt}{260,8928571*\text{tägliche AZ}} \approx \frac{Jahresentgelt}{260,89*\text{tägliche AZ}}

 
Für die Herleitung der Arbeitstage des Jahres braucht man einmalig eine bereits nach erster Methode erfolge Berechnung des Stundensatzes, an der Zahl ~260,89 ändert sich dann aber nichts mehr.

Es braucht einen korrekt berechneten Stundensatz, welcher mit der täglichen Arbeitszeit multipliziert wird:
14,37371663 * 8 = 114,9897331 Euro am Tag

Das Jahresentgelt wird dann durch den Verdienst pro Tag geteilt:
30.000 / 114,9897331 = 260,8928571 ≈ 260,89 Arbeitstage pro Jahr

Urlaubstage und Feiertage brauchen in der Berechnung nicht berücksichtigt zu werden, denn diese werden ebenfalls voll vergütet, als wenn man an dem Tag am Arbeitsplatz gewesen wäre.

File Thingie – Syntax-Highlighting mit Ace-Editor

20. März 2017 Keine Kommentare

Als webbasierter Dateimanager kommt bei mir nach wie vor aufgrund seiner Einfachheit bevorzugt File Thingie zum Einsatz (Download Version 2.5.7). Diesen nutze ich auch gerne, um mal kurz was am Code bestimmter Dateien zu ändern, wenn ich grade keinen FTP-Zugang zum Server habe. Aber leider besteht der Standard-Editor nur aus einem Textfeld, und die im vorigen Beitrag angesprochenen Editor-Plugins wollte ich nicht nutzen, da ich WYSIWYG-Editoren nicht mag und für Code auch gar nicht gebrauchen kann.

Mit Ace gibt es aber auch einen reinen Code-Editor mit sehr gutem Funktionsumfang wie Syntax Highlighting für mehr als 110 Sprachen, verschiedene Themes sowie jede Menge weiterer Anpassungsmöglichkeiten. Dieser muss allerdings erst in File Thingie integriert werden. Nachfolgend möchte ich die dafür nötigen Änderungen aufzeigen.

Anforderungen
– Alle in File Thingie zur Bearbeitung freigegebenen Dateitypen sollen mit Ace dargestellt werden.
– Es soll je nach geöffneter Datei die korrekte Sprache für Syntax Highlighting geladen werden.
– Möglichst wenig Änderungen an der Funktionsweise von File Thingie selbst

Umsetzung
Zuerst müssen in der config.php die Dateitypen festgelegt werden, welche mit File Thingie bearbeitet werden sollen. Dafür sind an 2 Stellen Anpassungen erforderlich:

$ft["settings"]["FILETYPEBLACKLIST"] = ""; // File types that are not allowed for upload.

Nicht vom Kommentar irritieren lassen, diese Option gilt nicht nur für den Upload, sondern die hier eingegebenen Dateitypen werden generell nicht angezeigt.

$ft["plugins"]["edit"] = array(
  "settings" => array(
    "editlist" => "txt html htm css php js xml",
    "converttabs" => FALSE
  )
);

Danach geht es weiter mit der Datei edit.plugin.php im plugins-Verzeichnis. Der Editor in File Thingie ist eine einfache textarea. Diese kann von Ace aber nicht direkt verarbeitet werden. Ace ist für die Nutzung mit Containern wie div oder pre ausgelegt. Daher ist es erforderlich, ein neues div anzulegen.

In dieser Datei ist zusätzlich noch die Ermittlung des Dateityp erforderlich. Dazu wird ein zusätzliches verstecktes Eingabefeld angelegt, in welchem nur die Dateiendung der aktuell geladenen Datei gespeichert wird.

// Make form or show lock message.
$split_file = explode(".",$_REQUEST['file']);
$file_ext = $split_file[sizeof($split_file)-1];
$str .= '<form id="edit" action="'.ft_get_self().'" method="post">
  <div>
    <textarea cols="76" rows="20" name="filecontent" id="filecontent">'.$filecontent.'</textarea>
    <div name="ace_editor" id="ace_editor">'.$filecontent.'</div>
  </div>
  <div>
    <input type="hidden" name="file_ext" id="file_ext" value="'.strtolower($file_ext).'"</>
    <input type="hidden" name="file" id="file" value="'.$_REQUEST['file'].'" />
    <input type="hidden" name="dir" id="dir" value="'.$_REQUEST['dir'].'" />
    <input type="hidden" name="act" value="savefile" />
    <button type="button" id="save">'.t('Save').'</button>
    <input type="submit" value="'.t('Save &amp; exit').'" name="submit" />
    <input type="submit" value="'.t('Cancel').'" name="submit" />
    <input type="checkbox" name="convertspaces" id="convertspaces"'.($ft['plugins']['edit']['settings']['converttabs'] == TRUE ? ' checked="checked"' : '').' /> <label for="convertspaces">'.t('Convert spaces to tabs').'</label>
    <div id="savestatus"></div>
  </div>
</form>';				  

Zu guter Letzt muss in der Datei ft2.php der Ace-Editor eingebunden, aktiviert und der Inhalt des neuen Editor-div in die „alte“ textarea übertragen werden, damit die Änderungen auch gespeichert werden. Die textarea selbst wird ausgeblendet, damit nicht zwei Eingabebereiche ausgegeben werden. Zusätzlich wird geprüft, um welchen Dateityp es sich handelt, um die Syntax Highlighting Regeln für die entsprechende Sprache zu laden.

	<style type="text/css">
	  @import "css/ft.css";
    <?php echo implode("\r\n", ft_invoke_hook('add_css'));?>
	</style>
    <style type="text/css" media="screen">
      .ace_editor {
        position: relative !important;
        border: 1px solid lightgray;
        margin: auto;
        height: 600px;
        width: 800px;
      }
    </style>
    </head>
<body>

	<?php echo $str;?>
  <?php echo ft_make_scripts_footer();?>
  <?php echo implode("\r\n", ft_invoke_hook('destroy'));?>
<script src="./js/ace-builds/src/ace.js" type="text/javascript" charset="utf-8"></script>
<script>
  var editor = ace.edit("ace_editor");
  editor.setTheme("ace/theme/twilight");
  var file_ext = document.getElementById("file_ext").value;
  switch(file_ext) {
    case "php":
      editor.session.setMode("ace/mode/php");
      break;
    case "js":
      editor.session.setMode("ace/mode/javascript");
      break;
    case "htm":
    case "html":
      editor.session.setMode("ace/mode/html");
      break;
    case "css":
      editor.session.setMode("ace/mode/css");
      break;
    case "xml":
      editor.session.setMode("ace/mode/xml");
      break;
    default:
      editor.session.setMode("ace/mode/text");
  }
  var textarea = $('textarea[name="filecontent"]').hide();
  editor.getSession().setValue(textarea.val());
  editor.getSession().on('change', function(){
    textarea.val(editor.getSession().getValue());
  });
  editor.setPrintMarginColumn(false);
  </script>
</body>
</html>

Die erforderlichen Dateien für Ace kann man von der Webseite beziehen und beispielsweise im Unterverzeichnis js ablegen (wie im Code dargestellt). Möchte man weitere Dateitypen zur Bearbeitung freigeben, müssen die neuen Endungen wieder in der config.php freigegeben und in der ft2.php als neuer case ergänzt werden.

MoWeS Portable startet nicht unter Windows 10 Version 1607

15. Oktober 2016 Keine Kommentare

Habe zum Ende der kostenlosen Wechselphase noch schnell das Upgrade von Windows 7 auf Windows 10 durchgeführt. Kurz darauf folgte dann auch das Anniversary Update (Version 1607).

Nun wollte ich mal wieder MoWeS starten, da ich es trotz veralteter Apache und PHP Version dennoch gerne als schnell verfügbares Testsystem für einige Sachen nutze.

Nun musste ich leider feststellen, dass der Apache Dienst nicht mehr startet.

MoWeS-Status

Nach ein wenig Recherche war der Grund schnell gefunden: der WWW-Publishingdienst ist in Windows 10 standardmäßig aktiviert und blockiert den Port 80. Somit kann Apache in der Default-Konfiguration nicht starten.

Vorübergehend Abhilfe kann man sich über die Konsole verschaffen. CMD mit Admin-Rechten starten und folgendes eingeben:

net stop w3svc

Anschließend MoWeS bzw. die Server neu starten. Nun sollte alles wieder laufen.

Dies hilft aber nur temporär. Nach dem nächsten Neustart von Windows ist der WWW-Publishingdienst wieder aktiviert. Wer ihn dauerhaft abschalten möchte, muss den Dienst deaktivieren. Dazu gibt man in der Windows Suche bzw. Cortana das Wort Dienste ein und sollte eine passende Desktop-App finden. Diese öffnen und nach dem Eintrag WWW-Publishingdienst suchen. Mit der rechten Maustaste in die Eigenschaften wechseln und dort den Dienst von Starttyp Automatisch auf Deaktiviert ändern.

WWW-Dienst

Nach dem nächsten Neustart von Windows bleibt der Dienst abgeschaltet und man kann sofort mit MoWeS oder anderen WAMP-Installationen loslegen.

WordPress Fehlermeldungen nach Update auf Version 4.6

21. August 2016 Keine Kommentare

Grade das neue Update auf WordPress Version 4.6 installiert und feststellen müssen, dass anschließend Fehler-/Warnmeldungen auf der Seite und im Admin-Panel angezeigt werden. In der wp-config.ini nachgesehen, ob hier falsche Einstellungen vorliegen, aber daran lag es schonmal nicht:

@ini_set('display_errors', 0);
define('WP_DEBUG', false);

Nach etwas Suchen bin ich dann aber auf WordPress.org fündig geworden. Im Ticket #37680 wurde der Fehler erfasst und auch ein funktionierender Workaround veröffentlicht.

Nach den vorgeschlagenen Änderungen an der Datei load.php ist das Problem behoben. Mit dem nächsten Update auf 4.6.1 soll der Wordaround auch offiziell verteilt werden, aber bis dahin kann es noch ein paar Tage dauern.

Alternativ kann man auf seinem Server auch in der php.ini die Nutzung von ini_get_all() aktivieren, sofern man die Möglichkeit hat. Hier auf Pytal kann man die Einstellungen nicht eigenständig ändern, sondern ist auf den Serverbetreiber angewiesen.

Mehrere Verzeichnisse in einzelne Archive verpacken

7. Januar 2015 1 Kommentar

Stapelverarbeitung ist ne feine Sache. Die Anforderung war gleichermaßen einfach wie lästig, sollte man sie händisch durchführen müssen: Auf einem Gruppenlaufwerk liegen viele Dateien in verschiedenen Verzeichnissen. Aus Platzgründen kam nun die Idee auf, diese Unterlagen verzeichnisweise zu komprimieren, um Platz zu sparen. Jedes Verzeichnis eine ZIP-Datei mit gleichem Namen. Bei mehreren Hundert Verzeichnissen eine sehr undankbare Aufgabe, wenn man sich nicht zu helfen weiß.

Die kostenlose Lösung heißt 7-Zip, ein schnelles und einfaches Kompressionsprogramm. Das Vorhaben ginge zwar auch mit WinZIP oder WinRAR, diese standen aber nicht zur Verfügung, wohingegen 7-Zip auch als Portable zu erhalten ist.

Man erstellt sich also mit dem Editor eine Batch-Datei (*.bat) und kopiert die folgende Zeile hinein:

for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a -tzip "%%X.zip" "%%X\

Wenn statt Verzeichnissen Dateien einzeln gepackt werden sollen, sieht der Befehl wie folgt aus:

for %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a -tzip "%%X.zip" "%%X"

In der jetzigen Form muss die Batch-Datei im selben Hauptverzeichnis liegen wie die Verzeichnisse / Dateien, welche komprimiert werden sollen. Evtl. muss noch der Installationspfad zu 7-Zip angepasst werden.

Laufzeit einer Festplatte mit smartmontools feststellen

3. Januar 2015 Keine Kommentare

Mein Kontakt mit Linux hält sich abseits des Smartphones stark in Grenzen, für gewöhnlich nutze ich es nur, wenn mir der Einsatz von Windows noch umständlicher erscheint. So wie heute… ich habe mir bei Amazon eine „neue“ IDE-Festplatte bestellt, der man schon nach dem Auspacken ansehen konnte, dass sie so neu nicht sein kann. Also interessierte mich, wie lange das gute Stück denn bisher schon seinen Dienst verrichten durfte.

Da Festplatten über ein System namens Self-Monitoring, Analysis and Reporting Technology (abgekürzt SMART oder auch S.M.A.R.T.) verfügen, ist das Wo gar nicht so schwer, aber das Wie kann einen schon eher beschäftigen. Für Windows gibt es viele Programme, welche die SMART-Informationen auslesen und auswerten können. Dumm nur, wenn kein Windows zur Verfügung steht.

Ich nutze eigentlich nur noch ein Notebook, da kann ich mit dieser Festplatte schon mal nichts werden. Ein USB-Adapter wäre zwar schnell angeschlossen, aber über USB kommt man leider nicht an die SMART-Daten ran. Bleibt also nur der Rechner, für den die Festplatte bestimmt ist: ein HP e-PC c10. Mit einem P3 mit 1 GHz und ganzen 256 MB RAM nicht unbedingt zum Angeben geeignet, aber dafür schön klein ^^

Als Live-System habe ich mir SystemRescueCD ausgesucht, hauptsächlich da es schon fertig gebrannt im Regal lag, aber auch, weil es recht geringe Ansprüche an die Hardware stellt. Man kann auf der alten Kiste sogar die grafische Oberfläche starten, wenn man möchte, braucht man für das Vorhaben aber nicht. Wichtig ist aber, dass smartmontools installiert ist.

Also CD rein, booten und auf Betriebsbereitschaft warten. Zuerst benötigt man die Info, wie die Laufwerke denn heißen:

root@sysresccd /root % lshw -short

H/W path      Device      Class       Description
=================================================
                          system      e-Vectra
/0                        bus         HP System Board
/0/0                      memory      64KiB BIOS
/0/4                      processor   Pentium III (Coppermine)
/0/4/5                    memory      32KiB L1 cache
/0/4/6                    memory      256KiB L2 cache
/0/13                     memory      256MiB System Memory
/0/13/0                   memory      256MiB DIMM SDRAM Synchronous
/0/100                    bridge      82810E DC-133 (GMCH) Graphics Memory Controller Hub
/0/100/1                  display     82810E DC-133 (CGC) Chipset Graphics Controller
/0/100/1e                 bridge      82801AA PCI Bridge
/0/100/1e/2   enp1s2      network     3c905C-TX/TX-M [Tornado]
/0/100/1f                 bridge      82801AA ISA Bridge (LPC)
/0/100/1f.1               storage     82801AA IDE Controller
/0/100/1f.2               bus         82801AA USB Controller
/0/100/1f.3               bus         82801AA SMBus Controller
/0/100/1f.5               multimedia  82801AA AC'97 Audio Controller
/0/1          scsi0       storage     
/0/1/0.0.0    /dev/sda    disk        20GB ST320410A
/0/1/0.0.0/1  /dev/sda1   volume      18GiB Windows NTFS volume
/0/2          scsi1       storage     
/0/2/0.0.0    /dev/cdrom  disk        SCSI CD-ROM
/0/3          scsi2       storage     
/0/3/0.0.0    /dev/sdb    disk        1031MB SCSI Disk
/0/3/0.0.0/1  /dev/sdb1   volume      983MiB Windows FAT volume

Da man nun den Namen der Festplatte kennt, mit dem man sie ansprechen kann, kann es auch schon losgehen:

root@sysresccd /root % smartctl -i /dev/sda

smartctl 6.3 2014-07-26 r3976 [i686-linux-3.10.60-std441-i586] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate U6
Device Model:     ST320410A
Serial Number:    5FG02MCC
Firmware Version: 3.31
User Capacity:    20,404,101,120 bytes [20.4 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-6 (minor revision not indicated)
Local Time is:    Sat Jan  3 20:10:50 2015 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Sofern das Laufwerk SMART-Unterstützung hat und diese aktiviert ist, kann es weitergehen:

root@sysresccd /root % smartctl -A /dev/sda

smartctl 6.3 2014-07-26 r3976 [i686-linux-3.10.60-std441-i586] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   066   058   025    Pre-fail  Always       -       63482118
  3 Spin_Up_Time            0x0003   098   098   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       1
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   078   060   030    Pre-fail  Always       -       77625164
  9 Power_On_Hours          0x0032   088   088   000    Old_age   Always       -       11065
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   098   098   020    Old_age   Always       -       2608
194 Temperature_Celsius     0x0022   035   051   000    Old_age   Always       -       35
195 Hardware_ECC_Recovered  0x001a   100   253   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   194   000    Old_age   Always       -       6
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       -       0

Mich interessierte hier Eintrag 9 Power_On_Hours, welcher die bisherige Laufzeit in Stunden beinhaltet. Es gibt aber auch Hersteller, die an Position 9 einen anderen Zähler vorsehen: Power_On_Minutes. In diesem Fall wird der Wert in Minuten angegeben. Bei Maxtor-Festplatten wird unter Power_On_Minutes direkt die Stunden und Minuten angegeben, dieser Zähler nullt wohl aber bei 1000 Stunden, weshalb diese Angabe nicht immer zuverlässig ist. Daher muss noch ein Schritt weiter gegangen werden, um auf Nummer sicher zu gehen.

root@sysresccd /root % smartctl -t short /dev/sda

smartctl 6.3 2014-07-26 r3976 [i686-linux-3.10.60-std441-i586] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 1 minutes for test to complete.
Test will complete after Sat Jan  3 20:27:31 2015

Use smartctl -X to abort test.

Dieser Befehl startet einen Schnelltest der Festplatte, die voraussichtliche Dauer steht in der Ausgabe. Man kann auch einen Langtest starten, dieser dauert aber gern mal bis zu 30 Minuten, uns reicht der kurze aber aus.
Nach Ablauf der angegebenen Zeit kann das Ergebnis des Tests wie folgt abgefragt werden:

root@sysresccd /root % smartctl -l selftest /dev/sda

smartctl 6.3 2014-07-26 r3976 [i686-linux-3.10.60-std441-i586] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     11066         -
# 2  Extended offline    Completed without error       00%     11065         -
# 3  Short offline       Completed without error       00%     11065         -

Fazit: Die getestete Festplatte hat bereits 11066 Betriebsstunden auf dem Buckel.

Und wem die geringe Größe komisch vorkommt…natürlich hab ich keine 20 GB Platte bei Amazon bestellt, aber als mir der Gedanke kam, die Vorgehensweise in diesem Beitrag festzuhalten, hatte ich die geprüfte Platte schon wieder ausgebaut und für die Rücksendung eingetütet, denn sie hatte sportliche 51831 Betriebsstunden, was mir für eine vermeintlich neue Festplatte dann doch zu viel war. Also hab ich das ganze Prozedere noch mal kurz mit der alten Festplatte durchgeführt, die vorher in dem Rechner war.

Panasonic Lumix – Die Modellbezeichnung aufgeschlüsselt

4. April 2013 1 Kommentar

Eine neue Kamera sollte ins Haus und wie es der Zufall so will, gab es zeitlich passend ein super Angebot im Internet. Beim Vergleichen viel dann allerdings schnell auf, dass die angebotene Kamera eine andere Modellbezeichnung hat als die Vergleichsgeräte bei Amazon und Mediamarkt.

Panasonic Lumix DMC-TZ25EBR

Panasonic ist der Firmenname und Lumix der Markenname, soweit düfte es noch jedem klar sein. DMC wird jeder Kamera voran gestellt, die Bedeutung des Kürzel wollte mir Google bisher allerdings nicht verraten, ich vermute aber irgendwas in der Art wie: Digital Memory Camera.

 
Modelllinie:

Aktuell sind auf der Webseite von Panasonic die folgenden Modelle gelistet:

  • FS, XS und 3D (Stylish)
  • SZ (Stylishzoom)
  • LX, FX (Premium)
  • FT (Tough Outdoor)
  • TZ (Travellerzoom)
  • FZ (Superzoom)

Mehr Modelle sowie weitere Einzelheiten sind in der Wiki gelistet.

 
Modellnummer:

Direkt hinter dem Kürzel für die Modelllinie folgt die Modellnummer. Diese folgen keiner erkennbaren Regel, immerhin scheint man sich aber bisher darauf verlassen zu können, dass neuere Modelle immer eine höhere Nummer aufweisen als die Vorgänger.

 
Zu den restlichen Bestandteilen hat der Support von Panasonic auf Anfrage des Benutzers Subram aus dem Lumix-Forum Stellung genommen. Die Antwort wurde in diesem Beitrag veröffentlicht.

 
Vertriebsregion:

Gibt an, für welchen Markt das Gerät bestimmt ist.

  • E (Europa)
  • P (USA)
  • PC (Canada)
  • PL (Latein-Amerika)
  • G* (asiatische Vertriebsgebiete)

Nicht ganz uninteressant, denn je nach Region können sich die Geräte in den Punkten Ausstattung, Sprachen der Bedienungsanleitung, Menüführung und mitgelieferte Software unterscheiden. Zudem gibt es unterschiedliche Garantiebedingungen.

 
Länderkürzel:

Gibt an, für welches Land das Gerät bestimmt ist.

  • G (Deutschland / Germany)
  • B (England / Britain)
  • F (Frankreich/ France)

Dies hat wie schon die Vertriebsregion Einfluss auf Ausstattung, Sprache und Garantiebedingungen.

 
Farbe:

Die Farbe der Kamera.

  • K (Schwarz)
  • W (Weiß)
  • S (Silber)
  • R (Rot)
  • T (Braun)
  • A (Blau)

 
Bei der derzeit günstig angebotenen Kamera handelt es sich also um ein britsches Modell in der Farbe rot. Da der Support zusichert, dass man die normalen 24 Monate Garantie in Anspruch nehmen kann, wenn die Modellnummer auch korrekt auf der Rechnung vermerkt ist, steht einem Kauf nichts im Wege.

File Thingie – Ein web-basierter Dateimanager auf PHP-Basis

4. Januar 2013 2 Kommentare

Es kann sehr störend sein, wenn man nicht jederzeit via FTP auf seinen Webspace zugreifen kann. Tagsüber sitze ich hinter einem Proxy, der nur HTTP Verbindungen zulässt. Und ohne eigenen WebFTP-Server meide ich derartige Angebote auch lieber, wer kann schon mit Sicherheit sagen, was mit den Zugangsdaten passiert, die man auf solchen Seiten eingibt.

Um dieses Manko ein wenig zu entschärfen, habe ich mich daher nach einem Script umgesehen, welches es mir ermöglichen soll, alle relevanten Dateien (html, php, css, xml, etc.) auf dem Server direkt im Browser zu bearbeiten. Ein CMS kommt bisher nicht zum Einsatz (WordPress mal ausgenommen, aber darin verwalte ich nicht meine eigenen Scripte). Und ich muss sagen, ich bin überrascht, wie schwer es ist, ein passendes Helferlein zu finden.

Online Dateimanager gibt es zu Hauf, aber viele davon lassen sich nicht auf dem eigenen Server installieren, sondern wollen wieder wie schon WebFTP die Zugangsdaten von einem wissen. Und sehr viele der verbleibenden Lösungen lassen sich nicht auf das root-Verzeichnis des Servers anwenden, sondern bringen ihre eigene, geschlossene Verzeichnisstruktur mit. Ich will aber keine ausgeklügelte Multi-User Unterstützung, sondern einfach nur jederzeit Zugriff auf alle meine Daten.

Fündig geworden bin ich schließlich mit File Thingie. Dabei handelt es sich um einen kleinen, überschaubaren Dateimanager mit Editier-Funktionalität und der Möglichkeit, ZIP-Archive zu entpacken. Und er muss nicht mal im Root-Verzeichnis abgelegt werden, sondern kann in einem beliebigen Unterverzeichnis seine Dienste verrichten.

In der config.php müssen zuvor aber noch ein paar Änderungen vorgenommen werden: Benutzername und Passwort sollten vergeben werden, Anpassung des Standardverzeichnisses, Bearbeiten der Blacklists und letztlich unter den Plugin Settings die Ergänzung weiterer zugelassener Dateiendungen für den Editor.

Wer möchte, kann sich auch einen WYSIWYG-Editor hinzufügen. Im Installationspaket enthalten sind bereits Plugins für TinyMCE, CKEditor und FCKEditor, eigene Plugins können aber ebenfalls hinzugefügt werden.

Eine einfache, eingebaute Möglichkeit für Syntax Highlighting im normalen Texteditor gibt es hingegen leider nicht… oder ich hab sie bisher nur noch nicht gefunden, denn ein WYSIWYG-Editor hilft mir in den meisten Fällen nicht weiter.

Update:
Da das Projekt auf den offiziellen Seiten nicht mehr erreichbar ist, hier die letzte Version zum Download: File Thingie 2.5.7

Excel – Blattschutz aufheben bei unbekanntem Passwort

3. Januar 2013 23 Kommentare

Grade in die Situation gekommen, ein altes Makro sezieren zu müssen. Bei der Gelegenheit ist mir aufgefallen, dass ich in der Datei vor ca. 4 Jahren einen Blattschutz mit Passwort eingerichtet habe. Und wie es der Zufall so will, viel mir selbiges natürlich auch nicht mehr ein.

Also musste schnell eine Lösung her, und die lieferte mir Google überraschend schnell. Ich hätte gedacht, dass die Schutzmechanismen von Office etwas ausgeklügelter wären, aber man kann den Blattschutz mit einem kleinen Makro sehr leicht und relativ schnell aushebeln.

Eine Videoanleitung dazu habe ich bei Youtube gefunden und spare mir daher an dieser Stelle die weiteren schriftlichen Ausführungen und verweise einfach auf das Tutorial.

 
Und hier noch der benötigte Makro-Code, einfach als Modul in dem Dokument speichern, dessen Blattschutz man entfernen möchte, und anschließend auf dem Blatt ausführen.

Sub Blattschutz_Entfernen()
  On Error Resume Next
  For i = 65 To 66
   For j = 65 To 66
    For k = 65 To 66
     For l = 65 To 66
      For m = 65 To 66
       For n = 65 To 66
        For o = 65 To 66
         For p = 65 To 66
          For q = 65 To 66
           For r = 65 To 66
            For s = 65 To 66
             For t = 32 To 126

ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & _
Chr(n) & Chr(o) & Chr(p) & Chr(q) & Chr(r) & Chr(s) & Chr(t)

             Next t
            Next s
           Next r
          Next q
         Next p
        Next o
       Next n
      Next m
     Next l
    Next k
   Next j
  Next i
  MsgBox "Der Blattschutz sollte jetzt deaktiviert sein."
End Sub

Funktioniert mit Excel 2003 ganz hervorragend, nach knappen 2 Minuten konnte ich das Dokument wieder vollständig nutzen und bearbeiten. Laut Video soll das Makro auch in Excel 2007 nutzbar sein.

Excel – Inhalte als Plain Text einfügen

17. August 2012 Keine Kommentare

Wer oft mit Excel arbeitet, dürfte das folgende Problem nur zu gut kennen. Man kopiert Daten aus der einen Tabelle, fügt sie in der nächsten ein und siehe da, die Formatierung ist hinüber. Also entweder manuell nachbessern oder aber Bearbeiten => Inhalte einfügen… verwenden.

Dieses Fenster erscheint, wenn man innerhalb von Excel Daten kopiert. Bei mir kommt das täglich beruflich vor. Und da es sehr nervig sein kann, sich jedes mal durch das Menü zu klicken, hab ich mir die Funktion Werte einfügen auf die Symbolleiste gezogen.

Mit dieser kleinen Anpassung kann man schon ein gutes Stück schneller arbeiten. Aber was tun, wenn Daten von einer externen Anwendung in Excel eingefügt werden sollten, beispielsweise ein Link aus dem Browser. Werte einfügen funktioniert in diesem Fall nicht. Also erstmal wieder Bearbeiten => Inhalte einfügen…

Excel blendet ein völlig anderes Menü auf, sobald die Zwischenablage Daten enthält, die nicht aus einer Excel-Tabelle stammen. Leider gibt es für diesen Fall keine vorgefertigte Funktion, die man sich einfach so auf die Symbolleiste legen kann. Aber hier kann man mit einem Makro Abhilfe schaffen. Und da man diese Funktion ständig brauchen kann, wird sie auch gleich gloabl verfügbar gemacht.

Es wird also in der PERSONAL.XLS ein Modul angelegt und darin folgender Makro-Code gespeichert:

Sub AlsTextEinfuegen()
   ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
End Sub

Das war es im Grunde auch schon. Das Makro macht genau das selbe, was man vorher manuell erledigt hat. Es fügt beliebige Inhalte aus der Zwischenablage als reinen Text ein. Jetzt kann man dem Makro wahlweise eine Tastenkombination zuweisen oder es auf die Symbolleiste legen. Ich habe letzteres gemacht.

Das Symbol hab ich gleich neben Werte einfügen abgelegt, somit sind beide immer schnell zu erreichen. Solange der Anpassen-Modus noch aktiv ist, kann mit einem Rechtsklick auf das Symbol selbiges geändert werden und dem Symbol auch ein Makro zugewiesen werden.

Jetzt hat man 2 Buttons in der Symbolleiste, mit deren Hilfe man deutlich schneller und komfortabler Inhalte ohne Formatierung einfügen kann.

 
Btw… um in Word das gleiche Ergebnis zu erzielen, muss folgender Makro-Code genutzt werden:

Sub AlsTextEinfuegen()
    Selection.PasteAndFormat (wdFormatPlainText)
End Sub

Gespeichert wird das Makro in der Normal.dot, was der PERSONAL.XLS entspricht. Angelegt wird diese nach dem selben Schema, erstmal ein Dummy-Makro erstellen und dann wie oben beschrieben fortfahren.