søndag den 28. april 2019

Programmering med Python

Programmeringssproget Python vinder stor udbredelse for tiden, hvilket måske hænger sammen med at det er et programmeringssprog som er open source, og som ikke er afhængig af et bestemt operativsystem. Python er, lige som Java, helt platformsuafhængig. Til gengæld forudsætter afvikling af programmerne, at brugeren har et afviklingsmiljø installeret.

Python bruges i øvrigt som makrosprog i mange open source programmer, f.eks. Inkscape, Gimp og LibreOffice.

Når du downloader og installerer LibreOffice, får du helt automatisk et Python afviklingsmiljø med i pakken.

Python i LibreOffice

Hvis du programmerer makroer i LibreOffice Basic, benytter du den indbyggede IDE (integrated Development Environment), men til Python må du selv vælge hvilket udviklingsmiljø du gerne vil bruge. Der er mange at vælge imellem. Geany, PyCharm og Eclipse er bare eksempler.

Der er tre ting du skal være opmærksom på, inden du går i gang:
  1. Pythonfilen skal være placeret i dit brugerkatalog under user/Scripts/python/ eller en folder derunder. På min PC er det her: /home/leif/.config/libreoffice/4/user/Scripts/python
  2. Den makro (Python-funktion) du gerne vil stille til rådighed i LibreOffice brugergrænsefladen skal "udstilles" ved at tilføje navnet til Tuple-variablen g_exportedScripts.
  3. For at tilgå dokumentobjekter i LibreOffice skal du benytte XSCRIPTCONTEXT ved at kalde en af funktionerne getDocument (), getInvocationContext (), getDesktop (), getComponentContext (). Når først du har gjort det, kan du tilgå LibreOffice ad bagvejen, altså programmere makroer.
Her er et klassisk eksempel (Hello world):

# -*- coding: utf-8 -*-
# !/usr/bin/env python

import uno

def HelloWorld():
    """Write Helo World in Writer"""

    try:
        ctx = remote_ctx                   # use in development
    except:
        ctx = uno.getComponentContext()    # use in production

    # get desktop
    desktop = ctx.getByName("/singletons/com.sun.star.frame.theDesktop")
    # get document
    document = desktop.getCurrentComponent()
    # access the document's text property
    text = document.Text
    # create a cursor
    cursor = text.createTextCursor()
    # insert the text into the document
    text.insertString(cursor, "Hello World", 0)

HelloWorld()

g_exportedScripts = HelloWorld,


Du kan læse mere om Python i LibreOffice her: https://help.libreoffice.org/6.3/en-US/text/sbasic/python/main0000.html

Du kan læse mere om XSCRIPTCONTEXT her: https://wiki.openoffice.org/wiki/Python/Transfer_from_Basic_to_Python

Der er masser af muligheder på internettet for at lære programmering med Python. Du kan f.eks. tage et komplet kursus på Massachusetss Institute of Technology (MIT) helt gratis: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/

Nye regnearksfunktioner

Igennem de seneste mange versioner af LibreOffice er der tilføjet adskillige nye regnearksfunktioner. Der er allerede nu planer om at implementere endnu en funktion i LibreOffice, nemlig Fouriertransformation.

Indrømmet. Det er en af de mere langhårede regnearksfunktioner, og jeg kan ikke lige huske hvornår jeg sidst har haft brug for den. Men den er altså på vej med LibreOffice 6.3.



Wikipedia om FOURIER-funktionen: https://da.wikipedia.org/wiki/Fouriertransformation

torsdag den 25. april 2019

Når 'det offentlige' køber ind

Undertitlen kunne være: "sker det med bind for øjnene".

Det har været fremme at Københavns Kommune antageligt skal have spildt en masse penge på at indkøbe Office-licenser, uden at tage dem i brug med det samme. Hele sagen afvises af Københavns Kommune med forskellige forklaringer.

Det er fair nok.

Citat fra Berlingske:
"Københavns Kommune har anvendt millioner af kroner på IT-software, der blev købt og betalt for så at samle digitalt støv i mange måneder. Millioner ud af vinduet, siger ekspert."
Svaret fra Københavns Kommune (i korte træk):
"Det  er Koncern  IT’s  vurdering,  at  Københavns  Kommune  har  foretaget  det økonomisk mest fordelagtige indkøb af Office 365."
Hele sagen afdækker dog en række forhold, som gør sig gældende når offentlige myndigheder køber software hos Microsoft. Da jeg læste artiklen i Berlinske og efterfølgende svaret (fra Koncern-IT til Økonomiudvalget), faldt det mig ind, at jeg har hørt historien før:

Når det offentlige køber kontorsoftware, sker det helt og aldeles på Microsofts vilkår. Vi talte rigtig meget om det omkring 2006-2009, hvor vi havde diskussionen om de famøse åbne standarder.

Citat fra "Orientering til Økonomiudvalget om Office 365":
"Den benyttede model for indkøb af licenser er således Microsofts markedsmodel, som Koncern IT ikke har kunne finde eksempler på, er blevet fraveget.

Derudover har Koncern IT før anskaffelsen af Office 365 undersøgt markedet for andre produkter som eventuel kunneanvendes som kontorpakke, men reelt fandtes der ikke alternativer til Microsoft. Der er altså tale om, at Microsoft har en monopollignende status på markedet for kontorpakker, hvorfor forhandlingsudgangspunktet som følge deraf er vanskeligt."
og ...
"Den valgte aftale på SKI 02.06-samlet forventet udgift over 6 år ca. 172 mio. Kr."
I 2009 afleverede Konkurrencestyrelsen sin rapport til Folketinget om markedet for kontorsoftware. Den gang var konklussionen, at Microsoft dominerer markedet, og at der reelt ikke findes alternativer.

Nu kommer det så frem, at der i de mellemliggende 10 år, ikke er sket noget som helst. Markedssituationen er fortsat til Microsofts fordel og til vores (skatteydere) ugunt.

Hvordan kan vi fortsætte med at lade stå til og bare lade som om at alt er godt? Hvorfor tager vi ikke fat om problemerne, og bruger de næste 10 år på at slippe af med de såkaldte bindinger? Jeg er sikker på at det godt kan betale sig. Der er simpelthen så mange penge på spil, at der vil være rigeligt til både at fjerne hindringerne og implementere en bedre og billigere løsning.

Citater fra Konkurrencestyrelsens rapport "Markedet for kontorsoftware" fra 2009:
"Microsoft har således en meget dominerende markedsposition. Denne meget do-minerende markedsposition har Microsoft haft i en årrække, hvor Microsofts kontorpakker har været baseret på proprietære formater. "
"Det fremgår fx af analyserne i denne rapport, at Microsoft – ud over at være den dominerende udbyder på markedet for kontorsoftware – også er den domineende udbyder på markederne for styresystemer og serversoftware, dvs. på de produkter, hvor der er tekniske bindinger ift. kontorsoftware,..."
"2006 var omsætningen på kontorsoftware på ca. 800 mio. kr., "
"Markedet er præget af en række markedsbarrierer (netværkseffekter, store udviklingsomkostninger, tekniske og praktiske barrierer), som gennem de seneste 10-15 år har gjort det svært for nye aktører at vinde markedsandele, selv om de anvender en række forskellige forretningsmodeller som fx lavprispakker, abonnementsordninger eller gratispakker. "
Artikel i Berlinske: https://www.berlingske.dk/samfund/koebenhavns-kommune-beskyldes-for-ekstremt-overforbrug-betalte-mere-end-ti

Office 365: Københavns Kommune har indgået den bedst mulige aftale: https://www.kk.dk/nyheder/office-365-koebenhavns-kommune-har-indgaaet-den-bedst-mulige-aftale

Konkurrencestyrelsens rapport "Markedet for kontorsoftware" fra 2009: https://www.kfst.dk/media/3010/markedet-for-kontorsoftware-12082009-analyse.pdf

onsdag den 24. april 2019

En måned for LibreOffice

LibreOffice er udviklet af hundredvis af mennesker over hele verden: frivillige, der arbejder hjemmefra, certificerede udviklere, der er en del af vores kommercielle økosystem og andre tilhængere og brugere. I løbet af årene er der tilføjet mange nye funktioner, tests er blevet gennemført, og mange bidrager til at gøre hver udgivelse poleret og pålidelig. Vi er utrolig taknemmelige for deres indsats!

Hvis du er regelmæssig bruger af LibreOffice, kan du også give os en hånd!

I maj 2019 kører vi En måned for LibreOffice - en kampagne for at belønne bidrag til programmet og fællesskabet. Alle, der hjælper, kan kræve en pakke med klistermærker, og denne gang har vi en ekstra bonus: 10 bidragsydere vil blive valgt tilfældigt ud, og vil modtage et eksklusivt LibreOffice glaskrus.


Din hjælp er vigtig for LibreOffice-projektet, men det er også godt for dig selv! Hvis du er interesseret i en mulig fremtidig karriere inden for software - f.eks. med  programmering, kvalitetssikring, brugergrænsefladedesign, dokumentation, brugersupport og andre emner - er det også en god ide at deltage i En måned for LibreOffice:
  • Opbyg dine færdigheder
  • Få erfaring i et velkendt softwareprojekt
  • Skab nye kontakter
  • Sæt det hele på dit CV!
Så hvad sker der nu? Den 1. maj udsender vi detaljerne om hvordan du kan involvere dig - så hold dig opdateret!

torsdag den 4. april 2019

Tidligere versioner

Leder du efter en helt specifik version af LibreOffice?

Måske fordi du skal teste en given funktion over flere versioner, eller fordi du gerne vil en tur ned ad Memory Lane?

Du kan nu hente samtlige versioner af LibreOffice siden version 3.3.0.4 (04-Oct-2011). Du kan finde alle versionerne her: https://downloadarchive.documentfoundation.org/libreoffice/old/