Setting up TeXstudio on Mac OS X 10.11 El Capitan

For a couple of years now, TeXstudio is my favorite IWE (Integrated Writing Environment) for LaTeX. Last year, I switched from Windows to OS X, but I didn’t take my LaTeX environment with me. Since I’m going to need LaTeX more often in the next time, I finally set it up on OS X 10.11 El Capitan. Unfortunately, this was not an easy task. And here’s why:

Installing MacTeX and TeXstudio

The most common TeX distribution on Mac is MacTeX, and this distribution is incredibly huge: MacTeX’s installation package is about 2.3 gigabytes in size. The distribution contains all important TeX binaries, Ghostscript and some GUI tools for managing packets or modifying global TeX settings. (There’s also a way smaller distribution called BasicTeX, whose package is only 109 megabytes in size. However, I haven’t tested this distribution in combination with TeXstudio.)

Continue reading Setting up TeXstudio on Mac OS X 10.11 El Capitan

The Mysterious 17 Pixels Shift

One of the most curious bugs I ever came across was found deep inside a third-party JavaScript grid component. This grid component had a fixed height and width. It calculated column widths by taking the total grid width and distributing it to the different columns, each of which got a certain, predefined percentage.

On Mac OS X, everything looked nice. But on Windows, the column headers were oddly shifted and did not match the content columns. While investigating the bug, we found out that the columns were shifted by exactly 17 pixels to the left. But why 17 pixels? And not 5, 10, 15 or anything power of 2?

Continue reading The Mysterious 17 Pixels Shift

Speeding up Your Mono Server Application, but Watch the Argument Order

Mono has a –server option that can radically improve the response behavior of .NET server applications when run on Mono. From mono’s man page:

–server: Configures the virtual machine to be better suited for server operations (currently,  allows a heavier threadpool initialization).

However, when I tried using the server option for the first time, I was very disappointed that it didn’t work. After some time I found out that I caused the problem myself. Why? Because

mono MyApp.exe --server

is unfortunately not the same as

mono --server MyApp.exe

The latter is correct and works like a charm (on Mono 3.2.3 and higher).

Mono’s options must be placed before the file name, because otherwise the option is treated as an argument passed to the given .NET application. This is a simple, yet mean mistake, because you are used to append any parameters at the end of a command.

Conclusion: Sometimes it can be helpful to also look at the top of the man page, where it clearly states that the actual argument order is like the following:

mono [options] file [arguments...]

Looking Back: AngularJS, Cordova and the Windows Phone Back Button

Recently we brought a Cordova-based web app which already runs successfully on iOS and Android to Windows Phone 8.1. One of the issues you will definitely come across when porting your app to this platform is the handling of the back button, an essential part of Windows Phone’s user experience.

By default, pressing the back button on Windows Phone closes your Cordova-based app, regardless of the current state. Instead, the back button should bring you back to the previous view; except on the main page, where pressing it must suspend the current app (according to the Windows Store Policies, 10.4.4):

Where applicable, pressing the back button should take the user to a previous page/dialog. If the user presses the back button on the first page of the app, then the app terminates (unless it is allowed to run in the background).

Not respecting those policies may not only lead to a rejection of your app, but also to bad ratings in the Store.

Continue reading Looking Back: AngularJS, Cordova and the Windows Phone Back Button

Enabling Cross-Platform Touch Interactions: Pointer vs. Touch Events

Detail of Michelangelo’s Creation of Adam

Your customers love mobile devices and apps. And they love the way of interacting with them, using touch.

Touch is a very natural input method and multi-touch allows intuitive gestures such as pinch-to-zoom. As mobile or web developers, we also love apps and touch interaction. But, face it, we are also quite lazy. We want to run code written once to execute on several browsers and platforms resulting in one and the same behavior. Unfortunately, there are two competing methods that allow interacting with websites using touch input:

Continue reading Enabling Cross-Platform Touch Interactions: Pointer vs. Touch Events

Schwarz und weiß – oder: Light Theme First

Windows Phone bietet zwei Möglichkeiten, das Aussehen von Betriebssystem und Apps anzupassen: Die Akzentfarbe und den Hintergrund. Bei letzterem kann der Benutzer zwischen dem dunklen und hellen Hintergrundschema wählen. Aber während wir Windows-Phone-Entwickler eigentlich angehalten sind, die Wahl unseres Benutzers zu berücksichtigen und bestmöglich in unseren Apps umzusetzen, so siegt schlussendlich doch die Macht der Gewohnheit: Die unserer eigenen.

Windows-Phone-Themes im Vergleich
Windows-Phone-Themes im Vergleich

Stein des Anstoßes ist das Nichtbestehen der Zertifizierung einer Windows-Phone-App wegen des hellen Hintergrundschemas, dem Light Theme. Da half es auch nichts, dass die App richtig schön aufgezogen war: Mit MVVM, grünen Tests und durchgecheckt mit der Performanceanalyse. Gemangelt hat es dann aber an der Unterstützung des Light-Theme. Problem war, dass auf einem dunklen Hintergrundbild ein Text lag. Denn die Vordergrundfarbe von Textblöcken ist im dunklen Hintergrundschema, dem Dark Theme, standardmäßig weiß – beim hellen Schema hingegen schwarz und damit auf einem dunklen Hintergrund nicht gut lesbar. Dieser Umstand ist während der kompletten Entwicklung nicht aufgefallen: Nirgends war das Light-Theme aktiv, weder im Emulator (Dark-Theme ist hier Standard) noch auf Testgeräten (Dark-Theme nach persönlichem Gusto gewählt).

Welche Lehren sind daraus zu ziehen? Nun, im Prinzip sind es die folgenden zwei:
Continue reading Schwarz und weiß – oder: Light Theme First

Bundestag, Nürnberg und Windows 8

Wir begrüßen unsere vier ersten Apps im Windows Store!

Sehr lesenswert ist der Blog-Beitrag auf cheeseware.de über die ersten vier Apps für Microsoft Windows 8, die Manuel Rauber und ich im August und September 2012 entwickelt haben. Dazu haben wir mehrere Microsoft-Events besucht, am kommenden Freitag sind wir auch wieder beim Nürnberger Hackathon am Start.

Besonders stolz sind wir auf die Apps Bundestag und Geodart, die in ihrer jeweiligen Kategorie zu den Spitzenreiter-Apps zählen. Auch Dönermap und Speiseplan Studentenwerk Karlsruhe sind natürlich sehenswert.

In Karlsruhe wird es demnächst auch einen Hackathon geben, was uns natürlich besonders freut, da dies ja unser Ausbildungs- und Arbeitsort ist. Nähere Informationen gibt es auch hier an dieser Stelle, sobald diese offiziell von Microsoft veröffentlicht werden.

Hands on Windows 8

Windows 8 ist – mal weniger, mal mehr positiv – in aller Munde. Jeder spricht von Microsofts kommendem Betriebssystem, das am 26. Oktober 2012 generell verfügbar sein wird.

download

Als Entwickler möchte man natürlich direkt zum offiziellen Launch mit von der Partie sein, und so standen einige Microsoft-Events auf dem Plan, um sich vorab mit Windows 8 auseinanderzusetzen.

Dies waren im Einzelnen:

Microsoft kann man an dieser Stelle wirklich nur loben, denn sie setzen sich für die App-Entwickler sehr ein. Es gibt exzellenten Hands-on-Support, App Excellence Labs und tolle Programme für Studenten.

Die ersten Apps sind schon in Entwicklung und werden spätestens am 26. Oktober 2012 im Windows Store zum Herunterladen bereit stehen! 😉

iMApp veröffentlicht

iMApp

Heute veröffentlicht das Projekt-Team 3 des Kurses TINF11B4 der DHBW Karlsruhe seine Projektarbeit “iMApp”. Hierbei handelt es sich um eine interaktive Kartenanwendung inklusive eines “Wo-ist-was”-Quiz. Ideal für alle, die ihr Wissen in Bezug auf Deutschland ausbauen oder auf die Probe stellen möchten!

Die gemeinsame Projektarbeit der Vorlesungen Web-Engineering und Projektmanagement hatte das Erstellen einer Kartenanwendung, die über eine interaktive Komponente verfügen soll, zum Inhalt. Dabei sollten auf Kartendaten aus einer freien Quelle (hier: OSM) zurückgegriffen werden. Die Daten sollen in einem XML-Format gehalten werden und dann über XSLT nach SVG geparst werden.

Das Projekt-Team 3 freut sich, nun öffentlich das Ergebnis präsentieren zu dürfen. Rückmeldung wird gerne gesehen.

iMApp – Interaktive Kartenanwendung

HP Wireless TV Connect: Einfacher geht’s kaum

HP Wireless TV Connect Kit
HP Wireless TV Connect Kit

Jeder, der schon einmal Videos von seinem Rechner auf den Fernseher bringen wollte, kennt das Problem: Eine wirklich gute Variante gibt es eigentlich nicht. Entweder führt man ein Kabel durch das Zimmer, was unflexibel ist, oder man greift auf eine Streaming-Technik wie DLNA zurück, bei der es aber je nach Verbindung und Netzlast zu Aussetzern kommen kann.

Das “Wireless TV Connect Kit” von HP (179,00 EUR im HP Store) verwendet einen anderen Ansatz. Sender und Empfänger verständigen sich über den kabellosen Übertragungsstandard WHDI, der im 5 GHz-Band funkt und damit weitestgehend unabhängig von anderen Funktechnologien wie WLAN ist.

In dem nun folgenden Artikel möchte ich das “Wireless TV Connect Kit” eingehend testen und freue mich dabei auch auf Ihre Rückmeldung.

Continue reading HP Wireless TV Connect: Einfacher geht’s kaum