Sunday, March 25, 2012

Serious Sam native on a x86_64 arch

I used the installer from here
And installed these libraries:

lib32-smpeg (AUR)
lib32-sdl_mixer (AUR)
lib32-sdl_net (AUR)

I have to run the game as root for some reason (sudo) or else it seg-faults. And audio doesn't work. Oh well!

Tuesday, March 13, 2012

Serious Sam On Arch 86_64 and wine 1.4

Well I got it working using the linux installer software, so I was able to run it natively. Sound hasn't worked yet and you need to install a bunch of lib32 versions of some libraries. You're going to have to go through the AUR and makepkg a few times.
If I can get sound to work I'll post about it, wine was no fun, especially trying to get directX working... non free software is hell!

Ripped a copy of the iso:

Installed fuseiso to mount the file:
sudo pacman -S fuseiso

Installed wine to try and run the Setup.exe:
sudo pacman -S wine

wine Setup.exe

Then wine installed Gecko... twice :-|
80% through installing Gecko this splashscreen comes up:

Cool, clicking install, things are going well, I see a message about Direct X 8 and think "This might be an issue..."

I go to the wine.desktop menu and attempt to open, d'oh: CD check!

I google for "serious sam no cd crack" and find a patched exe in a .7z archive, rename the original to -og.exe and then copy over the nocd version here: /home/nak/.wine/drive_c/Program Files (x86)/Croteam/Serious Sam/Bin
and I try again... and it breaks
Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x7dc87467).
Register dump:
 CS:0023 SS:00 etc... etc...
...oops I need to install directx and make sure that's working >.<

Monday, March 12, 2012

GnuGo + Node.JS == Go babies!

So I was working on getting Node.JS hooked up to Fuego go engine yesterday, but I ran into a bunch of problems.  The weirdest being the stdout data buffer would cut off at 250bytes with no further data events being emitted :( uh.. wut? anyway:

No such problems with GnuGo (so far), just ran this little test alternating black/white peices on a column and displaying an ascii board (not very useful in the grand scheme, but nice to see things are working much more smoothly :D)

Maybe I'll write an actual module for hooking this up in a nice abstract and easy to use way. I was looking at the node-redis codes last night to get ideas as I was trying to write a module for Fuego (glad I gave up, it seems to be a more powerful computer go player, but all I'm interested is the system for game rules, score keeping and stuff like that).

This bridge will open a lot of web-based go goodies once established :)

One final goal for this is a webpage where everyone can vote on where the current color should move next and after 12 hours or so, count votes and place the stone: a game through democracy/hivemind antics.

and then there's the obvious thing to do: browser-based realtime games against people/cpu with!

So right now I'm at the point of deciding whether to work hard on this backend glue, or start hacking up an HTML5 canvas/codes for the frontend side of things.  Because I could say "ah screw the rest of the Node.JS devs that would like to have a nice gnugo module" and just make everything explicit (vs abstract) for the voting app.


Friday, March 9, 2012


Online journaling now? Tsk tsk. ;)
What has this blog become?!

Anyway today spent some time doing real life stuff which was different. I will also say it was good for me.

I've been working on building a cultural-bubble around myself. Cutting myself off from mainstream, sidestream, wigglestream, etc.

Family, friends (internet and otherwise)

Website communities, IRC chats.

It could go further.  I could stay logged out of AIM/G-Talk.

I do HEAR :stuff: (I like to call the stuff memes, idea genetics) from the TV across the hallway when it's on.  And my dad puts NPR on every once in a while.  Like, I had no idea about this Kony fellow (I dont know if that's how you spell it) until I heard some news program talk about it from the TV across the hall.  Then I went on (I should block that site again...) and saw all the Kony remixes (no pun).  Haven't seen the youtube video, and I plan to keep it that way.

Everything is coming in your head to put it crudely, and you create a zygote through interpreting the meme.  What goes from the mating and is expelled through your expressions is another meme that goes into other's heads so on and so forth.  Words hardly make sense to me, its more of a shapely thing that occurs, evoking some sort of imagery of the real, or simulated construct.

I can be negative about things that I see on the TV tube.  CEO goes to work with his "low level" employees. Helps a few out, I see this as putting makeup on rotten meat.  What little bit of "the problem" being shown to the world and being dressed up in Lisa Frank band-aids.

I could go back and re-edit.... and I do a lot of the time, but sometimes I think to scramble an egg ruins it in a sense, but on the other hand, it makes it easier to consume.

I drank a raw egg once, just to see what it felt like.

I'm not sure if I want to continue down the rails path at the moment, it seems pretty cool, but it seems like a 80/20, where rails decides 80 and I wiggle around on the 20... I guess that's why it's called rails :P no real wiggle room, which can be useful in some situations, quick idea to market (as long as the idea can fit on a train!)

However, I am not going to be so quick to give up Ruby, I think I might try to do some scripting with it next time I feel like reaching for Python or abusing Node.JS.

But now part of me wants to write my own framework, on node probably.  Maybe something that gives me the 80/20 of Rails, but since I wrote it I would know exactly what the 80 is, and could add features to the railway as needed instead of digging through massive API libraries.  I like the idea of having JSON config files to setup ideas, then have the main program thing look at the JSON to setup the right stuff for whatever application needs.

Something that I haven't found is a template language in the vein of EmbeddedRuBy or embeded PHP, actually, there is EJS (Embedded Javascript) but I haven't really figured that out yet, that was the last hiccup I had with Express before I gave up using it last time (Dotty was almost express until I said FORGET THIS. And had apache serve all the static files)...


server: {
  port: 80,
  local_root: __dirname,
  static_dirs: ['images', 'javascript', 'styles'] }  
database: {
  require: 'mysql',
  client: createClient({user: 'root', password: 'root'}),
  models: ['models'];

etc . idk, maybe it could work, something like that but a bunch more stuff until it just looks unbearable :P

whatever, gonna watch a movie, 1975...

Thursday, March 8, 2012

From and To

I don't know if this will fit in a 140 character microblog so here goes:

Coming from a long background of destructive hacking in my teens, every time I implement a new feature in one of my new-found love of constructive hacking I think: "How could I exploit this?"

When working with sending data between the browser and the server, the developer has to remember that everything on the client side programming can be changed: What you would expect to be a JSON string could come in as some executable javascript instead... and run on your server if you have a javascript interpreter running: some NoSQL databases run JS to determine what data to send back to the main program, and Node.JS is completely javascript... I've never used .eval()...

I still feel very new to this, terms like "Prototypal Inheritance" vs. "Classical Inheritance" don't mean anything to me, but they gnaw at the back of my head irking me on to learn more about ... stuff.

I just started looking into Ruby on Rails today, partially kicked off by the Igor guy finding a insecure default setting and exploiting it on, and also kicked off by wanting something a little more compatible with MySQL than Node.JS express.  I've been frustrated with that framework on multiple occasions... I'm not saying it's bad, it's just a difficult framework for me (at the moment) I still don't have a firm grasp of "middleware" and why I need certain types.  The documentation assumes a skill-level and experience with other web-frameworks that I didn't have.  However, I have come away from my (couple? three?) projects with Express "smarter" about web frameworks and the terminology in general.

While looking at Ruby frameworks Sinatra and Rails, I was really tempted to go with Sinatra, I liked how it seemed to be simpler (as in Arch linux simple vs Ubuntu simple) but I think I repeated my actions with my Linux adventures:
I started with Slackware, bumped into Ubuntu and fell in love with how easy it was.
I started with Node.JS Express, decided to finally try Rails, and am enjoying all the defaults it provides.  I am also new to the Ruby language, and am impressed by the simple and beautiful syntax that it uses.

Anyway, I hope to start hacking away at a blog soon, I've almost finished the Rails for Zombies course, but you don't really start "grokking" until your head start banging against the system for some hours outside of the classroom.  The challenges are a great way to teach, but I don't feel like I'm retaining very well today... but I shouldn't be too hard on myself it's only been a short amount of time...

It's neat to observe the rant style change from emotional poetic of last year to technical ... I'm tempted to say poetic... but it's not ;)

Tuesday, March 6, 2012

New Tool

Multi-Project TODO list.
Small note maker thingy, maybe like evernote, but I've never used that so IDK.

Because this is a misuse of a blog and I hate signing up for complex stupid sites when all I want is to make some quick notes or lists that need to "checked off"

Maybe even make it have a nice command-line interface, but it would also be nice to have a community so certain projects can gain social momentum.  Like my dotty list could have "e-props" or whatever to get the author more excited about actually doing whatever it is that IT wants to do. Then mayhaps collaborations could form.  Github is nice, but a little too complex for my personal tastes and is just a huge barrier between the layperson and version control of stuff.
The idea really isn't version control as it is ... just a thingy... idk, maybe I'll sketch it out.

The idea of taking a big problem and dividing into smaller tasks is what computer programmers do all the time, and the skills used for that can be applied in many areas of "problematic life".

I don't want to get too retarded here, but it makes me think "What are these problems and why are we trying to solve them?" -- then it reminds me of a revelation I had a couple days ago with "The medium is the massage" -- the problems give us something to talk about.  It doesn't matter what the problem is, it's just that we're talking is the whole point of it.

So there's groups of people who devise complex things, layers of abstraction I suppose, machines, social structures and relationships of people and people, self and selves, machine and consciousness, what have you...

And the content is beside "the point", the point being the joy of using a medium for communication.

I've also been noticing this weird thing going on with the internet connection:

I't's "pulsing" or something this is during a torrent download and I have the upload limited to 100kbs at the moment, I was seeing if limiting the up would help... and it didn't.

I don't know what's happening

Lathing Poo

The Lathe of Heaven is a book I want to read.

I wonder why?

Google has my emails, my blog, my G+ social net, and is constantly crawling the web with magic black boxes that can return search results in fractions of seconds to billions of users around the world.


press play and read

My friend's friend, or should I say -my friend- (since we're friended on FB)  was recently admitted to a university is now being asked to withdraw.  It would be too much red tape to have them force him out after admitting him, and there's no chance they want to work together with him anymore.


Reason 1, 2 or 3? No, not at all my friend, this is the reason they gave:

Because of using the girl's bathroom while equipped with a penis.

No official or un-official complaints.  But that is the reason according to the school duders.

Not sure if that's the real reason.

Anyway, in the future there will be no currency. In the future there will only be entities vying for your attention.  Attention will be the new currency. Keep being "interesting" world, and you've got my attention.

Monday, March 5, 2012


Cool :)

Had some interesting issues on the first stress test (thanks /g/):
  1. redis.conf wasn't up to snuff, had a limit on memory that got filled up and closed redis-server (128mb)
  2. Collectively we drew 135,297 dots before the hiccup.
  3. More than one auto-clicker completely removes natural rate limiting!
  4. Loading that many dots onto the canvas iteratively took some major CPU work on client-side
Tail of redis.log:
[2229] 05 Mar 06:09:46 * 10000 changes in 60 seconds. Saving...
[2229] 05 Mar 06:09:46 * Background saving started by pid 13388
[13388] 05 Mar 06:09:46 * DB saved on disk
[2229] 05 Mar 06:09:46 * Background saving terminated with success
[2229] 05 Mar 06:11:10 # WARNING: vm-max-memory limit exceeded by more than 10% but unable to swap more objects out! 
Redis config changes:
  1. No more saving to disk at all
  2. doubled amount of vm-max-memory (although that shouldn't be needed)
  3. other small stuff...
Wrote a small node script that checks Redis every 5 minutes, if there are more than 25k dots, delete the key and start fresh.

  1. Rate limiting, should be simple enough. Maybe... Or even some simple machine learning to rate limit specific users ^____________^
  2. Clone color of other artists by clicking their dot.
  3. Fix horizontal position on indicator 'X' when resize and horiz. on mouse location on canvas. 
  4. Move exclusion marker on connect to currently excluded ID (needs to wait until DOM load)
 Best /g/ comment:

    Saturday, March 3, 2012

    Transmetropolitan reference in Amazing World of Gumball

    While watching the latest gumball I happened to notice the 3 eye'd smiley from transmetropolitan in the background.

    Cool :)

    Friday, March 2, 2012

    Tons of DNS requests from pidgin - googletalk

    So I was getting TONS of DNS requests from my computer.  I had to figure out what was going on here's 2 requests and responses I've arbitrarily yoinked out of a wireshark dump:
    2    0.000436    DNS    87    Standard query PTR
    8    0.262071    DNS    86    Standard query PTR
    31    0.840231    DNS    272    Standard query response PTR
    29    0.825752    DNS    270    Standard query response PTR
     My friend suggested nscd (name service cache daemon) which was installed, but not active... I looked around for more information on it and it seemed to be more for authentication caching than DNS caching.

    I googled for DNS caching on arch and I found pdnsd

    Set it up according to the wiki, with a few tweaks, systemctl enable and reboots later... the DNS flood is over.