code logs -> 2017 -> Mon, 12 Jun 2017< code.20170611.log - code.20170613.log >
--- Log opened Mon Jun 12 00:00:02 2017
--- Day changed Mon Jun 12 2017
00:00 Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code
00:00 mode/#code [+o Alek] by ChanServ
00:14 Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds]
00:17 Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code
00:17 mode/#code [+o Alek] by ChanServ
00:34
< ToxicFrog>
It's alive!
00:34
< ToxicFrog>
Mostly.
00:34
< ToxicFrog>
void word_anon_0xd36f70() {
00:34
< ToxicFrog>
push(2);
00:34
< ToxicFrog>
word_X2A_impl();
00:34
< ToxicFrog>
}
00:34
< ToxicFrog>
The bit that actually wires that into the dictionary still needs to be written.
01:09
< ToxicFrog>
ahahahahaha whoooops
01:09
< ToxicFrog>
{ (Word*)1, word_double_impl, word_double_name, SELF_IN_FLASH | NEXT_IN_FLASH | NAME_IN_FLASH | 16 },
01:10
< ToxicFrog>
That "16" at the end is the IS_BYTECODE flag, meaning that when compiling this word it should be compiled as OP_CALLWORD,<pointer to start of bytecode> rather than as a pointer to the implementation function
01:10
< ToxicFrog>
And in memory, during the session in which this word is defined, that is true
01:10
< ToxicFrog>
However, the version baked into the interpreter at compile time is not bytecode, it's C.
01:11
< ToxicFrog>
This has tragic results when you try to call it, it turns out.
01:11 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
01:18
< ToxicFrog>
It's aliiiiiiive!
01:19
< ToxicFrog>
Now I just need to rewrite the bootstrap process, because right now it totally doesn't work as soon as you want to define a word during the bootstrap process and then use it later in the process
01:19
< ToxicFrog>
And since absolutely everything except {, }, c/file, c/defn, and list is defined as part of this process...
03:06 * ToxicFrog publishes the thing: https://github.com/ToxicFrog/notforth
04:05
<&McMartin>
WEYKENT THE DEALLOCATOR
05:08 celticminstrel [celticminst@Nightstar-jb792f.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:58 Turaiel is now known as Turaiel[Offline]
06:23 Kindamoody[zZz] is now known as Kindamoody
06:29 Kindamoody is now known as Kindamoody|out
06:29 macdjord|slep is now known as macdjord
07:18 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
07:18 mode/#code [+qo Vornicus Vornicus] by ChanServ
09:30 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Ping timeout: 121 seconds]
10:55 mac [macdjord@Nightstar-ahbhn1.cable.rogers.com] has joined #code
10:55 mode/#code [+o mac] by ChanServ
10:58 macdjord [macdjord@Nightstar-ahbhn1.cable.rogers.com] has quit [Ping timeout: 121 seconds]
11:17
< ToxicFrog>
wut
11:17
<~Vornicus>
wut wut?
11:17
< ToxicFrog>
&McMartin | WEYKENT THE DEALLOCATOR
11:18
<~Vornicus>
<McMartin> Waykent the Deallocator is one of the feared and forgotten Old Gods of the System in System's Twilight.
11:48 * TheWatcher clones notforth, compiles it no problems, has no idea what to do with it though >.>
12:49 celticminstrel [celticminst@Nightstar-jb792f.dsl.bell.ca] has joined #code
12:49 mode/#code [+o celticminstrel] by ChanServ
13:02
< ToxicFrog>
TheWatcher: running `./notforth` will give you a REPL. There isn't much of the core library implemented yet, though.
13:03
< ToxicFrog>
Try `words` to list all builtin words (with their dictionary and implementation addresses)
13:06
< ToxicFrog>
`.` is print, `?` and `!` are peek and poke, e.g. `<addr> ? .` to read memory and `<addr> <val> !` to write it -- with some cleverness you might be able to modify existing dictionary entries that way!
13:06
< ToxicFrog>
There's basic math operators, and you can define functions, e.g.
13:06
< ToxicFrog>
:square { dup * } defn
13:07
< ToxicFrog>
But I haven't implemented flow control yet, so you're sharply limited in what you can do with it.
13:07
< ToxicFrog>
If you have an Arduino kicking around you can flash it with notforth and enjoy the novely of a REPL running on it, but it's not any more powerful than the hosted version
13:07
< ToxicFrog>
Well, I guess you can do more things with ! if you know which addresses to poke
13:47
<@TheWatcher>
Aha, neat.
13:52 celticminstrel [celticminst@Nightstar-jb792f.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
13:52 celticminstrel [celticminst@Nightstar-jb792f.dsl.bell.ca] has joined #code
13:52 mode/#code [+o celticminstrel] by ChanServ
14:13
< ToxicFrog>
builtins/00-core.nf contains all the builtin words except the ones needed for the bootstrap process, so reading that might be insightful -- they're all in C so far, though
14:53 * gnolam flails at the Hardest Problem in Computer Science.
14:54
<@TheWatcher>
Call it "Isambard"~
14:58
<@abudhabi>
gnolam: "tmp"?
15:47
<@gnolam>
:P
16:08
< ToxicFrog>
TheWatcher: anyways, my TODO list right now is "better bootstrapping", "error handling more sophisticated than abort()", and "lots more library functions"
16:09
< ToxicFrog>
At which point it should be possible to actually build things with it
17:48 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code
19:29 VirusJTG_ [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
19:32 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Ping timeout: 121 seconds]
20:19 VirusJTG_ [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Leaving]
20:19 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
20:19 mode/#code [+ao VirusJTG VirusJTG] by ChanServ
22:11
< sshine>
I'm making a site that has external User IDs. I'd like for them to be numbers and appear random, but I'd also like to generate them in a sane way.
22:13
< sshine>
a super simple way would be to pick some upper bound, e.g. 10^8 and simply auto_increment the internal user_id and then add some fixed prime > 10^8 modulo 10^8.
22:14
< sshine>
but then an attacker might simply register two users in a row, determine the difference and he'll be able to determine user growth rate at any later point by registering a new user.
22:15
< sshine>
ideally it'd just be a unique random number that wasn't picked before, but https://stackoverflow.com/questions/28500029/generate-a-random-number-which-is-n ot-there-in-a-table-in-sql-server isn't very helpful.
22:15
< sshine>
s/unique //
22:42 Kindamoody|out is now known as Kindamoody
22:44 * TheWatcher ...s at the blender ui
22:45
<@TheWatcher>
What sort of lunatic came up with this thing?
22:45 Kindamoody is now known as Kindamoody[zZz]
22:46 Turaiel[Offline] is now known as Turaiel
22:50
<@Tamber>
TW: From elsenet. <<Ugh. That thing. "But it makes perfect sense!" To the people who designed it. For everyone else, it's stockholm syndrome!>>
23:35 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds]
--- Log closed Tue Jun 13 00:00:10 2017
code logs -> 2017 -> Mon, 12 Jun 2017< code.20170611.log - code.20170613.log >

[ Latest log file ]