rob_w changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information || Attention due to latest spam floods this channel will only allow registered users to send messages - check https://freenode.net/kb/answer/registration
freemint has quit [Ping timeout: 245 seconds]
freemint has joined #picolisp
razzy` has quit [Ping timeout: 246 seconds]
pierpal has joined #picolisp
pierpal has quit [Read error: Connection reset by peer]
freemint has quit [Ping timeout: 272 seconds]
freemint has joined #picolisp
pierpal has joined #picolisp
pierpal has quit [Ping timeout: 252 seconds]
pierpal has joined #picolisp
pierpal has quit [Client Quit]
pierpal has joined #picolisp
erkin has quit [Remote host closed the connection]
pierpal has quit [Read error: Connection reset by peer]
_whitelogger has joined #picolisp
freemint has quit [Ping timeout: 272 seconds]
freemint has joined #picolisp
alexshendi has quit [Ping timeout: 240 seconds]
NB0X-Matt-CA has quit [Excess Flood]
NB0X-Matt-CA has joined #picolisp
mtsd has joined #picolisp
<freemint> Guten morgen
<mtsd> Guten Morgen freemint
<Regenaxer> Hi all!
<mtsd> Hi Regenaxer!
<beneroth> hi all!
<Regenaxer> Hi beneroth!
<freemint> Hi Regenaxer in a few weeks i might ask you what is necessary to port PicoLisp to a new CPU architecture
<beneroth> you have to know the new CPU architecture well
<beneroth> and adapt the pil asm code to it
<Regenaxer> freemint, ok
<Regenaxer> Not necessarily the asm code, but files in src64/arch/
<Regenaxer> *one* file
<freemint> beneroth i am already getting my hands on an FPGA board to which it was ported. After that i port an embedded OS to it and after that i might want to port a (32 bit) PicoLisp to it.
<Regenaxer> ah pil32?
<Regenaxer> thats not depending on the CPU
<beneroth> sounds like a cool project
<beneroth> yeah I guess then only a C-compiler is necessary? or a c-compiler which supports variable length arrays?
<Regenaxer> You could start with miniPil
<Regenaxer> ha, good question
<Regenaxer> yes, the array issue
<Regenaxer> GCC is ideal
<Regenaxer> freemint, isn't it not a 64-bit CPU?
<Regenaxer> s/not//
<freemint> Regenaxer no it is as 32 bit cpu
<freemint> (with 16 bit Instructions)
<freemint> It as an open source implementation of a processor out of patent
<Regenaxer> The instruction set does not matter, as long as you have a C compiler
<freemint> There exists one for the patented architecture :)
<Regenaxer> Why is it patented?
<freemint> The CPU architecture was patented.
<freemint> the patent ran out.
<Regenaxer> ok
<freemint> People reimplemented the CPU under MIT license.
<freemint> The open source CPU still should be able to run the code compiled via the compiler for the original version
<beneroth> Regenaxer, I just managed to have a very weird bug, executing a method lead to an infinite loop printing "!? 'pico quote -- Undefined". Turned out I forgot I a second argument in a let definition (let (A NIL B <missing> Usec (usec) _fnc '(@ ...)) ...)
<beneroth> so basically I corrupted the stack :)
<Regenaxer> oh :)
<Regenaxer> Not sure if it is the stack
<beneroth> T
<Regenaxer> It "binds" a non-symbol or so, and executing wrong stuff
<beneroth> not the actual stack, but the current list of execs
<beneroth> aye
<Regenaxer> T
<freemint> The board only has VGA, and mircosd, USB, audio jack, 3x 7-segment display, 32 I/O ports and a few buttons. any idea what one could misuse minipicolisp for on that device?
<Regenaxer> It is not 'let' that crashes, but the body somewhere
<Regenaxer> freemint, try miniPil first. It does not need POSIX
<freemint> i will
<Regenaxer> or is it some *nix?
<freemint> No Unix but it has an optional posix implementation
<Regenaxer> ok
<freemint> but i doubt i get that far
<beneroth> Regenaxer, there is a call to (usec), which got wrongly redefined in the let I think. so probably that one - trying to execute a symbol
<beneroth> well trying to execute NIL
<beneroth> freemint, link?
<Regenaxer> The list (usec) is 'set' to something else. Not fatal
<beneroth> freemint, some sort of measurement device
<Regenaxer> (NIL) gives a normal error
<freemint> Mimas V2 Spartan 6 FPGA Development Board with DDR SDRAM
<beneroth> Regenaxer, I think it tried to execute (usec) which got redefined to point at NIL
<Regenaxer> yes, so it will say "undefined"
<Regenaxer> No, won't even execute it
<Regenaxer> (let (usec) NIL ...) does no harm
<Regenaxer> the *cell* (usec) is bound and released
<beneroth> T
<Regenaxer> You could single-step
<Regenaxer> But not very useful :)
<freemint> beneroth thanks for the idea$
<beneroth> Regenaxer, I tried with a reduced version, it goes not into the loop, just errors Undefined as you just described
<beneroth> so the corruption must be quite nastier than that
<Regenaxer> ok
<freemint> could you post/link the whole snippet?
<beneroth> Regenaxer, I will not further investigate
<Regenaxer> yeah, not helpful
<Regenaxer> (unless freemint wants to study it)
<freemint> (Yeah)
<Regenaxer> :)
<freemint> (not study but play around and see if something comes up
<beneroth> not much to study. highly context-dependent. basically a method to parse a SOAP xml file stored in a blob
<beneroth> not a snippet which runs or makes sense without the whole other stuff around it.
<beneroth> sorry :)
<beneroth> my point was: if you get weird unexpected errors, check your (let) parameters :)
<freemint> to bad :,(
<Regenaxer> I think 'lint' would also complain
<Regenaxer> (lintAll)
<beneroth> probably. I hardly ever use it :D
<beneroth> I probably should integrate it into my workflow :D
<Regenaxer> It is useful to call it from time to time
<beneroth> T
<Regenaxer> (I also forget usually ;)
<Regenaxer> If it doesn't complain for a long time, I forget it
<freemint> about the arrays issue: do you know how i can check that gcc on that platform supports that feature?
<Regenaxer> gcc will surely support it
<beneroth> man page / documents. or just try
<Regenaxer> it is llvm which does not
<Regenaxer> I used also eabi (embedded arm) gcc with mini, it was fine
<freemint> variable length array work without MMU?
<Nistur> mornin'
<Regenaxer> Hi Nistur
<Regenaxer> freemint, yes, they are a compiler issue
<freemint> ok that sounds great
<Regenaxer> how they calculate space size on the stack
pierpal has joined #picolisp
<beneroth> Morning Nistur o/
<Nistur> hulloo :)
<Nistur> I wanna lisp :( Why do I have to cee-sharp instead? :(
<beneroth> do some LINQ. than you can feel bad about the perverted ugly lisp-wannabe-mutant :D
<Nistur> haha :P There are only so many places I could use LINQ in gamedev :P
<beneroth> well for database stuff and for querying logic trees/lists... but yeah
<beneroth> but.. why C# for gamedev? unity? or windows/xbox-only?
pierpal has quit [Remote host closed the connection]
<Nistur> Unity
<Nistur> mostly mobile stuff, especially right now
<beneroth> ok
<beneroth> does it work well? Afaik the "discoverability issue" is pretty big.
<beneroth> well, unless you have established marketing channels or big money to pump it up.
<Nistur> working on an MGM licensed game
<Nistur> a tie in with the Amazon Prime TV show Vikings
<beneroth> so established marketing channels :)
<Nistur> yup :P
<Nistur> but yes, you need either a well known IP (and even then, that is a VERY shakey thing) or a LOT of marketing money
<beneroth> thx for the confirmation. so I stay with browsers :)
<Nistur> the thing is, free to play, much as it can be evil... does work... it's a lot easier to break even with a free to play game than it is with a premium title
<beneroth> aye
<beneroth> I know. we discussed before. and even Nintendo had to agree.
<beneroth> I just think its all in general a sick environment for all participants (gamedevs and players)
<beneroth> but nothing that can be done about it
<Nistur> but yeah, even not-so-popular mobile games can be viable because of it
<Nistur> *shrug*
<Nistur> I just want to make my adventure games in my own happy corner over there
<beneroth> beside that it's just the same issue as with arts and music and many other fields... too many people in it. inflation :)
<Nistur> solution: line everyone up and shoot every other person?
<beneroth> prone to error, you might end up shooting all the good ones, so you end up with even more crapware
<beneroth> either become the fashion driver (so marketing channels/money or a rare spark of genius & luck) or make the whole field die so you can rebuild it anew with other culture
orivej has joined #picolisp
<Nistur> tangentially related. I am getting closer to getting funding for my stuff... I had a meeting with a startup advisor last week and we established that I'm missing two things... a business advisor, and a business plan written down... once I have those, I should be able to get funding
<beneroth> hehe, the basic problems of a technical founder
<beneroth> all the best!
<Nistur> there's a pretty good chance I can get a small grant for prototype development
<beneroth> nice!
<Nistur> it's a local grant, so the chances are relatively good, I'd have less competition
<Nistur> and the specs match my project pretty well
<Nistur> that might see me just about for 6 months... if I get a decent advisor (*) then it should be 'easy' to get continued funding
<Nistur> (* I was told it would be best if I could get someone with experience in the field... so either engine development, or adventure games... and if I could get someone with a legacy, then it would add heft... I know very few people in the first category, I don't think John Carmack is likely to return my emails... the latter might be easier. I also don't know Tim Schafer for example, but something gives me
<Nistur> the feeling he'd be slightly more receptive... not that I think me emailing him would get him interested, but I can dream...)
<beneroth> well you can always email them and maybe they know someone who might be interested
<beneroth> or try to get to know people in similar situation as you.
<beneroth> maybe go through kickstarter (and thelike, maybe steam greenlight?) and try to find some people there who started like you and were okay-ish successful :)
<Nistur> well, I think trying to equate a small adventure game engine project with idTech would be silly, so I think Carmack is out of the question, but I _do_ intend to try to email Tim Schafer
<Nistur> trying to think of other famous/well received adventure games :P
<beneroth> then you can cold contact them and ask them for advice. usually people like to talk about their own success stories. if it helps you anything is another question then.
<Nistur> I will probably try to guess at his email address, it'll probably be either tim@doublefine.com or tim.schafer@doublefine.com or something :P
<mtsd> Ron Gilbert?
<mtsd> Of Monkey Island fame?
<Nistur> ... I KNEW there was someone I was missing... Tim Schafer also worked on Monkey Islands :P which is why I was drawing a blank there
<beneroth> :D
<beneroth> isn't this channel awesome :)
<Nistur> mtsd: I shall definitely be contacting him :P
<mtsd> He seems active at his blog, at least. Interesting to read
<freemint> Nistur do you know the self made hero community?
<Nistur> freemint: no?
<Nistur> mtsd: I just noticed the copyright notice at the bottom of grumpygamer.com
<mtsd> Nistur, oh, I did not see that?
<freemint> community around a Kickstarter project by an engine developer. He developed video-game from scratch and streamed everything. He also said he helped several engine developers to be spotted and recruited by game companies.
<Nistur> "Unless otherwise noted, all content is Copyright 2004-2018 Ron Gilbert. Unauthorized use under penalty of death by dismemberment and/or fine not less than one million dollars."
<mtsd> hahaha!
<mtsd> His sense of humour since Monkey Island days is intact
<Nistur> indeed
<Nistur> message sent :P
<Nistur> freemint: I will take a looksee
<Nistur> although, not now, as I'm being paid to work on free2play games, and not investigate my own projects :P
<freemint> it is a bigger community so it might take some time till you get to the interesting people but i am sure you can be helped there
freeemint has joined #picolisp
freemint has quit [Ping timeout: 272 seconds]
orivej has quit [Ping timeout: 252 seconds]
freemint has joined #picolisp
freeemint has quit [Ping timeout: 246 seconds]
razzy has joined #picolisp
mario-goulart has quit [Read error: Connection reset by peer]
mario-goulart has joined #picolisp
freeemint has joined #picolisp
freemint has quit [Ping timeout: 244 seconds]
orivej has joined #picolisp
<Nistur> Irk. gamedev university courses are going downhill
freeemint has quit [Ping timeout: 246 seconds]
freemint has joined #picolisp
<Nistur> and I think I blame Unity for this
<razzy> Unity?
<beneroth> game engine
<beneroth> gamedev or just game programming, as does programming in large (universities focusing on "what does the economy want" equals java.)
<beneroth> (bad java)
<beneroth> or python, which is probably an improvement. though I presume not so much care is taken into understanding the underlying system or the inner workings of imported libraries
<Nistur> I'm not sure whether gamedev in general, but programming specifically. My course (I graduated 2010) had a lot of theory, and maths... the courses I'm seeing graduates come through from now, basically just use Unity from day 1, and they are just shovelling people through. No maths courses, no theory. Just... basically script kiddie style programming
<Nistur> copy paste from stack overflow and pray
<beneroth> oh awwee
<beneroth> not that enough such people were into gamedev even before that :D
<Nistur> so, our programming test is basically a premade 3D platformer that we send out, and ask to hook up some features, like a button that makes some platforms raise, a conveyor belt and a few other things
<beneroth> nice
<Nistur> there are pickup coins already set up, but they don't save their state. The last task is to save them in a bitfield
<Nistur> which is obviously a two part, saving them and retrieving the data
freemint has quit [Ping timeout: 240 seconds]
<Nistur> the correct solution, off the top of my head is something like this for one of the parts
<Nistur> bool GetCoinCollectedState( int Index ) { return ( (1 << Index) & m_CoinBitField ) != 0; }
<beneroth> bitfields are exotic to most programmers these days, at least in business dev.
<Nistur> this question is put in to see if people understand what's going on 'under the hood'
<beneroth> beautiful
<Nistur> for a junior dev, I'd not NECESSARILY expect them to be able to answer it, and quite honestly, most of them do seem to struggle
<Nistur> which is fine, the last junior said he didn't understand but said he'd research
<Nistur> so in the interview, I'll ask him about it
<Nistur> anyway
<Nistur> this other guy, he has 2 years experience apparently... and his CV says that he's experienced in C#, C++ and C
<Nistur> so he should be able to get this relatively easily
<Nistur> his solution
<Nistur> was to convert the bit field into a string, obviously printing at base2
<Nistur> then convert the string into a char[]
<Nistur> and then index into the char[] and see if the value was '1' or '0'
<Nistur> TECHNICALLY it works
<beneroth> aye
<beneroth> that is how do you it on paper :D
<Nistur> indeed. He has an understanding of how bitfields should work
<Nistur> and, I mean this is a timed test, but it's not strictly timed, we ask that you spend about 4h on it
<Nistur> it's not like we insist it's back within the hour or anything
freemint has joined #picolisp
<Nistur> so a quick google for 'bitfield C#' or something should have got it from a theoretical understanding to a practical one
<beneroth> T
<Nistur> and would probably have taken less time than to write code to convert to string etc :P
<beneroth> rosettacode
<Nistur> in my interviews, I've been printing out some of their solutions, and basically done a code review on them, to see how they handle criticism, and whether they look like they're taking information on board etc... but also asking them to do a code review on some awfully crafted C# code :P
<Nistur> just for fun, I may also print out some lisp and 'accidentally' ask them to review that
<Nistur> but I may get in trouble from my boss for scaring away candidates
<beneroth> good approach with the code review.
<beneroth> well one of better gamedev studios make heavy use of lisp :)
<beneroth> at least one
<Nistur> Naughty Dog?
<beneroth> aye
<Nistur> unfortunately GOAL and GOOL were never released, and as Sony now own them, they never will be
<Nistur> The Last of Us was C++ I believe, but they used scripting in Lisp... although I cannot recall what flavour
<beneroth> Common Lisp afaik
<Nistur> yeah, quite likely... I still don't know if I'd be able to use lisp in any way for my personal development if I get funding... I would like to... but I think to do that, I need to have a solid plan, with funding... the more likely thing is that I get a small amount of funding to do a prototype, which I don't think I can do in lisp of any dialect, as I'd spent most of the time doing setup
<beneroth> sounds rational
<beneroth> prototyping in (pico) lisp would be probably a good idea and a win, but if you are not fluent in it than the (time) cost might be to high to get into it in such a project
<Nistur> well, the prototype would be to prove out the workflow
<beneroth> so poc of the technology, or poc of the concept?
<Nistur> technology
<beneroth> yeah, I see.
<Nistur> even if I don't have the final tech, and lots of corners cut, I would need a 3D renderer, which I know I can write in C/C++ relatively quickly
<beneroth> what do you think of graphic engines (not game engines) like ogre?
<beneroth> asking more in general, not so much in relevance for your project
<Nistur> I haven't used OGRE in about 10 years, and when I did, it felt old and clunky
<beneroth> uh okay
<Nistur> it may have improved since then :P
<beneroth> I bought an OGRE book like 10 years ago, but never came around to actually get into it
<beneroth> I played a lot with SDL. afaik it's still a thing.
<Nistur> yeah, I believe so
<Nistur> my issue with SDL is that, kind of to do with OS level graphics architecture, SDL wants to be in charge of everything, and it's difficult to only use the bits you want
<beneroth> I understand
<beneroth> though I guess there is no standard to in-memory graphical structures (besides what the graka apis eat), is there?
<Nistur> when I did write some framework/engine stuff a long time ago, I used SDL, but I wanted to be able to have input separate from window creation... because that seemed logical to me... but nope, SDL consumes all input
<Nistur> in memory graphical structures?
mtsd has quit [Quit: Leaving]
<beneroth> ah
<beneroth> I guess that stems from windows
<beneroth> (window and input not separatable)
<beneroth> I meant stuff like Surfaces. I guessed you wanted to share graphical stuff between multiple libraries or so
<beneroth> nevermind.
orivej has quit [Ping timeout: 245 seconds]
orivej has joined #picolisp
ubLIX has joined #picolisp
freemint has quit [Ping timeout: 272 seconds]
freemint has joined #picolisp
ubLIX has quit [Quit: ubLIX]
pierpal has joined #picolisp
<beneroth> bbl
beneroth has quit [Quit: Verlassend]
alexshendi has joined #picolisp
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #picolisp
pierpal has quit [Ping timeout: 272 seconds]
pierpal has joined #picolisp
ubLIX has joined #picolisp
freemint has quit [Ping timeout: 240 seconds]
freemint has joined #picolisp
razzy has quit [Remote host closed the connection]
freemint has quit [Ping timeout: 246 seconds]
ubLIX has quit [Quit: ubLIX]