ubLIX has quit [Quit: rebooting: system hosation in progress]
_whitelogger has joined #picolisp
beneroth has quit [Excess Flood]
beneroth has joined #picolisp
aw- has joined #picolisp
freemint has joined #picolisp
<freemint>
good morning
<Regenaxer>
Hi freemint
f8l has quit [Remote host closed the connection]
alexshendi has quit [Ping timeout: 252 seconds]
f8l has joined #picolisp
orivej has joined #picolisp
<freemint>
Good Morning Regenaxer
xkapastel has quit [Quit: Connection closed for inactivity]
orivej has quit [Read error: Connection reset by peer]
<beneroth>
Good morning freemint :)
<beneroth>
freemint, server side client/mobile detection (mainly via UA) is frowned upon because it it was a source of much incompatibility and confusion during the early browser wars, mostly because servers usually had no sane fallbacks but just responded with an error when it detected a client it thought not to be compatible with (or didn't like, error "better use browser XY" was a thing for a while, nowadays its mostly just Google doing such bs)
<beneroth>
also fashion is to split front-end development (JS+HTML+CSS+framework-of-the-month+UX-but-actually-its-just-design-without-userfriendliness) and backend (whatever+5-layers+SQL)
<beneroth>
pushing frontend back into backend is not fashionable, at best you use the same language for both (JS, node.js)
<beneroth>
pil GUI-framework form.l goes also against this fashion, because it has no client/server (frontend/backend) split/separation for the programmer
<beneroth>
I personally believe working with UA would be much better than to non-discriminatory make every client download megabytes of stuff not relevant for that client.
<beneroth>
technically I'm not aware of any technical reasons speaking against using UA, just take care to have a sane fallback. Some responsive design stuff cannot be taken server-side, e.g. screen orientation on mobile devices, so continued use CSS media queries (and maybe JS, but better if possible without) is meaningful.
<beneroth>
also Google might discriminate against you (bad ranking) if they figure out you're presenting "different" pages on the same URL (differentiated by UA). of course the goal must be same content on the same URL, but I don't know how clever google analysis is in respect to such things. maybe Google doesn't detect it at all, maybe a little technical difference with no consequence to the content would get you a punishment.
<beneroth>
so if you care about SEO / google ranking, better be careful with experimentation on that front.
<beneroth>
also UA-header values are a complete mess, mostly because of historic bullshit reasons + laziness to ever clean it up. see link I sent you above. funny read.
* beneroth
concludes that people at large really don't care about quality to put up with all this discomfort, waste and ugliness... :(
<freemint>
thank you for the excurse
<freemint>
beneroth do you know whether schema.org is usefull for anything other than seo? (afk having a lecture)
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
orivej has joined #picolisp
_whitelogger has quit [Excess Flood]
_whitelogger has joined #picolisp
<beneroth>
freemint, afaik not really. well, its about making web-crawling cheaper (I assume one of the highest costs for search engine vendors in general, but also other crawlers besides search engines). so maybe you can benefit when you write a crawler targeting websites which comply to schema.org
<beneroth>
you can view it as improving the readability/availability of the web. or as externalising the cost of writing a tolerant crawler.
<beneroth>
as 80-90% of web traffic is probably crawlers/bots, it is kinda consumer-oriented *haha-only-serious*
<beneroth>
(according to my personal anecdata its mostly seo optimizers and competition-surveillance)
<beneroth>
(besides search engines, I mean)
<beneroth>
(this claim is not the result of careful statistic work, just my personal impression)
<beneroth>
Regenaxer, I have a input string which normally matches one of multiple possible patterns (or parts of them) (else its invalid input). Whats more efficient: (cond) with multiple (match)es, or making a FSM using (state) and popping through the chopped input string?
<Regenaxer>
I would think 'cond' with matches
<Regenaxer>
less looping on Lisp level
<beneroth>
hm, T
<beneroth>
yeah I go with matches, looks nicer in the code
<Regenaxer>
'sub?' cannot be used?
<Regenaxer>
yes, that too
<beneroth>
I need the reverse stamp (so.. $stamp)
<beneroth>
2018-09-12T17:04:06-05:00
<Regenaxer>
Should be easy?
<beneroth>
yeah no problem
<beneroth>
just wondering about optimisations :)
<beneroth>
prematurely
<Regenaxer>
:)
<freemint>
beneroth a schema.org like model lends itself quiet good to the picolisp db. that got me thinking
<beneroth>
the graph model is very suitable to many applications.
f8l has quit [Remote host closed the connection]
<freemint>
T
f8l has joined #picolisp
ubLIX has joined #picolisp
xkapastel has joined #picolisp
libertas has quit [Ping timeout: 252 seconds]
libertas has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
freemint has quit [Quit: Leaving]
f8l has quit [Remote host closed the connection]
f8l has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
viaken has quit [Quit: brb kernel upgrade]
viaken has joined #picolisp
orivej has quit [Ping timeout: 252 seconds]
orivej has joined #picolisp
grp has joined #picolisp
ubLIX has quit [Quit: rebooting: system hosation in progress]
f8l has quit [Remote host closed the connection]
f8l has joined #picolisp
orivej has quit [Ping timeout: 252 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 245 seconds]
f8l has quit [Remote host closed the connection]
f8l has joined #picolisp
f8l has quit [Remote host closed the connection]
orivej has joined #picolisp
f8l has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
alexshendi has joined #picolisp
<beneroth>
note to self: increase use of (cond) instead of (if)/(ifn) for validation logic
<Regenaxer>
T
<beneroth>
(put S 'stamp (cons (date) (time)))
<beneroth>
(; S stamp 1) vs. (car (; S stamp)) *g*
<Regenaxer>
yes, I use 1 often
<beneroth>
the property is a cons, not a list
<Regenaxer>
ah
<beneroth>
therefore (; S stamp 2) -> SEGFAULT :)
<Regenaxer>
(; S stamp -1)
<Regenaxer>
Sorry, I use it in +Bag usually
<beneroth>
aaaah
<Regenaxer>
there 1 is right
alexshendi has quit [Ping timeout: 252 seconds]
<beneroth>
yeah similar context here, memory object instead of bag
<Regenaxer>
yep
<beneroth>
ha its even written in ref for (get)
groovy2shoes has quit [Ping timeout: 260 seconds]
<beneroth>
thanks! I was unaware of the possibility to give a negative number to (get) :O
<beneroth>
makes sense!
<Regenaxer>
All car and cdr accesses can be done this way
<beneroth>
yes, and consequently also in (;) and (:)
<beneroth>
nice!
<beneroth>
I just haven't used (get) to access cdr's yet :)
<beneroth>
I just told my gf how brilliant you are :)
<beneroth>
(once more)
<Regenaxer>
oh, blush
<beneroth>
greetings from gf :)
<Regenaxer>
Not brilliant, just logical consequences
<Regenaxer>
Greetings back! :)
<beneroth>
she says thanks
<beneroth>
well
<beneroth>
reflecting logical consequences in language design is brilliant
<Regenaxer>
ok
<beneroth>
its often lacking *cough*
<beneroth>
:P
xkapastel has joined #picolisp
<Regenaxer>
yes, strangely
<Regenaxer>
The chained 'get' is another typical interpreter example
<beneroth>
aye
<mtsd>
Good evening :)
<beneroth>
hm
<beneroth>
T
<Regenaxer>
the args are interpreted, not good to compile
<Regenaxer>
Good evening mtsd!
<beneroth>
T, very good argumentativ example!
<Regenaxer>
mtsd: Son is sleeping?
<beneroth>
(get) is a very important construct in picolisp, very handy
<beneroth>
Good evening mtsd :)
<mtsd>
Sons sleeping, I am up Penting :)
<Regenaxer>
Very good both! :)
<beneroth>
nice!
<mtsd>
yes
<beneroth>
how is going for you, mtsd ? :)
<Regenaxer>
mtsd, did you put all swedish characters?
<Regenaxer>
I changed Penti after discussing with your friend Fredric
<Regenaxer>
Fredrik Gustafsson
<Regenaxer>
"put all" I meant "define all"
<mtsd>
yes, I told him to discuss with you
<Regenaxer>
good
f8l has quit [Remote host closed the connection]
<Regenaxer>
So I added F-D to define Alt-Chars
<mtsd>
Sorry again about me being slow
<Regenaxer>
no hurry!
ubLIX has joined #picolisp
<mtsd>
no shortcuts, just have to work on this
<Regenaxer>
Otherwise you need to enter language-specific chars via C-space or F-N (numeric)
<beneroth>
F-D to define Alt-Chars? so user-defined chars?
<Regenaxer>
right
<Regenaxer>
I defined A-L ☺ and A-T ☹
<Regenaxer>
(Laughing and Traurig)
f8l has joined #picolisp
<Regenaxer>
also ♥ with A-W
<Regenaxer>
Before that I entered F-N 9786 for ☺
<Regenaxer>
But perhaps we have in the standard already all that is needed for Swedish?
<Regenaxer>
After adding A-B for å
<beneroth>
very nice!
<beneroth>
could it also be whole phrases? :P
<beneroth>
or only single characters?
<Regenaxer>
A-B for å was suggested by Fredrik
<Regenaxer>
No, only single chars
<Regenaxer>
an integer
<Regenaxer>
Same as can be entered with F-N
<beneroth>
btw. Regenaxer, this might be interesting for your firefighter app (dunno if it allows any interfacing) https://www.gotenna.com/pages/mesh
<beneroth>
bluetooth-connected antenna to form a mesh network in areas with no mobile reception
<mtsd>
I will check swedish a bit better
<Regenaxer>
beneroth, I'm pushing Briar with my friends since a few months
<beneroth>
Regenaxer, ofc it would probably make your distributed db architecture even more complex when peer-to-peer is added
<Regenaxer>
It can also make a mesh without internet
<beneroth>
ah
<beneroth>
nice
<Regenaxer>
It is based on Tor
<beneroth>
ok, then Briar is probably better. the things this gotenna.com offers are probably easy to implement yourself
<beneroth>
right
<Regenaxer>
yes, would be interesting to build oneself
<Regenaxer>
in PilBox
<Regenaxer>
But I think it does not help for the fire app
<Regenaxer>
They need to communicate most of all with the base
<Regenaxer>
which is too far away usually
<beneroth>
well chat messaging between people on the ground?
<beneroth>
also GPS
<Regenaxer>
Yes, I have it
<Regenaxer>
messages only to/from base
<Regenaxer>
But lot of other infos
<Regenaxer>
who is with whom, which vehicles etc
<mtsd>
Time for bed for me, nice talking to you
<beneroth>
yeah I mean peer to peer between people on the ground, not with base / sync with base later.
<beneroth>
mtsd, good night, sleep well :)
<Regenaxer>
Yeah, I'm also in the process of boading bed :)
<Regenaxer>
Good night all! :)
<beneroth>
good night Regenaxer :)
<beneroth>
thanks for your advices, as always :)
<beneroth>
sweet dreams :)
<mtsd>
Good night : )
<beneroth>
Regenaxer, gotenna uses radio (like walkie-talkie), so should have a better range than Briar
ubLIX has quit [Quit: rebooting: system hosation in progress]