These are chat archives for TARDIX/Dev

23rd
Apr 2015
Jared Allard
@jaredallard
Apr 23 2015 00:00
Well hey, that's always nice.
bhodgins
@bhodgins
Apr 23 2015 00:00
by the way, this morning I was dwiddling with stuff, and a naming convention for devices makes sense now
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:01
I did this:
first 3 letters of peripheral.getType()+side
bhodgins
@bhodgins
Apr 23 2015 00:01
I've opted to suggest device names such as cuacc0, and ccia0s1 for example
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:01
So..
Systemd predictable device names?!
Also: kms
bhodgins
@bhodgins
Apr 23 2015 00:02
well, ccia0s1 stands for computer craft indirect access disk 0 partition 1
it is analogous to BSDs ada0s1
which is ATA direct access
cuacc0 is the CC modem
the first one
Jared Allard
@jaredallard
Apr 23 2015 00:03
Device names are hard coded into libnet so please no changes ><
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:03
Eventually when we have a framebuffer we will be able to redirect to several monitors
libdev*
things
bhodgins
@bhodgins
Apr 23 2015 00:03
@RainbowDashDC the networking part should really be independant of the devices themselves though
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:04
but kms is so useful
bhodgins
@bhodgins
Apr 23 2015 00:04
with the original device driver design, it was easily possible to create an interface with bundle cables.
or jusdt a single redstone wire
or with floppy disks..
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:04
I'm trying to figure how 2-way evented comms will work with the kernel
maybe a kernel-mode daemon?
Jared Allard
@jaredallard
Apr 23 2015 00:05
It's only a hack to determine when a device ends...
removes itself*
bhodgins
@bhodgins
Apr 23 2015 00:05
@DemHydraz would it help if I wrote up the entire layout of my original plans for S3IX, it might stir up an idea here or there.
Jared Allard
@jaredallard
Apr 23 2015 00:05
Which I shouldn't need, wtf was I thinking at 2 AM
bhodgins
@bhodgins
Apr 23 2015 00:06
i can take pictures of my chaulk board
because a ot of them are a pure mixture of the best parts of Linux mixed with BSD
FreeBSD in particular.
Jared Allard
@jaredallard
Apr 23 2015 00:06
welcome to what libnet is facing @DemHydraz
bhodgins
@bhodgins
Apr 23 2015 00:06
with Lua's limitations in mind
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:06
And the new microkernel design too
bhodgins
@bhodgins
Apr 23 2015 00:07
a microkernel will be one step closer to security if done right
however, you need to be careful still about the seperation between userspace and kernelspace
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:07
We're doing 2-way event based IPC
Jared Allard
@jaredallard
Apr 23 2015 00:09
+1 for IPC :D
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:10
I've implemented WAY TOO BASIC system calls
Also made the kernel multithreaded
And newsflash, it works
Jared Allard
@jaredallard
Apr 23 2015 00:10
somehow
:sparkles: magic :sparkles:
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:11
Actually, I'm surprised it works
It shouldn't.
I didn't set up a kernel thread.
bhodgins
@bhodgins
Apr 23 2015 00:12
so I'm starting on my chaulkboard
ill make a few
Jared Allard
@jaredallard
Apr 23 2015 00:12
Well, if you think about it, it kinda does.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:12
There.
Wayyyy better.
Some errors.
Jared Allard
@jaredallard
Apr 23 2015 00:12
One-shot events are great!
bhodgins
@bhodgins
Apr 23 2015 00:12
itl say S3IX on them, but that's only because I have a very firm original design for them, and ill take some pictures, you can compare them, and maybe pick out a couple of things to think about
Jared Allard
@jaredallard
Apr 23 2015 00:12
evented kernel xD
Please be HD
bhodgins
@bhodgins
Apr 23 2015 00:12
I dunno what my phone can do
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:13
Now that's better.
bhodgins
@bhodgins
Apr 23 2015 00:13
but itl be clear
my phone takes fairly clear pictures.
also
my apaprtyment has an 8 foot chailk board
8x4
Jared Allard
@jaredallard
Apr 23 2015 00:13
I need a chalk board.
bhodgins
@bhodgins
Apr 23 2015 00:13
@RainbowDashDC cost me less than $20 to build it
Jared Allard
@jaredallard
Apr 23 2015 00:14
@bhodgins I should follow suite.
Getting off the bus in a few minutes.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:17
Fack
What the fack
I don't believe this
This is so embarassing
I'm going to have to implement usermode system calls
well technically it's a usermode evented interface to some kernel-defined system calls
Jared Allard
@jaredallard
Apr 23 2015 00:23
Sadface
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:25
It'll still work
WE're going nanokernel, really
it's just a HAL.
Jared Allard
@jaredallard
Apr 23 2015 00:25
because why not.
I truly love the setup so I have no problems :P
libnet is gonna be great one it's finished.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:26
:p
Jared Allard
@jaredallard
Apr 23 2015 00:26
IPv4 in CC!
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:26
Making an OS will be fucking impossible once this is finished
Jared Allard
@jaredallard
Apr 23 2015 00:26
finished
it never will be haha
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:26
Making an OS will be fucking impossible once this is near done
Jared Allard
@jaredallard
Apr 23 2015 00:26
near
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:27
even close to
Jared Allard
@jaredallard
Apr 23 2015 00:27
Bus again
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:27
:/
Jared Allard
@jaredallard
Apr 23 2015 00:51
Back :P
So.
I want to work a bit on secure boot after libnet
and a gpg like implementation later on.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:52
On secboot?
How are you going to do it? Shasums?
Jared Allard
@jaredallard
Apr 23 2015 00:52
Just GPG in general
well OpenPGP
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:53
I never know what the first P stands for.
is it Open Pete's Privacy Guard?
Phil's privacy guard. I was close!
Jared Allard
@jaredallard
Apr 23 2015 00:53
xD
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:54
But how are you going to handle the SecureBoot?
Jared Allard
@jaredallard
Apr 23 2015 00:56
No idea yet.
Hm.
Wait.
Yea.
We need a GPG like algo.
then have it built into the BIOS.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:56
With the statically-linked kernel we can have a signature section
Jared Allard
@jaredallard
Apr 23 2015 00:57
We need a whiteboard haha
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 00:58
hmm
we could..
hmm
we could have it embedded on the initramfs?
Jared Allard
@jaredallard
Apr 23 2015 01:01
Possibly.
Okay, quick question,
are we tabling forum creation until Saturday?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 01:02
Yes.
Jared Allard
@jaredallard
Apr 23 2015 01:02
Got it.
Oh oh oh
Adding github page to discussion :D
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 01:10
For examplé:
The latest commit's main.lua's shasum is. 8ca18bfaa9513bf70c7208e91b12a30e4e35216b
Jared Allard
@jaredallard
Apr 23 2015 01:17
I love being on hold with PayPal
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 01:18
I think i'm going to finish my slo format.
(simple&laggy objects)
it's my real-hardware microkernel's executable/linkable format
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 01:35
Is it bad that I -Syyu?
is it bad the the Organ tree hasn't been updated in about 2 weeks?
Is it bad that that is a gross overextimation?
ooooooooooooh a git update
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 01:41
@RainbowDashDC I've been using GNOME on Wayland and IT'S SO FAST OMG
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 01:48
And I'm running kernel 4.0-rc1 (Hurr durr I'mma sheep).
bhodgins
@bhodgins
Apr 23 2015 01:48
BACK!
I have pictures!
Jared Allard
@jaredallard
Apr 23 2015 01:51
How'd you enable wayland?
bhodgins
@bhodgins
Apr 23 2015 01:53
8 images
I mighta missrd a few
I took like 12 total
@RainbowDashDC I think you'll really like this
but keep in mind this is my original plan, as it was, not the current design.
bhodgins
@bhodgins
Apr 23 2015 01:59
mobile imgur is retarded
but here's the first
which has the entire thing
I have zoomed in images
@RainbowDashDC @DemHydraz %
a closer look at the kernel design itself: http://imgur.com/uELH04t
topology wise
the blue blocks are upper kernel instances
bhodgins
@bhodgins
Apr 23 2015 02:15
@RainbowDashDC , @DemHydraz or a clearer full view of it, I just got this:
going to crop it
There :)
Jared Allard
@jaredallard
Apr 23 2015 02:26
I love your diagramming skills.
Like, love
bhodgins
@bhodgins
Apr 23 2015 02:28
wut
Jared Allard
@jaredallard
Apr 23 2015 02:29
Just, idk man, I love that diagramming
bhodgins
@bhodgins
Apr 23 2015 02:29
it's an unfortunate side effect of writing software for .. 19 or 20 years now.
seems how I'm 26
Jared Allard
@jaredallard
Apr 23 2015 02:30
Teach me your skills, haha.
bhodgins
@bhodgins
Apr 23 2015 02:32
TARDIX is quite a bit different than this now. However, there are a few things in there that still somewhat relate
Jared Allard
@jaredallard
Apr 23 2015 02:32
Nevertheless idea sparking.
bhodgins
@bhodgins
Apr 23 2015 02:32
in S3IX, the call gate was the primary layer of security
it is attached directly to the upper half of the kernel, and is the idea that processes that yield send system calls (optionally) to be passed through the call gate, which is this giant wire fence.
you can't reach through it, but you can push notes with syscalls through the holes
the upper half takes it, sends it to the kernel to be run if applicable.
and then it comes back after the kernel is ready to give that process more processing time, and it goes back through the fence to the process.
as well as any signals such as SIGINT, SIGALRM, etc
Jared Allard
@jaredallard
Apr 23 2015 02:34
So basically core OOP principales
bhodgins
@bhodgins
Apr 23 2015 02:35
In a way I suppose. the real OOP stuff lies in roles
which are literally just mixins
in UNIX, everything is a file
I intended to enhance this, without breaking that rule in any way.
My answer was to have open() return a filehandle object, not a file descriptor. The filehandle object would contain a descriptor, and while open() was doing its thing, before it turned the filehandle over to whatever had called it, it would automatically mixin roles that matched the type of file and its attributes. For example. If you opened /etc/password to open the password file, it would contain your basic functions all files have such as read() and write(), etc
Jared Allard
@jaredallard
Apr 23 2015 02:38
Huh, not a bad idea.
I love the UNIX "Everything is a File" principal.
bhodgins
@bhodgins
Apr 23 2015 02:38
However.. if you opened something like say, /sys/net/lyqydnet/socket, it would mixin attributes of /sys/net/socket, which contain layering, etc- and it would mixin the lyqydnet mixins, which would contain functions solely for lyqydnet's specialities
yeah.
and the reason I went this way
is because on a typical UNIX system, you have functions for controlling diferent types of files
opendir()
readdir(), socket(), ....
my idea was, why not have them in a filehandle object, and make it so if you want to open a directory for searching for files or something, just open() it
want to open a socket, open() it. want to connect to a pseudo tty master and manage terminals? open() it
in the last case you'd just open() wityh your args on /dev/ptmx or whatever the pseudo terminal master would be.
Jared Allard
@jaredallard
Apr 23 2015 02:40
open() it
bhodgins
@bhodgins
Apr 23 2015 02:41
and the cool thing about ptmx (linux man pages doc this) is that when you open() it, it returns a pty slave.
a new one.
and this is how I intended you to get your display / other IO over a CC modem
and have it be the same exact thing as on the monitor.
on boot you could be like, Console=/dev/cuacc0
and you could add more stuff like
channel=10
Jared Allard
@jaredallard
Apr 23 2015 02:42
How did you envision TTYs working?
bhodgins
@bhodgins
Apr 23 2015 02:43
since real hardware was never a thing in my eyes for ttys, I figured that everything could be a PTY
simular to Linux, there'd be a /dev/pts directory or something like it, with terminals
and /dev/ptmx or some master to create them.
the nat thing about having everything PTYs is that if ascii works you can connect a PTY to the CC printer.
and print screenshots or something, but there are limitations on the printer, I don't think that'd work
but you could try
Jared Allard
@jaredallard
Apr 23 2015 02:44
Yea, sadly.
Anything is possible
bhodgins
@bhodgins
Apr 23 2015 02:45
plus the ASCII set is limited
there is no extended ASCII iirc on my implementation design and a lot of characters are missing
but the digits are still there.
Jared Allard
@jaredallard
Apr 23 2015 02:45
cc is very limited for a computer mod :(
If only it was open governance...
bhodgins
@bhodgins
Apr 23 2015 02:46
yeah.. but the control chars are there
sorta
Jared Allard
@jaredallard
Apr 23 2015 02:46
The potential :C
See, If I knew java, opencc would've been done by now :/
bhodgins
@bhodgins
Apr 23 2015 02:46
lol
I'm not a huge fan of Java
I don't like using 16GB o my ram to type Hello World
:)
Jared Allard
@jaredallard
Apr 23 2015 02:47
Same.
Then again I promote, wait for it...
iojs
bhodgins
@bhodgins
Apr 23 2015 02:47
lol
I dunno if @DemHydraz ever told you, but I am primarily and first foremost a Perl programmer
I don't even really Lua much
Jared Allard
@jaredallard
Apr 23 2015 02:48
I also like C, but not a fan of type based languages
and perl is okay imo
bhodgins
@bhodgins
Apr 23 2015 02:48
Perl's types are very generic
I kind of like it that way
and there's only 5 of em
Jared Allard
@jaredallard
Apr 23 2015 02:49
generic types make the world go round.
not all the *some = "whatever the fuck this would do"
bhodgins
@bhodgins
Apr 23 2015 02:49
I have to fight this AVR gcc compiler
because it's not optimizing correctly
the assembly it generates from 100 * 1000 is different from 100000.
Jared Allard
@jaredallard
Apr 23 2015 02:49
Then again, if someone explained types to me I probably would like it.
bhodgins
@bhodgins
Apr 23 2015 02:49
and it tries to do signed multiplication, so it writes it wrong in the register if it cant fit
I am forced to be like 100UL * 1000UL or whatever
Jared Allard
@jaredallard
Apr 23 2015 02:50
See, that's what's SOOOO CONFUSING
Why not be like string is a string, int is a integer, boolean is a boolean the fucking end.
bhodgins
@bhodgins
Apr 23 2015 02:51
you'd still have to let them set the maximum size for wrap around purposes or something
and if you wanted, you still can
you can be like, uint8
but who wants to see code like that?
Jared Allard
@jaredallard
Apr 23 2015 02:52
I think I'll stick with JS
Plenty of jobs
a bright future.
and I'm good at it.
bhodgins
@bhodgins
Apr 23 2015 02:53
I tried embedded JS into my game engine
dropped support for it about 2 months ago
It's not JavaScript's fault
it's Spider Monkey and V8
the JavaScript C APIs are SO BNAD
BAD*
so I said screw it, going with Lua.
Jared Allard
@jaredallard
Apr 23 2015 02:54
lua, eh..
I only use it because opencc does
bhodgins
@bhodgins
Apr 23 2015 02:54
Well it was one of many choices
Tcl didn't make any sense
Jared Allard
@jaredallard
Apr 23 2015 02:54
cc*
bhodgins
@bhodgins
Apr 23 2015 02:54
JS's C API was too horrible to play with
and using Perl would be dangerous
I mean, the engine is written in Perl, but the game library should not be.
it's a MUD engine, so it is intended that players will be making the game from within the game as "creators"
I needed something super easy to sandbox. Which, JS is easier than Lua for that believe it or not.
Jared Allard
@jaredallard
Apr 23 2015 02:58
Lua is better for sandboxing.
imo
(in a pure lua sense)
Well, lua 5.2 we're talking about.
5.3 ruins that.
bhodgins
@bhodgins
Apr 23 2015 02:59
possibly, All I needed was to prevent all system callas and file IO
in my engine, it's the job of Perl plugins to provide access to things the sandbox wouldn't
like going online, and getting the current weather of say the arizona desert, then setting the desert area in the game to that weather so its more realistic
of course you don't need a plugin for setting the weather of an area but the plugin is required to perform that network connection
(And the weather plugin does that or you)
for*
Jared Allard
@jaredallard
Apr 23 2015 03:01
Sounds reasonable, haha.
Jared Allard
@jaredallard
Apr 23 2015 03:08
Rebooting my machine, be back in a bit.
bhodgins
@bhodgins
Apr 23 2015 03:14
bout time I hit the hay
Jared Allard
@jaredallard
Apr 23 2015 03:25
Sleep well @bhodgins
Jared Allard
@jaredallard
Apr 23 2015 04:40
"Due to the fact that hubs are causing alot of unnecessary networking traffic switches were invented."
We're at that stage! Now to make switching, yay? ><
Jared Allard
@jaredallard
Apr 23 2015 06:31
And now I sleep, but I got switching implemented decently now :D
gateway is no longer used, and I don't think I will find a need for it.
but,
say you have a switch with the subnet "192.168.1.0/24"
and two machines inside of that subnet; "192.168.1.1", "192.168.1.2"
and one outside of the static stray IP: "70.0.0.3"
if you send a message to 192.168.1.2 from 192.168.1.1 the switch won't forward any data as they both belong in the routes subnet. (rednet auto deploys across all available network devices anyways)
Jared Allard
@jaredallard
Apr 23 2015 06:37
but, if you send a message to 70.0.0.3 from 192.168.1.2 then the switch will intercept the packet and forward it across all devices with no subnets in hope it will get to the target.
(no subnets that it knows about)
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 10:04
@bhodgins I really need onde of those
Most of my diagramming is made on hastebin or in vim, either way most of it is ASCII.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 10:09
Also, looking at your docs still make sense in the new design. Except, kernel mode calls are exposed to the user mode as Api functions
Those fire events that sysw or another usermode handler should catch.
Events also request for the user mode to do something if the kernel can't. For example, if you open, say, the rdst0c1 device, and the kernel can't handle it, it'll fire a open_request. The redstone daemon will then "poke" the kernel with a function to open it
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 10:19
That way you can still...
open it
open() it*
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 12:23
Built-in FUSE.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 13:07
Maybe instead of firing events we can yield?
Jared Allard
@jaredallard
Apr 23 2015 13:19
Morning y'all :P
Jared Allard
@jaredallard
Apr 23 2015 13:32
Hey @DemHydraz how would we use a timer event on our current event system.
Jared Allard
@jaredallard
Apr 23 2015 13:51
ICMP layer is now my libnet focus.
bhodgins
@bhodgins
Apr 23 2015 13:56
Good morning
Jared Allard
@jaredallard
Apr 23 2015 13:56
Morning :P
bhodgins
@bhodgins
Apr 23 2015 13:57
I realized this morning
I used a LOT of chaulk last night
lol.
I have a heckton of labs to do today and I also have exam./
in calculus based Physics
@RainbowDashDC I really wish I could have done more on the chaulk board for networking as it is a huge aspect of the OS
but it's weird, I couldn't think of much differentiating it from anything except that with my design all networking stuff is in /sys/net
Jared Allard
@jaredallard
Apr 23 2015 14:02
It is, especially since It's in big development right now.
bhodgins
@bhodgins
Apr 23 2015 14:02
as it was a secure way to seal the underlying system from the userspace
@RainbowDashDC the cool thing about the file IO roles was that you can open a driver's public (as they specifiy themselves) functions in /sys
by opening that device the driver maps to a kobject
sysfs makes it show up as a file, but when you open() it, is is a userspace OOP object for that driver, with only access to functions it lets you.
Jared Allard
@jaredallard
Apr 23 2015 14:06
Ohhhhhhhhhhhh
I get it, yea, that's a pretty good concept.
bhodgins
@bhodgins
Apr 23 2015 14:06
and the kobject structure is just a tree of kobjects, each one referencing some object that can handle that data. it's like the windows registry, but more th eBSD kobject stuff
yeah
sysfs's job is just to parse the kobject table
and treat it like a directory tree, while mapping file IO operation callbacks to them
so lets say you had an IPv6 network driver
and it registers its stuff in /sys/net/ipv6
maybe it has a kobject node in there called ip_fowarding for routing
you can open it and call the function, or you could echo 1 to it to enable forwarding or use sysctl
like, echo "1" > /sys/net/ipv6/ip_forwarding
or sysctl /sys/net/ipv6/ip_forwarding = 1
er
sorry, sysctl net.ipv6.ip_forwarding = 1
it's really useful for a lot of things..
sysctl net.tcp.mtu = 1500
Jared Allard
@jaredallard
Apr 23 2015 14:10
much like *nix
bhodgins
@bhodgins
Apr 23 2015 14:10
exactly.
sysctl hw.cc.monitor = nocolor # force monitor to be non color
in case you wanted non color advanced monitor (dunno why)
@RainbowDashDC but the biggest thing here is that it prevents you from needing direct access to drivers.
because now there's an API for each driver when you write them, specifying what people should be allowed to do
to make things easier, I originally suggested that there be no procfs, because in my opinion, all of that should be under /sys anyways as a kobject
driven by some kernel module
all running processes would be accessible via /sys/proc/
or /sys/ps
bhodgins
@bhodgins
Apr 23 2015 14:15
would make the kobject API so that a single kobject can be used to represent more than one file.
I
Jared Allard
@jaredallard
Apr 23 2015 14:16
Eh, procfs still seems like a good idea.
Would you like to add it to meeting agenda on Saturday, anyways?
bhodgins
@bhodgins
Apr 23 2015 14:16
FreeBSD doesn't even have one :)
we could. But I fear that TARDIX has sort of gone away from this design
it may be too late to introduce these concepts
Jared Allard
@jaredallard
Apr 23 2015 14:17
Well, it adapts as it needs too.
And, if something is too be changed
it would be now.
bhodgins
@bhodgins
Apr 23 2015 14:19
either way, I think we should at least have a kobject system, as it really helps make that userspace connection and it is definately security related
I can write some mock ups and documentation fo rthose
Jared Allard
@jaredallard
Apr 23 2015 14:20
Added it to the topic list.
(both of those)
bhodgins
@bhodgins
Apr 23 2015 14:34
both of what
(Last I knew I was only talking about one thing, lol)
Jared Allard
@jaredallard
Apr 23 2015 14:48
About kObjects future in TARDIX and procfs abandonment.
Please make sure to have relevant information complied by then :p
Jared Allard
@jaredallard
Apr 23 2015 14:53
Markdown in Gitter is really awesome.
Also, quick non important question:
should ipv4 addresses be done in binary?
(that's how TCP has them)
bhodgins
@bhodgins
Apr 23 2015 14:56
We're sort of in trouble with IP
because I hear the bit library is extremely slow
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 14:56
But you know, this isn't Unix
bhodgins
@bhodgins
Apr 23 2015 14:56
but in order for IP routing to work, you need to be able to perform an AND and compare
bitwise AND is how you determine the direction a packet goes.
I'm not sure how much you know about networking?
Jared Allard
@jaredallard
Apr 23 2015 14:57
Well, no.
I'm a beginner.
Being trained for the Network+ specs.
bhodgins
@bhodgins
Apr 23 2015 14:57
Ah aha
Jared Allard
@jaredallard
Apr 23 2015 14:58
By CISCO.
bhodgins
@bhodgins
Apr 23 2015 14:58
do you know the routing process?
Jared Allard
@jaredallard
Apr 23 2015 14:58
I do.
bhodgins
@bhodgins
Apr 23 2015 14:58
okay
but yeah, the only one I can see would be hard to get away from is the ANDing of the subnet mask with the ip to find the network address.
you can't really efficiently fake that I don't think.. not off the top of my head.\
but it may be that the bit library will be just fast enough?
Jared Allard
@jaredallard
Apr 23 2015 14:59
Well, currently the network doesn't use subnet masks or anything of the sort.
Also, the bit library included is the fastest around.
(in lua that is...)
bhodgins
@bhodgins
Apr 23 2015 14:59
Okay. I haven't used it. I've just heard horror stories about how slow SHA-128 is with them
Jared Allard
@jaredallard
Apr 23 2015 15:00
Hm. AES works quite fast at least.
bhodgins
@bhodgins
Apr 23 2015 15:00
Okay. In that case, we're in good luck
are you using ethernet?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:00
@bhodgins keep in mind this is a uKernel design
bhodgins
@bhodgins
Apr 23 2015 15:01
right
@DemHydraz That shouldn't really effect much
Jared Allard
@jaredallard
Apr 23 2015 15:02
as in wired?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:02
Sysfs should be kept in lower userrspace
(Frick spelling on mobile keyboards)
Jared Allard
@jaredallard
Apr 23 2015 15:03
"#version:" .. protover ..
    ",to:" .. tostring(ip) ..
    ",from:" .. tostring(this.inf[side].ip) ..
    ",destport:" .. tostring(channel) ..
    ",sourceport:" .. tostring(channel) ..
    ",seg:0" ..
    ",checksum:" .. fcs16.hash(body) ..
    ",#"
for reference: a raw packet header (mash of TCP+IP layer currently, planned to be revamp. proof of concept currently)
yes, I know it's nothing like TCP yet.
bhodgins
@bhodgins
Apr 23 2015 15:06
back
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:07
Hai.
Jared Allard
@jaredallard
Apr 23 2015 15:07
Also: it's important to note this BIG limitation on CC.
bhodgins
@bhodgins
Apr 23 2015 15:07
@DemHydraz alright. Where are drivers? lower userspace as well?
Jared Allard
@jaredallard
Apr 23 2015 15:07
We can only broadcast to every device on the network cable.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:07
Yes
bhodgins
@bhodgins
Apr 23 2015 15:07
alright, then technically speaking @DemHydraz
this doesn't change anything
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:08
Some drivers (ccfs) are in the kernel
bhodgins
@bhodgins
Apr 23 2015 15:08
it's analogous to it being in kernel space in a monolithic except that trhere's an additional layer there..
there's just one problem here
how do kernel space drivers (like ccfs) register sysfs kobjects...
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:09
As soon as I get home I'll explain
Firing events!
bhodgins
@bhodgins
Apr 23 2015 15:09
you're using events to speak between tehm?
them*
Jared Allard
@jaredallard
Apr 23 2015 15:09
It's the only real way, @bhodgins.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:09
Yea
bhodgins
@bhodgins
Apr 23 2015 15:09
Okay, that's no different than my monolithic S3IX process -> upper kernel design
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:09
Kernel emits events
bhodgins
@bhodgins
Apr 23 2015 15:09
right
so all in all this doesn't change much
it just chanegs the topology
changes*
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:10
Userspace calls link
Lib k*
bhodgins
@bhodgins
Apr 23 2015 15:11
by the way @DemHydraz
@RainbowDashDC the point aboit procfs is that it still exists, you can make a kernel module that registers kobjects, so they end up in sysfs, and then make a symlink /proc -> /sys/proc
and the reason why I think it's better that way is that then you don't have to write a drievr to yet again handle filesystem access callbacks
just for processes.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:14
Finally @ home
bhodgins
@bhodgins
Apr 23 2015 15:14
you just need to write a module that handles kobject conenctions.
Jared Allard
@jaredallard
Apr 23 2015 15:14
"Error checking data, calculated from the ICMP header and data, with value 0 substituted for this field. The Internet Checksum is used, specified in RFC 1071" wait, you can generate checksum from a header: then include it? Wtf.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:14
@bhodgins, let's take for example, open.
bhodgins
@bhodgins
Apr 23 2015 15:14
alright
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:15
Open takes a file, and a number of arguments (modes/params/opts)
bhodgins
@bhodgins
Apr 23 2015 15:15
.right
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:15
Open should then (a) open said file and evaluate it's contents. (b) Is the file a plain-text file? then, "poke" the CCFS driver to open that file
Is it a socket? It also knows how to open sockets. Is it marked executable? run it
bhodgins
@bhodgins
Apr 23 2015 15:16
well, it should tecnically look at the mount table, then look at the filesystem registry and figure out what FS driver to send it to
but eyah
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:16
You got the point, yes
bhodgins
@bhodgins
Apr 23 2015 15:16
don't rely on CCFS
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:17
But, when open doesn't know what to do, it fires an open_request event. A user-space daemon should then look at the event data, and call the function callback_open (or whatever).
That function takes a function, a file, and the parameters
The function should create the file handle and return
bhodgins
@bhodgins
Apr 23 2015 15:17
That seems scary security wise, but I know what you're doing
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:18
We can't look at events in the kernel itself
Jared Allard
@jaredallard
Apr 23 2015 15:19
Quick question, @DemHydraz, how do you get multithreaded event from a non daemon? Is it the same as listening for a normal event, or?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:19
Yea
use program.addEvent
(it spawns a thread then looks at a list of handlers)
bhodgins
@bhodgins
Apr 23 2015 15:20
oh @DemHydraz
did you see this
up close
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:20
The chaulk-board diagram?
Yep
bhodgins
@bhodgins
Apr 23 2015 15:20
lol
how do you like the tardix logo? lol
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:20
I really need those skills
I love it
bhodgins
@bhodgins
Apr 23 2015 15:21
Maybe
Maybe I could do one for tardix
lool
with the microkernel design
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:21
TARDIX is meant to be fast, slim, simple and secure.
That's why I opted for microkernel
bhodgins
@bhodgins
Apr 23 2015 15:23
right
so hey
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:23
Also, stable should be in that motto. But I wanted a short motto :P
bhodgins
@bhodgins
Apr 23 2015 15:23
what I can do is come up with some enlightening documentation for Kobjects, because it shouldn't interfere with the microkernel design
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:23
Please do.
also, @RainbowDashDC, I've been using daemon here, but the only true daemon running is sysw. The event-handlers (rednetd/devd/procd/netd/*d) are actually not running
bhodgins
@bhodgins
Apr 23 2015 15:24
all I need to know
is what has changed ab out the way processes call functions, are processes still yielding system calls
functions in the kernel or whatever
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:25
No, processes call the kernel functions directly for now
Jared Allard
@jaredallard
Apr 23 2015 15:25
I know @DemHydraz
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:25
(I'll implement the yielded syscalls now)
Jared Allard
@jaredallard
Apr 23 2015 15:25
rednetd is gone btw.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:25
I figured
bhodgins
@bhodgins
Apr 23 2015 15:25
yeah all you gotta do is check the yields for syscalls and handle them
passing args with em
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:25
yea, it's not hard
Jared Allard
@jaredallard
Apr 23 2015 15:25
replaced by netd, will have plain rednet compat.
bhodgins
@bhodgins
Apr 23 2015 15:26
and it prevents people from being able to call kernel stuff and crasking the kernel
crashing*
by going like
ooh! kernel.open = nil
(just an example)
some variant of that
Jared Allard
@jaredallard
Apr 23 2015 15:29
My school is hijacking my SSL connections trying to push a insecure cert onto me :(
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:29
wow
Jared Allard
@jaredallard
Apr 23 2015 15:29
Can't even connect too google...
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:29
my school doesn't even know what SSL means
bhodgins
@bhodgins
Apr 23 2015 15:31
What is it with THESE PEOPLE
Jared Allard
@jaredallard
Apr 23 2015 15:31
2015-04-23-083045_1600x900_scrot.png
bhodgins
@bhodgins
Apr 23 2015 15:32
ARRRGH
peoples mothers call saying hey I need to get into my daughter / sons account
TOUGH LUCK
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:32
WHY DOES YOUR ATOM NOT FIT WITH THE THEME??¡¡
bhodgins
@bhodgins
Apr 23 2015 15:32
This is college not high school, your kids are adults and you calling to do this is technically ilegal
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:33
Yielding syscalls=not possible
bhodgins
@bhodgins
Apr 23 2015 15:33
Why not?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:33
just hangs
bhodgins
@bhodgins
Apr 23 2015 15:33
is that not how the coroutine model works?
you're not doing it right them
you have a blocking coroutine handler
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:34
Yea, it hangs
entirely
nothing can get trough
not even terminates
I hate this
bhodgins
@bhodgins
Apr 23 2015 15:34
okay,. then there's a bug
or some design flaw somewhere right at that point or just around it
something in the way you're handling the processing
and propagation
Jared Allard
@jaredallard
Apr 23 2015 15:35
I have no idea, @DemHydraz
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:35
Maybe I'll just spawn a silent thread
Jared Allard
@jaredallard
Apr 23 2015 15:36
Just found this in nmap
--- Calculate a standard Internet checksum.
-- @param b Data to checksum.
-- @return Checksum.
function in_cksum(b)
  local sum = 0
  local i

  -- Note we are using 0-based indexes here.
  i = 0
  while i < b:len() - 1 do
    sum = sum + u16(b, i)
    i = i + 2
  end
  if i < b:len() then
    sum = sum + u8(b, i) * 256
  end

  sum = bit.rshift(sum, 16) + bit.band(sum, 0xffff)
  sum = sum + bit.rshift(sum, 16)
  sum = bit.bnot(sum)
  sum = bit.band(sum, 0xffff) -- truncate to 16 bits
  return sum
end
bhodgins
@bhodgins
Apr 23 2015 15:37
okay @DemHydraz so where in the code is the process yielding to?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:37
I know what's wrong
Jared Allard
@jaredallard
Apr 23 2015 15:37
?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:37
It's a flaw in coroutines.
Jared Allard
@jaredallard
Apr 23 2015 15:37
Oh boy.
Is it LuaJ? :(
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:38
yep.
bhodgins
@bhodgins
Apr 23 2015 15:38
where is it yielding to?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:38
I want to go back and work in Slope/Summit
Line 267, modules/lambda.lua, @bhodgins
bhodgins
@bhodgins
Apr 23 2015 15:43
hmmmm
so

function thread:update( event, ... )
--os.queueEvent('thread_update', self.tid, {event, ...})
if self.state ~= 'running' then return true, self.state end -- if not running, don't update
if self.filter ~= nil and self.filter ~= event then return true, self.filter end -- if filtering an event, don't update

local ok, data = coroutine.resume( self.co, event, ... )
if not ok then
self.state = 'stopped'
return false, data
end

if coroutine.status( self.co ) == 'dead' then
self.state = 'stopped'
return true, 'die'
end

self.filter = data
return true, data
end

AH CRAP
god damn you hastebin
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:45
Yees.
Tron Paul needs to support inode table reading
bhodgins
@bhodgins
Apr 23 2015 15:47
that's fine
it can be done with boot hooks.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 15:48
They're encoded and saved
(b64)
bhodgins
@bhodgins
Apr 23 2015 15:48
itl be wrirtten in tron paul
:D
Jared Allard
@jaredallard
Apr 23 2015 15:54
@awsumben13 for the record, there is another meeting Saturday, April 25th at 21:00 UTC (Just so you know)
bhodgins
@bhodgins
Apr 23 2015 15:55
@awsumben13 I thought we coordinated this yesterday?
and hello @awsumben13. Never heard from you before.
Jared Allard
@jaredallard
Apr 23 2015 15:56
He wasn't on, @bhodgins.
bhodgins
@bhodgins
Apr 23 2015 15:58
yeah 21:00 UTC is 4:00 PM EST
for some reason I thought it was 6:00 PM
Good thing I checked, heh.
we gotta get @DemHydraz on comms
on TS
Jared Allard
@jaredallard
Apr 23 2015 16:01
Eh, TS.
bhodgins
@bhodgins
Apr 23 2015 16:03
We also have a mumble server
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:03
Meh
bhodgins
@bhodgins
Apr 23 2015 16:03
anything but ventrillo. The ventrillo company is loaded full of assholes who need to be put in their place.
I will never use software to a company so evil.
and so heartless
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:04
I need to get a FreeBSD vm
bhodgins
@bhodgins
Apr 23 2015 16:04
I have many!
(since I run my own dedicated vm hosts)
lol
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:04
Cool.
But I meant a little qemu instance
bhodgins
@bhodgins
Apr 23 2015 16:04
ah
we use Xen
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:05
(KVM FOR THE WIN!)
bhodgins
@bhodgins
Apr 23 2015 16:05
Xen is amazing
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:05
I don't know how hypervisors work
I'm also making TARDIX rooms.
(jails)
bhodgins
@bhodgins
Apr 23 2015 16:06
I see.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:09
iT'S one of the project guildelins
everything has to be a Dr. Who pun.
Jared Allard
@jaredallard
Apr 23 2015 16:09
Here's the current new transport layers draft, opinions?
-- TCP LAYER --
#layer:tcp,version:101,source:65535,dest:65535,seq:0,checksum:70708,ack:0,fin:0#

-- IP Layer (all one line) --
#layer:ipv4,version:100,tl:10000,id:0xfff,flag:0,source:11000000.10101000.00000001.00000001,
dest:11000000.10101000.00000001.00000010,#

-- ICMP Layer --
#layer:icmp,type:0,code:0,checksum:70608,#
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:10
Is that binary with a dot?
wat is dis madness.
Jared Allard
@jaredallard
Apr 23 2015 16:10
Yes, it's how IPs are represented.
bhodgins
@bhodgins
Apr 23 2015 16:10
yeah dude
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:10
I generally go binary with no dots.
Or decimal with dots.
bhodgins
@bhodgins
Apr 23 2015 16:11
so these are the portocol formats?
Jared Allard
@jaredallard
Apr 23 2015 16:11
Well, not completely standard, but follow it to what makes sense.
bhodgins
@bhodgins
Apr 23 2015 16:11
why are you explicitly showing binary though
instead of a number
Jared Allard
@jaredallard
Apr 23 2015 16:12
because of TCP specs.
I mean, I could just use literal.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:14
Those are some short numbers
A pun so bad I cringed
Jared Allard
@jaredallard
Apr 23 2015 16:15
We all did, @DemHydraz.
Anyways, the headers look good right?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:16
Yea.
Jared Allard
@jaredallard
Apr 23 2015 16:16
Now to implement them! Fun!
(the hardest part will be distinguishing them as I have no idea how to pattern match well.
I can semi-regex, but no regex in Lua :(
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:17
I say split all the things
I say split all the things
split on the hash, split on the commas, gsub the hashes out and bam
Jared Allard
@jaredallard
Apr 23 2015 16:18
and for the weird ass checksum system, I think I'll have it remove the checksum field from the header, then check the checksums.
bhodgins
@bhodgins
Apr 23 2015 16:19
IPv6!
Jared Allard
@jaredallard
Apr 23 2015 16:19
oh god no.
bhodgins
@bhodgins
Apr 23 2015 16:19
maybe we should screw ipv4
Jared Allard
@jaredallard
Apr 23 2015 16:19
please. never say that. I can barely use IPv6 let alone understand & write it.
bhodgins
@bhodgins
Apr 23 2015 16:19
it's a bit more complicated to build, but it's actually faster if it is done right
hard to imagine something with longer addresses being faster
but it is because a proper ipv6 network is faster at routing
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:19
screw TCP/IP :p
Jared Allard
@jaredallard
Apr 23 2015 16:20
Since we will never have millions of computers, I vote no.
bhodgins
@bhodgins
Apr 23 2015 16:20
I don't like TCOP
TCP*
TCP is not my friend.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:20
I can see.
bhodgins
@bhodgins
Apr 23 2015 16:20
@RainbowDashDC the benefit of ipv6 is stateless autoconfiguration and neighbor discovery.
that can be very usefulf or minecraft players
to quickly build a network
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:21
TARDIX is targeted at developers not players :tongue:
Jared Allard
@jaredallard
Apr 23 2015 16:21
I won't touch IPv6.
IPv4 is simple, and used by most people.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:21
(for now)
Jared Allard
@jaredallard
Apr 23 2015 16:21
Yes, for now.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:21
We don't even have Ipv6 over here in Brazil!
Jared Allard
@jaredallard
Apr 23 2015 16:21
TCP will be needed as a transport layer regardless
bhodgins
@bhodgins
Apr 23 2015 16:22
yeah I won't argue that
Jared Allard
@jaredallard
Apr 23 2015 16:22
(or UDP, but that's not a replacement for TCP..)
bhodgins
@bhodgins
Apr 23 2015 16:22
as much as I absolutely hate TCP
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:22
@RainbowDashDC, NACK.
bhodgins
@bhodgins
Apr 23 2015 16:22
@RainbowDashDC ever heard of UDT?
and RUDP / SCTP
they're all really neat protocols
Jared Allard
@jaredallard
Apr 23 2015 16:22
@bhodgins Nope.
bhodgins
@bhodgins
Apr 23 2015 16:22
UDT is application layer but uses UDP and is reliable like TCP, but much faster.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:22
Reliable UDP?
Jared Allard
@jaredallard
Apr 23 2015 16:23
also, if we want IPv6 later, not that hard to write a new layer :P
bhodgins
@bhodgins
Apr 23 2015 16:23
RUDP is reliable IDP
UDP*
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:23
Seems oxymoronic.
bhodgins
@bhodgins
Apr 23 2015 16:23
and SCTP is a streaming controllable protocol
not at all
TFTP is a reliable UDP protocol.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:23
DAMN ALL THOSE ACRONYMS!
bhodgins
@bhodgins
Apr 23 2015 16:24
@DemHydraz even in the software world, it is technically more design efficient to optimize your network design
so for example
if you need an acklowlegedment, coordinate them
but if you don't nevermind them
in a game
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:24
ack
bhodgins
@bhodgins
Apr 23 2015 16:24
you're moving around the game map
you don't want acks
that's stupid
but
scoring updates, etc, you probably want ACKs
to ensure the data gets there.
some packets you want order, but no ack
that is pretty rare but happens
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:26
ACK.
bhodgins
@bhodgins
Apr 23 2015 16:26
it would be stupid to use TCP for all this
because it is much slower.
@DemHydraz a 140 KB/s TCP stream using UDT appropriately can boost it up to like 800 KB/s
there is a huge overhead.
Jared Allard
@jaredallard
Apr 23 2015 16:26
-- IPv6 Layer (not implemented, but drafted) (all rep in *bit* form) --
#layer:ipv6,version:000,tclass:00000000,flabel:00000000000000000000,plength:000000000000000,nextheader:type,
hop:0,source:128bits,dest:128bits,#
that one is down to the exact specs.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:27
DAMNIT.
bhodgins
@bhodgins
Apr 23 2015 16:27
wouldn't the layer be network?
Jared Allard
@jaredallard
Apr 23 2015 16:27
Yes.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:27
ugh
brian, you know the Cs?
bhodgins
@bhodgins
Apr 23 2015 16:28
Cs
?
counter stri9ke?
Jared Allard
@jaredallard
Apr 23 2015 16:28
but it's easier to determine via this method.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:28
Ye Olde Programming Language
bhodgins
@bhodgins
Apr 23 2015 16:28
oh, you mean C?
sure
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:28
Google!
FUCK YOU
Jared Allard
@jaredallard
Apr 23 2015 16:29
Does that IPv6 packet format look correct, @bhodgins?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:29
@RainbowDashDC, you know ye olde Programming language?
bhodgins
@bhodgins
Apr 23 2015 16:29
I know C
and so doesn't @RainbowDashDC
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:30
ohlook, ubuntu 15.04
Time to mock the newbs.
Jared Allard
@jaredallard
Apr 23 2015 16:30
I set my friend, new to linux, up with Arch and I regret it.
bhodgins
@bhodgins
Apr 23 2015 16:30
really?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:30
Ubuntu is the favourite environment for Linux developers, celebrated in products such as the Dell XPS 13 Developer Edition.
bhodgins
@bhodgins
Apr 23 2015 16:30
I often start my underlings with Slackware
Jared Allard
@jaredallard
Apr 23 2015 16:30
He has no idea how to even do anything
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:30
Ubuntu is the favourite environment for shitty Linux developers,
Jared Allard
@jaredallard
Apr 23 2015 16:31
and keeps asking me how to everything and it's like "I ain't got time for that"
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:31
There, canonical, fixed it for ya
bhodgins
@bhodgins
Apr 23 2015 16:31
I have a friend whom instead of Linux, I started them with FreeBSD
Jared Allard
@jaredallard
Apr 23 2015 16:31
Oh jeez
bhodgins
@bhodgins
Apr 23 2015 16:31
they are now *nix masters
well gettin therer
Jared Allard
@jaredallard
Apr 23 2015 16:31
I used FreeBSD for a VPN.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:31
I started a friend with Cygwin on windows.
He learned POSIX C, mastered bash
Jared Allard
@jaredallard
Apr 23 2015 16:31
Digital Ocean suspended the account for sending spam emails.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:31
And then, I set up Arch for him.
Jared Allard
@jaredallard
Apr 23 2015 16:32
which is odd because it was all SSL key protected, so something bad happened.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:32
He was like 'Meh, I got this.'
Jared Allard
@jaredallard
Apr 23 2015 16:32
Cygwin is eh imo. I use MSYS2 for everything now.
I mean, it even has pacman.
No apt-cyg crap.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:33
Yea, there was no MSYS2 2 years 'go
he didn't use apt-cyg tho
he used curl, tar and make
Ubuntu 15.04 is the advanced developers’ favourite platform today, and presents a fully converged platform spanning cloud, device and client.
Ubuntu 15.04 is the noob's favourite platform today,
bhodgins
@bhodgins
Apr 23 2015 16:34
@RainbowDashDC I usually only help people who are serious about learning something
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:34
Fixed it for you again, Canonical.
bhodgins
@bhodgins
Apr 23 2015 16:34
in which case I give them something that will require them to learn everything the hard way.
It's seriously effective for those types.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:35
Ughhhhhhhhhhhhhhhh.
I need to finish implementing IDE. :(
bhodgins
@bhodgins
Apr 23 2015 16:35
?
NO
no ATA for you
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:36
?
bhodgins
@bhodgins
Apr 23 2015 16:36
@DemHydraz want to know how my OS worked?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:36
Yea.
bhodgins
@bhodgins
Apr 23 2015 16:36
no internal storage. All storage / IO comms were over serial
it was your one and only IO port really
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:36
Oh, wow.
bhodgins
@bhodgins
Apr 23 2015 16:36
data packets were multiplexed over it
easy to program
less drivers to write
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:37
But I am implementing ATA/SATA/ATAPI (ugh, acronyms) too
bhodgins
@bhodgins
Apr 23 2015 16:37
SCSI!
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:37
wat
bhodgins
@bhodgins
Apr 23 2015 16:38
dude
SCSI is a pita but awesome
only because there's hundreds of SCSI controllers that all work differently
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:38
Yea.
bhodgins
@bhodgins
Apr 23 2015 16:39
but there's a reason why Linux uses the ACPI SCSI driver or whatever to talk to sata disks
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:39
I already have to implement a kernel-mode SATA driver and a user-mode SATA-to-RFS translator
bhodgins
@bhodgins
Apr 23 2015 16:39
and IDE disks now
ever noticed hda, etc is gone?
it's all sda, sdb, etc now
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:39
Yea, it's sda/sdb/ sdx
bhodgins
@bhodgins
Apr 23 2015 16:39
that's the scsi backend
FreeBSD takes a different approach
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:40
(woohoo for microkenel design)
I always assumed sda meant 'SATA Drive A'
bhodgins
@bhodgins
Apr 23 2015 16:40
the most common driver for FreeBSD disks is ATA Direct Access
or ada
nah. the sata drives have always used a scsi backend
because sata is sort of built on top of scsi but not really
and then Linux decided to put IDE drives on the SCSI backend too by writing a wrapper
just so they all communicate the same way
for example, you insert a USB storage dev ice
it shows up as sdb or sdc, etc
if you noticed?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:41
yea.
bhodgins
@bhodgins
Apr 23 2015 16:41
SCSI backend :)
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:41
mine's sde.
bhodgins
@bhodgins
Apr 23 2015 16:41
yeah
with FreeBSD usb sticks show up as da
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:42
(I have 2 SSDs + 2 HDDs)
bhodgins
@bhodgins
Apr 23 2015 16:42
so like
my first usb stick partition 2 is like da0s2
and my first hard drive that's scsi is like
ada0s1
for partition 1
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:42
sector 1?
bhodgins
@bhodgins
Apr 23 2015 16:42
no
I dunno why it has an s
actually
some of them say p instead
I think its s for GPT
and p for the MSDOS lab el
label*
because GTP doesn't really have partitions.. I mean rthey are partitions but they aren't ... partitions
GPT*
not the same you remember
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:44
It's a GUID partition table
Jared Allard
@jaredallard
Apr 23 2015 16:44
  -- TCP Layer
  local tcp = "#layer:tcp" ..
    ",version:" .. tcpver ..
    ",dest:" .. tostring(channel) ..
    ",source:" .. tostring(channel) ..
    ",seg:0" ..
    ",checksum:" .. fcs16.hash(body) ..
    ",#"

  -- IPv4 Layer
  local ipv4 = "#layer:ipv4"
    ",version:" .. ipv4ver ..
    ",tl:10000" ..
    ",id:" .. net:genIpv4ID() ..
    ",flag:1" ..  -- don't fragment (yet)
    ",source:" .. tostring(this.inf[side].ip) ..
    ",dest:" .. tostring(ip)

  -- IPv4 checksum
  ipv4 = ipv4 ..
    ",checksum:" .. fcs16.hash(ipv4)

  -- ICMP layer
  local icmp = "#layer:icmp"
    ",type:1" .. -- 1  (resever on ICMP standards) is our normal first packet req
    ",code:0"

  -- ICMP checksum
  icmp = icmp ..
    ",checksum:" .. fcs16.hash(icmp)
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:44
Why can't the checksums be together?
Jared Allard
@jaredallard
Apr 23 2015 16:44
checksums are checksum of the entire header.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:45
oooooooh.
Jared Allard
@jaredallard
Apr 23 2015 16:45
we cannot make a checksum of the checksum already in the header xD
bhodgins
@bhodgins
Apr 23 2015 16:45
WHY NOT
Jared Allard
@jaredallard
Apr 23 2015 16:45
:sparkles: magic :sparkles:
bhodgins
@bhodgins
Apr 23 2015 16:45
:D
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:45
 local ipv4 = "#layer:ipv4"
    ",version:" .. ipv4ver ..
    ",tl:10000" ..
    ",id:" .. net:genIpv4ID() ..
    ",flag:1" ..  -- don't fragment (yet)
    ",source:" .. tostring(this.inf[side].ip) ..
    ",dest:" .. tostring(ip) ..
    ",checksum:" .. fcs16.hash( local ipv4 = "#layer:ipv4"
    ",version:" .. ipv4ver ..
    ",tl:10000" ..
    ",id:" .. net:genIpv4ID() ..
    ",flag:1" ..  -- don't fragment (yet)
    ",source:" .. tostring(this.inf[side].ip) ..
    ",dest:" .. tostring(ip))
bhodgins
@bhodgins
Apr 23 2015 16:45
you can call it checksupover9000
checksumover 9000

underscores do not work right in this channel
Jared Allard
@jaredallard
Apr 23 2015 16:46
I am learning so much by doing this, haha.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:46
checksum_over_9000
You can escape them
Jared Allard
@jaredallard
Apr 23 2015 16:46
It's cleaner code by doing what I am doing.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:46
(they're markdown for underline)
bhodgins
@bhodgins
Apr 23 2015 16:46
heh.
you could checksum the checksum of checksums
Jared Allard
@jaredallard
Apr 23 2015 16:47
I may/may not be presenting next period, which is stressing me out so much.
bhodgins
@bhodgins
Apr 23 2015 16:47
wot
what class?
Jared Allard
@jaredallard
Apr 23 2015 16:47
bio
bhodgins
@bhodgins
Apr 23 2015 16:47
hmmm
Jared Allard
@jaredallard
Apr 23 2015 16:47
on a project I completly faked.
:(
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:47
LOL.
bhodgins
@bhodgins
Apr 23 2015 16:48
you should present biological computing
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:48
bring your lappy to there,
we'll help.
bhodgins
@bhodgins
Apr 23 2015 16:48
build logic gates with biomass
Jared Allard
@jaredallard
Apr 23 2015 16:48
It's on "GMOs and their relation to Depression"
bhodgins
@bhodgins
Apr 23 2015 16:48
they're slower
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:48
just read, out loud, everything we write.
Jared Allard
@jaredallard
Apr 23 2015 16:48
Oh god no.
bhodgins
@bhodgins
Apr 23 2015 16:48
but you can totally build an accumulator with chemistry knowlege and biomass
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 16:49
And because of this, dicks cause Depression.
Jared Allard
@jaredallard
Apr 23 2015 16:49
next thing I know I'm discussing quantum physics for no apparent reason.
bhodgins
@bhodgins
Apr 23 2015 16:51
LOL
bhodgins
@bhodgins
Apr 23 2015 17:00
if you know for sure you aren't presenting then why not just leave?
Jared Allard
@jaredallard
Apr 23 2015 17:01
I can't :(
I'm not presenting today! :D
But I will be tomorrow :(
bhodgins
@bhodgins
Apr 23 2015 17:03
then why can't you leave?
if you have no reason to be there lol
Jared Allard
@jaredallard
Apr 23 2015 17:03
It's High School :/
bhodgins
@bhodgins
Apr 23 2015 17:04
Oh crap. in that case, ow
I wish HS was more like college
where you just make your schedule and can even go wherever in between
Jared Allard
@jaredallard
Apr 23 2015 17:04
So f'in true.
bhodgins
@bhodgins
Apr 23 2015 17:04
lounges and crap and take a nap on a couch
or get food whenever
Jared Allard
@jaredallard
Apr 23 2015 17:04
I want out of here.
I hate HS.
learning shit I don't need too.
bhodgins
@bhodgins
Apr 23 2015 17:05
it's true. a lot of the stuff you learn in High school is useless.
Jared Allard
@jaredallard
Apr 23 2015 17:05
Can I just have all Programming & Prog. Design D:
bhodgins
@bhodgins
Apr 23 2015 17:05
I understand english classes and maybe one history class
but there's a lot of crap..
Jared Allard
@jaredallard
Apr 23 2015 17:05
History is fun at least.
bhodgins
@bhodgins
Apr 23 2015 17:05
I attended voc when I was in HS
so at my junior and senior year, for half a day every day I would go to another sc hool for robotics engineering
so much fun
Jared Allard
@jaredallard
Apr 23 2015 17:06
That's what I do right now, sorta.
I take A+ & Network+ classes outside of my school.
bhodgins
@bhodgins
Apr 23 2015 17:06
I see.
Jared Allard
@jaredallard
Apr 23 2015 17:07
I only have 3.2 periods here.
bhodgins
@bhodgins
Apr 23 2015 17:07
not a fan of A+
heh
Jared Allard
@jaredallard
Apr 23 2015 17:07
A+ is the most frustratingly wrong thing ever.
bhodgins
@bhodgins
Apr 23 2015 17:07
I know a lot of people with A+ that don't know anything
I do not have an A+.
I've been offered to just take it but meg
meh*
I won't participate in such a lousy c ert.
Jared Allard
@jaredallard
Apr 23 2015 17:08
I fail exams sometimes because they decided their opinions are god.
bhodgins
@bhodgins
Apr 23 2015 17:08
lol
happens.
Jared Allard
@jaredallard
Apr 23 2015 17:08
and fail to clarify that VGA != VGA.
bhodgins
@bhodgins
Apr 23 2015 17:08
I got an 89 on my C programming exam :D
Jared Allard
@jaredallard
Apr 23 2015 17:08
Adapter != Accelerator
bhodgins
@bhodgins
Apr 23 2015 17:08
because I made one stupid mistake
I forgot to return from a function I wrote
Jared Allard
@jaredallard
Apr 23 2015 17:09
Oh jeez, that's tough xD
bhodgins
@bhodgins
Apr 23 2015 17:09
which is normal in languages that return the last expression :D
oh well
89's an 89
I'm taking it this semester just for fun
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:09
89/100?
bhodgins
@bhodgins
Apr 23 2015 17:09
I almost skipped it
yes
89 of 100
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:09
oh, ok.
(There are some weird schools here. There are some that have tests worth 150)
bhodgins
@bhodgins
Apr 23 2015 17:10
heh
100 is easy to scale
Jared Allard
@jaredallard
Apr 23 2015 17:10
my school's tests are 5
bhodgins
@bhodgins
Apr 23 2015 17:11
just 5 points?
sounds to me like they don't like doing math
Jared Allard
@jaredallard
Apr 23 2015 17:11
Yep :(
Brb gotta close laptop for watching others presentations.
bhodgins
@bhodgins
Apr 23 2015 17:11
calculus is killing me right now because the stuff on the tests are not what we get on the homework
heh
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:14
Do you know what uints are, @bhodgins?
bhodgins
@bhodgins
Apr 23 2015 17:15
yes
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:15
What are they?
bhodgins
@bhodgins
Apr 23 2015 17:15
uint? uint is unsigned integer
uint8 would be an 8 bit unsigned integer
you can also be like
50UL * 30UL
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:16
Actually, they're special integers. Just for u.
bhodgins
@bhodgins
Apr 23 2015 17:16
LOL
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:20
DAMNIT ASSEMBLY
bhodgins
@bhodgins
Apr 23 2015 17:27
assembly is great
as long as it is not x86
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:29
well guess what
it is!
what's insl supposed to do?
bhodgins
@bhodgins
Apr 23 2015 17:32
In what context?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:41
darnit my IDE code is faulty
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:46
I need to finish my transassembler
Also, what the fuck does sti mean, intel?!
bhodgins
@bhodgins
Apr 23 2015 17:48
lol
Jared Allard
@jaredallard
Apr 23 2015 17:48
This person presentation took 10 minutes to download; lol
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 17:49
Really, cli makes sense, ish
CLear Interrupts
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 18:00
Hmm, I need to implement buffered IO..
in C
Jared Allard
@jaredallard
Apr 23 2015 18:06
that uint joke tho
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 18:13
I wonder, are mutexes possible?
Maybe with huge hax
impossible
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 18:41
Finished documenting libprog!
(actually just libprog.daemonize())
libprog.daemonize

While libprog.daemonize is not asynchronous in itself, it can help in creating event-handler threads and programs.

Libprog.daemonize takes no arguments, and returns an empty daemon.

  • libprog.daemonize():addEvent
    :addEvent creates a new event handler entry in the daemon's list of events. It takes 2 arguments, the first one being the name of the event and the second one being a handler function.

    Example:

        local libprog = require 'libprog'
    
        libprog.daemonize()
          :addEvent('hello', function(event, who) printf("Hello, %s!", who) end)

    This specific example creates a new daemon, then, assigns the function function(event, who) printf("Hello, %s!", who) end to handle the event hello. The handler function can take a variable number of arguments, but the first one is the name of the event.

  • libprog.daemonize():start
    :start creates a function to handle passed events, and runs it. It takes a variable number of arguments, and those are passed to the event-handling function.

    The specific function created looks a little like this:

      local args = {...} -- make a table out of the passed arguments
      for k, v in pairs(evs) do -- iterate over the passed event handler table
        if args[1] == k then -- does the first argument (event name) equal the name of the event we're looking at?
          for e, d in pairs(v) do -- It does. Call any handlers.
            pcall(d, ...) -- Safely call.
          end
        end
      end

    Example:

    local libprog = require 'libprog'
    
    libprog.daemonize()
      :addEvent('hello', function(event, who) printf("Hello, %s!", who) end)
      :run('hello', 'World')

    This example creates a daemon, assigns the function to the event, and runs said function (because "hello" == "hello") with the parameters 'hello', 'world'. Can you guess what this program does? You guessed it; It prints out 'Hello, World!'.

Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 18:54
@RainbowDashDC
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 19:34
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:16
While I think CC osdev is fun and relaxing, I think we'd be great at real-life OSdev (with a real language)
(my real language of choice is C++; I can't live without oop)
Jared Allard
@jaredallard
Apr 23 2015 20:19
I think so too, If I knew them languages.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:20
you dunno the C++?
(not even C?)
@RainbowDashDC not even C?
Jared Allard
@jaredallard
Apr 23 2015 20:23
I know C a bit
not proven and types confuse me
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:24
not proven?
types:
int -> number
unsigned int -> positive number
long init -> big number
unsigned long int -> positive big number
short int -> 2 bytes (up to 255)
unsigned short int -> postive 2 bytes
Jared Allard
@jaredallard
Apr 23 2015 20:26
what's a * mean
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:26
value of a pointer
Jared Allard
@jaredallard
Apr 23 2015 20:26
which is?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:26
except in a type-declaration when it actually determines a pointer
and a pointer is of a number of sizet-type (_SIZE_TYPE gets defined to size_t (or size, on Slope)) that, well, points to the memory location of another var
int* p; // pointer to an integer
int i; // integer value

int i2 = *p; // integer value

int* p2 = &i; // pointer to an integer
Jared Allard
@jaredallard
Apr 23 2015 20:28
that is so confusing to me.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:28
think of it like this:
Jared Allard
@jaredallard
Apr 23 2015 20:28
What, I really need to do, is take a C class.
up close and personal.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:28
when * comes before a =, it means This is a pointer.
when it comes after a =, it means, "This is the value of pointer x"
& means "Get address of this."
Also, a pointer to an array is equal to the first element of that array and incrementing that by x points to element x of said array
so, this applies:

int myArray[5] = { 1,2,3,4,5 };

printf("%d\n", *myArray); // prints 1
printf("%d\n", *(myArray+2)); // prints 3
Jared Allard
@jaredallard
Apr 23 2015 20:33
Ohhh
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:35
is that confusing?
so, a valid way to iterate over an array is this:

for(int i = 1; i < 30; i++);
    printf ("%d\n", *(myArray+i));
( @bhodgins can shed some light on the issue )
Jared Allard
@jaredallard
Apr 23 2015 20:41
Yea, I get that a little
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:42
You can say an array (in C) is a collection of memory addresses
Sometimes you write to a pointer to an array of chars.. a string buffer
(asprintf.. assprintf = allocated string printf)
if you understand pointers (and pointer arithmetics) you understand C
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 20:59
I'm on reddit. SAVE MEEEEEEEEEEEEEEEEE!
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:11
KERNEL 4.0 ON TESTING/!
Jared Allard
@jaredallard
Apr 23 2015 21:26
Sorry, setting up coreos on a server ATM.
Darkbitt
@Darkbitt
Apr 23 2015 21:31
hi
should I put libnet in Kitten?
Jared Allard
@jaredallard
Apr 23 2015 21:32
If you want IP support, yes.
keep up with the branch libnet from chameleon.
Darkbitt
@Darkbitt
Apr 23 2015 21:32
wait
I got a better idea
Im gonna just make it a KPM package.
So I dont have to keep comitting for every update
It would be for developers, really.
I wouldn't use it in the OS.
Jared Allard
@jaredallard
Apr 23 2015 21:33
eh, sure, but don't expect me to contrib.
Darkbitt
@Darkbitt
Apr 23 2015 21:33
kk
I like KPM better than cells
Isn't cells just ONE FILE FOR ONE PACKAGE INFO FILE?
Ok
brb for 15-60 minutes
Jared Allard
@jaredallard
Apr 23 2015 21:35
@DemHydraz, you've been called.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:35
I have been called?
@FlareHAX0R, no
I don't know how open() callbacks to userspace are going to work
in C you'd send a pointer to a func
Darkbitt
@Darkbitt
Apr 23 2015 21:40
im talking from the fedora live cd right now
@DemHydraz, I got your command loaded on a txt file to install grub on my windows partition, which is mounted right now.
also KPM has namespaces
and it lists which packages are installed
gah
anaconda and firefox running at the same time causes
lag
Oh, @DemHydraz there is an option to disable installing the bootloader
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:43
Then do it
Darkbitt
@Darkbitt
Apr 23 2015 21:43
I did
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:44
You might need to sudo
try cat <file> | sudo bash
Darkbitt
@Darkbitt
Apr 23 2015 21:44
I know how to sudo
wow
Gnome glitch much.
I am SO updating GNOME once this is installed.
Jared Allard
@jaredallard
Apr 23 2015 21:46
GNOME has been causing me so many problems
Darkbitt
@Darkbitt
Apr 23 2015 21:46
Ok
It's installing
and that hotdog stares at me when I look at the installer O.o
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:47
GNOME has been working fine for me(tm)
Darkbitt
@Darkbitt
Apr 23 2015 21:47

ThatCreepyHotdog

Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:47
#justmarkdownythings
Darkbitt
@Darkbitt
Apr 23 2015 21:47
oops
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:47
Escape the char.
Darkbitt
@Darkbitt
Apr 23 2015 21:47
I mean hashtag # thatcreepyhotdog
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:47
\ + #
#thatcreepyhotdog
@RainbowDashDC, install it, then, on your DM, choose "GNOME on Wayland"
(answer to your day-old question about gnome on wayland)
Jared Allard
@jaredallard
Apr 23 2015 21:48
Wayland has bad mouse accell for me
(i already figured it out)
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:49
Oh.
sorry!
but, yea
Linux. YMMV. YMWV.
your mileage WILL vary.
Darkbitt
@Darkbitt
Apr 23 2015 21:50
also
btw, with kInit and sysw
I am not gonna let this be a upstart and systemd type thing.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:50
Good.
because sysw/systemw is just that.
a systemd-type thing
That propagates events to daemons.
Darkbitt
@Darkbitt
Apr 23 2015 21:52
also, ubuntu finally dumped upstart for systemd
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:52
Yes.
THE MASTERRACE CLAIMS ANOTHER DISTRO.
another distro
Darkbitt
@Darkbitt
Apr 23 2015 21:53
/15.04
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:53
another crap
fixed that for you, matt.
Added Inode linking, @RainbowDashDC
Darkbitt
@Darkbitt
Apr 23 2015 21:55
also I like the chameleon bootloader
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:56
It's bad.
It's going to be replaced
Darkbitt
@Darkbitt
Apr 23 2015 21:57
also @DemHydraz lets compare Cells and KPM
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:58
Cells are not A PACKAGE MANAGEMENT SYSTEM!
Darkbitt
@Darkbitt
Apr 23 2015 21:58
oh
what IS cells then
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:58
CELLS ARE BUILD SCRIPTS>
LIKE MAKE.
Darkbitt
@Darkbitt
Apr 23 2015 21:58
oh.
I see :P
thats nice to know
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:58
I have told you that
a
thousand
a literal thousand
times
Darkbitt
@Darkbitt
Apr 23 2015 21:59
So what will the package manager be for chameleon
and sorry I forgot.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 21:59
a combination of cells+the cell trees
+ an utility to manage those
Jared Allard
@jaredallard
Apr 23 2015 22:02
Inode linking :D
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 22:03
most of the file data is stored in the inode
so opening/reading a link is just this:
Jared Allard
@jaredallard
Apr 23 2015 22:03
waits for block device support.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 22:03
if self.link.is then
    return self.link.to:open(mode)
end
block devices (and sysfs) are going to be implemented in-kernel
(usermode listeners should watch for a vfs_open event and register their FSinstances)
I'm also going to add event lua patterns to the sysw config parser
Jared Allard
@jaredallard
Apr 23 2015 22:08
Okay, major design question
"monkeypatch" fs, or implement seperate FS calls.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 22:09
Monkeypatch?
I don't know what that means. But vfs and fs are going to be kept separate
Jared Allard
@jaredallard
Apr 23 2015 22:09
Awnsered my question cx
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 22:09
:p
I guessed it meant overwriting certain FS api calls
Jared Allard
@jaredallard
Apr 23 2015 22:18
ye
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 22:29
modules.module "vfs" {
    ["text"] = {
        ["load"] = function()
            _G.tfs = vfs
        end,
        ["unload"] = function()
            _G.tfs = nil
        end
    }
}
-- WHAT COULD THIS MEAN?!!ONEONE11¹¹!!???????¿¿¿¿
@RainbowDashDC
@FlareHAX0R @bhodgins
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 22:39
TARDIX/Kernel@299e7bf @bhodgins @RainbowDashDC @FlareHAX0R @awsumben13
BY THE POWER OF MOUSE FARTS, YOUR DESKTOP BE FASTER!
bhodgins
@bhodgins
Apr 23 2015 23:26
Hey guys
I was in an exam
I told you that
Jared Allard
@jaredallard
Apr 23 2015 23:28
Hey, @bhodgins! How'd it go?
bhodgins
@bhodgins
Apr 23 2015 23:28
I have no idea
I at least wrote something on every question but the bonus
Jared Allard
@jaredallard
Apr 23 2015 23:29
Welp, hope it goes well!
and awesome @DemHydraz!
bhodgins
@bhodgins
Apr 23 2015 23:30
It wasn't all that bad, I mean there were uestions like you have an object like this at top of 30M hill, it is 5 Kg, it is this big and etc and is this type of object, find its moment of inertia and then tell me how fast its going atr the bottom of the hill
welp
doesn't tell you how high up the hill is or anything.. so you have to make it into an energy problem..
by the way, notice how the pictures of those mice..
they're farting debian clouds on a fedora advertisement
Jared Allard
@jaredallard
Apr 23 2015 23:32
Hahaha, they are.
bhodgins
@bhodgins
Apr 23 2015 23:33
you know when I used Fedora core
er
when I used fedora, it was still fedora core
and it was fedora core 3
Jared Allard
@jaredallard
Apr 23 2015 23:33
I have that.
On an old CISCO Eagle Server
Running linux 2.6
bhodgins
@bhodgins
Apr 23 2015 23:34
which released in 2004
lol
wait what?
how is it running 2.6? unless you did that..
Jared Allard
@jaredallard
Apr 23 2015 23:34
Well, maybe 2.<something else>
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 23:35
@RainbowDashDC @bhodgins where does GRUB pull it's configs from?
Jared Allard
@jaredallard
Apr 23 2015 23:35
@DemHydraz the default?
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 23:35
I've just fixed a broken system (Thanks a lot, Plymouth!), and I've removed the splash cfg from /etc/default/grub
bhodgins
@bhodgins
Apr 23 2015 23:35
well I guess 2.6 was 2003..
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 23:35
but it's still there.
bhodgins
@bhodgins
Apr 23 2015 23:36
I was using 2.4 until like, I dunno.
Slackware 11.1 or so
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 23:38
Oh there it s gone now
bhodgins
@bhodgins
Apr 23 2015 23:38
2007 or so
man
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 23:44
Damnit plimouth.
@bhodgins did you see the basic vfs?
I now need to make larfs.
Then the bootloader can include a larfs-loading stub
Jared Allard
@jaredallard
Apr 23 2015 23:50
I think I'm going to name libnets specs "CCTP/IP"
bhodgins
@bhodgins
Apr 23 2015 23:50
I did not
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 23:51
TARDIX/Kernel@299e7bf
It supports a basic mount
(either tries to load an inode table at <fs>.files (and copies to root) or calls <fs>:doMount)
It doesn't support umount..
yet
But it does support the basic FS operations
(all of them in fact)
Jared Allard
@jaredallard
Apr 23 2015 23:55
It's really awesome.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 23:55
It also supports a basic link
(but that's at an inode-level)
Jared Allard
@jaredallard
Apr 23 2015 23:56
Pour more work into it and we have the future ;D
Your commenting skills never cease too impress me though :P
/me silently pushs @DemHydraz to look at libnet.lua's commenting.
Matheus Magalhães de Alcantara
@demhydraz
Apr 23 2015 23:56
My commiting skills?
Oh, you mean code commenting.,
I'm impressed too.
I mostly do documentation off-tree.
Jared Allard
@jaredallard
Apr 23 2015 23:57
I know, but for devs that equals :(
off-tree docs work.
but for understanding src, nope.
andddd getting off the bus