deasylife (var: Et guide program)
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
deasylife (var: Et guide program)
Hej alle sammen
Her er en ide jeg har ruget på nogen tid.
Idéen er et program, der gør det samme som vores guides:
Kort sagt:
Dengang opdagede jeg desværre ikke tilstedeværelsen af libept, som er ret tæt på at være en apt-get, apt-cache, og apt-file for programmører = det er meget nemmere, så der skulle være mere garanti for succes, når jeg begynder at gå avanceret.
---
Det jeg går efter først er at skrabe så meget funktionalitet sammen først,
og så lave programmet smartere og mere avanceret og elegant senere.
Måden jeg gør det på er følgende
Uteknisk forklaring
Jeg opsamler oplysninger om brugerens valg, og konstruerer et script i RAM.
Bagefter producerer jeg nogle sikkerhedsoplysninger, og så gemmer jeg scriptet i en midlertidlig fil.
Derefter starter jeg et nyt program, der efter ændringer af rettigheder, og kørsel af nogle sikkerhedschek kører scriptet
Teknikbasker forklaringen
Jeg vil gerne starte med script metoden, fordi der er 2 fordele med den.
Meget senere kan jeg gøre programmet elegant, og avanceret (man behøves ikke at bruge et script engang
ude i fremtiden), men script metoden beholdes stadigvæk.
Andre idéer er at en guide er et plugin.
Det tænkes at guiden er en simpel tekstfil der beskriver, hvordan en guide skal se ud i GUIen, og
hvad den så skal reagere.
At en guide er en tekstfil betyder at en guide kan indlæses.
Jeg bemærker dog lige at det guide tekstfiler ligger meget lang ude i fremtiden, da jeg jeg skal lave
en fortolker(engelsk: interpreter), som således bruger et programmeringssprog, der er specielt
godt egnet til at lave visuelle guides.
Navn?
Er der nogen der har et forslag til et godt navn til programmet?
Husk at "Ubuntu" ikke kan bruges på grund af at Canonical har det ord som et registreret varemærke.
Husk også at det potentielt er anvendeligt for andet end Ubuntu, og at programmets resultat er anvendeligt på både desktops og servere. hint: tænk bredt i anvendelse
Eksempel:
myGuide: my er micro tegn i SI systemet, og betyder også "mig/min".
^-- hvad synes du om det navn
Hvad synes du om programmet?
/Lars
Edit1:
Pakkerne der bruger libept er synaptic, goplay, debtags, libept-dev, aptitude
Edit 20120602 15:21:
emne felt rettet
Edit 20120602 15:26
typo i emnefeltet retter
Her er en ide jeg har ruget på nogen tid.
Idéen er et program, der gør det samme som vores guides:
Kort sagt:
- så sætter man flueben ud for det på det man vil have, og
- så fjerner et flueben ud for det man ikke vil have
Dengang opdagede jeg desværre ikke tilstedeværelsen af libept, som er ret tæt på at være en apt-get, apt-cache, og apt-file for programmører = det er meget nemmere, så der skulle være mere garanti for succes, når jeg begynder at gå avanceret.
---
Det jeg går efter først er at skrabe så meget funktionalitet sammen først,
og så lave programmet smartere og mere avanceret og elegant senere.
Måden jeg gør det på er følgende
Uteknisk forklaring
Jeg opsamler oplysninger om brugerens valg, og konstruerer et script i RAM.
Bagefter producerer jeg nogle sikkerhedsoplysninger, og så gemmer jeg scriptet i en midlertidlig fil.
Derefter starter jeg et nyt program, der efter ændringer af rettigheder, og kørsel af nogle sikkerhedschek kører scriptet
Teknikbasker forklaringen
- GUI programmet (Program A), helst et Qt, eller GTK+ giver brugeren de valgmuligheder det nu engang har.
- Når brugeren har lavet sine valg og vælger at forsætte, så vil programmet brygge
et bash script sammen i RAM, der er beregnet på at køre uden at stille dumme spørgsmål. - program A beregner nu en md5sum, en SHA1 sum, og en SHA256 hash sum af scriptet i RAM
- program A gemmer scriptet i /tmp i en midlertidlig fil
- program A starter i en ny tråd et ny program, B, og venter på at program B bliver færdigt.
Program B gør følgende:- ændrer filrettighederne af filen til: -r-------- (0400), og skifter ejer og gruppe af scriptet til root
- cheker om md5 sum af indholdet af filen passer med den md5sum sum, som program A leverede til program B:
Hvis det ikke er tilfældet er indholdet af filen ændret, og filen slettes fra /tmp, og programmet afslutter - cheker om sha1 sum af indholdet af filen passer med den sha1 sum, som program A leverede til program B:
Hvis det ikke er tilfældet er indholdet af filen ændret, og filen slettes fra /tmp, og programmet afslutter - checker om sha256 sum af indholdet af filen passer med den sha256 sum, som program A leverede til program B:
Hvis det ikke er tilfældet er indholdet af filen ændret, og filen slettes fra /tmp, og programmet afslutter - program B er er nu sikker på at indholdet af filen ikke er blevet ændret siden det kom fra program A, og det kan nu køres
- scriptet gøres kørbart, til et program: user execute bit sættets på filen
- program B starter scriptet og venter på at det er færdigt for ikke at få en zombie process
- Når scriptet er færdig sættes write bit på scriptet
- ... og filen slettes
Jeg vil gerne starte med script metoden, fordi der er 2 fordele med den.
- Det er efter KISS princippet (KISS=Keep It Simple, Stupid)
- Administratorer af mange computere med samme Ubuntu opsætning kan rulle et batch script ud til hver computer,
som så foretager sin opdatering - Programmet kan udvides til at understøtte opsætning af servere, hvor den kan producere et script der bare skal
køres med sudo foran.
Meget senere kan jeg gøre programmet elegant, og avanceret (man behøves ikke at bruge et script engang
ude i fremtiden), men script metoden beholdes stadigvæk.
Andre idéer er at en guide er et plugin.
Det tænkes at guiden er en simpel tekstfil der beskriver, hvordan en guide skal se ud i GUIen, og
hvad den så skal reagere.
At en guide er en tekstfil betyder at en guide kan indlæses.
Jeg bemærker dog lige at det guide tekstfiler ligger meget lang ude i fremtiden, da jeg jeg skal lave
en fortolker(engelsk: interpreter), som således bruger et programmeringssprog, der er specielt
godt egnet til at lave visuelle guides.
Navn?
Er der nogen der har et forslag til et godt navn til programmet?
Husk at "Ubuntu" ikke kan bruges på grund af at Canonical har det ord som et registreret varemærke.
Husk også at det potentielt er anvendeligt for andet end Ubuntu, og at programmets resultat er anvendeligt på både desktops og servere. hint: tænk bredt i anvendelse
Eksempel:
myGuide: my er micro tegn i SI systemet, og betyder også "mig/min".
^-- hvad synes du om det navn
Hvad synes du om programmet?
/Lars
Edit1:
Pakkerne der bruger libept er synaptic, goplay, debtags, libept-dev, aptitude
Edit 20120602 15:21:
emne felt rettet
Edit 20120602 15:26
typo i emnefeltet retter
Senest rettet af lath 2. jun 2012, 15:27, rettet i alt 2 gange.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 152
- Tilmeldt: 1. jun 2011, 01:37
Re: Et guide program
Jeg sad og "legede" en del med InstallShield i Windows i 90'erne. Der var andre muligheder dengang end InstallShield men InstallShield var et must og det rigtige signal at sende overfor end-users. InstallShield havde før jeg stoppede med at bruge programmet ganske mange og også avanceret muligheder. Stort set alt var WYSIWYG.
Søgte lige for sjovs skyld på InstallShield efter at have læst dit indlæg, og det ser ud til at InstallShield idag er ejet af et andet firma end dengang.
Link: www.flexerasoftware.com
På deres side faldt jeg så over et andet og måske endnu mere interessant produkt ved navn InstallAnywhere
Interessant og smart lyder det da. Hvordan det så fungere i virkeligheden ved jeg ikke.
Nå, men uanset hvad. Så må den smarteste og mest fleksible installere idag være en singel install-fil som virker på flere/alle OS'er (hvis det er muligt at lave en dag) og som detektere og derefter henter indholdet til rette OS og i seneste version fra skyen.
Søgte lige for sjovs skyld på InstallShield efter at have læst dit indlæg, og det ser ud til at InstallShield idag er ejet af et andet firma end dengang.
Link: www.flexerasoftware.com
På deres side faldt jeg så over et andet og måske endnu mere interessant produkt ved navn InstallAnywhere
InstallAnywhere is the leading multiplatform application installer for software producers who need to deliver a professional and consistent cross platform installation experience for desktop and server applications. From a single project file and build environment, InstallAnywhere enables developers to create reliable installations for the broadest range of current platforms including Windows, Linux, Mac OS X, Solaris, AIX , HP-UX, and IBM iSeries.
Interessant og smart lyder det da. Hvordan det så fungere i virkeligheden ved jeg ikke.
Nå, men uanset hvad. Så må den smarteste og mest fleksible installere idag være en singel install-fil som virker på flere/alle OS'er (hvis det er muligt at lave en dag) og som detektere og derefter henter indholdet til rette OS og i seneste version fra skyen.
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Et guide program
kfj1972 skrev:Jeg sad og "legede" en del med InstallShield i Windows i 90'erne. Der var andre muligheder dengang end InstallShield men InstallShield var et must og det rigtige signal at sende overfor end-users. InstallShield havde før jeg stoppede med at bruge programmet ganske mange og også avanceret muligheder. Stort set alt var WYSIWYG.
Søgte lige for sjovs skyld på InstallShield efter at have læst dit indlæg, og det ser ud til at InstallShield idag er ejet af et andet firma end dengang.
Link: www.flexerasoftware.com
På deres side faldt jeg så over et andet og måske endnu mere interessant produkt ved navn InstallAnywhereInstallAnywhere is the leading multiplatform application installer for software producers who need to deliver a professional and consistent cross platform installation experience for desktop and server applications. From a single project file and build environment, InstallAnywhere enables developers to create reliable installations for the broadest range of current platforms including Windows, Linux, Mac OS X, Solaris, AIX , HP-UX, and IBM iSeries.
Interessant og smart lyder det da. Hvordan det så fungere i virkeligheden ved jeg ikke.
Det er ikke en installer, for den erstatter ikke Debian pakkesystemet.
Det er et guide program, hvor programmet kan tilføje/fjerne pakkearkiver (repositories), tilføje/fjerne bunker af pakker, og senere nok også lave ændringer i en desktop.
Kogt ned er det hvad vores guides går ud på for hurtigt at få en bruger i gang med en mere komplet Ubuntu installation.
Med andre ord så arbejder mit program oven på pakkearkiv infrastrukturen.
Hvis man endeligt ville lave en installer, skal det nok være en kopi af den som PC-BSD bruger.
- Her henter man pakker herfra, enten direkte eller via AppCafe, eller et script program: http://www.pbidir.com/
- PBI (Push Button Installer) manager: http://wiki.pcbsd.org/index.php/PBI_Manager/
- Teknikbasker om hvordan en PBI pakke laves: http://wiki.pcbsd.org/index.php/PBI_Module_Builder_Guide/
Men som sagt vil jeg ikke lave sådan en installer. Det er ikke formålet med mit program.
kfj1972 skrev:Nå, men uanset hvad. Så må den smarteste og mest fleksible installere idag være en singel install-fil som virker på flere/alle OS'er (hvis det er muligt at lave en dag) og som detektere og derefter henter indholdet til rette OS og i seneste version fra skyen.
Du har aldrig udviklet software til en desktop, vel?
Bliv ved med at drømme, det kommer aldrig til at ske.
Hvis du er softwareudvikler har du også en klar idé om hvorfor det aldrig kommer til at ske.
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 691
- Tilmeldt: 14. jan 2007, 16:40
- Geografisk sted: Smørum
Re: Et guide program
Da det nok mest er et valg der foretages er mit forslag til navn dette:
MyChoice
MyappChoice
AppChoice
MyChoice
MyappChoice
AppChoice
Rigtige mænd tager ikke backup.
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Et guide program
eyvind skrev:Da det nok mest er et valg der foretages er mit forslag til navn dette:
MyChoice
MyappChoice
AppChoice
Udmærkede idéer. Jeg kan bedst lide myChoice, da jeg synes at App er gået hen og blevet lidt for management pop-smart.
Softwareudviklere har generelt en meget god radar for hvornår noget er gået hen og blevet for business/management pop-smart.
Er der nogen der har et andet forslag til et navn?
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
Re: Et guide program
Hej.Tænker du på noget som easylife til Fedora?Så stemmer jeg for det.
http://easylifeproject.org/img/el-snapshot.png
http://easylifeproject.org/img/el-snapshot.png
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Et guide program
zerben skrev:Hej.Tænker du på noget som easylife til Fedora?Så stemmer jeg for det.
http://easylifeproject.org/img/el-snapshot.png
Hej zerben
Ja det er faktisk meget tæt på - bare mere primitivt i starten ved selve installationen af pakkerne, og nok mere avanceret hen over tid.
Jeg kendte den ikke, så jeg takker for oplysninger om den.
Jeg kan måske gafle noget af (læs: lave et fork af) det program for at komme hurtigere i gang - med open Source er den slags heldigvis lovligt, man bliver næsten tilskyndt til at gøre det i GPL.
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Et guide program
zerben skrev:Hej.Tænker du på noget som easylife til Fedora?Så stemmer jeg for det.
http://easylifeproject.org/img/el-snapshot.png
En email er sendt til easylifeproject.org, så får vi at se hvad de svarer.
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
deasylife
Så kom der svar fra Luis Felipe Marzagão fra Brasilien.
Kort fortalt, så er det Open Source og jeg er mere end velkommen til at lave et fork af det.
Koden er på GitHub: https://github.com/easyLife/easylife/
Jeg vil så forke Luis' projekt.
Programmet kommer til at hedde deasylife, hvor det første d står for debian, og resten giver giver sig selv.
/Lars
Kort fortalt, så er det Open Source og jeg er mere end velkommen til at lave et fork af det.
Koden er på GitHub: https://github.com/easyLife/easylife/
Jeg vil så forke Luis' projekt.
Programmet kommer til at hedde deasylife, hvor det første d står for debian, og resten giver giver sig selv.
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: deasylife (var: Et guide program)
zerben skrev:Super.Jeg glæder mig til det er færdigt.
...
Edit:
Nye designbeslutninger, Indhold her er derfor slettet.
Se længere nede i tråden
/Lars
Senest rettet af lath 12. sep 2012, 21:48, rettet i alt 1 gang.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 152
- Tilmeldt: 1. jun 2011, 01:37
Re: Et guide program
lath skrev:kfj1972 skrev:Jeg sad og "legede" en del med InstallShield i Windows i 90'erne. Der var andre muligheder dengang end InstallShield men InstallShield var et must og det rigtige signal at sende overfor end-users. InstallShield havde før jeg stoppede med at bruge programmet ganske mange og også avanceret muligheder. Stort set alt var WYSIWYG.
Søgte lige for sjovs skyld på InstallShield efter at have læst dit indlæg, og det ser ud til at InstallShield idag er ejet af et andet firma end dengang.
Link: www.flexerasoftware.com
På deres side faldt jeg så over et andet og måske endnu mere interessant produkt ved navn InstallAnywhereInstallAnywhere is the leading multiplatform application installer for software producers who need to deliver a professional and consistent cross platform installation experience for desktop and server applications. From a single project file and build environment, InstallAnywhere enables developers to create reliable installations for the broadest range of current platforms including Windows, Linux, Mac OS X, Solaris, AIX , HP-UX, and IBM iSeries.
Interessant og smart lyder det da. Hvordan det så fungere i virkeligheden ved jeg ikke.
Det er ikke en installer, for den erstatter ikke Debian pakkesystemet.
Det er et guide program, hvor programmet kan tilføje/fjerne pakkearkiver (repositories), tilføje/fjerne bunker af pakker, og senere nok også lave ændringer i en desktop.
Kogt ned er det hvad vores guides går ud på for hurtigt at få en bruger i gang med en mere komplet Ubuntu installation.
Med andre ord så arbejder mit program oven på pakkearkiv infrastrukturen.
Hvis man endeligt ville lave en installer, skal det nok være en kopi af den som PC-BSD bruger.Overnævnte links i listen er fra PC-BSD Users handbook, som er meget udførlig og ret god: http://wiki.pcbsd.org/index.php/PC-BSD_Users_Handbook#Table_of_Contents
- Her henter man pakker herfra, enten direkte eller via AppCafe, eller et script program: http://www.pbidir.com/
- PBI (Push Button Installer) manager: http://wiki.pcbsd.org/index.php/PBI_Manager/
- Teknikbasker om hvordan en PBI pakke laves: http://wiki.pcbsd.org/index.php/PBI_Module_Builder_Guide/
Men som sagt vil jeg ikke lave sådan en installer. Det er ikke formålet med mit program.kfj1972 skrev:Nå, men uanset hvad. Så må den smarteste og mest fleksible installere idag være en singel install-fil som virker på flere/alle OS'er (hvis det er muligt at lave en dag) og som detektere og derefter henter indholdet til rette OS og i seneste version fra skyen.
Du har aldrig udviklet software til en desktop, vel?
Bliv ved med at drømme, det kommer aldrig til at ske.
Hvis du er softwareudvikler har du også en klar idé om hvorfor det aldrig kommer til at ske.
/Lars
Beklager mit indlæg.
Hav en god dag.
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Et guide program
kfj1972 skrev:Jeg sad og "legede" en del med ...
...
Beklager mit indlæg.
Hav en god dag.
Årh det var nu ikke så hårdt ment endda - jeg var muligvis ikke i så godt humør da jeg svarede ...
og i lige måde - ha' en god dag
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Teknikbasker, analyse og design af deasylife
Seneste nyheder for deasylife, 20120714.
Teknikbasker, analyse og design af deasylife
apt-pkg pakken er den pakke man skal bruge hvis man vil installere, afinstallere pakker, søge efter information om en pakke, og håndtere pakkearkiver.
Jeg har så opdaget den ubehagelighed at apt-pkg har et ustabilt API.
Et ustabilt API betyder at jeg skal gøre tingene noget mere avanceret for at skærme min kode mod alt for store ændringer på grund af ændringer i apt-pkg.
...
Edit:
Nye designbeslutninger, Indhold her er derfor slettet.
Se længere nede i tråden
/Lars
Teknikbasker, analyse og design af deasylife
apt-pkg pakken er den pakke man skal bruge hvis man vil installere, afinstallere pakker, søge efter information om en pakke, og håndtere pakkearkiver.
Jeg har så opdaget den ubehagelighed at apt-pkg har et ustabilt API.
Et ustabilt API betyder at jeg skal gøre tingene noget mere avanceret for at skærme min kode mod alt for store ændringer på grund af ændringer i apt-pkg.
...
Edit:
Nye designbeslutninger, Indhold her er derfor slettet.
Se længere nede i tråden
/Lars
Senest rettet af lath 12. sep 2012, 21:50, rettet i alt 1 gang.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
deasylife - designbeslutninger
Her mine design beslutninger for Deasylife.
/Lars
- Jeg har besluttet mig for et program der kalder dpkg, dpkg-query, apt-get, jockey-tekst, og add-repository kommandoerne efter at have stillet en række af spørgsmål, som brugeren svar ja eller nej til.
- Jeg vil simplificerer yderligere og udelader ncurces til at starte med.
- programmet er datastyret:
- I første omgang bliver data hårdt kodet ind i programmet. Hårdt kodet er et udtrykker at dataene er kildekode, så data kan kun ændres af en programmør med indgående kendskab til programmet.
- Hårdt kodede data er noget skidt, så der skal laves et dataformat, måske et DSL (domæne specifikt programmeringssprog=Domain Specific programming Language).
- Når jeg har lavet sådan et data format kan andre med dokumentation om dataformatet i hånden lave en anden datafil med data format i. Man kan sige at de har lavet en deasylife guide-fil.
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
Hvem er online
Brugere der læser dette forum: Ingen og 0 gæster