00:00:00 --- log: started forth/18.01.11 00:10:20 --- join: proteusguy (~proteus-g@180.183.127.76) joined #forth 00:10:20 --- mode: ChanServ set +v proteusguy 00:21:02 --- join: ThirtyOne32nds (~rtmanpage@227.sub-174-204-7.myvzw.com) joined #forth 01:13:39 --- join: dys (~dys@2003:5b:203b:100:6af7:28ff:fe06:801) joined #forth 01:15:54 --- join: mtsd (4d6e3d64@gateway/web/freenode/ip.77.110.61.100) joined #forth 01:35:00 --- quit: proteusguy (Remote host closed the connection) 01:36:12 --- join: proteusguy (~proteus-g@180.183.127.76) joined #forth 01:36:13 --- mode: ChanServ set +v proteusguy 01:36:27 --- quit: proteusguy (Remote host closed the connection) 01:37:33 --- join: mykespb (~myke@213.141.133.133) joined #forth 02:46:33 --- join: proteusguy (~proteus-g@184.22.246.100) joined #forth 02:46:33 --- mode: ChanServ set +v proteusguy 03:40:12 --- join: kedorlaomer (~kedorlaom@cw-8021x-nat-134-74.net.uni-frankfurt.de) joined #forth 03:40:18 --- quit: nighty- (Quit: Disappears in a puff of smoke) 03:43:05 --- quit: kedorlaomer (Remote host closed the connection) 03:43:25 --- join: kedorlaomer (~kedorlaom@cw-8021x-nat-134-74.net.uni-frankfurt.de) joined #forth 03:53:20 --- quit: ThirtyOne32nds (Read error: Connection reset by peer) 04:20:17 --- quit: mykespb (Quit: Leaving) 04:34:24 --- quit: kedorlaomer (Ping timeout: 256 seconds) 04:40:26 --- join: nighty- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 05:58:46 --- join: lijero (~lijero@unaffiliated/lijero) joined #forth 05:59:08 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 06:03:27 --- join: ThirtyOne32nds (~rtmanpage@253.sub-174-204-1.myvzw.com) joined #forth 07:19:42 --- quit: mtsd (Ping timeout: 260 seconds) 07:51:33 --- join: [1]MrMobius (~MrMobius@50.96.164.233) joined #forth 07:53:58 --- quit: MrMobius (Ping timeout: 248 seconds) 07:53:58 --- nick: [1]MrMobius -> MrMobius 08:18:11 --- join: wolle55 (~wolle55@dslb-088-073-076-220.088.073.pools.vodafone-ip.de) joined #forth 08:19:39 --- part: wolle55 left #forth 09:33:33 --- quit: dys (Ping timeout: 276 seconds) 10:07:25 --- join: dys (~dys@tmo-100-168.customers.d1-online.com) joined #forth 10:25:21 --- quit: bedah (Ping timeout: 255 seconds) 10:37:32 --- join: bedah (~bedah@2a02:810d:243f:f584:882d:a2ae:a55b:3055) joined #forth 10:39:07 --- quit: dys (Ping timeout: 264 seconds) 14:25:26 --- join: Zarutian_PI2 (~3.1415@173-133-17-89.fiber.hringdu.is) joined #forth 14:25:26 --- quit: Zarutian_PI (Read error: Connection reset by peer) 14:54:20 --- quit: malyn (Ping timeout: 240 seconds) 14:54:36 --- join: malyn (~malyn@unaffiliated/malyn) joined #forth 15:11:23 --- quit: dddddd (Remote host closed the connection) 15:48:38 --- quit: nighty- (Quit: Disappears in a puff of smoke) 16:16:14 --- quit: ryoshu (Remote host closed the connection) 16:31:43 hehe.. "turing completeness for analog computers" sounds nice :D 16:32:33 --- quit: johnmark_ (Quit: Leaving) 17:36:36 --- join: nighty- (~nighty@kyotolabs.asahinet.com) joined #forth 18:00:30 --- join: Gromboli (~Gromboli@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 18:05:43 --- quit: MrMobius (Ping timeout: 248 seconds) 18:06:24 --- join: MrMobius (~MrMobius@50.96.232.35) joined #forth 18:21:34 --- join: ryoshu (~kamil@netbsd/developer/kamil) joined #forth 18:21:37 hi 18:21:44 lo 18:21:50 --- nick: Zarutian_PI2 -> Zarutian_PI 18:21:53 how convenient is calling C libraries from Forth? 18:22:09 for example libcurses, instead of reimplementing it from scratch 18:22:21 depends on where you are running that Forth. Quite hard on bare metal for instance. 18:22:29 on a UNIX kernel 18:22:33 in userland 18:22:42 ryoshu: you using gforth? you looked at their manual? 18:23:03 I've checked gforth, it's generating API with toolchain for use 18:23:49 I'm interested what is the good or typical approach - e.g. 1. reimplement libcurses natively 2. use libffi 3. use some forth suitable for calling C 18:23:50 I think the main irritation is the completely diffrent calling conventions and registers usage. 18:24:31 maybe.. call an application and parse stdout/stdin behind the scenes 18:24:32 libffi or see if someone has already reimplemented libcurses. 18:24:52 (when possible) 18:25:40 ficl seems to be lua-like in terms of mixing Forth and C 18:28:00 https://github.com/larsbrinkhoff/fmacs/blob/master/src/vt100.fth I saw this and I was wondering whether there is a way to reuse C libraries 18:53:43 hmm, how about parsing structs, bitfields? 18:53:47 C@? 18:53:56 or C* operations in general, looking 18:55:37 depends on the bit level layout of those bitfields and structs. 18:56:30 Forth is very exact and hence handy for when hardware considerations specify struct or bitfield layout. 18:57:05 in general __packed and C ABI style 18:57:36 in otherwords forth is as useful for me as much it can interact with the C world :) 18:59:52 C ABI style doesnt specify field order nor packing. This information is often required in Forth for interop, sadly you need certain tricks to fish it out of the compiler how it laid out a structure. 19:01:57 yeah, certainly need to use a script to generate it with an assistance of a C compiler 19:02:10 using offsetof() and similar 19:10:12 are there any xterm256color impl in forth? 19:16:34 yunfan how's your ARM laptop? 19:17:24 ryoshu: nope, they dont offer the 11 inch verison, so i only bought pine64 a64 for trying netbsd 19:17:58 cool! 19:17:59 ryoshu: and all the other works, except heavily sdcard write would cause the system reboot randomly, so i gave it up and wait for the next release 19:18:35 there is need to try -8 or HEAD for pine64 19:18:45 and yesterday i installed dietpi on that board, they even offer a optimized chromium webbrownser 19:19:08 well what i tried is the 8_HEAD 19:19:47 ah! 19:20:24 but linux side has problem too, they dont support the soundcard except hdmi lineout 19:20:36 but my hdmi screen dont support audio :[ 19:20:44 so i just live in a silent world currently 19:21:05 much better for my neighbours 19:22:29 https://w3techs.com/blog/entry/web_technologies_of_the_year_2017 19:23:04 "hese are the technologies that gained most sites in 2017" NetBSD 3rd OS :) 19:23:11 but still a lot of work to do 19:23:57 ryoshu: anyway, i found that netbsd is not that old school like minix3 19:24:22 http://blog.netbsd.org/tnf/entry/netbsd_on_allwinner_socs_update pine notes 19:24:45 ryoshu: all the software i need could be found. except firefox dont provide precompiled binary for bsd 19:24:59 for ARM? 19:25:08 hmm, there is a rust fallout 19:25:15 ryoshu: nope, for x86 there isnt too 19:25:38 not sure if it is possible to run rust on arm (even go is fat) 19:25:43 ryoshu: on there official site, they only provide for x86 x86_64 => linux/window/mac 19:25:58 but maybe freebsd could run those for mac version? 19:26:07 firefox, libreoffice, thunderbird etc are available through pkgsrc 19:26:34 yes, but there is only firefox52 19:26:48 http://pkgsrc.se/www/firefox 19:26:54 while from firefox58, they change the render engine, which make it blame fast 19:26:54 57.0.4 19:27:12 I see 19:28:13 yeah, people think that !linux is like minix3 or haiku 19:28:52 these days, web brownser is realy important 19:29:19 with it. you could drop half of the applications in your system 19:29:21 yes, we use bleeding edge firefox and alternatives (dillo, ..) 19:29:25 opera is available too 19:29:58 but firefox and chromium is also too complicated, that can not be easilly port to new system 19:30:15 i am worried about those two locks people's choice on operating system 19:30:45 for eg, the menuet os is really cool, but they lack of modern web browser make it useless for daily usage 19:30:59 manuet is a toy 19:31:10 that's why i pay much attention on netsurf 19:31:26 they look like much slim 19:31:48 netbsd can do almost everything what is possible on linux, with exceptions like: docker, virtualbox, qemu-kvm, valgrind 19:32:00 I try to fill that gap 19:32:27 but people in #netbsd told me , netbsd has the abiliity to provide features like docker 19:32:36 and in 20 years ago 19:32:55 they just dont have docker :D 19:32:59 it was certainly freebsd and jails 19:33:11 there is no jails on netbsd (there were attempts to port it) 19:33:19 aha 19:33:27 no cgroup like concept? 19:33:35 it's missing 19:33:51 I focus now on debuggers, porting LLVM sanitizers and LLDB 19:34:37 ryoshu: any capsicum or possible native cloudabi support? or is that FreeBSD only stuff? 19:35:15 ASan, TSan, UBSan (SafeStack, libfuzzer, ..) already are already usable - MSan is work in progress, this one is much more invasive (libc internals, syscalls, ioctls etc) 19:35:28 capsicum is freebsd only concept, a sandboxin framework 19:35:47 there was a proof-of-concept of something similar for NetBSD with Lua in the kernel 19:35:59 but it has not been merged with mainline 19:36:14 openbsd uses pledge(), but it's unstable and limited 19:37:24 cloudabi.. well, this is a research project, pity (and harsh) it does not solve much problems and does not have any traction, an attempt to push bsd to kubernetes world (or similar) 19:38:04 it's OS independent in theory, but the main support is in FreeBSD (as the developer is a FreeBSD committer) 19:38:18 with a port to NetBSD (not in mainline) and Linux 19:39:00 you need to duplicate your userland for cloudabi, new toolchain, new libc, dedicated kernel support 19:45:25 https://pastebin.com/WvTZNTGd reading that on Forth and C structs 19:45:50 well, cloudabi binaries dont need the dedicated kernel support to run but they benefit from it. 19:46:15 there is needed support in the kernel 19:46:51 they cannot execute against regular ABI 19:47:25 maybe there is a subproject to crossbuild them to an alien userland, not sure 19:47:37 a shim .so is provided afaik. 19:47:41 but it loses the point 19:48:18 it is designed in a way that you cannot bypass its libs with an implementation of syscalls in assembly 19:48:30 that pastebinned text, where did ya find it? 19:48:43 duckduckgo 19:49:15 cloudabi has a dedicated syscall table 19:49:18 in the kernel 19:49:48 sure, it uses, that ELF VOBJ interface. Does anyone do syscalls via assembly directly nowdays? (due to differences of INT 20h and SYSENTER/SYSEXIT) 19:50:13 golang team 19:50:34 and certainly others who attempt to eliminate libc 19:51:12 ryoshu: but isnt netbsd has a linux emulation? they even introduced this in the manual 19:51:58 we have support for several OSes natively, sunos, sunos32, ultrix, linux, linux32, old freebsd, ... 19:52:30 I can run for example firefox from a Linux prebuilt binary (I've tried torbrowser) 19:53:02 not everything is functional, like skype - we miss robust mutexes support in the emulation layer 19:53:08 old skype worked 19:53:25 but someone tried to reverse engineer it and there is need to use newfangled versions 19:53:38 as the skype project removed compat support 19:54:52 I use compat_linux for flash in firefox 19:55:06 and another application 19:55:17 fullrecall 19:56:53 but hw support is usually bad, like linux in 2000 19:57:18 we don't have 1000 full-time engineers developing drivers 19:57:26 talking about skype, I am trying to remember if it did connection striping or packet-round-robin over super nodes when NAT on both ends of a call were quite uncooperative. 19:58:05 I don't know.. but I would use it :) 19:58:49 for me bsd isn't suitable as of today, I need vbox + fully-featured lldb + sanitizers 19:59:00 so I suffer and try to port them 19:59:53 yeah, my ultra portability desire is understandable to you now? ;-Þ 20:00:40 portability is what attracts me 20:00:50 in software 20:01:02 it enforces usually clean design, correctness 20:01:20 removal of bloat 20:02:12 ryoshu: oh, that's cool , never thought i could run firefox linux binary 20:03:07 you need also libraries (dependencies), torbrowser was nice as it was a static library as far as I recall 20:25:47 this paper 'Structured Data with Bit Fields' is good 20:56:12 --- join: johnmark_ (~johnmark@d53-64-121-247.nap.wideopenwest.com) joined #forth 21:01:01 just reinstall my work machine to ubuntu 1710 21:01:09 it quite fluid 21:01:24 ryoshu: btw, i reserved 2 partition for other os like netbsd :D 21:15:09 I really like the Lua API for C bindings, it could be used in forth 21:18:47 but Lua is unusable for me, difficult to write and debug :) 21:32:42 why? 21:32:59 personal preference 21:33:00 i think all place that has lua could be replaced by forth 21:33:15 e.g. typos translate to 'nil' 21:33:26 yeah, agreed 21:33:35 --- quit: Gromboli (Quit: Leaving) 21:33:48 but i had learnt many underground knowledges of scripting language by reading the book "programming in lua" 21:33:56 on 64-bit systems, cell is 64-bit - right? 21:34:01 which showed how to impl many of the cool features 21:34:15 i guess so, but it depends on your forth 21:34:25 and double-cell 128-bit? 21:37:01 https://nxr.netbsd.org/xref/src/libexec/httpd/lua/glue.c this style of bindings should be doable in Forth 22:01:21 ryoshu: do you know how to install netbsd with my linux ? 22:02:15 Certainly there is an option with grub, I don't dualboot 22:02:26 it's easier to use vbox 22:03:40 or qemu 22:20:09 well i dislike to use these os on virtual machines 22:20:26 maybe my host is not that fast :[ 22:21:07 then there is grub 22:24:35 but my machine require efi boot, i havnt done that before 22:26:31 there if grub for efi 22:26:52 it's documented somewhere 22:27:04 ok, will try to find that 22:27:04 walkthrough 23:59:59 --- log: ended forth/18.01.11