Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Magazine
  • Nieuwsbrief

Spookverhaal

18 augustus 2005 - 22:003 minuten leestijdOpinieSoftware & Development
Sije de Haan
Sije de Haan

“Het lijkt me meer een spookverhaal”, reageert Sije de Haan op de vraag of het spookuurprobleem bestaat. “Het lijkt niet de moeite waard daar een aparte website voor op te richten. Waar ik vandaan kom vallen dergelijke programmeerpraktijken onder de categorie beginnersfouten.”

Bestaat het spookuurprobleem of is het een marketingstunt, vraagt ‘Is het spookuur spookhandel?’ (Computable, 5 augustus 2005). Het spookuurprobleem speelt volgens sommige deskundigen bij programma’s die datum en tijd afzonderlijk ophalen. Daardoor zouden verwerkingsfouten kunnen ontstaan; de verwerking lijkt dan 24 uur eerder of later te zijn uitgevoerd dan hij is gedaan.
Datum en tijd moeten helemaal niet apart opgehaald worden. Het besturingssysteem en de programmeertaal (zouden) moeten voorzien in een gecombineerde functie voor het ophalen van datum en tijd. In Visual C++ bijvoorbeeld kun je de Windows-api-functie GetLocalTime gebruiken. Dan krijg je de datum en tijd tegelijk (overigens in honderdsten van seconden). Nu kun je zeggen dat Windows in die functie hetzelfde probleem heeft, maar dat is niet zo.

Zomertijd

Ten eerste is het een ‘atomair’ stukje software. Tijdens de uitvoering van de functie besteedt de cpu geen tijd aan andere taken in ‘multitasking’-omgevingen. Verder worden datum en tijd in de computer niet continu bijgewerkt, maar slechts een paar keer per seconde aan de hand van ‘clockticks’ die worden opgewekt door een ‘interrupt’. Genoemde functie stelt die onderbrekingen eventjes (een paar microseconden) uit, waardoor het probleem niet optreedt.
Als de gebruikte programmeertaal niet voorziet in het gecombineerd ophalen van datum en tijd is er een simpele oplossing: vraag eerst de tijd op, daarna de datum en daarna nog eens de tijd. Is de tweede tijd lager dan de eerste (bijvoorbeeld eerst 23:59:59 en daarna 00:00:01), dan is er een datumovergang geweest. Gebruik dan de tweede tijd en vraag nogmaals de datum op, omdat niet zeker is of de eerste datum bij de eerste of de tweede tijd hoort. Is de tweede tijd hoger dan de eerste, dan weet je zeker dat datum en tijd bij elkaar horen. Als je een trage computer hebt, kun je een en ander nog optimaliseren door de tweede tijd alleen maar op te vragen als het eerste tijdstip na bijvoorbeeld 23:59:00 ligt.
Overigens kunnen er twaalf uur ’s nachts wel meer dingen fout gaan. Ik heb ooit een stukje software gemaakt wat niet langer gebruikte tijdelijke bestanden na een dag verwijderde. Het programma crashte vaak om middernacht. Wat had ik fout gedaan? Ik keek naar de datum van de bestanden. Na een datumovergang probeerde het programma soms bestanden te verwijderen die nog maar een paar seconden oud waren en meestal nog in gebruik waren. Je moet dan dus naar de ouderdom in uren of minuten kijken en niet naar de datum.
Verder zijn er problemen met de zomer- en wintertijd. Bij het vastleggen van gebeurtenissen moet je in de uren van omschakeling weten of het zomer- of wintertijd is. Als je de klok in het najaar een uur terug zet, wordt het twee keer 03:00, de eerste keer in de zomertijd en de tweede keer in de wintertijd. Besturingssystemen die niet kunnen omgaan met zomer- en wintertijd hebben dus een probleem. Dat kan de applicatie overigens wel omzeilen.
 
Sije de Haan

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Agentic AI in actie

    De stappen van automatiseren naar écht autonoom werken. Welke toepassingen zijn succesvol?

    Computable.nl

    Staat Digitale Connectiviteit Bouw- en Installatiebranche

    Connectiviteit is de kern van veel processen en van strategisch belang voor de toekomst. Waar sta jij?

    Computable.nl

    Design Sprints: 4 dagen van idee naar prototype

    Hoe zet je in vier dagen tijd een gevalideerd prototype neer met Design Sprints?

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Uitgelicht

    Partnerartikel
    Data & AI

    AI in softwaretesten: tussen belofte e...

    De opkomst van kunstmatige intelligentie (AI) wekte hoge verwachtingen in de wereld van softwaretesten. Zelflerende testsuites, automatisch gegenereerde testgevallen en...

    Meer persberichten

    Meer lezen

    ai klusjes gig
    Data & AI

    Kort: Java en ai-tools vernieuwd, klusjes scoren (en meer)

    Software & Development

    Value8 wil totale controle over Ctac

    Data & AI

    Kort: Innobrix wint Google-prijs, anonieme ai helpt zorg nog meer (en nog meer)

    Data & AI

    Kort: ai op universiteit nu riskeert onoplosbare problemen later (en meer)

    Overheid

    Grote kwetsbaarheid Rijk bij uitval ict-dienstverlening

    Data & AI

    Kort: 100 miljoen voor Nederlandse ai, down under investeert ook (en meer)

    ...

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Ontvang Computable e-Magazine
    • Cybersec e-Magazine
    • Topics
    • Phishing
    • Ransomware
    • NEN 7510

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs