These are chat archives for TARDIX/Dev

19th
May 2015
cmdpwnd
@cmdpwnd
May 19 2015 00:04
@RainbowDashDC if active can you plz join TS in Talk02 @ server.lycodon.com?
Jared Allard
@jaredallard
May 19 2015 05:22
Oh god, are we going to have docker like machines?
actually....
Can I front a KVM/Virt portion?
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 15:10
@RainbowDashDC yea
kernel manages insulation
(and forwarding of events and peripherals)
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 15:59
What do you get when you breed a cow and an octopus?
MS Windows
Jared Allard
@jaredallard
May 19 2015 17:50
HELLLLOOOO EVERYONEEEE
I am alive.
SO
I want to call a meeting today instead of tomorrow
Why? Because I have free time today.
Tomorrow I do not.
@tardix-ci ping
@tardix-ci ping
tardix-ci
@tardix-ci
May 19 2015 17:52
@RainbowDashDC pong
Jared Allard
@jaredallard
May 19 2015 17:53
@tardix-ci agenda add [feature] virtualization, in kernel? How to handle it, and general etc about it.
tardix-ci
@tardix-ci
May 19 2015 17:53
@RainbowDashDC Added!
Jared Allard
@jaredallard
May 19 2015 17:53
@tardix-ci agenda set 05-19-2015 20:00
tardix-ci
@tardix-ci
May 19 2015 17:53
@RainbowDashDC Sorry, I didn't recognize that.
Jared Allard
@jaredallard
May 19 2015 17:54
@tardix-ci agenda set-time 05-19-2015 20:00
Jared Allard
@jaredallard
May 19 2015 18:16
@tardix-ci agenda add [misc] @bhodgins getting us f*in SFTP server access, or etc.
tardix-ci
@tardix-ci
May 19 2015 18:16
@RainbowDashDC Added!
Jared Allard
@jaredallard
May 19 2015 18:18
And, @bhodgins, your server is down :(
Jared Allard
@jaredallard
May 19 2015 18:32
Making a docker like thing for CC right now.
image pulling, build scripts, etc.
will target native cc, but should work on all platforms hopefully
pwnflakes
@pwnflakes
May 19 2015 19:23
test
test successful, pretty awesome app :)
Jared Allard
@jaredallard
May 19 2015 19:24
Who are you @pwnflakes?
pwnflakes
@pwnflakes
May 19 2015 19:24
I'm the dude who just tweeted you haha. You guys' fork of phc-win is pretty sweet
I'm just.. compilementally challenged
Jared Allard
@jaredallard
May 19 2015 19:25
Ohhhh, okay! Well, that would explain why you are here :P
pwnflakes
@pwnflakes
May 19 2015 19:25
Haha yeah, I also sent a couple of embaressing emails, so ignore them!
turns out I didnt know the 'releases' area of github existed til today :|
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:28
@RainbowDashDC meeting today?
I have no objections
am I late?
Jared Allard
@jaredallard
May 19 2015 19:29
Yea, today, because I want to dicuss a few major things.
been writing a prototype all day
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:29
Cocker? (hue that name)
Wait, wipe that off your memories
CC-Docker
TARDIXDocker
Jared Allard
@jaredallard
May 19 2015 19:30
--[[
  Introcuding, docker. For computercraft

  @author RainbowDashDC <rainbowdashdc@pony.so>
  @version 0.1.0 (sematic)
  @license MIT
]]

-- helper functions
function deepcopy(orig)
    local orig_type = type(orig)
    local copy
    if orig_type == 'table' then
        copy = {}
        for orig_key, orig_value in next, orig, nil do
            copy[deepcopy(orig_key)] = deepcopy(orig_value)
        end
        setmetatable(copy, deepcopy(getmetatable(orig)))
    else -- number, string, boolean, etc
        copy = orig
    end
    return copy
end

-- JSON
local json = dofile("/docker/json.lua")
local base64 = dofile("/docker/base64.lua")

-- The JavaScript-like syntax is real.
docker = {}
docker.version = "0.1.0"

docker.init = function(this)
  docker.checkArgs(this)

  print("docker ".. this.version)
end

docker.checkArgs = function(this)
  if this == nil then
    error("call with :")
  end
end

docker.pullImage = function(this)
  docker.checkArgs(this)
end

--[[
  chroot an origin image so it is "localized".
]]
docker.chroot = function(this)
  docker.checkArgs(this)

  o = loadfile("/docker/testimage.lua")

  -- setup original functions
  local oPrint = print

  -- build the "chroot" enviroment
  env = {
      -- important functions
      ["print"] = function(msg)
       oPrint("chroot: "..msg)
      end,
      ["dofile"] = function(msg)
        oPrint("error, not currently supported.")
      end,
      ["loadstring"] = function(msg)
        oPrint("bytecode cannot be loaded")
      end,

      -- important tables
      ["coroutine"] = deepcopy(coroutine),
      ["string"]    = deepcopy(string),
      ["table"]     = deepcopy(table),
      ["math"]      = deepcopy(math),
      ["io"]        = deepcopy(io),
      ["os"]        = deepcopy(os),
      ["debug"]     = {}, -- reset it.

      -- docker specific tables
      ["json"] = json,
      ["base64"] = base64,

      -- I/O hijack (uses a JSON light FS)
      ["io"] = {
        open = function(file, mode)
          oPrint("chroot: open "..file.." with mode "..mode)

          return {
            file = file,
            mode = mode,
            write = function(this, args)
              oPrint("chroot: write "..args.." to "..this.file)
            end,
            close = function(this)
              oPrint("chroot: close "..this.file)
            end
          }
        end
      },
      read = function(file)

      end
  }

  setfenv(o, env)

  o()
end

-- initialize the docker library
docker:init()
docker:chroot()
beautiful prototype right now
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:30
K I have a better one
It's multithreaded
supports several appliances on one folder
Jared Allard
@jaredallard
May 19 2015 19:31
that's like in 2 mins
of course it doesn't do anything yet
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:31
supports several appliances on one thread
Supports multiple kernels
Watching S5E1 of new who again, and the scottish accent is real
Jared Allard
@jaredallard
May 19 2015 19:33
Well, I wanna work on this docker thing so far. it's targeting base ccos
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:34
Mine is targeting TARDIX
And OneOS (oopsie)
and Nova
Jared Allard
@jaredallard
May 19 2015 19:34
Let me do my thing :P
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:35
My things are always better
Jared Allard
@jaredallard
May 19 2015 19:35
:(
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:35
it's a rule of software. an unspoken one
If one knows thy language, one will code better in thy language
(jumps up) Well, then, no time to lose. I'm the Doctor. Do everything I tell you, don't ask stupid questions and don't wander off. (strides away with purpose and walks into a tree, knocking him to the ground)
Jared Allard
@jaredallard
May 19 2015 19:39
well, I'll still try to make my own docker thing, since I wanna do virt stuff
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:40
mine is not exactly like Docker
Jared Allard
@jaredallard
May 19 2015 19:40
:OOO
Are we branching competitors already :P
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:41
Know the systemd-nspawn?
Jared Allard
@jaredallard
May 19 2015 19:41
yep
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:42
that's exactly it
but there's also another component to it
machinectl virt-deploy
virt-deploy grabs any libraries and binaries required by a spec table and bootstraps into it
Jared Allard
@jaredallard
May 19 2015 19:46
so. ok
@tardix-ci agenda add [virt] have @DemHydraz talk about whatever he is doing.
tardix-ci
@tardix-ci
May 19 2015 19:46
@RainbowDashDC Added!
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:47
I'm making TARDIX containers
Jared Allard
@jaredallard
May 19 2015 19:49
oh. So you are JUST targeting emulating TARDIX?
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:51
Yes
It copies the currently running kernel into the VM and starts the VM's init
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:58
So all features you want are carried over if you're using a custom kernel
(the boot parameters are NOT carried over)
Jared Allard
@jaredallard
May 19 2015 19:59
Ohhh, well, then what I want to do is fine
I want to create an all platform docker clone
that pulls fs images and etc
docker in CC
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 19:59
I know.
I got it
TardixContainers and machinectl are a basic interface
Jared Allard
@jaredallard
May 19 2015 20:00
Just wanted to make sure we didn't have conflicting goals
I'll try to utilize whatever you make when possible.
and it will probably be developed on TARDIX, but it should have no hard depends
Jared Allard
@jaredallard
May 19 2015 20:28
and we are 30 mins late for our meeting!
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 20:28
can we be like 45?
I need to procastinate for a few seconds
Jared Allard
@jaredallard
May 19 2015 20:28
Sure sure :P
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 20:32
I have one problem tho
There's like
no one
Jared Allard
@jaredallard
May 19 2015 20:32
Yea....
That's always a problem
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 20:37
did you make agenda pop?
Jared Allard
@jaredallard
May 19 2015 20:38
agenda pop
define that
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 20:39
...
don't you know your stacks?
Jared Allard
@jaredallard
May 19 2015 20:39
no :P
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 20:39
get & remove the top-most value
This command will not only provide you the version of Docker client and daemon you are using, but also the version of Go (the programming language powering Docker).
This command will not only provide you the version of Docker client and daemon you are using, but also the version of Go (the programming language powering Docker).
interesting
@ashnwill are you here?
ashnwill
@ashnwill
May 19 2015 20:41
ayyy
@DemHydraz hi
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 20:42
@RainbowDashDC should he attend?
Jared Allard
@jaredallard
May 19 2015 20:43
Anyone can.
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 21:53
I'm also adding general-pourpose stacks and registers
Those only store numbers
Jared Allard
@jaredallard
May 19 2015 21:55
Sounds fine to me.
let's say I'm coding like this:
tardix-ci
@tardix-ci
May 19 2015 21:57
@RainbowDashDC //sc-cdn.scaleengine.net/i/5fd8e0090f489dd8617367dd535db0c7.png
Jared Allard
@jaredallard
May 19 2015 21:57
and I want to do <obj>:name can it be done in that form.
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 21:57
why
whyyyyyyyyy
but yes
it can
but whyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Jared Allard
@jaredallard
May 19 2015 21:58
'Cause I'm such a JS programmer
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 21:58
I need to make motherfucking code guidelines
Jared Allard
@jaredallard
May 19 2015 21:58
This is a non-TARDIX project though so I guess I can :P
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 21:58
it offends my eyes
Jared Allard
@jaredallard
May 19 2015 21:59
Anyways, how could I?
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 21:59
It will work.
like that
Jared Allard
@jaredallard
May 19 2015 22:01
but self is nil
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:02
because it's this duh
Jared Allard
@jaredallard
May 19 2015 22:05
not with calling it by <whatever>.write() or etc
ugh
I'll just change the coding style.
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:05
Dude this is NOT js
Jared Allard
@jaredallard
May 19 2015 22:05
I realize that.
I wish it was.
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:06
if the language has a feature you don't go all 1337 h4x0r trying to dodge it
YOU USE IT
if you don't know how to code lua, don't. code. lua
if you must torture the language so horribly
local mytab;
mytab = {}

mytab.hello = function(this, that)
  print(this)
end

mytab:hello()
this will work
Jared Allard
@jaredallard
May 19 2015 22:10
I know that
but can you provide this, or self without doing mytab:this. because non of them are non nil by doing function mytab:hello
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:11
NO!
unless you do mytab.this(mytab)
Jared Allard
@jaredallard
May 19 2015 22:11
This is why I hate lua.
OOP in it is terrible.
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:12
yea
if you don't know shit about the language
it is
Jared Allard
@jaredallard
May 19 2015 22:12
so then if you have no idea what the table is called you can't refer to it
lovely
which is different from just calling fs
because fs doesn't force using :
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:13
why don't you do this posix style?
Jared Allard
@jaredallard
May 19 2015 22:13
because I'm trying to make a VM
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:13
that will solve all your issues ever
actually I THINK
Jared Allard
@jaredallard
May 19 2015 22:13
which should work out of box, no modification needed.
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:13
I THINK
that if you do it like this:
Jared Allard
@jaredallard
May 19 2015 22:17
there is no way, so I can't reproduce a perfect fs
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:18
ugh of course there is a way
if you do it hackishly
@RainbowDashDC do it like this: when you open a file create a number pointing to somewhere. Then, make the functions returned use that number to get somewhere.
ashnwill
@ashnwill
May 19 2015 22:19

DemHydraz: I'mma kick you for offending me ) : <

five minutes later

RDC: [innocent comment]

DemHydraz: YOU DON'T KNOW SHIT ABOUT LUA! YOUR CODING IS HORRIBLE! WHYYYYYY DO YOU CODE LIKE THAT? MAYBE YOU SHOULDN'T CODE IN LUA!

Jared Allard
@jaredallard
May 19 2015 22:19
OH
I GOT IT
HURRY UP SCREENCLOUD
tardix-ci
@tardix-ci
May 19 2015 22:20
@RainbowDashDC //sc-cdn.scaleengine.net/i/317de279ec0a44eead4a9be2704f0344.png
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:21
YES
Jared Allard
@jaredallard
May 19 2015 22:21
that is so fuckin hacky
now to test some stuff to make sure it actually works
as I thought
if you open another file
it overrights it
buttt
what if you modified the env
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:22
that's because you're making it a global variable '-'
Jared Allard
@jaredallard
May 19 2015 22:22
yea, gonna use a super hacky env modifier for fs calls lmao
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:22
GOD DAMNIT
local
LOCAL
LOCAL
Jared Allard
@jaredallard
May 19 2015 22:23
o
OH
IT WORKS
ashnwill
@ashnwill
May 19 2015 22:24
some people say that it's a blessing when your code works the first time
i say it's hell
because then you have no idea what bugs are lurking
because they don't immediately present themselves it takes tons of digging
Jared Allard
@jaredallard
May 19 2015 22:24
stackoverflow
ashnwill
@ashnwill
May 19 2015 22:25
that was vague
are you referring to the website out of the blue, or did it give you a stack overflow error (why would it? does that happen in CC?)
hold on just checking to make sure i didn't get kicked
kay
wondered
Jared Allard
@jaredallard
May 19 2015 22:27
I was referring to the bugs that love to randomly appear.
tardix-ci
@tardix-ci
May 19 2015 22:27
@RainbowDashDC //sc-cdn.scaleengine.net/i/e4946aadacbb57373f7d9000f5a6448f.png
ashnwill
@ashnwill
May 19 2015 22:28
mfw i realize i'm so unfamiliar with windows that i can't tell if that's a windows-ish linux, or actually windows
Jared Allard
@jaredallard
May 19 2015 22:28
ignore that.
bad screenshot of nothing
tardix-ci
@tardix-ci
May 19 2015 22:29
@RainbowDashDC //sc-cdn.scaleengine.net/i/c17ec08bb6155be1db9ca913d1be492b.png
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:30
@ashnwill be happy, that's KDE
ashnwill
@ashnwill
May 19 2015 22:30
VFS is the worst thing to do in CC
there are tons of bugs EVERYWHERE
that's why i gave up on my first kernel
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:30
that's why you should leave the VFS layer to TARDIX, @RainbowDashDC
Jared Allard
@jaredallard
May 19 2015 22:30
VFS is easy mate, look at how simple that is
ashnwill
@ashnwill
May 19 2015 22:30
everything was riddled with bugs; it was total spaghetti
Jared Allard
@jaredallard
May 19 2015 22:30
the VFS has to be independent for the docker aspect.
Matheus Magalhães de Alcantara
@demhydraz
May 19 2015 22:30
oh, ok
do it like env.fs = tardix.vfs or myVFSDoohickery
Jared Allard
@jaredallard
May 19 2015 22:31
Since it's not just targeting TARDIX
BUT
I will make sure there's not bugs cause of me
:)
no*
jfc my spelling today
Also, using a television as a monitor is awesome.
But really hurts the eyes.
ashnwill
@ashnwill
May 19 2015 22:32
jfc stands for "jesus fdid cnine-eleven", which is a common expression among the Free Peoples of 4chan
it is used to express exasperation
and frustration
tardix-ci
@tardix-ci
May 19 2015 22:34
@RainbowDashDC //sc-cdn.scaleengine.net/i/ed50a5b923d25de762f6efd001c6c78b.png
Jared Allard
@jaredallard
May 19 2015 22:34
The grammar.
ashnwill
@ashnwill
May 19 2015 22:39
5?
nvm
ashnwill
@ashnwill
May 19 2015 23:35
what happened? chat = dead