Conversation with #inferno at Thu Nov 23 15:31:50 2017 on powerman@chat.freenode.net (irc) (15:31:50) #inferno: Topic for #inferno set by anth at 19:45:51 on 04/07/15 (15:42:54) qrstuv [~heh@50.44.98.220] entered the room. (03:19:38) Johnjay [26780a63@gateway/web/freenode/ip.38.120.10.99] entered the room. (03:19:55) Johnjay: so is inferno similar to plan9 and why does it have a virtual machine? (03:26:34) Johnjay left the room (quit: Ping timeout: 260 seconds). (03:31:04) Johnjay_ [26780a63@gateway/web/freenode/ip.38.120.10.99] entered the room. (03:31:17) Johnjay_: so what's the difference between inferno and plan9 and why is there a virtual machine? (05:50:04) Johnjay_ left the room (quit: Ping timeout: 260 seconds). (18:10:00) Johnjay [26780a63@gateway/web/freenode/ip.38.120.10.99] entered the room. (18:10:15) Johnjay: hey how is inferno related to plan9? (18:24:26) powerman: Johnjay: they are very similar and share some code, but unlike Plan9 (which is native and able to use C for development) Inferno runs everything in the VM and thus let you develop only in sh and Limbo (18:25:03) Johnjay: that's what i was going to ask next, if you could develop in C on inferno (18:25:36) Johnjay: i was reading some site called plan9front and i didn't see a lot of apps ported to plan9 either (18:25:44) Johnjay: like emacs or make or whatever. (18:25:48) powerman: you could, but it's limited to developing "drivers" - i.e. you'll have to recompile whole Inferno to add some C code (but then you can call that code from Limbo) (18:26:01) Johnjay: is it intrinsically hard to port to plan9? (18:26:15) Johnjay: powerman: i see, i see. (18:26:39) powerman: no idea, I never used Plan9 myself (18:27:00) Johnjay: well whoever these plan9front people are i downloaded TWO corrupt iso images from their site (18:27:31) Johnjay: eventually I got the original plan9 working in qemu though (18:27:38) Johnjay: but it's kinda limited. just drawing windows i think (18:27:47) Johnjay: do you know why it has exits instead of return? (18:29:01) powerman: what do you mean? (18:29:35) Johnjay: in the c code examples I saw it was main() { ... exits());} (18:29:43) Johnjay: meaning the C is even different on plan9 for some reason (18:30:10) Johnjay: so i found inferno when thinking maybe there's a descendent of plan9 that's more similar to gnu/linux tools (18:30:20) Johnjay: but then i saw it's all about a java style vm thing (18:30:46) powerman: no, Inferno is even less similar to GNU/Linux tools than Plan9 (18:31:11) Johnjay: wikipedia said it was supposed to compete with android or java or something (18:31:40) powerman: I've used this "Java style VM" for years to run production microservices developed in Limbo on usual Linux servers. So, VM was really helpful here. (18:33:37) Johnjay: wikipedia didn't really give an explanation why it used a VM (18:33:49) Johnjay: i suppose for portability purposes (18:34:02) Johnjay: what's a "microservice"? (18:37:04) powerman: Was supposed, yes, long time ago. Now it's mostly the thing you can use to learn both good architecture ideas and how to write better code, some people very like it UI and use Acme https://en.wikipedia.org/wiki/Acme_(text_editor) for developing (including developing non-Inferno apps), also it have some use for embedded devices. (18:38:04) powerman: https://martinfowler.com/articles/microservices.html (18:44:41) Johnjay: that article doesn't really give an example of a microservice (19:08:54) Johnjay: why is it good for learning to write better code? (19:09:01) Johnjay: you mean plan9 or inferno/ (19:22:06) fgudin left the room (quit: Ping timeout: 268 seconds). (20:44:49) rogpeppe left the room (quit: Ping timeout: 248 seconds). (20:44:54) rogpeppe1 [~rog@79-75-244-167.dynamic.dsl.as9105.com] entered the room. (21:43:27) rogpeppe1 left the room (quit: Ping timeout: 240 seconds). (22:28:25) powerman: both, I suppose, but personally I've read only Inferno's code (22:36:25) Johnjay: you said good architecture ideas and better code, so was trying to figure out what you mean (22:36:35) Johnjay: i mean someone doing java could say that too but what does it mean (22:45:22) powerman: Johnjay: Well, it's more or less common impression, shared by most people who spend some time reading the code. Something like "if you feel you're already a real pro with 10+ years experience, know everything and have no ideas how to improve your skills - read the code and there is a high enough chance it you'll find it useful for you". For middle-skilled developers I suppose it won't be that helpful because some things (like using copy&paste in some cases) may looks like bad style to them and they'll lose chance to learn where/how/why it may make sense to use. (22:47:07) Johnjay: i see (22:52:20) powerman: I can't say every line of code is perfect, of course. But most of code is very clean and provide a lot of examples how lucidity is helpful to write simpler and better code. Also, it shows how Plan9/Inferno architecture helps do things in much simpler way with nearly same features as other OS have. The downside for some people is they become unhappy when working with POSIX/popular OSes after this. :) (22:53:46) Johnjay: haha (22:53:54) Johnjay: well i just wanted to try plan9 out and see what it was (22:54:12) Johnjay: the first thing that jumped out at me is the windowing and UI suck, needs wayland or xorg ported to it asap (22:56:31) powerman: personally I never used UI at all - after playing with it for a few hours. as I mentioned I've developed network services, and I've used host OS (Linux) for writing code in Vim and compiling it (limbo runs on host too), and run Inferno only for testing/debugging and finally running a service. (22:56:52) Johnjay: i see (22:58:14) powerman: but many people like Acme, not because of it design, I suppose, but because of good usability. Acme implements some interesting UI ideas, but AFAIR some require mouse with 3 full-size buttons for convenient chording (23:02:11) Johnjay: yeah. chording seems to be a big thing for some reason lol (23:03:01) powerman: you can check http://acme.cat-v.org/ and https://www.youtube.com/watch?v=dP1xVpMPn8M if interested in Acme (23:06:03) Johnjay: ok thanks. yeah i saw cat-v.org earlier (02:16:45) deuteron [~deuteron@CPE-101-103-156-64.lnse1.way.bigpond.net.au] entered the room. (02:25:52) because[m]: powerman: what services have you been developing? Is it open source work that you can share? (03:43:20) because[m]: Oh Martin Fowler, ThoughtWorks. Does that belong to you? (04:18:44) Johnjay left the room (quit: Ping timeout: 260 seconds). (05:14:56) deuteron left the room (quit: Quit: leaving). (11:45:22) rogpeppe1 [~rog@fpc88353-newc18-2-0-cust1.16-2.static.cable.virginm.net] entered the room. (16:00:31) leetspete1 left the room (quit: Ping timeout: 240 seconds). (16:14:07) rogpeppe1 left the room (quit: Ping timeout: 260 seconds). (16:17:23) leetspete left the room (quit: Ping timeout: 255 seconds). (16:27:38) leetspete [~pete@cpe-98-148-93-186.socal.res.rr.com] entered the room. (21:25:53) leetspete left the room (quit: Ping timeout: 248 seconds). (23:14:25) The account has disconnected and you are no longer in this chat. You will automatically rejoin the chat when the account reconnects.