Command & Conquer für geschenkt
Electronic Arts verschenkt Command & Conquer Tiberian Sun nebst Addon. Da werden bei mir Erinnerungen wach an Command & Conquer 2. Ach, das waren noch Zeiten… 😉
Textsatz mit \LaTeX, Programmieren, Zahlen, etc.
Author Archive
Electronic Arts verschenkt Command & Conquer Tiberian Sun nebst Addon. Da werden bei mir Erinnerungen wach an Command & Conquer 2. Ach, das waren noch Zeiten… 😉
Nach nicht mal einem Jahr bringt Canon den Nachfolger der Canon 500d raus, die 550d (http://www.heise.de/newsticker/meldung/Hausgemachte-Konkurrenz-Canon-EOS-550D-924895.html).
Die Frage ist nur, ob die EF-S Objektive diese Auflösung überhaupt ausnutzen können oder ob man nicht Objektive der L Serie nutzen sollte, von denen jedes einzelne schon mehr als der Body kostet. Schau mer mal, was die Tests sagen.
Wenn man mal die Seriennummer des installierten Windows (XP) vergessen hat, hilft Aida 32 weiter: http://www.chip.de/downloads/AIDA32_13006279.html.
Mit „Good Reader“ gibt es einen recht komfortablen PDF Viewer auf iPod und iPhone. Da ich das Vergrößern und Verkleinern beim Lesen vermeiden möchte, hier ein erster Versuch, die Seitengröße zu optimieren.
\documentclass[10pt]{article} \usepackage[screen,paperheight=3.2cm, paperwidth=4.8cm, left=2mm,right=2mm, top=-2mm,bottom=0mm]{geometry} \usepackage[]{blindtext} \usepackage[]{microtype} \renewcommand{\familydefault}{\sfdefault} \usepackage[scaled=0.9]{helvet} \setlength{\parindent}{0pt} \pagestyle{empty} \begin{document} \tiny \blindtext \blindtext \blindtext \end{document} |
Hier das fertige PDF: ipod
Hier die verbesserte Version:
\documentclass[fontsize=5pt]{scrartcl} \usepackage[screen,paperheight=3.2cm, paperwidth=4.8cm, left=2mm,right=2mm, top=1mm,bottom=0mm]{geometry} \usepackage[]{blindtext} \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage[]{microtype} \renewcommand{\familydefault}{\sfdefault} \usepackage[scaled=0.9]{helvet} \setlength{\parindent}{0pt} \pagestyle{empty} \title{Blindtext} \author{Max Mustermann} \begin{document} \maketitle \section*{Kapitel 1} \blindtext \section*{Kapitel 2} \blindtext \section*{Kapitel 3} \blindtext \end{document} |
Hier das fertige PDF: ipod2
Die letzte Version beinhaltet auch PDF-Buttons für das vor- und Zurückschalten im Dokument.
\documentclass[fontsize=5pt]{scrartcl} \usepackage[screen,paperheight=3.2cm, paperwidth=4.8cm, left=3mm,right=1mm, top=1mm,bottom=0mm]{geometry} \usepackage[]{blindtext} \usepackage[ngerman]{babel} \usepackage[]{eso-pic} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage[]{microtype} \renewcommand{\familydefault}{\sfdefault} \usepackage[scaled=0.9]{helvet} \setlength{\parindent}{0pt} \pagestyle{empty} \title{Blindtext} \author{Max Mustermann} \AddToShipoutPicture{ \put(1,2){% \thepage } \put(1.5,10){% \Acrobatmenu{PrevPage}{\huge\textless} } \put(1.5,20){% \Acrobatmenu{NextPage}{\huge\textgreater} } } \usepackage[]{hyperref} \hypersetup{% colorlinks=true, % aktiviert farbige Referenzen linkcolor = blue, % Linkfarbe blau citecolor = blue, % cite-Farbe blau urlcolor = blue, % cite-Farbe blau pdfpagemode=UseNone, % PDF-Viewer startet ohne Inhaltsverzeichnis et.al. pdfstartview=FitH} % PDF-Viewer benutzt beim Start bestimmte Seitenbreite \begin{document} \maketitle \section*{Kapitel 1} \blindtext \section*{Kapitel 2} \blindtext \section*{Kapitel 3} \blindtext \end{document} |
Hier das PDF: ipod3
Lege ich unter Mac OS über das Kontextmenü einer Datei fest, mit welchem Programm die Datei geöffnet werden soll, so gilt die Festlegung nur für diese eine Datei. Da das recht lästig ist, hier die Lösung (gefunden bei http://www.zero0ne.de/avi-immer-mit-vlc-offnen/):
Nachdem das Erstellen der DLL und der Test erfolgreich waren, können wir jetzt die DLL auch aus Powershell heraus aufrufen:
[Reflection.Assembly]::LoadFile("C:\simpledll.dll") [de.uweziegenhagen.TextCompare]::levenshtein("Andrea", "Andria") |
Die Ausgabe bringt zuerst ein paar allgemeine Informationen zur geladenen DLL, dann die Ausgabe der Funktion.
GAC Version Location --- ------- -------- False v2.0.50727 C:\Users\Uwe\Desktop\csharp-dll\simpledll\simpledll\bin\Re... 1
Als nächstes schreibe ich eine kleine Konsolenanwendung, mit deren Hilfe ich die DLL testen kann. Als Projekttyp nutze ich daher „Konsolenanwendung“. Im Projektmappenexplorer wird unter Verweisen ein neuer Verweis auf die DLL angelegt, dann folgt die Eingabe des Quellcodes:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using de.uweziegenhagen; namespace Levenshtein_Test { class Program { static void Main(string[] args) { Console.WriteLine(TextCompare.levenshtein("uwe", "andreas")); Console.ReadLine(); } } } |
Hier eine kurze Anleitung, wie man mit C# eigene DLLs erstellt und diese von Powershell aus benutzt. Ich nutze die kostenlose Version von Visual Studio, Visual C# Express 2008. Als umzusetzender Algorithmus kommt Levenshtein zum Einsatz, über den ich öfter schon geschrieben habe, die Funktion stammt aus der englischen Wikipedia.
In VS lege ich ein neues Projekt vom Typ Klassenbibliothek an, als Namespace wähle ich „de.uweziegenhagen“. Das Projekt habe ich unter dem Namen „simpledll“ abgespeichert, die „Class1“ Datei in TextCompare.cs umbenannt. Hier der Quelltext für die statische Klasse, wichtig ist, dass die Levenshtein Funktion „public static“ ist, nicht „private“ wie in der Wikiedia.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace de.uweziegenhagen { public static class TextCompare { public static Int32 levenshtein(String a, String b) { // http://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#C.23 if (string.IsNullOrEmpty(a)) { if (!string.IsNullOrEmpty(b)) { return b.Length; } return 0; } if (string.IsNullOrEmpty(b)) { if (!string.IsNullOrEmpty(a)) { return a.Length; } return 0; } Int32 cost; Int32[,] d = new int[a.Length + 1, b.Length + 1]; Int32 min1; Int32 min2; Int32 min3; for (Int32 i = 0; i <= d.GetUpperBound(0); i += 1) { d[i, 0] = i; } for (Int32 i = 0; i <= d.GetUpperBound(1); i += 1) { d[0, i] = i; } for (Int32 i = 1; i <= d.GetUpperBound(0); i += 1) { for (Int32 j = 1; j <= d.GetUpperBound(1); j += 1) { cost = Convert.ToInt32(!(a[i - 1] == b[j - 1])); min1 = d[i - 1, j] + 1; min2 = d[i, j - 1] + 1; min3 = d[i - 1, j - 1] + cost; d[i, j] = Math.Min(Math.Min(min1, min2), min3); } } return d[d.GetUpperBound(0), d.GetUpperBound(1)]; } } } |
Das Übersetzen der DLL sollte problemlos funktionieren, die fertige DLL sollte im PRojektverzeichnis unter /bin/release liegen.
In der aktuellen c’t wird in einem Artikel beschrieben, wie man mittels Powershell die Rechnungen von O2 abholen kann. Hier der Link zum Skript: https://www.heise.de/ct/projekte/machmit/webautomatisieren/wiki/SkriptUebersicht.
Von Bumptop gibt es jetzt Version 1.0, ist ein recht interessantes Konzept: