random thoughts to oil the mind

Category: Technology Page 2 of 9

[:en]On matters relating to computer hardware, software, and other technical goodies.[:de]Beiträge über Hardware, Software und Ähnliches[:]

memoQ and XSLT: Fun with Namespaces

Using memoQ to translate standard XLIFF (XML Localisation Interchange File Format) files can be made that bit more user friendly when you take advantage of the built-in feature to use XSLT transformations. Since I can’t get my head around namespaces, my simple transformation ended up strewn with unreadable references to local-name() nodes. As ever, there is an easier way.

Take a standard XLIFF file along the lines of:

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns="urn:oasis:names:tc:xliff:document:1.2">
   <file source-language="en" datatype="plaintext" original="Project">
      <header/>
      <body>
         <trans-unit id="string">
            <source>This is the source content.</source>
         </trans-unit>
      </body>
   </file>
</xliff>

We can identify the nodes in the source using standard XPath syntax having defined the namespaces in the header:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   exclude-result-prefixes="xsl xlf xsi"
>
<xsl:output method="html" omit-xml-declaration="yes" />
<xsl:template match="/">
<xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
   <link rel="stylesheet" type="text/css" href="yourStyles.css" />
   <title>XML Preview</title>
</head>
<body>
   <h1><xsl:value-of select="xlf:xliff/xlf:file/@original"/></h1>
   <xsl:for-each select="xlf:xliff/xlf:file/xlf:body/xlf:trans-unit">
      <div class="id"><xsl:value-of select="@id"/></div>
      <div class="content"><xsl:value-of select="xlf:source"/></div><br>   </xsl:for-each>
</body><br></html><br></xsl:template><br></xsl:stylesheet>

This produces a basic, ugly but ultimately workable HTML file which memoQ can display in its preview pane:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
   <head>
      <link rel="stylesheet" type="text/css" href="yourStyles.css"/>
      <title>XML Preview</title>
   </head>
   <body>
      <h1>messages</h1>
      <div class="id">string</div>
      <div class="content">This is the source content.</div>
   </body>
</html>

Obviously you can add references to any other information available in your XLIFF files, and then serve and style up the resulting HTML in any desired shape or form, but this basic scaffolding might help someone out there avoid the namespace minefield I ran into!

[Image courtesy of @emilep]

Laptop

CPU Throttling

Over the past few weeks I’ve had a niggling suspicion that my machine was running slowly. Things felt a little sluggish, sites were less responsive, switching between applications took longer than usual. My machine was showing signs of ageing, despite its relative youth.

Then I tried launching Heroes of the Storm, a game I hadn’t played for a few weeks and which had been updated in the meantime. After getting through the menus and starting a game, the performance gradually plummeted, with the frames per second dropping from around 20 at launch to just 1 when there were a few moving characters on screen at once.

Since other games such as Counter-Strike: Global Offensive didn’t exhibit the same unplayable jerkiness, instead reacting rather more like the rest of my system in being generally lethargic, I assumed something in one of the patches had ruined my settings. After rooting around on the forums I found a variety of potential solutions, including running the 32-bit client, verifying the installation, reinstalling the game, reinstalling drivers, changing resolutions, running the game in windowed mode, forcing Nvidia’s hand in the control panel, and many more.

In reality, however, the problem had nothing to do with the game itself, but something had instead gone horribly wrong with my power management settings. Although I hadn’t touched them myself, somehow my CPU was stuck in first gear, being throttled down to 5% instead of dynamically altering to cope with the demands of the system at any particular time.

The solution on Windows 10, in case anyone should have the same problems, was simple:

  1. Navigate to the power options in the Control Panel (or for a shortcut, hit WIN + R and type powercfg.cpl).
  2. Verify that you’re using the default Balanced power plan.
  3. Click Change plan settings then Change advanced power settings.
  4. Scroll down the list to Processor power management and check the entry for Maximum processor state.
  5. Normally this should be set to 100%. If it isn’t, either do so manually, or if you haven’t otherwise changed anything about your power management settings, click Restore plan defaults.

Schlüsselkompetenzen

This entry is also available in English.

Eines Morgens sitze ich am Frühstückstisch, eine warme Tasse in den Händen, ein köstlicher Kaffeegeruch in der Luft. Durch das Fenster scheint die Sonne auf einen neuen Tag, während das Vogelzwitschern dem sonst unbeschriebenen Tagesblatt eine Melodie verleiht. Plötzlich ertönt und vibriert es auf dem Fenstersims: Vater ruft an.

„Der Akku im Autoschlüssel ist leer.“ Anscheinend steht er vor seinem Wagen auf dem Parkplatz und drückt verzweifelt auf die Fernbedienung. „Rufst du mal den Autodienst an? Ich komme nicht rein.“

„Benutz doch den Schlüssel.“

„Wie, den Schlüssel?“

„Schlüssel rein, drehen, Tür öffnen.“

„Und das geht?“

Mir ist dieses kurze Gespräch, das sich schon vor vielen Monaten ereignete, wieder in den Sinn gekommen, als ich einen ähnlichen aber wenig heiteren Bericht aus Neuseeland gelesen habe. Dort hat sich ein älteres Ehepaar in seinem Wagen ohne Schlüssel eingesperrt. In dem Glauben, es säße jetzt in der Klemme, versuchte das Paar durch Hupen die Aufmerksamkeit der Nachbarn zu erregen, sowie das Fenster mit einem Wagenheber einzuschlagen. Doch der Versuch, die Tür durch bekannte Methoden zu öffnen, blieb außen vor.

Schließlich wurden die beiden nach 12 Stunden in dem Fahrzeug von den Nachbarn gerettet, wobei die Frau bereits ohnmächtig und der Mann in Atemnot geraten war. Wahrscheinlich ein wenig dramatisch eingekleidet, sei den Rettungsdiensten zufolge dieses kleine Missgeschick beinahe mit Todesfolgen verbunden.

Wie können manch unserer elementarsten Werkzeuge so schnell in Vergessenheit geraten, wenn sie ersetzt werden? Warum werden wichtige Ideen und Methoden, die unser tägliches Leben so prägen, so einfach verdrängt? Obschon leicht amüsant oder tödlich, stehen sich diese zwei Geschichten im Hinblick auf ihre Auswirkungen an zwei entgegengesetzten Polen gegenüber. Doch auch wenn die meisten von uns über die scheinbare Ahnungsloskigkeit und Dummheit der Anderen nur den Kopf schütteln oder hämmisch lachen können, befinden wir uns wohl leicht in dieser und anderen ähnlichen Situationen, seit wir uns zunehmend auf die Geräte der modernen Technik verlassen, um einfach durch den Alltag zu kommen. Seit die mechanische Welt durch die digitale ersetzt wird, weiß überhaupt irgendeiner noch, wie man die Dinger repariert, wenn die Maschine versagt?

Im Leben vergleichen wir viele Aspekte mit dem Fahrradfahrenlernen: Das vergisst man ja nie. Zumindest nur so lang das Fahrrad nicht angeschlossen ist. In dem Fall muss man bloß hoffen, man weiß noch, wie das geht.

Key Literacy

Dieser Eintrag ist auch auf Deutsch verfügbar.

I’m sitting at the table one morning, hands cradling a warm mug, that rich smell of coffee hanging in the air. The sun is shining down on a brand new day, only the chittering of birds offering their choral backdrop to an otherwise blank canvas. Then a vibration on the windowsill accompanied by a tinny melody. Dad’s calling.

‘The battery in my car key’s dead,’ he tells me, apparently standing in front of his locked car on the car park, desperately pressing the transponder. ‘Can you find the number to call the AA? I can’t get in the car.’

‘Why don’t you just use the key?’

‘How?’

‘Put the key in the lock and turn it.’

‘Oh, does that work?’

I was reminded of this little exchange, which already happened many months ago, by a similar but rather less amusing news report from New Zealand. A couple found themselves ‘locked’ in their car without the key, and believing there to be no way out, resorted to pomping the horn to attract attention, and attempting to smash through the window with a car jack. They didn’t think of unlocking the door in the regular manner.

Eventually the couple were rescued by neighbours after over 12 hours in the vehicle, with the women already unconscious and the man having difficulties breathing. According to the emergency services, doubtless a touch on the dramatic side, their little misadventure could have proven fatal.

How is it that we can so easily forget some of our most rudimentary tools when they are superceded? What makes us forget things we otherwise take for granted in our day to day lives so readily? These two stories may occupy two extremes in terms of their potential consequences – from the mildly humorous to the near fatal – yet whilst most of us are liable to shake our heads or brazenly laugh at others’ apparent ignorance and stupidity, it’s a situation we readily find ourselves in as we become increasingly reliant on life’s many little technological gizmos to get us through the day. As the mechanical is replaced by the digital, will any of us remember how to fix things when the machine stops?

We compare many things in life to riding a bicycle: you never forget. At least, that is, as long as it isn’t chained up, in which case you’d better hope you can remember how the key works.

Lazarus bei Firefox

This post is also available in English.

Zwar ist Lazarus damals von den Toten auferstanden, doch nun muss er wieder endgültig in Frieden ruhen. Dieses praktische Zusatzmodul für Firefox speichert all die in den Eingabefeldern einer Seite eingetippten Daten, während man arbeitet und schont man dadurch von der möglichen Katastrophe, sollte der Browser abstürzen. Leider scheint es nun von seinem Autor aufgegeben worden zu sein, denn seit einigen Monaten gibt es keine Aktualisierungen mehr und mit jedem Firefox-Update geht es ein wenig mehr kaputt, bis ich nur noch das Symbol in meinem Fenster sehe, mit dem Vermerk „Lädt …“.

Zum Glück gibt es noch Alternativen, wie zum Beispiel den Alleskönner Form History Control.

Page 2 of 9

Powered by WordPress & Theme by Anders Norén