ClustrMaps

The roadrunner is back as never before! See also: My homepage or my very obsolete site
If by any means entries in my blog are considered to be harmful or damaging, please let me know (add comment) or just mail me. In this (unhopely) case I will remove or change the contents.

Tuesday, January 29, 2008

Much Ado about Nothing: Interesting Facts about Null

See: http://www.itjungle.com/fhg/fhg091405-story01.html
It's hard to believe that this much could be said about things that don't exist.

See also: http://www.itjungle.com/mpo/mpo082803-story02.html
The NULL Nemesis

The concept is simple enough. The ShipDate for the given OrderID is placed in program variable RPGShipDate. But what if ShipDate contains a NULL in the file? The way the program is coded now, when the statement retrieves a NULL the SQLCOD will contain error code -305, which has the primary error description of "indicator variable required."

This message indicates that SQL can't return the NULL value into a HLL program variable without the assistance of an "indicator" variable. An indicator variable is simply an extra variable, defined with an SQL data type of SMALLINT, containing either a zero or a negative 1, to indicate if the given variable is NOT NULL or NULL, respectively. Here's the revised code using an indicator variable that will behave correctly if a NULL is read:

D ShipDateNull    S              5I 0
D NULL S 5I 0 Inz(-1)
C Eval OrderID=11074
C/EXEC SQL
C+ SELECT ShipDate
C+ INTO :RPGShipDate:ShipDateNull
C+ FROM Orders
C+ WHERE OrderID=:OrderID
C/END-EXEC
C Select
C When SQLCOD=*Zero
C If ShipDateNull=NULL
… ShipDate is NULL – Process accordingly
C Else
… ShipDate is NOT NULL – Process accordingly
C EndIf

Thursday, January 24, 2008

Layering an application

This is a permant struggle with a common goal:
maintainability

See http://javadude.com/articles/layering.html

Application layering

Components fall into layers in your application. Each layer has a specific set of responsibilities, and defined communication with other layers.

Figure 1. Application Layers

The current ideal way to design your application is to provide nice, clean interfaces between layers:

  • Presentation Layer (aka User Interface Layer)
    Displays data to user and accepts i/p -- no business logic at all!
  • Domain Layer (aka Business Logic Layer)
    The "smarts" of your application
  • Storage Layer (aka Data Management Layer)
    The code that fetches and saves data for you

[Note that I said "current ideal". Architecture evolves over time, and this is a current best practice. Newer and better techniques will come along, but they should grow from this approach.]

And also http://en.wikipedia.org/wiki/Business_logic

En deze gedachte van Menno van Doorn is prikkelend:
http://www.computable.nl/nieuws.jsp?rubriek=1444691&id=2317685
Wat zijn de grootste uitdagingen van een ict-onderzoeker?
Je moet je niet gek laten maken door een hype. De ict kent pieken en dalen, euforie en deceptie. Je moet op tijd de zin van de onzin kunnen scheiden. Daarbij moet je de kracht van een Jip-en-Janneke oplossingen niet over het hoofd zien. Complexe ict verliest het altijd van eenvoudigere ict. Het is belangrijk te focussen op het gebruik van ict.

Tuesday, January 22, 2008

Scheurkalenders

Leuk die John Doorzon http://www.doorzon.nl/

Wednesday, January 16, 2008

Niet alles = wat het lijkt

Zo betekent metastabiel schijnbaar stabiel.
Zie bijvoorbeeld:
http://nl.wikipedia.org/wiki/Metastabiel
Een klein duwtje is genoeg om het systeem weer aan het glijden te brengen.
Afbeelding:metastabiel.png

http://nl.wikipedia.org/wiki/Metastabiel_%28elektronica%29
In de digitale elektronica betekent metastabiel dat een flip-flop niet kan besluiten wat het moet doen met zijn ingangsignalen.

Zo lijkt de entree van Spaarbeleg (Nieuwegein) overdreven hoog.
Als je echter vanaf de doorgaande weg de entree ziet, lijkt het een normale constructie.


In het leven is vrijwel niets stabiel.
Alles is in beweging, het lijkt een schijnbare chaos.
En niets is zeker, behalve het einde.

Saturday, January 05, 2008

Office 2007 annoyances

Eerst komt Microsoft met een nieuw Office inclusief een lel van een Ribbon.
http://joscoenen.blogspot.com/2007/11/office-2007-annoyances-ribbon-can-be.html

Nu blijkt Excel een bug te bevatten.
Veroorzaakt door het herschrijven (in assembler!) van de rekenkernel van 16 bits naar 32 bits.
Zo geeft 850 x 77.1 niet 65535, maar 100000.

Zie:
http://www.digg.com/microsoft/Critical_Excel_2007_bug_cripples_users
http://www.appscout.com/2007/09/excel_cant_multiply.php
Microsoft recognizes the problem and assures us that Excel Will Learn to Multiply.
http://support.microsoft.com/kb/943075/
De hotfix is eventjes 34,099,952 Bytes groot!

Zie ook deze grondige analyse inclusief de-assemble:
http://www.lomont.org/Math/Papers/2007/Excel2007/Excel2007Bug.pdf

En dan Joel: http://www.joelonsoftware.com/items/2007/09/26b.html
met deze sneer:
And let's face it -- do you really want the bright sparks who work there now, and manage to break lots of perfectly good working code -- rewriting the core calculating engine in Excel? Better keep them busy adding and removing dancing paper clips all day long.

Arme ontwikkelaar bij Microsoft die dit op zijn geweten heeft!
En de QA afdeling heeft ook wat uit te leggen.

En dan nog dit bericht:
http://www.computertaal.info/modules/news/article.php?storyid=2047
Kaspersky: Windows Explorer is een... virus

Kaspersky staat bekend om zijn degelijke anti virustoepassingen, maar af en toe maken ook zij fouten. Zo vond hun toepassing onlangs dat Windows Explorer, de verkenner van Windows, een virus was en werd het in Quarantaine geplaatst. Gelukkig konden experten de problemen snel weer recht trekken...

Of zou het dan toch waar zijn dat Windows een virus is?

En op http://news.zdnet.com/2100-1009_22-6223836.html:
In March of this year, Kaspersky criticized Microsoft's consumer antivirus product, OneCare, for incorrectly quarantining and, in some cases, deleting Microsoft Outlook files.
Queeste

Het leven is een queeste: http://nl.wikipedia.org/wiki/Queeste_(zoektocht)
Een permanente zoektocht naar beter of meer.

Volgens Wikipedia:
Het woord wordt ook in overdrachtelijke zin gebruikt voor een opdracht die men zichzelf heeft gesteld, maar die onmogelijk is uit te voeren.
Wat een marteling: jezelf een opdracht geven die vervolgens onmogelijk uit te voeren is.
Da's niet handig!
Meestal zijn het de managers die zo iets verlangen.
Dat doe je je zelf toch niet aan.

Maar ja een mens zonder levenstaak loopt maar wat doelloos rond te zwalken op deze aardkloot.
En het is idealen eigen, dat ze zelden uitvoerbaar of bereikbaar blijken.

Wat is wijsheid?

Wednesday, January 02, 2008

Kom jij ook op de lijst ?

Een woordje uitleg... Wanneer je op het Excel-document klikt, zal er een wachtwoord gevraagd worden. Dat wachtwoord krijg je door het raadsel hieronder op te lossen. Als je antwoord juist is, zul je het Excel-document kunnen openen en je naam aan de lijst met " genieƫn " kunnen toevoegen...
Succes!


In een schoolbus worden 7 kinderen vervoerd. Elk kind heeft 7 rugzakken. In elke rugzak zitten 7 poezen. Elke poes heeft 7 katjes. Gelukkig hebben alle katten het normale aantal pootjes dat de natuur
Voorzien heeft.

Vraag: Hoeveel benen en poten bevinden er zich in totaal in de bus?

Het gevonden aantal is het wachtwoord dat nodig is om het Excel-document te openen.

Als je erin slaagt het document te openen, mag je je naam aan de 'genieƫnlijst' toevoegen en hem weer beveiligd doorsturen....

Graag berichten wie hem geopend heeft............

Dit is de link naar het Excel bestand: lijstvangenieen.xls
Humor