code logs -> 2017 -> Fri, 09 Jun 2017< code.20170608.log - code.20170610.log >
--- Log opened Fri Jun 09 00:00:50 2017
00:36 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code
00:36 mode/#code [+o Reiv] by ChanServ
00:39 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [[NS] Quit: Leaving]
01:37 celmin|sleep is now known as celticminstrel
06:06 celticminstrel is now known as celmin|sleep
06:12 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Ping timeout: 121 seconds]
06:16 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code
06:21 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
06:21 mode/#code [+ao VirusJTG VirusJTG] by ChanServ
06:22 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Operation timed out]
07:10 * McMartin feeds results from a BASIC program into Wolfram Alpha to make better sense of them.
07:10
<&McMartin>
This has been kind of a weird night.
07:11
<~Vornicus>
what've you got
07:11
<&McMartin>
A system time expressed in centiseconds since midnight Jan 1 1900 UTC
07:11
<&McMartin>
Transformed into a usable time and date. =P
07:12
<~Vornicus>
ah
07:27 himi [sjjf@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds]
07:33
<&McMartin>
https://bumbershootsoft.wordpress.com/2017/06/09/project-mehitabel-the-bbc-basic s/
08:15
<@abudhabi>
The project I mentioned last night seems pretty hopeful! It compiles and runs on the first try!
08:34 Kindamoody[zZz] is now known as Kindamoody
08:35
<&McMartin>
Good stuff
09:48 * TheWatcher eyes that blog post, notes he wasted entirely too much time playing Lander on the archimedes, wonders if it works on the pi
09:51
<@TheWatcher>
(almost certainly not, of course; I doubt anyone has ported it)
10:10
<&McMartin>
Did it run on the RISC PC?
10:12
<&McMartin>
There's a limited emulator that's designed to make 26-bit stuff run on modern ARM chips
10:15 * McMartin goes digging, finds http://ajax3d.sourceforge.net/
10:15
<@TheWatcher>
Hrm, near as I can tell, Lander only shipped as a demo with the Acorn Archimedes, the real game was Zarch on the Archimedes, with ports to the AtariST, Amiga, IBM PC, and ZX speccy
10:15
<~Vornicus>
26-bit always makes me go fizba wizh
10:16
<@TheWatcher>
McMartin: ...
10:16
<@TheWatcher>
WHY? WHY WOULD YOU DO THIS TO ME?!
10:16 * TheWatcher closes it before he gets absolutely no work done today
10:17
<~Vornicus>
this game seems difficult to control
10:19 * McMartin digs through the Archimedes Software Preservation Project, does not in fact find Zarch or Lander.
10:20 himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code
10:20 mode/#code [+o himi] by ChanServ
10:21 * McMartin did confirm that Zool works as well as it did
10:21
<&McMartin>
I swear though
10:21
<&McMartin>
Britain's UX designers in the 20th century were imported directly from the Hell Dimension
10:22
<&McMartin>
QAOP is not an acceptable set of directional controls!
10:22
<~Vornicus>
quick, someone tell Foddy that
10:23
<&McMartin>
Speaking of Fizba Wizh, man, somebody who actually understands the game really really needs to do a dissection LP of ISotMAT.
10:23
<&McMartin>
TheWatcher: The list of Games With Redistro Rights that got the 26-to-32-bit treatment are at http://forums.jaspp.org.uk:9000/forum/viewforum.php?f=25
10:23
<&McMartin>
I recognize a lot of these games from the DOS/VGA world, of course
10:25
<@TheWatcher>
All this vaguely reminds me, I keep thinking I should try faffing with Unity, see if I can make any progress remaking Tower of Babel.
10:26 * McMartin looks at some of the earlier games
10:26
<@TheWatcher>
... why have they put that on port 9000, that seems a bit random
10:26
<@TheWatcher>
Oh, wait
10:26
<&McMartin>
Man, some of these are only one step up from GORILLAS.BAS
10:26
<~Vornicus>
they didn't think they were powerful enough to go over
10:27
<@TheWatcher>
It's for the RISC 9000, isn't it~
10:31
<&McMartin>
Looking at the sample videos, they do seem to be running them on a Pi through a custom filesystem module
10:32
<&McMartin>
U tgubj nist if tgese were
10:32
<&McMartin>
Blargh
10:32
<&McMartin>
I think most of these were, like, ARM710s and that generation
10:32
<&McMartin>
Pre-GBA~
10:32
<&McMartin>
My understanding of pre-GBA ARM chips is extremely limited >_>
10:33
<&McMartin>
PARISC 9000 doesn't seem to have anything to do with Acorn.
10:34
<@TheWatcher>
Yeah, seems like, I just dredged it out of the dark recesses of my headbones wihtout checking it
10:34
<&McMartin>
The A7000 used ARM8s.
10:34
<&McMartin>
Not to be confused with ARMv8, which is what I'm using over here~
10:35
<&McMartin>
(Specifically, the RPi3 uses the Cortex-A53)
10:38 * McMartin watches the gameplay video for Redshift, completely fails to make sense of it
10:38
<&McMartin>
I can't tell if this is supposed to be Kobo or not.
11:26 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
11:48 Kindamoody is now known as Kindamoody|afk
13:55
<@himi>
I like me some ARMv8 niceness
13:57
<@himi>
I have to say, the Raspberry Pi 3 is a solid machine - outside a few use cases it'd make a decent desktop
13:59
<@TheWatcher>
I just wish that it had a sata interface
14:04
<@TheWatcher>
(my experience is that using an SD card for the OS works fine for a while, until it inevitably shits itself and you need to rebuild the filesystem from scratch, and the USB interface has some odd instabilities with every raspbian kernal I've used so that it's not safe to use with an exernal HD over nontrivial periods)
14:06
<@himi>
Oh god yes - it sucks for anything disk intensive /at all/, and it's finicky at best
14:07
<@himi>
Though I've had very little issues with running external HDs - possibly due to filesystem conservativeness
14:07
<@himi>
ext3 with conservative settings
14:08
<@himi>
SATA support is the biggest thing that makes me keep looking at alternatives, but it's hard to find anything that isn't a Via-based x86 which /does/ have SATA
14:09
<@himi>
Or, of course, and Atom - the price tends to be non-competitive in any x86 boards, though
14:10
<@TheWatcher>
I kept having problems where I'd hook up the external HD, mount it, and for some random time it'd be fine, then the USB interface would suddenly lose the drive entirely and then add it back on a different /dev node
14:11
<@himi>
Huh
14:11
<@himi>
With more than one drive?
14:12 * himi has had . . . four or five different drives, with different manufacturers, all quite reliable
14:12
<@TheWatcher>
Yep, tried it with a couple of enclosures
14:12
<@himi>
This is on Pi 1, b and b+ - I haven't compared any Pi 2 or 3
14:13 * himi has a Pi 3 but it's currently on media player duty rather than server duty
14:14
<@TheWatcher>
I generally just chalked it up as "Eh, probably Broadcom funkiness" and found a different setup
14:14
<@himi>
What's that? Broadcom, /funky/?
14:14
<@himi>
How could you suggest such a thing!
14:15
<@TheWatcher>
I know, perish the thought, right?
14:15
<@himi>
I guess it's possible I just got lucky, but with USB it could be something as simple as accidentally sacrificing my firstborn to the right deity
14:15
<@himi>
(though that's arguably "getting lucky"
16:41 Jessikat [Jessikat@Nightstar-e0t2ae.dab.02.net] has joined #code
16:41 Jessikat [Jessikat@Nightstar-e0t2ae.dab.02.net] has quit [[NS] Quit: Bye]
17:41
<@ErikMesoy>
Python: why is it that creating an instance of object and trying to give it attributes is an error, but creating an instance of "class SecondaryObject(object)" and giving it attributes works fine?
17:51
<@gnolam>
Only the latter has a __dict__.
18:00
<@gnolam>
Remember: all datatypes are objects.
18:11
<@ErikMesoy>
But why do not all objects have dict? How does my custom object type get a dict?
18:25
<&ToxicFrog>
If I had to guess, I'd guess a leaky implementation detail where objects implemented in python get __dict__ and objects implemented in C don't, but that's just a guess
19:37 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code
19:52 * ToxicFrog contemplates C++ operator overload resolution rules
19:52
<@gnolam>
Again: all datatypes are objects. Classes are objects. Objects are not classes.
19:52
<@gnolam>
Anyway, the details are in https://docs.python.org/3/reference/datamodel.html if you want to do some reading
19:53
<&ToxicFrog>
We appear to have a thing here where operator== is overloaded for (say) Date in the global namespace and Info in the ::util namespace (names changed to protect the guilty)
19:54
<&ToxicFrog>
And we have function in ::util that equality-tests two Dates, where lookup resolution fails to find ==(Date,Date) and only finds ==(::util::Info,::util::Info)
19:55
<&ToxicFrog>
If we move that function to an anonymous namespace at the top level, it works.
19:55
<&ToxicFrog>
I was under the impression that resolution would work outwards from the namespace the function was defined in to the top level and thus find both, and then match types and settle on the Date version.
19:56
<&ToxicFrog>
gnolam: your answer clarifies nothing
19:59
<&ToxicFrog>
Like, given a class A
19:59
<&ToxicFrog>
and:
19:59
<&ToxicFrog>
class B(A): pass
20:00
<&ToxicFrog>
It makes intuitive sense that A and B should be functionally equivalent
20:01
<@gnolam>
Sure. If both are in fact /classes/.
20:04
<&ToxicFrog>
gnolam: so object is a data constructor that can be inherited from but is not a class?
20:05
<&ToxicFrog>
I mean, I know that's not right, but it's the only way I can interpret what you're saying
20:13 Netsplit Deepthought.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @Syloq, @ToxicFrog, @PinkFreud
20:15 Netsplit over, joins: @PinkFreud, @Syloq, &ToxicFrog
20:16 Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 122 seconds]
20:17 Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
20:17 mode/#code [+o Syloq] by ChanServ
20:23 * ToxicFrog gnaws on the notforth lexer
20:24
<&ToxicFrog>
This is a pretty straightforward redesign until I start thinking about how to AOT compile notforth into C and then it starts getting ugly.
20:32
<&ToxicFrog>
Like, calls to C words are fine, you just emit the name of the C word. Calls to notforth words are also find because if you're AOT compiling you know the C version of the notforth word is available and can call that directly.
20:33
<&ToxicFrog>
But anything that straight up pushes a value onto the stack is grody, because that value could be:
20:33
<&ToxicFrog>
- a constant in source code, in which it's fine
20:33
<&ToxicFrog>
- a constant declared earlier using `const` and being resolved at compile time
20:34
<&ToxicFrog>
- a pointer to a dynamically allocated null terminated string
20:34
<&ToxicFrog>
- a pointer to a Word, suitable for use with `exec`
20:34
<&ToxicFrog>
and all of these look the same in bytecode but need to compile to different things in C.
20:35
<&ToxicFrog>
I'm probably going to end up having a bunch of compile_<type>() functions that on the host, in c/file mode, all do different things and then forward to compile_literal, and on the target are just #defines for compile_literal, which just emits OP_PUSHLITERAL,<value>
20:37
<&ToxicFrog>
And there are some fun land mines, e.g. things you can do when defining builtin words that will work, and compile, but are not actually safe to use at runtime, like
20:37
<&ToxicFrog>
:buffer 80 alloc const
20:38 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Ping timeout: 121 seconds]
20:38
<&ToxicFrog>
Which will embalm in the builtin dictionary a constant named `buffer` that points to some memory that was allocated during the bootstrapping process, in a different binary and quite possibly a different processor architecture.
20:39
<&ToxicFrog>
I'm not sure how much I should worry about guarding about this.
20:50 Kindamoody|afk is now known as Kindamoody
20:55
<@gnolam>
More that a class is a specific kind of object that, among other things, accepts arbitrary attributes.
20:55
<@gnolam>
https://www.theverge.com/tldr/2017/6/9/15768800/reddit-worst-volume-sliders-ui-d esign
20:59
<@ErikMesoy>
Reading the datamodel did not help me understand. Playing around with type() has excavated new realms of Object Is A Special Case.
21:08
<@ErikMesoy>
Instances of class "object" do not seem to behave like instances of any other class.
21:36 Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds]
21:39 Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code
21:39 mode/#code [+o Alek] by ChanServ
22:02 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
22:02 mode/#code [+qo Vornicus Vornicus] by ChanServ
22:07 Kindamoody is now known as Kindamoody[zZz]
22:07 Netsplit Deepthought.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @PinkFreud, @ToxicFrog, @Syloq
22:24 Netsplit over, joins: ToxicFrog
22:34 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
22:36 Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
22:39 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
23:17 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
23:17 ServerMode/#code [+o PinkFreud] by *.Nightstar.Net
23:17 mode/#code [+o Syloq] by ChanServ
23:28
< ToxicFrog>
gnolam: so, first of all, we aren't talking about classes, we're talking about class instances here
23:28
< ToxicFrog>
Although this behaviour also seems to apply to classes, i.e. `object` doesn't have a __dict__ but other classes do
23:42 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code
23:48 * TheWatcher fingertappity, starts downloading unity
--- Log closed Sat Jun 10 00:00:52 2017
code logs -> 2017 -> Fri, 09 Jun 2017< code.20170608.log - code.20170610.log >

[ Latest log file ]