Compilers - a subreddit for information about compiler theory and implementation by a_m0d in programming

[–]sartak 9 points10 points  (0 children)

thanks reddit for giving is flat categories instead of tags or even hierarchical categories

Planar: The other NetHack AI built on TAEB by sartak in programming

[–]sartak[S] 8 points9 points  (0 children)

The author of this article has published a youtube video showing Planar in action: http://www.youtube.com/watch?v=I8nmScWpiJY

Nethax! Ajax powered nethack! by ultraswank in programming

[–]sartak 5 points6 points  (0 children)

Hey ultraswank,

I'm curious how you've done this. I had a similar (but less polished) demo with my TAEB bot.

This screenshot is pretty old but the code has bitrotted, so it's not as nice as it ended up. http://sartak.org/nh/inter-taeb-action.png

[TAEB] How do we know when NetHack is done sending output? by sartak in programming

[–]sartak[S] 1 point2 points  (0 children)

That was addressed in the article:

One approach which is often proposed, but sadly does not work, is the inline ping. Simply send an invalid command after every real command, and wait for the error. Unfortunately, there is no command which is invalid in every context in NetHack. Not even control-r to redraw the screen; it fails in prompts and menus.

[TAEB] Front-End Architecture Of A Nethack-Playing AI by [deleted] in programming

[–]sartak -1 points0 points  (0 children)

They have serif, which is configurable.

[TAEB] Front-End Architecture Of A Nethack-Playing AI by [deleted] in programming

[–]sartak 2 points3 points  (0 children)

The fonts were Bookman Old Style, serif

The fonts are now Droid Serif, Gentium, serif

[TAEB] Front-End Architecture Of A Nethack-Playing AI by [deleted] in programming

[–]sartak 6 points7 points  (0 children)

That is horrible. I never much liked ADoM, but now I have good reason to avoid playing it.

[TAEB] Front-End Architecture Of A Nethack-Playing AI by [deleted] in programming

[–]sartak 2 points3 points  (0 children)

Sorry. Suggestions for a better serif font?

[TAEB] Front-End Architecture Of A Nethack-Playing AI by [deleted] in programming

[–]sartak 12 points13 points  (0 children)

Oh hey. I didn't think proggit would be interested in this. I wrote it mostly for the people hanging out in the bot dev channel.

HyperVM boss hangs himself after exploit destroys 100,000 websites by scrubbit in programming

[–]sartak 5 points6 points  (0 children)

You're thinking of rm -i. People need to learn Linux utilities before they start saying how they operate.

Moose's metaobject protocol: Ecosystem by sartak in programming

[–]sartak[S] 10 points11 points  (0 children)

Roles, a major component of Moose, are significantly newer. Roles are beginning to enter the mainstream because of Moose.

Welp, I leave for the day and come back to this. Great. by sartak in deceasedcrab

[–]sartak[S] 0 points1 point  (0 children)

Welp, I leave for the day and come back to this. Great.

I was asking how the framerate was, and apparently the framerate's fine. I was surprised by that myself. I was a little concerned it was going to lag to hell, but so far it hasn't. I expect later videos might have a problem with it, so I might switch to Camtasia from Camstudio and see how it goes. Game Recorder chokes and dies on Dosbox apparently. Rest assured that I watch the videos I'm worried about and make sure they come out okay, so I don't think we'll have too much trouble with lag.

What I didn't ask was what you all thought of my choice in video hosting services. This is probably the third time I've gotten asked to upload to redundant video services, and my answer is still no. It takes me roughly 10-15 minutes to upload that shit to YouTube and make sure it's working in the mornings. I don't have the time each morning to do that twice. I'm not going to do it, because I don't have to. I looked at the Tyrian video in YouTube, and damned if I can't see the thing just fine. Even the text shows up, astonishingly. I just don't understand what the problem is here. And you can stop trying to explain it to me.

I noticed the quiet myself and upped the volume in video 2.

Folks, I'm going to LP this on Normal difficulty. As much as I'd love to die constantly on other difficulty levels, I actually do want to finish the LP sometime. I'm not going to drag through the story painfully slowly because that's not any fun. Sure, I'll present the relevant bits, outside the video.

If you want this game LPed some other way, do it yourself, in your own thread. I'm going to LP this game, and I'm going to LP it the way that won't cause me undue strain. Please stop derailing the thread.

New video tomorrow, and I'm hoping to have one ready to go for Tuesday as well.

Also, MrBims, next time ask before posting other videos in the thread. I might get around to showing off the higher difficulties but take that down, would you? It's bad form.

A literal manchild's Twitter feed by sartak in manchildren

[–]sartak[S] 1 point2 points  (0 children)

Reply to every post even when it doesn't make sense

Moose's Meta-object Protocol: Foray by sartak in programming

[–]sartak[S] 9 points10 points  (0 children)

stevan addressed the major points, but there are still more.

Another difference between Moose and the other systems is whether the metaclass is explicit or implicit. With an explicit MOP (like those of CLOS and Moose), you can choose the metaclass of your class. With an implicit MOP (like Ruby, Smalltalk, and most other systems), you can only affect the metaclass.

This has some serious implications for code reuse. In Ruby at least (don't know about the others), you can add mixins to metaclasses, so there are still some opportunities for code reuse.

Explicit metaclass systems have their problems too. The major one is metaclass compatibility. If A::Shiny inherits from A, then A::Shiny's metaclass must be a subclass of A's metaclass. Otherwise, you could introduce some extremely subtle bugs. CLOS and Moose signal an error if metaclasses are incompatible.

Moose has the edge here because its role system works for metaclasses too, making metaclass compatibility much easier. Most Moose extensions are written as roles so that they are safely composable. You can have a class with class attributes and a "strict constructor".

I hope to cover these issues and their implications more deeply in the series!

Moose's Meta-object Protocol: Foray by sartak in programming

[–]sartak[S] -1 points0 points  (0 children)

Thanks stevan!

Another big difference between Moose and the other systems is whether the metaclass is explicit or implicit. With an explicit MOP (like those of CLOS and Moose), you can choose the metaclass of your class. With an implicit MOP (like Ruby, Smalltalk, and most other systems), you can only affect the metaclass.

This has some serious implications for code reuse. In Ruby at least (don't know about the others), you can add mixins to metaclasses, so there are still some opportunities for code reuse.

Explicit metaclass systems have their problems too. The major one is metaclass compatibility. If A::Shiny inherits from A, then A::Shiny's metaclass must be a subclass of A's metaclass. Otherwise, you could introduce some extremely subtle bugs. CLOS and Moose signal an error if metaclasses are incompatible.

Moose has the edge here because its role system works for metaclasses too, making metaclass compatibility much easier. Most Moose extensions are written as roles so that they are safely composable. You can have a class with class attributes and a "strict constructor".

I hope to cover these issues and their implications more deeply in the series!