Wednesday, June 13, 2018

Working on Lino Tera

Here is how I currently start the process for #2162. It uses lino_xl.lib.tim2lino.spzloader2. In the project direcory on their production server I have a script

from lino_xl.lib.tim2lino.spzloader2 import TimLoader

That script runs for quite some time. So I invoke it using nohup to avoid having it killed when my terminal closes:

$ nohup python run &
[1] 18804
$ nohup: ignoring input and appending output to ‘nohup.out’

After launching it, I can check that the process is running:

$ ps -uf
lsaffre  18576  0.0  0.2  23424  5380 pts/0    Ss   04:11   0:00 -bash
lsaffre  18804 88.6 40.9 1029360 843084 pts/0  R    04:20   8:27  \_ python run
lsaffre  18881  0.0  0.1  19100  2508 pts/0    R+   04:29   0:00  \_ ps -uf

And when the script has finished, I can see the results in the nohup.out file. For example here is a traceback I had today:

Loading readonly /mnt/tim/tera/PAR.FOX...
Traceback (most recent call last):
  File "", line 6, in <module>
    from lino_local import manage ; manage(__file__)
  File "~/mypy/", line 37, in manage
  File "~/virtualenvs/a/local/lib/python2.7/site-packages/django/core/management/", line 364, in execute_from_command_line
  File "~/virtualenvs/a/local/lib/python2.7/site-packages/django/core/management/", line 356, in execute
  File "~/virtualenvs/a/local/lib/python2.7/site-packages/django/core/management/", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "~/virtualenvs/a/local/lib/python2.7/site-packages/django/core/management/", line 330, in execute
    output = self.handle(*args, **options)
  File "~/repositories/lino/lino/management/commands/", line 90, in handle
    execfile(fn, globals())
  File "", line 2, in <module>
  File "~/repositories/xl/lino_xl/lib/tim2lino/", line 329, in run
    for o in self.expand(self.objects()):
  File "~/repositories/xl/lino_xl/lib/tim2lino/", line 308, in expand
    for so in self.expand(o):
  File "~/repositories/xl/lino_xl/lib/tim2lino/", line 308, in expand
    for so in self.expand(o):
  File "~/repositories/xl/lino_xl/lib/tim2lino/", line 307, in expand
    for o in obj:
  File "~/repositories/xl/lino_xl/lib/tim2lino/", line 172, in load_par"Create new %s : %s", obj, kw)
UnboundLocalError: local variable 'obj' referenced before assignment

ExtJS is no longer free software

I read an article published by Sencha Top Considerations for Web Development in a Free Open Source World. It basically explains that some free software products (Angular, Node, React) are really cool, and that it’s just difficult to become productive with them because they evolve so dynamically, and therefore we should use their (Sencha’s) proprietary products because we can then concentrate on the important things instead of hassling around with a changing toolbox. It confirms once more that ExtJS is no longer free software.