ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Picolisp latest found at http://www.software-lab.de/down.html | check also http://www.picolisp.com for more information
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
DKordic has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
akkad has quit [Ping timeout: 260 seconds]
akkad has joined #picolisp
alexshendi has joined #picolisp
rgrau has joined #picolisp
mtsd has joined #picolisp
<mtsd> Hello all
<Regenaxer> Hi mtsd
<mtsd> Hi Regenaxer
rgrau has quit [Ping timeout: 260 seconds]
<tankfeeder> task done.
<tankfeeder> translation of C
DKordic has quit [Read error: Connection reset by peer]
<Regenaxer> Looks good
<Regenaxer> Fast enough?
<tankfeeder> ~100seconds
<tankfeeder> without idx infinity number of seconds
<tankfeeder> next:
<tankfeeder> extract for special case: N = 15
<tankfeeder> it Fizz and Buzz
<Regenaxer> Perfect
<Regenaxer> yes, FizzBuzz
beneroth has joined #picolisp
<beneroth> hi all
DKordic has joined #picolisp
<joebo> hi beneroth !
<Regenaxer> Hi beneroth, joebo
<joebo> hi Regenaxer
<beneroth> hi joebo, Regenaxer :)
aw- has joined #picolisp
<aw-> hi all
<Regenaxer> Hi aw-
<beneroth> hi aw-
<beneroth> aw-, as you have an IT business which uses picolisp (right?) do you communicate to your customers that you use picolisp? if so, how much (when they ask, or in anyway with general information, or technical stack info is just never a topic?) ?
<aw-> i do
<aw-> nobody ever asks or cares
<beneroth> ok thx
<aw-> it probably depends what type of software you write in picolisp
<aw-> and how your customers interact with it
<beneroth> when does it matter, you think?
<aw-> well if your software needs to be deployed on their servers, and they need to compile/install PicoLisp, and keep it updated, etc.. then it might be a pain for them
<aw-> or, if they need to make changes to your software and they're like "we only do Java"
<beneroth> hm.. right
<beneroth> T
<aw-> for me, I just distribute some PicoLisp "shell" scripts and an http API, along with the PicoLisp binaries / libs. They don't need to change or interact directly with the code
<beneroth> but your customers run your software on premise on their own (or private cloud) linux servers =
<beneroth> ?
<beneroth> I currently have only customers with operation/hosting by me
<beneroth> so I think about how to do this in the future
<aw-> yes they run it in a virtual appliance that I provide. The code is not obfuscated, so they can easily inspect it and be sure that it's not doing anything it shouldn't.. if they cared that much about the code.
<beneroth> your product is completely FOSS? or just that the customers gets the source (well scripts), but without FOSS/open source legal licensing?
<aw-> mostly OSS, not Free ;)
<beneroth> well the difference is afaik MIT/BSD vs. copyleft (GPL etc). do you mean that, or you mean "customer can/has right to look into source" without the re-publishing/-selling rights for the software?
<aw-> i'd say 98% of the PicoLisp code i provide is open source, and only a few thins are not, but they're free to look at the code, there's no "license" attached to the non-OSS code.
<beneroth> risk of competition / availability of your secret sauce is no problem because?
<aw-> everything is either MIT or MPL-2.0, except the 2% i mentioned earlier
<aw-> bwahahahaa
<beneroth> just asking for completeness ^^
<aw-> it's not a bad question
<aw-> for what purpose are you asking?
<aw-> are you trying to see how i deal with that? or you're searching for advice?
<aw-> beneroth: ?
<beneroth> sorry, was short away
<beneroth> yeah trying to see how others deal with that
<beneroth> it is probably a pretty minor issue
<aw-> it is
<aw-> your software shouldn't be the thing that keeps your company alive
<aw-> whether you're 100% closed source, or 50% or 98%, the "secret sauce" can be replicated by anyone
<beneroth> there are edge cases I would say, but in general I agree
<aw-> for starters, i don't think software should be closed/hidden
<beneroth> well customer service/relationship and staff know how is not easily replicated. what else did I forget?
<aw-> the only reason I still have some closed source software is because i'm too busy to organize it coherently for public distribution
<beneroth> T
<aw-> exactly
<aw-> and speed of execution
<aw-> lack of bugs in your software
<aw-> speed of fixing bugs when discovered
<aw-> ability to fully understand your customer's problem(s) and solve them perfectly
<aw-> the "competitor" issue.. well you'll have some no matter what, eventually... so you need to do things which they can't easily copy from you
<aw-> and do those things consistently.. it's called barriers to entry. The more you have, the better. And "closed source software" is NOT a barrier.
<aw-> because even if you open source it 100%, as the original creator and maintainer, customers will go to you first for help, support, fixes, etc
<beneroth> so "be the first" is the barrier?
<beneroth> (to some extent)
<aw-> no
<aw-> be the best
<aw-> if you created something and the software sucks, and someone copies/forks your code, and makes a better version, and maintains it well and adds useful features - they will eat your lunch.
<beneroth> T
<aw-> anyways this is all just my opinion
<aw-> freedom > *
abel-normand has joined #picolisp
<aw-> some people only care about making money, at all costs
abel-norm has joined #picolisp
<aw-> they have different opinions and approaches to business
<aw-> but you asked the question about telling customers about PicoLisp.. you don't have to keep it secret, but if they don't ask then it's because they don't care. don't worry about it ;)
<aw-> they will care if they see 200 picolisp background processes using 8GB of RAM ahahaha
<Regenaxer> Interesting discussion :) I fully agree
<aw-> but hey, you're not trying to sell Electron apps to your customers, so no need to worry about that ;)
<beneroth> haha
<beneroth> thanks aw-, great thoughts
<aw-> thanks Regenaxer
<aw-> beneroth: i read a book last year which I can recommend to you, really fantastic book, covers these topics very well
<aw-> one sec i'm searching for it
<aw-> "Open Sources"
<aw-> the entire book is available for free on that page
<beneroth> oh thx!
<aw-> i bought a physical copy though ;)
<beneroth> much appreciated
<beneroth> physical books ftw :)
<aw-> there's also "Open Sources 2.0", avoid it at all costs. it's terrible
<beneroth> less prone to failures
<beneroth> ok, noted
<aw-> oh yeah the book is almost 20 years old btw
<aw-> published in the early days of OSS
<beneroth> sounds like a plus point to me
<aw-> indeed
<aw-> bene do you live in Germany as well?
<beneroth> Switzerland
<beneroth> german-speaking part
<aw-> ohh cool
<aw-> are you born there?
<beneroth> yeah
<aw-> you've got some crazy temperature drops at night
<aw-> 24 daytime, 8 at night?
<aw-> is that normal?
<beneroth> during spring/autumn yes, afaik. dunno, maybe the diff increased in recent years, dunno
<beneroth> never actually thought about that, haha
<beneroth> probably lower/higher temperature drops depending on geography/topology
<aw-> i see..
<beneroth> this morning I was at the farm of my gfs parents, in the Jura mountains. 800m above sea-level. walked up to the village, 1000m above sea-level, where it is often windy. wind there felt surprisingly warm. than to next town, down to 500m, where it felt freezing cold.
<beneroth> s/than/then
<beneroth> I live in Winterthur, city near Zurich
<aw-> wow
<aw-> that's pretty high
<aw-> i live 2m above sea level, coastal Japan... perhaps not the smartest
<beneroth> where I live it is about 440m above sea level. afaik most of the more "flatter" parts of Switzerland are around 400-450m
<beneroth> so no problems with rising sea levels here, haha. though we already have much less snow than I remember from childhood. and permafrost thawing is probably a problem, causing rockslides.
<beneroth> (in the mountains, not where I live)
<aw-> sounds dangerous
<aw-> ok i gotta run
<aw-> seeyou
<beneroth> see ya
aw- has quit [Quit: Leaving.]
alexshendi has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
alexshendi has quit [Ping timeout: 260 seconds]
mtsd has quit [Remote host closed the connection]
abel-norm has quit [Ping timeout: 248 seconds]
abel-normand has quit [Ping timeout: 248 seconds]
<mickiebyrd> Howdy
<mickiebyrd> Regenaxer: when using dirname, the value is modified
<mickiebyrd> (setq P "a/b/c")
<mickiebyrd> (basename P) -> "c"
<Regenaxer> ok
<mickiebyrd> (dirname P) -> "a/b/"
<mickiebyrd> (basename P) -> NIL
<mickiebyrd> I believe it is because dirname is defined using flip
<mickiebyrd> redefining it using reverse works as expected.
<Regenaxer> I can't reproduce here (Pil64 / Arm64). Which version?
<mickiebyrd> (de dirname (F) (pack (reverse (member '/ (reverse (chop F))))))
<Regenaxer> these are all non-destructive operations
<mickiebyrd> (version) -> (17 10 10)
<Regenaxer> "a/b/c" should not be modified
<mickiebyrd> (de dirname (F) (pack (flip (member '/ (flip (chop F))))))
<Regenaxer> : (pp 'dirname) (de dirname (F) (pack (flip (member '/ (flip (chop F))))) )
<Regenaxer> :)
<mickiebyrd> This is the current implementation from the sources
<Regenaxer> 'F' is chopped
<Regenaxer> then all operates on the list
<Regenaxer> the original symbol "a/b/c" should not be touched
<mickiebyrd> Oh ok, so there is something else going on?
<Regenaxer> yes, I cannot see a reason for such behavior
<Regenaxer> Are you sure that you use the right 'P' above?
<mickiebyrd> Let me investigate further.
<Regenaxer> I think P is NIL
<Regenaxer> I tried here:
<Regenaxer> : P
<Regenaxer> -> "a/b/c"
<Regenaxer> : (dirname P)
<Regenaxer> -> "a/b/"
<Regenaxer> : (basename P)
<Regenaxer> -> "c"
<Regenaxer> : (dirname P)
<Regenaxer> -> "a/b/"
<Regenaxer> : (basename P)
<Regenaxer> -> "c"
<mickiebyrd> Oh ok, sorry. The actual usage is (setq P (chop "a/b/c"))
<Regenaxer> ah!
<mickiebyrd> (setq P "a/b/c") is fine.
<mickiebyrd> I oversimplified.
<Regenaxer> yes, 'chop' called again won't chop a second time
<Regenaxer> So the list gets destructively modified
<Regenaxer> This explains it
<mickiebyrd> Ah, so I should pack and then chop?
<Regenaxer> I would operate directly, not call basename or dirname perhap
<mickiebyrd> (setq P (chop (pack *Any)))
<Regenaxer> s
<Regenaxer> no, this makes no sense
<mickiebyrd> Oh ok, thanks.
<Regenaxer> If you want to call dirname, then just (setq A (pack *Any))
<Regenaxer> A -> P I mean
<mickiebyrd> *(setq P (pack *Any))
<Regenaxer> yes
<mickiebyrd> *Any being chopped earlier
<mickiebyrd> Perfect, thanks.
<Regenaxer> then perhaps keep the original?
<mickiebyrd> Ahh...yes. Operate on the original...lol. Thanks.
<Regenaxer> :)
alexshendi has joined #picolisp