Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Emner
  • Opret bruger
  • Log ind
Se kommentarer (4)
Emner

AcmeCal: Selvgjort er velgjort

Af Peter Makholm 21. februar 2008 kl. 09:20

Jeg har længe savnet et kalenderprogram der var designet til at opfylde mine behov. I går aftes fik jeg så et par timer til overs, så hvorfor ikke skrive sit eget? Det kunne måske være interessant at dele lidt ud af nogle få, spredte tanker jeg har gjort mig:

Brugergrænseflade: Mine to foretrukne brugergænseflader er Unix' komandolinje og min teksteditor. Så selvfølgelig skal de udgøre brugergrænsefladen til mit kalendersystem. En håndfuld enkle småprogrammer der løser én opgave og starter min foretrukne teksteditor når jeg skal redigere ting.

Informationsmængde: Less is more. Det er sjældent at jeg bruger mere end et mødetidspunkt og en overskrift. Eventuelt har jeg brug for et sluttidspunkt og en længere beskrivelse. Gentagende møder er for kompliceret, så det gider jeg ikke lave.

Dataformat: Skal vi redigere ting i en teksteditor skal vi selvfølgelig bruge et menneskevenligt dataformat. Hører jeg nogen sige XML? Nej, det er ikke til at redigere i hånden. Et meget bedre valg er YAML. En bonus er så at beskrivelsesfeltet kan indehold alt den struktur man måtte ønske ved at bruge YAML.

Id-strenge: Hvert møde skal selvfølgelig have en (næsten-)unik identifikation. Hverken titlen eller tidspunktet går, da de begge skal kunen redigeres. Jeg vil genre kunne merge forskellige kalendre, så fortløbende id-numre går ikke og UUID'er er ikke brugervenlige. I øjeblikket bruger jeg bare et timestamp med centisekund-opløsning. Det er hverken garanteret unikt eller specielt brugervenligt. Det sidste løser vi ved at konvertere tallet til et vrøvleord med perl modulet String::Koremutake.

Med 400 linjer perlkode og absolut ingen dokumentation er jeg klar til at præsentere AcmeCal 0.1. Men selvfølgelig skal du hellere skrive dit eget system.

Send Tweet
Udskriv
Billede af Peter MakholmOm Peter Makholm

Kommentarer (4)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
michael rasmussen 22. feb. 2008 - 01.06
 
Bygning fra source

Måske en notits om at din pakke skal bygges med det mindre udbredte Module::Build, der findes i pakken libmodule-build-perl på Debian.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Martin Kofoed 22. feb. 2008 - 08.16
 
Gør-det-selv

Det er naturligvis sjovt at gøre det selv, men nogle gange er det også fedt at kunne stå på skuldrene af andre.

Hvis du på noget tidspunkt skal lege med datoer i JavaScript, kan jeg anbefale at tage et kig på det her: http://www.datejs.com/

Det er lidt vildt. Og ville nok tage en smule tid at hacke sammen selv.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Peter Makholms billede
Peter Makholm 22. feb. 2008 - 09.17
 
Re: Gør-det-selv

Man skal selvfølgelig altid overveje hvornår noget er sjovt at lave og hvornår andre har lavet det bedre i forvejen. Det er lidt for sjov at lave AcmeCal og jeg mene at det opfylder mit behov bedre end hvad jeg har set på af alternativer.

Lige netop håndtering af tidsangivelser vil jeg meget gerne finde nogle skuldre at stå på og jeg har lidt kik på [url=http://search.cpan.org/perldoc?Time::ParseDate]Time::ParseDate[/url]. Der er bare lige to men'er: Jeg skal være helt sikker på at den foretrækker ethvert muligt alternativ til den us-amerikanske middle-endian datoangivelse og jeg skal have mulighed for at vælge om en dato uden klokkeslet skal angive begyndelsen eller slutningen af dagen. Hvis jeg laver en søgning på { from => today, to => tomorrow } skal den selvfølgelig finde events fra begyndelsen af idag til slutningen af tomorrow.

Det kunne være indlysende at bruge [url=http://search.cpan.org/perldoc?Class::Accessor]Class::Accessor[/url] istedet for at skrive mine egne. Men her vurdere jeg at det at introducerer en afhængighed for så lidt ekstra funktionalitet er for dyrt. Det kan være at jeg laver den beslutning om senere.

Derudover betragter jeg klart brugen af YAML og $EDITOR som at stå på de rigtige skuldre. Det modul til import af iCalendar-filer jeg er igang med at pudse af gør også god brug af et eksisterende iCalendar-modul.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Peter Makholms billede
Peter Makholm 22. feb. 2008 - 09.19
 
Re: Gør-det-selv

Ok, det kunne man ikke...

De to links til perl-moduler skulle have været til

Time::ParseDate der findes på http://search.cpan.org/perldoc?Time::ParseDate

Class::Accessor der findes på http://search.cpan.org/perldoc?Class::Accessor

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

It skal spare kommunerne for 165 millioner kroner i 2012

Udgivet 9. feb 16.02Opdateret 9. feb 16.02

Adobe: Vi laver ikke Flash til Android-udgaven af Chrome

Udgivet 9. feb 15.15Opdateret 9. feb 15.15

Så oldnordisk er politiets it-miljø: Nostalgisk gensyn med 1980’erne

Udgivet 9. feb 14.22Opdateret 9. feb 15.12

EMC lægger flash-cache på PCIe-kort: 4.000 gange hurtigere end harddiske

Udgivet 9. feb 13.39Opdateret 9. feb 13.39

Egedal Kommune sparer 100.000 om året med open source-CMS

Udgivet 9. feb 12.56Opdateret 9. feb 12.56
Flere it-nyheder »
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Seneste debat

  1. Opdateret liste over danske iværksættere

    2 comments.
    Last update 2 timer 15 minutter
    Skrevet af Therese Hansen
  2. Stop SOPA, PIPA, ACTA, TPP og alle dem der kommer efter

    50 comments.
    Last update 6 timer 36 minutter
    Skrevet af Bjarne W. B. Petersen
  3. Derfor bliver dårlige it-projekter ikke stoppet i tide

    1 comment.
    Last update 7 timer 37 sekunder
    Skrevet af Kasper Jørgensen
  4. Grotesk jobinterview i 2007: »Tag ikke jobbet, vi får alligevel aldrig Polsag til at virke«

    17 comments.
    Last update 7 timer 8 minutter
    Skrevet af Claus Waldersdorff Knudsen
  5. Så oldnordisk er politiets it-miljø: Nostalgisk gensyn med 1980’erne

    6 comments.
    Last update 7 timer 11 minutter
    Skrevet af Simon Justesen
  6. Domæne-forening: Lov om .aarhus og .cph var for tynd

    9 comments.
    Last update 8 timer 2 minutter
    Skrevet af Jarle Knudsen
  7. ACTA er i orden!

    51 comments.
    Last update 10 timer 34 minutter
    Skrevet af Jarle Knudsen
  8. It-advokat: Nu går grænsebommene ned over internettet

    10 comments.
    Last update 12 timer 20 minutter
    Skrevet af Niels Elgaard Larsen
Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Digitaliseringsstyrelsen
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300