This forum has been archived. All content is frozen. Please use KDE Discuss instead.

problems with CalDAV/akonadi after upgrade from 1.11 to 1.13

Tags: None
(comma "," separated)
tomi
Registered Member
Posts
4
Karma
0
Hello,
in relation to my previous post ( viewtopic.php?f=215&t=123034 ) I'd like to report an additional annoyance that appeared to me after a recent upgrade of my system. I've been successfully using Apple's calendarserver in conjunction with multiple instances of Kontact/CalDAV agents. Everything seems to work until (including) version 4.13 of Kontact. With 4.14.1 configuration still seems to work as clicking the "Fetch" Button successfully retrieves my sub-calendars, but afterwards no events are getting shown inside these caldendars.
Since I don't know of any logs produced by the CalDAV agent I can only attach the output of the calendarserver. Maybe that helps a bit.

[code]==> error.log <==
2014-09-27 07:55:38+0200 [-] [caldav-1] [HTTPChannel,57330,::ffff:192.168.10.149] [twext.web2.server#info] REPORT /calendars/__uids__/E7DC879E-FF7D-102E-93FD-5790685B8AFE/calendar/ HTTP/1.1
2014-09-27 07:55:38+0200 [-] [caldav-1] [HTTPChannel,57330,::ffff:192.168.10.149] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for 'E7DC879E-FF7D-102E-93FD-5790685B8AFE'
2014-09-27 07:55:38+0200 [-] [caldav-1] [HTTPChannel,57330,::ffff:192.168.10.149] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [HTTPChannel,57330,::ffff:192.168.10.149] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [txdav.base.datastore.util.QueryCacher#debug] Getting Cache Token for 'homeMetaData:34'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for '34'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for '34/E7DC879E-FF7D-102E-93FD-5790685B8AFE'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [txdav.base.datastore.util.QueryCacher#debug] Getting Cache Token for 'objectWithName:34:calendar'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [txdav.base.datastore.util.QueryCacher#debug] Getting Cache Token for 'homeChildMetaData:57'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for '57'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for '57/E7DC879E-FF7D-102E-93FD-5790685B8AFE'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0

==> access.log <==
::ffff:192.168.10.149 - - [27/Sep/2014:07:55:38 +0200] "REPORT(CalDAV:calendar-query) /calendars/__uids__/E7DC879E-FF7D-102E-93FD-5790685B8AFE/calendar/ HTTP/1.1" 401 141 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) akonadi_davgroupware_resource_3/4.14.1 Safari/534.34" i=1 or=1 t=35.8

==> error.log <==
2014-09-27 07:55:38+0200 [-] [caldav-1] [HTTPChannel,57331,::ffff:192.168.10.149] [twext.web2.server#info] REPORT /calendars/__uids__/E7DC879E-FF7D-102E-93FD-5790685B8AFE/calendar/ HTTP/1.1
2014-09-27 07:55:38+0200 [-] [caldav-1] [HTTPChannel,57331,::ffff:192.168.10.149] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for 'E7DC879E-FF7D-102E-93FD-5790685B8AFE'
2014-09-27 07:55:38+0200 [-] [caldav-1] [HTTPChannel,57331,::ffff:192.168.10.149] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [HTTPChannel,57331,::ffff:192.168.10.149] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [txdav.base.datastore.util.QueryCacher#debug] Getting Cache Token for 'homeMetaData:34'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for '34'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for '34/E7DC879E-FF7D-102E-93FD-5790685B8AFE'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [txdav.base.datastore.util.QueryCacher#debug] Getting Cache Token for 'objectWithName:34:calendar'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [txdav.base.datastore.util.QueryCacher#debug] Getting Cache Token for 'homeChildMetaData:57'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf069cb2d8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for '57'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf06a1f5a8>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcacher.Memcacher#debug] Getting Cache Token for '57/E7DC879E-FF7D-102E-93FD-5790685B8AFE'
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Busied client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 2, #busy: 1, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Freed client: <twistedcaldav.memcachepool.PooledMemCacheProtocol instance at 0x7fdf07ad9248>
2014-09-27 07:55:38+0200 [-] [caldav-1] [PooledMemCacheProtocol,client] [twistedcaldav.memcachepool.MemCachePool#debug] Clients #free: 3, #busy: 0, #pending: 0, #queued: 0
2014-09-27 07:55:38+0200 [-] [caldav-1] [-] [twistedcaldav.directory.ldapdirectory.LdapDirectoryService#debug] Authenticating uid=tomi,ou=users,dc=thomas-wunder,dc=de
2014-09-27 07:55:38+0200 [-] [caldav-1] [-] [twistedcaldav.directory.ldapdirectory.LdapDirectoryService#debug] Authentication succeeded for uid=tomi,ou=users,dc=thomas-wunder,dc=de
2014-09-27 07:55:38+0200 [-] [caldav-1] [-] [twistedcaldav.query.calendarqueryfilter#info] start attribute in <time-range> is not UTC: 20140627T050619
2014-09-27 07:55:38+0200 [-] [caldav-1] [-] [twistedcaldav.method.report_calendar_query#error] Unable to format event {'log_logger': <Logger 'twistedcaldav.method.report_calendar_query'>, 'logLevel': 40, 'log_level': <LogLevel=error>, 'format': '[twistedcaldav.method.report_calendar_query#error] %(log_legacy)s', 'log_legacy': <twext.python.log.LegacyFormatStub object at 0x7fdf05ce58d0>, 'log_source': None, 'log_format': "Invalid filter element: <{urn:ietf:params:xml:ns:caldav}filter {}: (<{urn:ietf:params:xml:ns:caldav}comp-filter {'name': 'VCALENDAR'}: (<{urn:ietf:params:xml:ns:caldav}comp-filter {'name': 'VEVENT'}: (<{urn:ietf:params:xml:ns:caldav}time-range {'start': '20140627T050619'}: ()>,)>,)>,)>", 'log_namespace': 'twistedcaldav.method.report_calendar_query', 'log_time': 1411797338.117702}: u'urn'

==> access.log <==
::ffff:192.168.10.149 - tomi [27/Sep/2014:07:55:38 +0200] "REPORT(CalDAV:calendar-query) /calendars/__uids__/E7DC879E-FF7D-102E-93FD-5790685B8AFE/calendar/ HTTP/1.1" 403 243 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) akonadi_davgroupware_resource_3/4.14.1 Safari/534.34" i=1 or=1 t=25.3 err=valid-filter
[/code]

Thanks in advance!
Thomas
User avatar
einar
Administrator
Posts
3402
Karma
7
OS
Are there any errors produced by the CalDAV resource on ~/.xsession-errors? You may also want to check bugs.kde.org: I've seen a few issues resolved recently, so it may be worth checking there to see if a fix is going to be included in the next release (4.14.2).


"Violence is the last refuge of the incompetent."
Image
Plasma FAQ maintainer - Plasma programming with Python


Bookmarks



Who is online

Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell