Archiv Autor

Websites testen

Entwickler von Websites – egal ob Designer oder Entwickler – stehen regelmäßig vor der Aufgabe, die Kompatibilität der neuen Site zu testen. Wie üblich bietet das Netz diverse Dienste, die dabei unterstützen.

Darstellung in verschiedenen Browsern ansehen

Browsershots verschickt einen Link an eine Farm von Render-Einheiten, die nach und nach Screenshots liefern.
http://browsershots.org/

Technische Komformität prüfen

Wer Safari ab Version 5.0.1 nutzt, kann in Apples neuer Extension Gallery Validator installieren. Das Tool verfiziert neu geöffnete Seiten automatisch und seit das Prüfergebnis in einigen neuen Controls an
http://extensions.apple.com/#developer

Wer kein Safari nutzt, ruft die Validierer des W3C direkt auf
http://validator.w3.org/

Technische Sicherheit prüfen

Wen sicher gehen möchte, dass seine Site auch harten Angriffen widersteht und z.B. gegen XSS (Cross Site Scripting) oder CSRF (Cross Site Request Forging) immun ist, der probiert Chorizo von Sektion Ein/Mayflower aus. Ein Scan eines Hosts mit Recursionstiefe 1 ist kostenlos möglich:
https://chorizo-scanner.com/

Neu: Trainer Buchhaltung

Wer an der Fernuniversität Hagen Externes Rechnungswesen [Modul 31011 / Kurs 00029/00034/00046] belegt hat, für den könnte Trainer Buchhaltung interessant sein. Die Software, die für Windows, Mac OS und Linux verfügbar ist, präsentiert eine große Zahl Geschäftsvorfällen und ermöglicht so systematisches Üben von Buchungssätzen.

Download von Trainer Buchhaltung kostenfrei und direkt im Adobe Marketplace.

JCuda vs. JAVA: 40 times faster linear algebra operations

The last few days, I tried to use JCuda on my Intel Core Quad CPU equipped Windows 7 system [Home premium, 64bit].

I installed the Cuda Toolkit, installed the 32bit and 64bit versions of JCuda’s DLLs/JARs and downloaded the JCublas sample application.

While the compile finished fine, the app immediately terminated – once it tried to load JCuda’s interface DLLs (called using JNI). The VM printed the more or less useless message: ‘JCudaRuntime-windows-x86.dll isn’t a win32-application’.

After various efforts to make the app load the DLLs, I posted a question on the JCuda forum. Short after, Marco13 – I suppose, he’s the project owner of JCuda – pointed me to the right direction:

I installed the 64 bit JDK version for Windows, passed -D=64 to the VM – and the JCublas sample application finished orderly. Thx, Marco!

Although a not that fast Nvidia GeForce 210 runs in my PC, the speedup was enormous: JCuda based matrix multiplication of size 2500 x 2500 finished 40-times faster than equivalent pure JAVA code [which utilized the 4 cores too].  Not bad ;-)

An important aspect to note: JCuda comes with JCublas [linear algebra], JCufft [fast fourier transforms) and JCudpp [data parallel primitives]. These libs provide access to ‘pre-configured’ high-level CUDA routine. E.g., a matrix multiplication is  basically a call to a JCublas provided routine.

This mode of operation is much simpler, than to write  a so called CUDA Kernel, a piece of syntactically enriched C code. On the other side, CUDA Kernels are more versatile.

A collection of tablet devices [variations of Apple's iPad]

Since I really like the idea of tocuhscreen-only table devices, here’s a short list of products I’ve found. In case you fond more,

exoPC :: 599.- USD, 8.9” multitouch, Windows 7 oder Linux

A promissing device comes from exoPC. Here’s a video from engadget.com. The device comes with a single-core Atom N270 and plays video on its 1024×600 touchscreen quite good:

Have a look inside the exoPC: Image galery. The device is planned to be shipped March 2010. All in all, it’s quite good equipped: 2 GBByte RAM, 32 GByte SSD [4.5 GByte reserved for OS], full-size SD Card slot, Atom 270 @ 1,6 GHz, WiFi 802.11 b/g, Bluetooth, Lan 10/100, 3 x USB, Audio in/out, VGA – and an 1.3 Megapixels webcam. Compare the exoPC with other here device on this page. Product photos.

joojoo :: 499.- USD. 12.1-inch tablet-appliance

joojoo is a nice looking device of enourmous 12.1 inc size. While other system come with Microsoft’s Windows oder Apple’s MacOS, joojoo comes with its own pure browser-based environment. As far as the web-site explains, each and everything runs in a browser. Thus, joojoo doesn’t run native applications – but Flash and Java. joojoo originated from the never released crunchPad.

Mehr …

Don’t buy a Kindle – in case you want to read PDFs

Some days ago, I received a Kindle 2. The device looked good and buttons and controls felt just fine.

Actually, I returned it today, since Amazon’s PDF conversion service is by no means able to convert more than trivial text.

Here is part of my input PDF, which I created using LaTeX:

Mehr …

upgrade to WP 2.9 – if auto-upgrade doesn’t go auto

Yesterday, I tried to auto-upgrade to WP 2.9. I pressed the respective button and Safari presented a new page indicating a download process. Unfortunately, the process suddenly finished – with no upgrade at all.

In case you try to auto-upgrade too, here is the way to manage the task anyway:

  • - First, download the WP 2.9 upgrade archive file [download link]
  • - Unpack the archive file to a local volume [your Mac OS X system unpacks automatically]
  • - Start you FTP-client and connect to your WP virtual host [for Mac OS X, you might wish to download the FTP client Cyberduck]
  • - Finally select all files within the archive and drag them to you FTP-client’s window

Now, it’s time to run the real upgrade process. Enter this URL

http://www.yourSiteName.com/wp-admin/upgrade.php

or, if WP is installed in a folder named e.g. myBlog, enter this URL

http://www.yourSiteName.com/myBlog/wp-admin/upgrade.php

At this point, you might end up with a blank page or one, which indicates a HTTP error 500. In this case, have a look at my previous post, which provides a solution regarding PHP setting of certain providers (namely 1&1).

After that, enter one of the above URLs again. WordPress should now present a small upgrade wizard, which explains the next steps to do. A typical upgrade process should finish within a few minutes (at least mine finished soon).

Get schema-free within minutes using MongoDB

As me, many software developers learned the relations view of database management system: Identifiy entities, develope a database schema, normalize it and map it to a real DBMS system. That’s fine. And for many application this approach is just fine.

For other types of application, this approach tends to make development complicated.

Mehr …

Upgraded to WP 2.9 – and ended up with an HTTP error 500

After quite some time, I visited this my blog to apply the most recent WordPress upgrade, the 2.9 release.

After the I finished the upgrade, the front-end rendered fine, while I constantly got an error from with ADMIN site: HTTP 500 error.

In case your site runs on a server hosted by 1&1 too, you have to do two things to get ADMIN running again:

1. Create a php.ini in WP’s root directoy and add this single line of text:

memory=20MB

2. Edit WP’s .htaccess file  and add

AddType x-mapp-php5 .php

as the very first line.

Flex’ mx_internal_uid considered harmful

Actually, not that harmful. But you should be aware of a special meaning of this Flex object property. Here’s the story:

Today, I tried to develop a method the create shallow and deep copies of objects. Finally, I prepared this method, initially without the line marked with __MARK__:

static private function clone( source:Object, deep:Boolean = false ):Object
  {
    if ( null == source ) {
    return null;
    }
    var copy:Object;
    if ( true == deep ) {
       copy =  ObjectUtil.copy( source );
    } else {
      copy = new Object();
      for( var key:Object in source ) {
        if (  ( 'mx_internal_uid' != key ) ) {     // __MARK__
          copy[ key ] = source[ key ];
        }
     }
  }
  return copy;
} // clone

Without the line marked by __MARK__, the method copies (more or less raw) objects, but the dataProvider-driven controls gets in trouble: List-based control add each managed object a ‘mx_internal_uid‘ to identify each data object. Thus, if you copy the ‘mx_internal_uid’ property, e.g. a DataGrid will no longer be able to distinguish the original source object or the clone(source) object.

Thus, it’s appropriate to not copy ‘mx_internal_uid‘ from source to clone.

InfoQ article compares Blaze DS and LCDS

In case you are interested in figuring out details of Blaze DS and LCDS or you need to compare both solution, have a look at this InfoQ article: http://www.infoq.com/news/2009/02/Blaze-LiveCycle

Nach oben