PokiPoki in KDEReview

Carson Black uhhadd at gmail.com
Thu Aug 27 21:40:07 BST 2020


Am Do., 27. Aug. 2020 um 16:25 Uhr schrieb Albert Astals Cid <aacid at kde.org=
>:
>
> El dimecres, 26 d=E2=80=99agost de 2020, a les 15:08:37 CEST, Carson Blac=
k va escriure:
> > Hi y'all!
> >
> > I'd like to see PokiPoki go through KDEReview and eventually end up
> > releasing as an extragear library.
> >
> > PokiPoki is a framework that aims to make persistent objects as
> > trivial to use as possible and provides other sugar functionality on
> > top of simply persisting objects, such as an undo/redo stack.
> >
> > From a code overview, PokiPoki is split into two main parts:
> > libpokipoki and pokic. libpokipoki is a small helper library that
> > provides types used by pokic while pokic is a code generator that
> > consumes .pokipoki files to generate a header-only library that can be
> > included in a project.
> >
> > libpokipoki is authored in C++ for obvious reasons, while pokic is
> > authored in Go due to the extensive text templating system used for
> > code generation and the lexer in the stdlib used for reading pokipoki
> > files.
> >
> > poki-compiler/parser/output.go will probably be the file that needs
> > most looking at, as it's responsible for the code generation.
>
> WHAT IS THIS?
> "unspeakably epic storage infinite in number that matches the speaker's e=
xpectations that's not food which isn't gendered that will hopefully die by=
 sheep with a market value less than 10 US dollars"

A translation of the old name of the project,
fim(t)beb(f)vew(f)seb(p)san(t)ap(t)vlir(t)sang(b)es(p)u(t)vom(b)ngag(t)vlim=
(p)kay(f)sna(f)kay(f)ga(f)bop(t)veg(p)daf(f)shof(b)*om(p)vlim(p)ga(f)vlim(p=
)ga(f),
into English. Yes, that is a bad project name and I am bad at naming
projects legible names. See also: ilo kijetesantakalu, rjiendaujughyi.

> The AGPL license is probably not in line with our current licensing polic=
y which says "Applications which are intended to be run on a server may be =
licenced under the AGPL-3.0-or-later". This doesn't seem to be primarily fo=
r servers.
>
> Running the example gives me
>   QSqlError("19", "Unable to fetch row", "NOT NULL constraint failed: Not=
e.title") when creating a new item of Note
> Not sure it's wanted/expected
>
> You don't seem to be specifying the database in your sql queries, what if=
 i have another database in my app?

Hmm, most likely something I should fix.

> your CMakeLists.txt calls itself ikona
>
> libpokipoki is missing from CMakeLists.txt

Fixed, and fixed.

> As someone that maintained a project with double buildsystem for a long t=
ime, I strongly suggest not to do it (OTOH this is so trivial that it may b=
e acceptable).
>
> Seems like this is the kind of project that would welcome some tests (som=
ething like your example file but that it's tested for each build to make s=
ure nothing regresses).

I'm not particularly too familiar with the Qt testing infrastructure,
would you mind pointing me to resources on that /  lending a hand?

Some tests for pokic will be coming up since I'm familiar with go test.

Cheers,
-- Carson Black

> Cheers,
>   Albert
>
>
> >
> > Cheers,
> > -- Carson Black
> >
>
>
>
>

Am Do., 27. Aug. 2020 um 16:25 Uhr schrieb Albert Astals Cid <aacid at kde.org>:
>
> El dimecres, 26 d’agost de 2020, a les 15:08:37 CEST, Carson Black va escriure:
> > Hi y'all!
> >
> > I'd like to see PokiPoki go through KDEReview and eventually end up
> > releasing as an extragear library.
> >
> > PokiPoki is a framework that aims to make persistent objects as
> > trivial to use as possible and provides other sugar functionality on
> > top of simply persisting objects, such as an undo/redo stack.
> >
> > From a code overview, PokiPoki is split into two main parts:
> > libpokipoki and pokic. libpokipoki is a small helper library that
> > provides types used by pokic while pokic is a code generator that
> > consumes .pokipoki files to generate a header-only library that can be
> > included in a project.
> >
> > libpokipoki is authored in C++ for obvious reasons, while pokic is
> > authored in Go due to the extensive text templating system used for
> > code generation and the lexer in the stdlib used for reading pokipoki
> > files.
> >
> > poki-compiler/parser/output.go will probably be the file that needs
> > most looking at, as it's responsible for the code generation.
>
> WHAT IS THIS?
> "unspeakably epic storage infinite in number that matches the speaker's expectations that's not food which isn't gendered that will hopefully die by sheep with a market value less than 10 US dollars"
>
> The AGPL license is probably not in line with our current licensing policy which says "Applications which are intended to be run on a server may be licenced under the AGPL-3.0-or-later". This doesn't seem to be primarily for servers.
>
> Running the example gives me
>   QSqlError("19", "Unable to fetch row", "NOT NULL constraint failed: Note.title") when creating a new item of Note
> Not sure it's wanted/expected
>
> You don't seem to be specifying the database in your sql queries, what if i have another database in my app?
>
> your CMakeLists.txt calls itself ikona
>
> libpokipoki is missing from CMakeLists.txt
>
> As someone that maintained a project with double buildsystem for a long time, I strongly suggest not to do it (OTOH this is so trivial that it may be acceptable).
>
> Seems like this is the kind of project that would welcome some tests (something like your example file but that it's tested for each build to make sure nothing regresses).
>
> Cheers,
>   Albert
>
>
> >
> > Cheers,
> > -- Carson Black
> >
>
>
>
>




More information about the kde-core-devel mailing list