Amazon Kindle Cloud Reader

Amazon stellt ab sofort den Cloud Reader zur Verfügung. Wer einen Kindle besitzt und über Amazon Bücher kauft kann diese künftig auch direkt online von einem beliebigen PC aus lesen.

 

Gleich ausprobieren? Dann ab auf https://read.amazon.com

Unterstützte Kindle Reader Plattformen

Die nachfolgenden Plattformen werden zusätzlich zur Online Version unterstützt:

Die Kindle App ist nun so gut wie auf jeder Plattform verfügbar was meiner Meinung nach ein klarer Pluspunkt für Amazon als E-Book Shop darstellt. Mein Kindle 3 hat sich bereits bewährt und das eine oder andere „physische“ Buch bei mir abgelöst. Einzig wünschenswert wäre eine grössere Auswahl an deutschen Bücher.


TeamSpeak 3.0 Final released – Neu mit iPhone und Android App

Es ist soweit! TeamSpeak ist nun in der Version 3.0 Final erschienen und bringt auch gleich eine Android und iOS App mit :) TeamSpeak erfreut sich gerade bei Spielern grosser Beliebtheit und wurde in der Version 3 stark erweitert und teilweise neu entwickelt!

Was ist neu?

Eine gute Übersicht über die wichtigsten Neuerungen findet sich direkt auf der Webseite von TeamSpeak ( http://www.teamspeak.com/?page=ts3splash)

Was taugt die iPhone App?

Ich habe mir kurzerhand die iPhone App heruntergeladen und im Kurztest hinterlässt diese einen durchaus positiven Eindruck. Natürlich gibt es hie und da noch etwas anzupassen oder zu optimieren für ein Erst-Release ist die App jedoch erstaunlich stabil.

 


Resize Image with Lotus Script and Java on Lotus Notes

Wer in Lotus Notes Anwendungen entwickelt ist sicherlich auch bereits über die Problematik mit Bilddateien gestolpert. Wer per Code ein Bild in bestimmter grösse einfügen will muss dies normalerweise über ein Addon DLL erledigen. Da meine Anwendung jedoch ohne Zusatzsoftware auskommen soll habe ich mich entschieden eine entsprechende Java/Lotus Script Klasse zu schreiben.

1. Schritt: Lotus Script Bibliotheke „LSJavaImageResizer“ erstellen

Nachfolgend der Code für die Lotus Script Klasse:

[sourcecode language=“plain“ collapse=“true“ title=“Lotus Script Class 'LSJavaImageResizer'“]
%REM
Code and Library written by Yves Menge (yves.menge@gmail.com)
For updates / news visit http://blog.y-m-e.net
09.08.2011
%END REM

Option Public
Option Declare

UseLSX "*javacon"
Use "JavaLibrary"

%REM
Sample Code for use in Lotus Script:

***

Use "LSJavaImageResizer"
Dim lsImageResizer As New LSJavaImageResizer([PathToSourceImage], [PathToTempDir],[MaxImageHeight],[MaxImageWidth],[UpscaleSmallImages])

‚Parameters:
‚[PathToSourceImage] => Path to source image as string (eg. C:Test.jpg)
‚[PathToTempDir] => Path to Tempfile as string (eg. C:Temp
‚[MaxImageHeight] => Max image height in pixels as int or long (eg. 200)
‚[MaxImageWidth] => Max image width in pixelx as int or long (eg. 200)
‚[UpscaleSmallImages] => 1 (true) or 0 (false)

Dim strResizedImage as String = lsImageResizer.StartResizePicture()

‚Possible Response Strings:
‚OK => Path to resized image as string (eg. C:Tempimg123456789.jpg)
‚ERROR => "ERROR" as string, no error description is suplied!

‚REMARK: This class does only the resizing stuff, it’s on your own to delete the probably unused generated files
‚ in the temp directory!

%END REM

Public Class LSJavaImageResizer

‚Define Vars
jSession As JAVASESSION
jObject As JAVAOBJECT
jClass As JAVACLASS

‚Resizer Setup Vars
strSourceFile As String
strTempDir As String
intHeight As Integer
intWidth As Integer
intMakeImageLarger As Integer

‚SUB New -> Cunstructor
Sub New (ByVal sFile As String, ByVal sTempDir As String, ByVal iHEIGHT As Integer, ByVal iWIDHT As Integer, ByVal iMakeImageLarger As Integer)
‚Initialize JAVA Class
Set jSession = New JAVASESSION
Set jClass=jSession.GetClass("JavaImageResizer")
Set jObject = jClass.CreateObject

strSourceFile = sFile
strTempDir = sTempDir
intHeight = iHeight
intWidth = iWidht
intMakeImageLarger = iMakeImageLarger
End Sub

‚Resize Image
Function StartResizePicture ()
Dim strReturnCode As String

strReturnCode=jObject.Resize(strSourceFile, strTempDir, intHeight, intWidth, intMakeImageLarger)

‚Return Path for resized Image
StartResizePicture = strReturnCode
End Function
End Class
[/sourcecode]

2. Schritt: Java Bibliotheke „JavaLibrary“ erstellen

Nachfolgend der Code für die Java Klasse „JavaImageResizer.java“

[sourcecode language=“java“ collapse=“true“ title=“Java Library JavaImageResizer.java for use in JavaLibrary library“]
/*
*
*Code and Library written by Yves Menge (yves.menge@gmail.com)
*For updates / news visit http://blog.y-m-e.net
*09.08.2011
*
*/

import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import java.util.Calendar;

public class JavaImageResizer {

public String Resize(String strSourceFile, String strTempDir, int intMaxHeight, int intMaxWidth, int intMakeImageLarger){
float imgResizedWidth;
float imgResizedHeight;
String strOutputFile = "";

try{
//Get milliseconds (for random filename)
Calendar cal = Calendar.getInstance();
String strRandomNumber = String.valueOf(cal.getTimeInMillis());

//Construct destination path and get image type
strOutputFile = strTempDir + "img" + strRandomNumber + ".jpg";
BufferedImage originalImage = ImageIO.read(new File(strSourceFile));
int type = originalImage.getType() == 0? BufferedImage.TYPE_INT_ARGB : originalImage.getType();

//Get original size
imgResizedWidth = originalImage.getWidth();
imgResizedHeight = originalImage.getHeight();

//Change dimensions to fit maximum width and height
float imgAspectRatio = 0;

// Calculate image dimension for destination
if (imgResizedWidth > intMaxWidth || imgResizedWidth < intMaxWidth && imgResizedWidth >= imgResizedHeight && intMakeImageLarger==1){
imgAspectRatio = intMaxWidth / imgResizedWidth;
imgResizedWidth = java.lang.Math.round(imgAspectRatio * imgResizedWidth);
imgResizedHeight = java.lang.Math.round(imgAspectRatio * imgResizedHeight);
}
if (imgResizedHeight > intMaxHeight || imgResizedHeight < intMaxHeight && imgResizedHeight >= imgResizedWidth && intMakeImageLarger==1) {
imgAspectRatio = intMaxHeight / imgResizedHeight;
imgResizedWidth = java.lang.Math.round(imgAspectRatio * imgResizedWidth);
imgResizedHeight = java.lang.Math.round(imgAspectRatio * imgResizedHeight);
}

//Resize Image
BufferedImage resizeImageHint = reSizeImage(originalImage, type, (int)imgResizedHeight, (int)imgResizedWidth);
ImageIO.write(resizeImageHint, "jpg", new File(strOutputFile));

}
catch(Exception e) {
e.printStackTrace();
strOutputFile="ERROR";
}
// Return path to resized image or ERROR in case of a failure
return strOutputFile;
}

private static BufferedImage reSizeImage(BufferedImage originalImage, int type, int imgHeight, int imgWidth){
BufferedImage resizedImage = new BufferedImage(imgWidth, imgHeight, type);
Graphics2D g = resizedImage.createGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g.drawImage(originalImage, 0, 0, imgWidth, imgHeight, null);
g.dispose();
g.setComposite(AlphaComposite.Src);

return resizedImage;
}
}
[/sourcecode]

Etwas zur Verwendung des Codes

Der Code darf mit einem Vermerk auf seine Herkunft gerne verwendet werden. Ich übernehme keine Garantie für mögliche Schäden oder Fehler welche durch meinen Code entstehen. Verbesserungen oder Kritik? Ab in die Kommentare damit :)


Apple iCloud Preise sind bekannt!

Kürzlich wurden die Preise für den iCloud Service von Apple bekannt. Wem die kostenlosen 5 GB Speicherplatz nicht reichen der kann sich im Abo zusätzlich Speicher mieten.

iCloud Preise für in Schweizer Franken

Die Preisstruktur sieht wie folgt aus:

10 GB Speicher zusätzlich (Total 15 GB) für CHF 20 oder $20 pro Jahr
20 GB Speicher zusätzlich (Total 25 GB) für CHF 40 oder $40 pro Jahr
50 GB Speicher zusätzlich (Total 55 GB) für CHF 100 oder $100 pro Jahr

Speicher auf dem iPhone kaufen

Über Einstellungen -> iCloud -> Speicher & Backup-> „Mehr Speicher kaufen“ kann zusätzlicher Speicher erworben werden.

 

 

 

Fazit

Wer nicht gleich seine ganzen Videos und Bilder online sichern will dem reichen durchaus die 5GB Speicherplatz. Mein iPhone nutzt aktuell ca 400MB iCloud Speicher für ein Backup (bei deaktiviertem Fotoarchiv Backup). Wer mehrere Geräte einsetzt wird möglicherweise die 5GB Marke erreichen und sich mehr Speicher gönnen.


Sony DSC-HX5V >> GPS Assist Daten erneuern

Einmal mehr wollte ich nur kurz vor den Ferien die GPS Assist Daten meiner Sony DSC-HX5V mit der neusten Version versehen. Nun ist ja Sony eine derjenigen Firmen, welche stehts alles über eigene proprietäre Software erledigt sehen wollen. Ich bin kein Freund davon gleich mehrere hundert MB an Software zu installieren damit ich gerade einmal 200KB Daten auf der Kamera aktualisieren kann.  Nun zum eigentlichen Inhalt meines Posts:

Manuelles GPS Assist Update

Schritt 1:
Aktuelle Version der assistme.dat herunterladen
-> http://control.d-imaging.sony.co.jp/GPS/assistme.dat

Schritt 2:
Auf der Speicherkarte der Kamera die nachfolgende Ordnerstruktur erstellen X:PrivateSonyGPS (wobei X: das Laufwerk der Speicherkarte ist!) und die Datei assistme.dat in diesen Ordner speichern.

 

Schritt 3:
Speicherkarte wieder in Kamera einsetzen und über das Menü die gültigkeit der GPS Assist daten prüfen.

 

Happy GPS-Taging and Picture Taking :)


Next stop – Fazana, Croatia

Nach 2008 geht es mit 2011 weiter und ich verbringe mit Freunden zwei Wochen in Fazana!

 

Meine einzige Sorge in den nächstne 14 Tagen gilt dem stetigen auffrischen des Sonnenschutzes.

Allen die ebenfalls in die Sommerferien verreisen wünsche ich eine angenehme Zeit und schöne Ferien. Denjenigen, welche keine oder noch keine Sommerferien haben wünsche ich eine ruhigere Zeit und allen die ich vergessen habe natürlich auch :)

Nach der Sommerpause geht es dann mit dem einen oder anderen hoffentlich nützlichen Tipp auf meinem Blog weiter.

 

 

 

 

 


CMD während der Installation öffnen

Manchmal ist es ganz praktisch, wenn während der Installation von Windows ein CMD zur Verfügung steht. Sei dies auch nur um beispielsweise die interne Festplatte mit Diskpart zu bearbeiten. Ja, es gibt noch Fälle wo dieser Vorgang notwendig ist wenn beispielsweise die Festplatte vorgängig mit MBR partitioniert wurde und Windows je nach EFI Konfiguration eine GPT basierende Partitionierung erwartet.

 

Nun zum eigentlichen Inhalt dieses Beitrages. Zum öffnen eines CMD Fensters kann zu jeder Zeit während der Installation (ab dem Willkommens Bildschirm) die Tastenkombination SHIFT + F10 drücken und schon öffnet sich der bekannte schwarze Kasten :-)

Und so sieht es aus:


Picasa Web Albums and Google+

Viel gibt es da nicht zu sagen ausser der Teil betreffend „Mehr kostenloser Speicherplatz“ sticht einem sofort ins Auge! Man hat also künftig die Möglichkeit kostenlos so viele Bilder online zu stellen wie man will. Einzige Einschränkung scheint die automatische Grössenänderung auf eine Kantenlänge von 2048 Pixel zu sein.

Bisher hatte ich meine Bilder bei Flickr werde diese jedoch bald auf Picasa Web Albums transferieren welches kostenlos ist und nun auch nicht mehr über die 1GB Begrenzung für Bilder verfügt.

(via Google Help)


Google+ – First Look

Nur ein ganz kurzer Post zum Thema Google+! Ja ich bin bereits damit online und bin dabei die ersten Versuche zu starten!

Ich bin gespannt, ob Google+ zu einer „wirklichen Konkurrenz“ für Facebook wird. Kurzfristig wird es natürlich einen Hype um Google+ geben. Erst nach dem anfänglichen Hype lässt sich sagen wie sich Google+ auf die Nutzung von Facebook auswirken wird. Konkurrenz belebt ja bekanntlich das Geschäft, so sind wir gespannt was sich Google alles einfallen lässt um sich als Social Community Service zu etablieren.


Endian 2.4.1 Image für Alix Alix2d3

Benötigte Software / Hardware

-> Microsoft Virtual PC 2007
-> Endian ISO
-> WinImage 8.5
-> ALIX 2d13 oder ALIX 2d3

Im weiteren Verlauf wird von einer funktionierenden Installation von Microsoft Virtual PC ausgegangen! Ich gehe nicht speziell auf die Bedienung von Virtual PC ein. Google is your Friend :)

Image mit Virtual PC erstellen und auf CF Karte übertragen

Für die Erstellung des Images wird Virtual PC verwendet! VMWare oder VirtualBox funktionieren auch haben mit Endian jedoch teilweise Probleme daher verwende ich für die Alix Image Erstellung primär die Microsoft Lösung.

Konfiguration für die virtuelle Maschine

Für unsere virtuelle Maschine verwenden wir folgende Einstellungen

Wie auf dem PrintScreen zu sehen ist habe ich folgende Einstellungen verwendet:

  • 1x Festplatte à 3.5GB (3584MB)
  • 256MB RAM
  • Kein Floppy
  • 1x COM Port
  • 3x Netzwerkkarte (wenn WLAN ebenfalls installiert ist, 4x Netzwerkkarte verwenden)
  • Hardware Virtualisierung ist deaktiviert

Bemerkung zur Grösse der CF Karten:
Auch wenn die CF Karte mit 4GB angegeben ist, so kann nur selten genau 4GB (4096MB) korrekt auf die CF Karte geschrieben werden. Als Faustregel verwende ich jeweils CF-Grösse – 500MB. So kann ich sicher sein, dass das künftige Image auch auf Karten verschiedener Hersteller (welche jeweils unterschiedliche Grössenabweichungen haben) funktioniert.

Installation von Endian

Die Installation selbst ist einfach gehalten. ISO Image einbinden, virtueller PC starten und bei der Frage ob die serielle Schnittstelle aktiviert werden soll unbedingt mit JA antworten. Die Installation dauert je nach Leistung der verwendeten Hardware 5-10 Minuten. Bevor die Installation abgeschlossen ist, wird noch die IP Adresse des grünen Bereichs konfiguriert. Nach einem Neustart der VM kann diese ausgeschaltet werden.

VHD auf CF Karte übertragen

Mit dem Tool WinImage kann nun auf einfache Weise die virtuelle Festplatte (im vhd Format) auf die CF Karte übertragen werden. Hierfür öffnen wir WinImage und starten anschliessend die Aktion „Disk“ -> „Restore Virtual Hard Disk image on physical drive…“

WinImage zeigt hier bei nur die Wechseldatenträger an. Soll das Image auf eine 2.5 Zoll Festplatte übertragen werden muss der Hacken bei „Include non removable hard disk(s)“ gesetzt werden.
ACHTUNG: Wird der falsche Datenträger angeklickt sind die Daten unwiderruflich gelöscht.

Starten der ALIX Plattform

Nach erfolgreichem übertragen des Images auf die CF Karte kann diese in die ALIX eingesetzt und das Gerät gestartet werden. Um den Bootvorgang zu überwachen und Einstellungen vorzunehmen kann nun eine serielle Verbindung über die Konsole eingerichtet werden.

Ich verwende hierzu normalerweise PuTTY.

Die korrekten Port Einstellungen vorausgesetzt kann nun mit der Konfiguration der Endian begonnen werden.

Fertiges Image zum Download

Wer sich die Arbeit ersparen möchte kann sich ein fertiges Alix Image der Version Endian 2.4.1 für 4GB CF Karten direkt hier auf meinem Blog herunterladen. Die VHD Datei muss dann nur noch mittels WinImage auf die CF Karte übertragen werden. Ich habe für die Installation die IP 192.168.0.15 sowie die originalen Passwörter (siehe Endian Dokumentation für die Erst-Konfiguration) verwendet.

-> Download Endian 2.4.1 Image für 4GB CF Karten

Abschliessendes zu Endian auf Alix

Da die CF Karte nur eine begrenzte Anzahl von Schreibzugriffen zulässt und Endian auf dem journalisierenden EXT3 Dateisystem aufbaut ist es empfehlenswert, Log Funktionen auf das Minimum zu beschränken. Der Startvorgang dauert bedingt durch die relativ langsame CPU und der verwendeten CF Karte mehrere Minuten. Die Verwendung des Webinterfaces ist ebenfalls nicht sonderlich performant. Wer mehr Performance und mehr Log Funktionalität benötigt, dem empfiehlt sich die Installation auf eine herkömmliche 2.5 Zoll ATA Festplatte.

Ergänzungen / Ideen / Fragen

Ich freue mich stehts über konstruktive Kritik und Ergänzungen zu meinen Kurz-Tutorials. Die Kommentarfunktion lässt sich hierfür ebenfalls bestens verwenden :)