Jump to content




Standalone CC OSes.

lua java

81 replies to this topic

#41 jerimo

  • Members
  • 74 posts

Posted 22 June 2015 - 03:25 AM

Tiny core is about 15mb just saying

#42 Alice

  • Members
  • 429 posts
  • LocationBehind you.

Posted 22 June 2015 - 03:50 AM

True, but I'd rather use something if it were based off of Arch instead of an OS that's so small it's 15 MB. Something about having Arch being larger but still compact and bare when starting.

#43 jerimo

  • Members
  • 74 posts

Posted 22 June 2015 - 01:40 PM

View PostAlice, on 22 June 2015 - 03:50 AM, said:

True, but I'd rather use something if it were based off of Arch instead of an OS that's so small it's 15 MB. Something about having Arch being larger but still compact and bare when starting.
Likely a good idea, arch was made to be small enough to be able to bring life back into the good old.machines you got with Windows 93 preinstalled and the such. Still quite powerful though considering

#44 ardera

  • Members
  • 503 posts
  • LocationGermany

Posted 22 June 2015 - 04:39 PM

View Postoeed, on 05 December 2014 - 10:47 AM, said:

Running something like OneOS would certainly be very cool, I'm not doubting that. But ComputerCraft just has so many limitations such as the tiny colour palette and massive pixels/character based.
That's right, although this version may be only used for educational uses.
Maybe we shouldn't make it compatible with ComputerCraft. What I mean is, that maybe the idea of a system using Lua instead of C(++) is better than using ComputerCraft with it's limitations instead of C(++). This system wouldn't be compatible with CC then, but it would enable stuff like a full RGB color palette, better http, pixels (bigger than the pixels the display features, not only because of performance), a native GUI library (coded in C, because it'd be slow in Lua)

#45 LDDestroier

  • Members
  • 1,095 posts
  • LocationACDC Town

Posted 22 June 2015 - 05:16 PM

An idea for rednet/modem implementation is to automatically seek for other CraftOS-Linux running machines, and have rednet/modem messages run over wifi/bluetooth. Hell, it could use actual gps servers for a sort of fake coordinate system rather than longitude/latitude.

#46 FUNCTION MAN!

  • Members
  • 292 posts

Posted 23 June 2015 - 12:12 AM

View PostAlice, on 22 June 2015 - 02:10 AM, said:

Install Arch Linux with just the 'base' packages. That'll provide you with -nothing- except for a package manager. Not even Wi-Fi support. Good luck running wpa_supplicant (I kinda forgot about that for this install x3)

Alissa, plis. base and base-devel.
plis.
p l i s.

#47 Alice

  • Members
  • 429 posts
  • LocationBehind you.

Posted 23 June 2015 - 05:18 AM

View PostDr. Poof, on 23 June 2015 - 12:12 AM, said:

View PostAlice, on 22 June 2015 - 02:10 AM, said:

Install Arch Linux with just the 'base' packages. That'll provide you with -nothing- except for a package manager. Not even Wi-Fi support. Good luck running wpa_supplicant (I kinda forgot about that for this install x3)

Alissa, plis. base and base-devel.
plis.
p l i s.

Nah.

#48 クデル

  • Members
  • 349 posts

Posted 23 June 2015 - 07:12 AM

View PostLDDestroier, on 22 June 2015 - 05:16 PM, said:

An idea for rednet/modem implementation is to automatically seek for other CraftOS-Linux running machines, and have rednet/modem messages run over wifi/bluetooth. Hell, it could use actual gps servers for a sort of fake coordinate system rather than longitude/latitude.

Sending messages to other machines over the same network, or even the networking converting IP address to WAN and LAN ID's would be awesome.

#49 Alice

  • Members
  • 429 posts
  • LocationBehind you.

Posted 23 June 2015 - 09:50 AM

View PostSandstorm, on 23 June 2015 - 07:12 AM, said:

View PostLDDestroier, on 22 June 2015 - 05:16 PM, said:

An idea for rednet/modem implementation is to automatically seek for other CraftOS-Linux running machines, and have rednet/modem messages run over wifi/bluetooth. Hell, it could use actual gps servers for a sort of fake coordinate system rather than longitude/latitude.

Sending messages to other machines over the same network, or even the networking converting IP address to WAN and LAN ID's would be awesome.
Lua by default uses integers (LuaJ doesn't. Uses floats. What a shame). An integer is a 4-byte sequence of bits, which also happens to be the same size as an IPv6 address. This means that in raw Lua, we could have computer networks using IPv4/v6 local addresses that go up to the maximum size of an integer. This could actually work.

#50 ardera

  • Members
  • 503 posts
  • LocationGermany

Posted 23 June 2015 - 02:58 PM

View PostAlice, on 23 June 2015 - 09:50 AM, said:

Lua by default uses integers (LuaJ doesn't. Uses floats. What a shame). An integer is a 4-byte sequence of bits, which also happens to be the same size as an IPv6 address. This means that in raw Lua, we could have computer networks using IPv4/v6 local addresses that go up to the maximum size of an integer. This could actually work.
IPv6 adresses are bigger than 4 bytes. IPv4 adresses are exactly 4 bytes: the maximal adress is: 255.255.255.255 (notice 255 is the max value of one byte)
But that doesn't matter as you can also use IPv4/6 adresses without 4/8byte sized integers.
Also LuaJ uses 8byte sized doubles, using a 52bit mantissa -> even more storage possible than with Lua's integers (32bits). With a smart system, you can get the full 64bits of information out of a double.

Edited by ardera, 23 June 2015 - 03:23 PM.


#51 Alice

  • Members
  • 429 posts
  • LocationBehind you.

Posted 23 June 2015 - 07:47 PM

View Postardera, on 23 June 2015 - 02:58 PM, said:

View PostAlice, on 23 June 2015 - 09:50 AM, said:

Lua by default uses integers (LuaJ doesn't. Uses floats. What a shame). An integer is a 4-byte sequence of bits, which also happens to be the same size as an IPv6 address. This means that in raw Lua, we could have computer networks using IPv4/v6 local addresses that go up to the maximum size of an integer. This could actually work.
IPv6 adresses are bigger than 4 bytes. IPv4 adresses are exactly 4 bytes: the maximal adress is: 255.255.255.255 (notice 255 is the max value of one byte)
But that doesn't matter as you can also use IPv4/6 adresses without 4/8byte sized integers.
Also LuaJ uses 8byte sized doubles, using a 52bit mantissa -> even more storage possible than with Lua's integers (32bits). With a smart system, you can get the full 64bits of information out of a double.

I suppose that's true, Google has this glorious technique of thinking me typing "IPv6" meant "IPv4." Anyways, we'd have to modify Lua to use doubles instead of integers. Probably not too hard?

#52 ardera

  • Members
  • 503 posts
  • LocationGermany

Posted 23 June 2015 - 08:27 PM

View PostAlice, on 23 June 2015 - 07:47 PM, said:

I suppose that's true, Google has this glorious technique of thinking me typing "IPv6" meant "IPv4." Anyways, we'd have to modify Lua to use doubles instead of integers. Probably not too hard?
Theres no need to do that, the size of a number has nothing really to do with which IP version you can use. It just doesn't care.

#53 Alice

  • Members
  • 429 posts
  • LocationBehind you.

Posted 23 June 2015 - 08:34 PM

So, off of the topic of networking, what I believe would also be a neat idea, is that if we could implement this all via pollable file descriptors. Most actual desktop environments redraw to the screen tens of times per second, and that's gonna really be a CPU waster IMO. With pollable file descriptors on a system and a neat backend library, we can have this set up much more efficiently. (also, a DE would totally ruin the CC feel?!?)

#54 Creator

    Mad Dash Victor

  • Members
  • 2,168 posts
  • LocationYou will never find me, muhahahahahaha

Posted 23 June 2015 - 08:36 PM

View PostAlice, on 23 June 2015 - 08:34 PM, said:

So, off of the topic of networking, what I believe would also be a neat idea, is that if we could implement this all via pollable file descriptors. Most actual desktop environments redraw to the screen tens of times per second, and that's gonna really be a CPU waster IMO. With pollable file descriptors on a system and a neat backend library, we can have this set up much more efficiently. (also, a DE would totally ruin the CC feel?!?)

Why dod they draw the screen so often? Can't they wait for events?

Do other programming languages work with events? Because I really like Lua for this.

#55 FUNCTION MAN!

  • Members
  • 292 posts

Posted 23 June 2015 - 09:28 PM

Lua does not work with events. Only CC lua does.

And no, they can't wait for events.
Because an "event" in a working linux system is like, hundreds of times per second.

View PostAlice, on 23 June 2015 - 07:47 PM, said:

View Postardera, on 23 June 2015 - 02:58 PM, said:

View PostAlice, on 23 June 2015 - 09:50 AM, said:

Lua by default uses integers (LuaJ doesn't. Uses floats. What a shame). An integer is a 4-byte sequence of bits, which also happens to be the same size as an IPv6 address. This means that in raw Lua, we could have computer networks using IPv4/v6 local addresses that go up to the maximum size of an integer. This could actually work.
IPv6 adresses are bigger than 4 bytes. IPv4 adresses are exactly 4 bytes: the maximal adress is: 255.255.255.255 (notice 255 is the max value of one byte)
But that doesn't matter as you can also use IPv4/6 adresses without 4/8byte sized integers.
Also LuaJ uses 8byte sized doubles, using a 52bit mantissa -> even more storage possible than with Lua's integers (32bits). With a smart system, you can get the full 64bits of information out of a double.

I suppose that's true, Google has this glorious technique of thinking me typing "IPv6" meant "IPv4." Anyways, we'd have to modify Lua to use doubles instead of integers. Probably not too hard?

Nope. Not hard at all.

#56 ardera

  • Members
  • 503 posts
  • LocationGermany

Posted 23 June 2015 - 09:38 PM

In my opinion, we should just build an application that emulates ComputerCraft but implements some lower level stuff like TCP connections, allows to draw pixels, etc,
and modify raspbian/archlinux/ubuntu (whatever you want) to boot in this application. It's way to complicated to make a new linux distro.

Edited by ardera, 23 June 2015 - 09:38 PM.


#57 Alice

  • Members
  • 429 posts
  • LocationBehind you.

Posted 23 June 2015 - 11:42 PM

"allows to draw pixels" is kinda stretching a bit too far.
Also, we can make packages for the distro. Arch has the AUR, so we can make a PKGBUILD from that.
Which also means we would need a Git repo to use. Would I set this up later or would you like to get started on this?

Oh, another note, I planned on implementing the API in a library called 'cqueues', it works great with file-descriptor based events and I've actually been thinking about making a CC wrapper for quite a while now! ^_^
This also means: SOCKETS AND MULTITHREADING WHOOO

Edited by Alice, 23 June 2015 - 11:44 PM.


#58 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 23 June 2015 - 11:49 PM

View PostAlice, on 23 June 2015 - 11:42 PM, said:

"allows to draw pixels" is kinda stretching a bit too far.

Given that ComputerCraft will be getting that feature, I don't see why not..

#59 Alice

  • Members
  • 429 posts
  • LocationBehind you.

Posted 23 June 2015 - 11:55 PM

View Postoeed, on 23 June 2015 - 11:49 PM, said:

View PostAlice, on 23 June 2015 - 11:42 PM, said:

"allows to draw pixels" is kinda stretching a bit too far.

Given that ComputerCraft will be getting that feature, I don't see why not..

And what would we use to draw pixels on a screen?
If we're doing this in a terminal application, terminals don't support drawing of custom characters.
We would have to almost make an X server type thing for it.

#60 FUNCTION MAN!

  • Members
  • 292 posts

Posted 24 June 2015 - 12:14 AM

View PostAlice, on 23 June 2015 - 11:55 PM, said:

View Postoeed, on 23 June 2015 - 11:49 PM, said:

View PostAlice, on 23 June 2015 - 11:42 PM, said:

"allows to draw pixels" is kinda stretching a bit too far.

Given that ComputerCraft will be getting that feature, I don't see why not..

And what would we use to draw pixels on a screen?
If we're doing this in a terminal application, terminals don't support drawing of custom characters.
We would have to almost make an X server type thing for it.
Meh.
Not _too_ hard.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users