Textpattern Shop - Yab_Shop

As written in the textpattern forum I want to publish yab_shop . Yab_shop is a simple shopping cart plugin with paypal support for textpattern.

Small feature list

  • L10n for output
  • encrypted paypal checkout
  • google checkout
  • automatic output the currency symbols and number formatting, depending on your config (supported paypal iso 4217 currency codes, see paypal supported currencies and additional EEK, RSD, BRL, PHP, RON and ZAR (ask for more))
  • tax rate support
  • tax rate exclusive or inclusive
  • support for promotional discounts by promo-key
  • selectable shipping costs and free shipping limit
  • multiple product properties up to three variants (e.g. size, color or whatever you want)
  • special prices for a property (Huh? What?: See live in demoshop!)
  • affirmation mail to customer or not (ok, this could be a bug too)
  • should work with all url types
  • output is xhtml 1.0 strict
  • it’s a plugin (can easily be installed in addition to an already existing txp installation)
  • all the advantages of txp for the products (customizable, categories, all(?) plugins etc.)

Download and installation

Grab the current plugins here. Due the size of the whole plugin I have to split in three single plugins. You have to install all three plugins. If you have problems with upload and install, try to install the compressed version (is included in the download file).

Content of download files:

  • Three plugin files
  • Three source code files
  • Optional language files
  • One little readme

Gzipped Tarball – yab_shop_0.8.5.tar.gz

If you want see the code, please use the source, ‚cause it’s commented. I’m always open for suggestions, especially concerning the resolving of security issues.

Installation

  1. Install and activate these plugins.
  2. Go »Extensions->Yab_Shop Preferences« and install the needed database tables.
  3. (optional): Install a prepared and prefilled language/localisation plugin (yab_shop_add_language_xx-xx_vx.x.txt)
  4. Set your preferences and language/localisation

Update

Mostly you can seemlessly update the plugin. With version 0.8.0 config and language strings will saved in additional database tables.

Updating from a version before v0.8.0

  1. Make a copy of your settings and language/localisation strings.
  2. Remove or disable the yab_shop_config plugin
  3. Install the ones (yab_shop_core, yab_shop_admin, yab_shop_3rd_party)
  4. Go »Extensions->Yab_Shop Preferences« and install the needed database tables.
  5. (optional): Install a prepared and prefilled language/localisation plugin (yab_shop_add_language_xx-xx)
  6. Set your preferences and language/localisation

Updating from a version before v0.7.0

For an easy usage to newcomers and by the reasons of new features some tags has been removed or renamed.

  • <txp:yab_shop_cart output="message" />
    Attribute value output="message" doesn’t exists any more. See below the for changes.
    And now you have to place it in checkout section to (f.i. with <txp:yab_shop_cart output="none" />)!
  • <txp:yab_shop_add_message message="your message here" output="message" />
    Removed.
    Now use <txp:yab_shop_cart_message /> instead.
  • <txp:yab_shop_custom_field name="price custom field" />
    Renamed to <txp:yab_shop_price /> without an usage of attributes.
  • <txp:yab_shop_property_prices />
    Removed. Now load the jquery.js manually please!

Setup

Note: I’ve set up a page with a tiny howto and a FAQ about yab_shop.

You have to create one additional section. This section is used for the checkout (table and form).

Further you have to create at least one additional custom field in where you can store the price for the products. So create one and name it.
Place the used name for the price in the config plugin. Now you can create up to three addtional custom fields if you want multiple product properties.

Next you have to configure your shop. So go »Yab_Shop Preferences« which contains the configuration and go »Yab_Shop L10n« which contains the phrases where you can change on your own. See the yab_shop_admin plugin help for further information.

For encrypted paypal button and google checkout setup see plugin help of yab_shop_admin!

Tags for output

<txp:yab_shop_add />

This tag outputs the add-to-cart form for the specific product. You have to place it into the individual product/article form (maybe "default"). Since yab_shop_v0.7.0 you can place it in article listings too.

<txp:yab_shop_cart />

This tag is used for adding, editing and deleting products and it’s outputs the little cart. It must be placed somewhere in the shop sections and in the your checkout section. Since yab_shop_v0.7.0 it can be used as a container tag. You can change the output by the following attribute:

  • output="cart" – default, outputs the little cart
  • output="none" – no output, so you can use it checkout section without any output
Usage as container tag
<txp:yab_shop_cart>
  <txp:yab_shop_cart_items />
  <txp:yab_shop_cart_quantity />
  <txp:yab_shop_cart_subtotal />
  <txp:yab_shop_cart_link />
  <txp:yab_shop_cart_message />
</txp:yab_shop_cart>

<txp:yab_shop_cart_items />

Outputs the items in the cart as a list. Can only be used inside the container tag <txp:yab_shop_cart>. No attributes.

<txp:yab_shop_cart_quantity />

Shows the quantity of the items in the cart. Can be used standalone or inside the container tag <txp:yab_shop_cart>. The following attributes are available:

  • output=„single“
    Choose your itemcount. ‚single‘ for different products. ‚all‘ for all product items (default ‚single‘).
  • showalways=„1“
    Displaying it even if cart is empty (default ‚1‘).
  • break=„br“
    Break after output (default ‚br‘).
  • label=„Quantity“
    Label or name before itemcount output (default ‚Quantity‘).
  • wraptag=„span“
    Wraptag around the output (default blank).
  • class=„someclass“
    Class for wraptag (default blank).

<txp:yab_shop_cart_subtotal />

Shows the cart subtotal. Can be used standalone or inside the container tag <txp:yab_shop_cart>. The following attributes are available:

  • showalways=„1“
    Displaying it even if cart is empty (default ‚1‘).
  • break=„br“
    Break after output (default ‚br‘).
  • label=„Subtotal“
    Label or name before itemcount output (default ‚Subtotal‘).
  • wraptag=„span“
    Wraptag around the output (default blank).
  • class=„someclass“
    Class for wraptag (default blank).

<txp:yab_shop_cart_link />

Shows a link to your checkout page. Can be used standalone or inside the container tag <txp:yab_shop_cart>. The following attributes are available:

  • showalways=„1“
    Displaying it even if cart is empty (default ‚1‘).
  • break=„br“
    Break after output (default ‚br‘).
  • label=„proceed to checkout“
    Label or name before itemcount output (default ‚to_checkout‘ from yab_shop_config).
  • wraptag=„span“
    Wraptag around the output (default blank).
  • class=„someclass“
    Class for wraptag or link, if no wraptag is set (default blank).

<txp:yab_shop_cart_message />

Shows a message depending on a done action. Can be used standalone or inside the container tag <txp:yab_shop_cart>. The following attributes are available:

  • add=„Product has been added“
    Shows a message when a products has been added to cart (default ‚Product has been added‘).
  • edit=„Cart has been updated“
    Shows a message when a product count has been changed in checkout page (default ‚Cart has been updated‘).
  • del=„Product has been deleted“
    Shows a message when a product has been deleted from cart in checkout page (default ‚Product has been deleted‘).
  • break=„br“
    Break after output (default ‚br‘).
  • wraptag=„span“
    Wraptag around the output (default blank).
  • class=„someclass“
    Class for wraptag (default blank).

<txp:yab_shop_price />

It outputs the price. It can be placed in all article/product forms (individual and listings).
The following attributes are available:

  • wraptag=„span“
    Wraptag surrounded the Price (default ‚span‘).
  • class=„yab-shop-price“
    Class for the wraptag (default ‚yab-shop-price‘).

<txp:yab_shop_checkout />

This tag outputs the checkout table, where you can edit product quantities. And it outputs the checkout form, where you can finally submit your order.
The following attributes are available:

  • summary=„your summary here“
    Summary attribute of the HTML table element.

<txp:yab_shop_show_config />

Outputs a value of the current yab_shop_config, so it can be used for weird things (<txp:if ... />, <txp:variable ... /> etc. pp.).
The following attributes are available:

  • name=„config value here“
    The value of the config.

Important notes on setup and maintaining

All numbers for prices in custom field or shipping costs in config can be written with comma or dot as decimal delimter. But beware: Do not use any thousand delimiter!
The output format in HTML or mail depends on the selected currency in the config.

How do I input product properties?

If you use one, two or all three custom fields for different product properties you have to fill the input fields with values separated by a semicolon, followed by a whitespace (you can leave the whitespace out, it will work both ways).
E.g. for custom field »Size«: 0.2mm; 3m; 5km; 100pc

And how do I input prices for a property?

Note: You can only assign one property with a price.
First go in »Yab_Shop Preferences« and change the Use property prices to Yes.
Then, if not yet done, load the jquery.js in your shop sections. Add the following line in your form or site template between the <head> and </head>:

<script type="text/javascript" src="<txp:site_url />textpattern/jquery.js"></script>

Input the Prices:

If you want use a property price you must give a price in your price field (custom field) even so. You can use it as an base price.
Now you can give prices to the properties in one property field (custom field). Use double minus as delimter between property and price. E.g for the property field color:

red; white--2,50; black--12,00; green--0,55

The properties with no price declaration will use the base price of the price field (custom field). The first property price should be the same as the base price. That’s all!

How do I use promo-codes, coupons etc.?

Go in »Yab_Shop Preferences« and set the Promocode key with a key, which a customer have to insert on the checkout page to get the promotional discount (E.g. 'XFHTE' or another value). With Given promo discount (%) you can set the promotional discount in percent (E.g. '5'). Absolute discounts like 5€ on all products are not supported due the lack of support by paypal and google checkout.

Notes

Since products are stored like normal articles, you are able to use (all?) relevant plugins. (Not tested!)
You can see a live demo on demoshop.yablo.de.
See forum thread for support.

Something like a roadmap

  • encrypted paypal button it’s done
  • a small admin interface to manage orders

Changelog

  • 08-02-25 – v0.1.0:
    • internal release
  • 08-02-27 – v0.1.1:
    • some variables and functions renamed, demoshop published
  • 08-03-01 – v0.1.2 :
    • error messages for required fields and cache handling (see forum) – public release
  • 08-03-04 – v0.1.3:
    • extended iso 4217 currencies (prepared for paypal support)
    • mime encoded headers for mail (thx ruud, see forum)
    • minor changes for ouput
  • 08-03-07 – v0.1.4:
    • fixed CAD ouput
    • fixed tax rate calculating, when tax rate is float with a comma as decimal delimiter
    • removed &thinsp;
    • new attribute output added for <txp:yab_shop_cart />, so cart output is optional
    • minor changes in plugin help
  • 08-03-11 – v0.2.0:
    • non-encrypted paypal checkout
  • 08-03-15 – v0.2.1:
    • support for EEK (Estonian kroon)
    • changed payment method output (if only one payment method available)
  • 08-03-27 – v0.3.0:
    • fixed too paranoid sanitization
    • dynamic encrypted paypal button implemented
  • 08-04-09 – v0.3.1:
    • new tag <txp:yab_shop_add_message /> added
  • 08-04-16 – v0.3.2:
    • support for RSD (Serbian dinar)
  • 08-06-04 – v0.3.3:
    • Bugfix: All three product properties now submitted to paypal (property 2 and property 3 are merged in paypal submit form)
  • 08-06-18 – v0.4.1:
    • google checkout support
    • removed specific shop section (products can be organized in all sections now)
    • minor typo fix
  • 08-06-19 – v0.4.2
    • bugfix misformed google checkout xml if no item description is given
  • 08-08-12 – v0.4.3
    • paypal encryption now uses temp directory from txp advanced preferences
    • html class and id names are now css compliant (ascii)
  • 08-08-15 – v0.4.4
    • support for BRL (Brazilian real)
  • 08-09-27 – v0.5.0
  • 08-10-28 – v0.5.1
    • added support for ZAR (South African rand)
  • 08-12-19 – v0.5.5
    • new feature: support for promotional discounts (see plugin help)
    • new feature: remember checkbox for submitted data
  • 09-01-14 – v0.5.6
    • fixed bug when property prices are used and 'custom_field_price_name' other than 'price'
    • bugfix: using „:“ in properties in chekout table
    • bugfix: using „: „ as delimter instead of misleading „ – „ in property select element
  • 09-01-27 – v0.5.7
    • new feature: products in cart an checkout table are now linked back to their product site
    • new feature: support for article image thumbnails in checkout table
  • 09-02-20 – v0.6.0
    • bugfix: property prices now works with non-ascii chars in custom field name
    • bugfix: fixed a bug related with property prices and custom fields (if not used)
    • bugfix: removed invalid html (p>p)
    • new feature: added a redirect for a thanks site (for site tracking/conversion)
    • new feature: optional state form in checkout
    • new feature: special shipping cost for single products
  • 09-03-17 – v0.6.1
    • new feature: enhanced <txp:yab_shop_add_message /> (see plugin help)
    • new feature: support for PHP (Philippine Peso)
    • bugfix: changed html code in checkout form
    • bugfix: added anchor for error messages
  • 09-03-18 – v0.6.2
    • bugfix: fixed some bugs, when <txp:yab_shop_add_message /> is used in checkout page
    • bugfix: minor typo in plugin help
  • 09-05-03 – v0.7.0
    • bugfix: forms are now valid (X)HTML
    • bugfix: product properties are correctly escaped now
    • bugfix: order of postcode/city in mail does now match the html order
    • bugfix: minor typos (but maybe some others are added:/)
    • bugfix: name of property custom field can include whitespace and are html-escaped now (class names has been changed)
    • new feature: support for RON (Romanian lei)
    • new feature: terms of use checkbox is now optional (via config)
    • new feature: <txp:yab_shop_cart /> can be used as container tag now
    • new feature: new tag: <txp:yab_shop_cart_items />
    • new feature: new tag: <txp:yab_shop_cart_quantity />
    • new feature: new tag: <txp:yab_shop_cart_subtotal />
    • new feature: new tag: <txp:yab_shop_cart_link />
    • new feature: new tag: <txp:yab_shop_cart_message />
    • new feature: <txp:yab_shop_cart /> works in checkout section too
    • new feature: <txp:yab_shop_add /> has full article listing support now
  • 09-06-05 – v0.7.1
    • bugfix: forms and select elements in article listings now have an unique id for XHTML-validity and form has an anchor
    • bugfix: replaced array_flip() with another method in yab_shop_field_names() to prevend some warnings and errors
    • bugfix: removed hardcoded withespace and doublepoint from label in <txp:yab_shop_cart_subtotal /> and <txp:yab_shop_cart_quantity /> for a flexible output
    • new feature: <txp:yab_shop_checkout /> now have the optional attribute ‚summary‘ for html table summary (accessability)
    • new feature: added the attributes ‚wraptag‘ and ‚class‘ for <txp:yab_shop_price />
    • new feature: added new tag <txp:yab_shop_show_config /> for returning config values
  • 09-07-29 – v0.8.0
    • new feature: configuration and language/localisation now stored in database
    • new feature: admin UI for configuration/preferences and language/localisation
    • new feature: support for selectable languages and localisations (Depending on set Textpattern language)
  • 12-08-31 – v0.8.1
    • bugfix: fix a bug with PHP 5.3 and a deprecated warning (referencing new instances)
    • bugfix: fixed a bug in the install/update procedure
    • bugfix: refurnished admin UI for TXP 4.5.0
    • bugfix: partial using of plugin flags (prefs and delete)
  • 2017-02-09 – v0.8.2
    • bugfix: TXP v4.6-ready
    • bugifx: PHP v7.1-ready
    • bugfix: incorrectly formatted item amount when using paypal and promo code
    • bugfix: serbian dinar (RSD) know corrcetly shown as »din«
  • 2018-10-18 – v0.8.3
    • bugfix: annoying sizeof error
    • bugfix: disable sending last modified header
  • 2018-12-12 – v0.8.4
    • bugfix: TXP v4.7.1-ready (removed obsolet is_windows() function)
  • 2019-02-27 – v0.8.5
    • bugfix: 4.7-ready save button
    • bugfix: MySQL yab_shop_prefs name and val varchar size changed to 191 to prevent hitting the limit. It’s now safe for InnoDB and utf8mb4 (767 bytes)

Comments for this entry are disabled for a while, ‚cause of massive spam. If you have questions or suggestions use the forum thread instead, please!

Dungeons & Dragons & Jesus

Bei meinen regelmäßigen Streifzügen nach neuen Informationen zu R.G. Hamers Germanischen Neuen Medizin bin ich kürzlich auf die Seite des selbsternannten Heilers Dietmar Krakowczyk gestoßen. Dieser verbreitet in Büchern und im Netz Hamers gefährlichen Unsinn, gepaart – wie nicht selten üblich – mit diversem alternativmedizinischem Kram, der dem Obermotz Hamer eigentlich nicht sehr gefällt (in letzter Zeit trifft die Ketzer sogar der persönliche Bannstrahl). Neben Familienaufstellung ist hier auch die Kinesiologie zu nennen, mit der Krakowczyk ganz erstaunliche Erkenntnisse gewinnt:

Alle Amokläufer, auch wenn sie sich nach ihren Taten selbst töteten, können kinesiologisch abgefragt werden, denn ihre Seele lebt weiter und nimmt ihre Belastungen ins Jenseits mit…Auch ihnen könnte mit der Heilungsformel geholfen werden. Wenn Mitmenschen das richtige Auge für den Gefährdeten haben und sie in der gedanklichen Vorstellung dazu veranlassen, ihnen die Heilungsformel nachzusprechen, lösen sich die Schocks, der Betroffene ist wieder normal und der Amoklauf fällt aus.

Bestandteile dieser Heilungsformel sind so schöne Sätze wie:

Reinige alle Ebenen meines Wesens und öffne meine Haupt- und Neben-Chakren

oder

Erdenmutter Kundalini erwache, steige auf in mir und führe mich zur Erleuchtung und Selbstverwirklichung

und

Hilf mir, mein drittes Auge zu öffnen, damit ich sehe, wie die Welt wirklich ist

Besonders wirkungsvoll war bei mir die folgende Formel, deren Effekt man dadurch steigern kann, dass man sich dabei eine Ansammlung von Mönchen vorstellt, die sie an einem Hamer-Altar andächtig als Choral vortragen:

Bewirke in mir, was sonst nur Tbc-Mykobakterien bewirken können

Ich habe diese Heilungsformel gestern mit verschiedenen Personen ausprobiert und tatsächlich: weder sie noch ich sind Amok gelaufen!

Nicht unterschlagen möchte ich aber den Ansatz eines neuen RPGs, der sich ebenfalls auf den Seiten findet. Es basiert auf Powerzahlen, die jedem Charakter zugeordnet werden können:

Eine der wichtigsten Kennzahlen zur Beurteilung von Menschen ist ihre Power Zahl. Es ist die Verhältniszahl auf einer Skala, auf der definitionsgemäß Jesus den Wert 1000 hat.

Jesus hat also wahrscheinlich, nachdem er erfolgreich alle Quests in den drei Reichen (Himmel, Erde und Hölle) abgeschlossen hat, verdientermaßen Level 1000 erreicht und musste dabei insgesamt auch nur ein einziges Mal gerezzed werden. Der nächsthöhere Charakter hat bisher nur Level 666 geschafft, obwohl ihm das chinesische Powerleveler-Team um Lu Cipher mit fragwürdigen Methoden geholfen hat. Wie erstellt man aber den eigenen Char bzw. erfährt das Anfangslevel? Ganz einfach:

Die Frage nach der Power Zahl eines Menschen richte ich an Gott, der nicht wertet oder richtet, aber genau hinschaut, und ich erhalte tatsächlich Antworten.

Ein zweifellos höchst präzises, wenn auch etwas langweiliges System, erfahrene Spieler neigen ja doch eher zu stundenlangen Würfelorgien. Die Gesinnung des Chars wird ebenso am Beginn festgelegt:

Ein positiver Wert zeigt, dass der Betreffende grundsätzlich positive Absichten hat. Zu Beziehungsproblemen mit ihm kommt es eher aufgrund von Schwächen. Menschen mit negativer Power Zahl hingegen hegen bewusst Negatives. Sie sind immer mit Vorsicht zu genießen.

Und hier kommt dann gleich der Clou, der dem Spiel zweifellos das Prädikat “Besonders wertvoll” einbringen wird:

Wenn sie nach direktem Appell an sie nicht umkehren, breche ich weitere Kontakte zu ihnen ab, selbst schon bei P = – 1!

Böse Charaktere dürfen einfach nicht mehr mitspielen. Hart, aber ungerecht.

Die Berliner Sinfoniker...

…waren es zwar nicht, die mich letzte Woche in unserer Hauptstadt begeistern konnten, aber die Progressiv-Metaller von Symhony X sind zumindest spieltechnisch ganz nah dran. Kein wirkliches Kunstück, wenn man mit Michael Romeo einen der besten Gitarristen und in Russell Allen einen begnadeten Sänger und Entertainer in seinen Reihen hat (ohne den Rest der Bandmitglieder unter Wert verkaufen zu wollen). Das letzte Album Paradise Lost fiel überraschen hart, fast schon trashig aus, ohne dass man nicht bei jeder Sekunde hören würde, um welche Band es sich handelt, weil sowohl Gitarrensound/Riffing als auch der mit einem leichten 70er-/Hardrock-Touch versehene Gesang und der Kompositionsstil einen extrem hohen Wiedererkennungswert besitzen (Anspieltips: Set the world on fire, »Paradise Lost« und »Sacrifice«).

Charakteristisch sind zudem die vielen Breaks und nicht zuletzt die Balladen oder wenigstens langsamen Zwischenstücke, auf die beim Konzert aber weitgehend verzichtet wurde. Dort dominierten verständlicherweise die härteren und schnellen Songs und dass diese technisch nahezu makellos gespielt wurden, war zu erwarten. Weniger selbstverständlich in diesem Musiksektor ist allerdings der offensichtlich enorme Spaß, den die Band an ihrem Auftritt hatte. Der unglaublich sympathische Hüne Allen unterhielt die gut gefüllte Columbiahalle mit nie bemüht witzig wirkenden Zwischenbemerkungen und sang nebenbei wie ein junger Gott.

Der Unterschied zu den beiden Vorbands war speziell in dieser Hinsicht zu spüren. Gerade Dreamscape blieben im Vergleich doch ein wenig statisch, die Norweger Circus Maximus waren hier schon überzeugender. Letztere gefielen mir auch musikalisch ein wenig besser, weil ich gerade bei komplexer Musik doch gern hin und wieder eingängige Melodien mag. :) Aber das ist natürlich Geschmackssache und wenn ich den Vergleich noch ausweite auf die letztjährigen Konzerte von Kelly Clarkson (geschenkte Karte! :-)) und Evanescence bilde ich mir schon ein, dass ein riesiger Unterschied besteht zwischen der Außendarstellung einer gewachsenen Band und den bezahlten Backgroundmusikern für eine Sängerin.

Die Kölner haben ihre Chance zwar leider schon verpasst, aber wer sonst noch in der Nähe der Tourstationen wohnt: hingehen!

Ich hasse Köln!

Erst nimmt es mir zwei meiner besten Freunde weg (siehe vorherigen Eintrag von Tommy) und jetzt auch noch die Games Convention. Die “Gerüchte” häufen sich inzwischen doch zu sehr, als dass man den Dementis noch Glauben schenken könnte. Nicht, dass ich wirklich etwas auf die alljährlichen Beteuerungen bezüglich der großartigen und einmaligen Unterstützung der GC durch die Stadt und die Leipziger Messe während der Auftaktveranstaltung im Gewandhaus gegeben hätte. Aber ein klein wenig gefiel es mir als Ex-Leipziger schon, dass sich diese Messe über die Jahre derart erfolgreich entwickelte und zur zweitwichtigsten ihrer Art aufstieg – und das eben “im Osten”. Die bisher kolportierten Begründungen sind zum Teil so schwachsinnig, dass man nur mit dem Kopf schütteln kann. Eine DER deutschen Messestädte hat nicht genügend hochklassige Übernachtungsmöglichkeiten?? Ein Flughafen, eine direkte Autobahnabfahrt und der größte Kopfbahnhof Europas reichen als Verkehrsanbindung nicht aus??? Sollte man vielleicht noch einen UFO-Landeplatz bauen? Entscheidender dürfte wahrscheinlich die Formulierung “Zudem habe es “ein sehr entgegenkommendes Angebot der Kölner” gegeben.” sein.

P.S.: Vielleicht sollte ich statt “Köln” lieber “rheinischer Kapitalismus” schreiben, wäre eigentlich ein gar nicht mal so übles Wortspiel…

12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

Hannes wirft und ich fang brav auf. Die üblichen Dinge wie Essen, Trinken, Atmen lass ich aber außen vor:

12 Dinge, die dich ärgern:

  1. Uneinsichtigkeit
  2. Lernunwilligkeit
  3. Desinteresse
  4. Gier
  5. Fanatismus
  6. unwissenschftliche Argumentationen
  7. schlechte Bücher
  8. Kundensupport bei einigen Firmen
  9. Zahlungsmoral bei einigen Firmen
  10. Webseiten mit unmotivierten Geflimmer und Ton
  11. keine Wahl zu haben
  12. Worddokumente und HTML-E-Mails

11 Dinge, ohne die du nicht leben könntest:

  1. Bücher
  2. Computer
  3. Internet
  4. Auto
  5. Pflanzen (in der Wohnung)
  6. Zeit zum Lesen
  7. Kaffee
  8. Geschirrspülmaschine
  9. Open-Source-Programme im Allgemeinen
  10. Kate im Speziellen
  11. [ctrl]-[tab]

10 Dinge, auf die du dich freust:

  1. auf das nächste Buch
  2. Sommer
  3. Wockenende ™ im Allgemeinen
  4. Freitag Abend im Speziellen
  5. KDE 4
  6. Ein fertiges Projekt, das Gefallen findet
  7. Ein Projekt, das Erwartungen übertrifft
  8. Rollerbladen
  9. Wasabi-Nüsse
  10. der erste Kaffee am Morgen

9 Dinge, die du täglich trägst:

  1. Kleidung (Ha! Wer hätte das gedacht?)
  2. Brille
  3. ein Katze (kein Witz)
  4. Bart
  5. Ohrringe
  6. Tätowierungen
  7. Telefonhörer
  8. Zopfgummi
  9. Pippi zur Toilette

8 Serien bzw. Filme, die du dir immer wieder anschauen könntest:

  1. Dune
  2. Leben das Brian
  3. Das fünfte Element
  4. Black Adder
  5. Band of Brothers
  6. Herr der Ringe ohne Frodo
  7. Bud Spencer und Terence Hill (darf aber nicht gegen mich verwendet werden)
  8. hab ich Dune schon erwähnt?

7 Objekte, die du täglich anfasst:

  1. Wecker
  2. mindestens ein Buch
  3. Tastatur
  4. Maus
  5. beide Katzen
  6. Päckchen mit Tabak
  7. Balkontür

6 Dinge, die du jeden Tag tust:

  1. Lesen
  2. Gedanken nachhängen
  3. im Internet surfen
  4. Die Antwort der letzten Frage küssen
  5. 250 E-Mails empfangen
  6. RSS-Feeds lesen

5 Lebensmittel, ohne die du nicht leben könntest:

  1. Sambal Oelek
  2. Chilibohnen
  3. Risottoreis
  4. Parmesan
  5. Katzenfutter (Haha! Interpretationen sind erlaubt. :-))

4 Menschen, mit denen du gern mehr Zeit verbringen würdest:

  1. Siehe letzte Frage
  2. Tobias, der Co-Autor dieses Weblogs
  3. Freunde und Familie, die nicht mehr in der Nähe wohnen
  4. einige Protagonisten diverser Bücher

3 deiner momentanen Lieblingslieder:

  1. Sonic Syndicate — Denied
  2. Disturbed — Intoxication
  3. In Flames — Clay Man

2 Menschen, die dein Leben sehr beeinflusst haben:

  1. Meine Eltern, nehm’ ich jetzt einfach mal als eine Person
  2. als Fremder vermutlich Umberto Eco

1 Mensch, mit dem du den Rest deines Lebens verbringen könntest:

  1. mit meiner Freundin Antje (auch wenn das kitschig klingt, aber: »Is’ so!«)

Is ‘ne Menge Text und man braucht schon ‘ne Weile dafür, deswegen reich ich das mal an Agi und den Moe weiter, die haben eh nix zu tun. ;)

Amokeierlauf

Im Fischblog findet sich der Link zu einer Studie, die auf eine statistische Korrelation zwischen niedrigem (!) Cholesterinspiegel und Schulverweisen bzw. aggressivem Verhalten hinweist:

The authors concluded that, among non-African-American children, low total cholesterol is associated with school suspension or expulsion and that low total cholesterol may be a risk factor for aggression or a risk marker for other biologic variables that predispose to aggression.

Das wäre ja einmal eine durchaus interessante Frage im Hinblick auf die hier mehrfach kritisierten Behauptungen bezüglich des ach so furchtbaren Einflusses diverser Medien auf jugendliche Gewalttäter und die damit einhergehenden Zensurdebatten. Vielleicht gibt es ja dann bald einen modifizierten bayrischen Gesetzentwurf, der den Verkauf eines Egoshooters nur noch im Bundle mit einem halben Liter Milch inklusive zwei darin aufgeschlagener Eier in der Feldflasche erlaubt?

BAFÖG-Amt, Krankenkasse und Rentenversicherung...

…können sich nach einer kurzen Unterbrechung wieder darauf freuen, mich auszubluten. Auch in diesem Jahr erlaubt mir der Freistaat Sachsen wieder gnädig einen Griff in seinen prallgefüllten Steuersäckel, denn bald darf ich wieder per Werkvertrag im Staatsarchiv Chemnitz in unerschlossenen Aktenbeständen wühlen. Noch weiss ich nicht, was genau diesmal zu bearbeiten sein wird, aber die letzten beiden Jahre waren auf jeden Fall sehr interessant. Personalunterlagen von Beamten, vor allem Lehrern, aus der Zeit von ca. 1900-1950 sind äußerst spannend, da sie gleich mehrere politische/ideologische Brüche (1918, 1933, 1945) und ihre Auswirkungen dokumentieren. Auch die Akten von Gesundheitsämtern stellen, besonders im Hinblick auf die massenhafte Zwangssterilisierung bis hin zur Euthanasieaktion T4 sowohl lehrreiche als auch ungemein bedrückende und erschreckende Quellen dar. Informative Handbücher und Fachliteratur sowie gut gemachte Dokumentationen sind eine Sache, aber wenn man im originalen Schriftwechsel nachvollziehen kann, wie Menschen, deren Leben durch die Akten ja zumindest ausschnittsweise repräsentiert wird, letztendlich ermordet wurden, ist dies doch ein viel tieferer Zugang (ähnlich verhält es sich mit Todesmeldungen aus Auschwitz).
Im letzten Jahr drehte sich der Großteil der Arbeit dann um Wirtschaftsüberlieferungen aus der ehemaligen DDR, ein anderes Feld, aber durchaus nicht weniger interessant, gerade was die erste Dekade nach Kriegsende betrifft. Ich hoffe, dass ich meine bisherigen schriftlichen Ansätze endlich mal in ausführlichere Blogeinträge zu den einzelnen Beständen und Inhalten umformulieren kann. :-)

neuere Einträge | ältere Einträge