NoshBar's Dumping Ground

So, I finally managed to get myself a TouchPad, and it's even more awesome than I thought it would be.
It's currently set up to dual boot between Android and WebOS, and it runs Ubuntu within WebOS just peachily.
WebOS just feels so good to use, the browser just _feels_ nicer to use than Android's or iOS's.

Anyway, kicking the nerdiness up a notch, man oh man is the PDK nice and easy to use, providing OpenGL and SDL from the start, with the ability to test and debug things on Windows.

The fairy tale version of my porting story: I barfed up a bit of SDL bootstrap code to create a window and handle inputs, and everything else just worked!

The real version: I am a bleeding tool. I initially looked at the PDK samples, one called "simple", which included an OpenGL ES 2 header file.
So I went on a learning escapade where I FINALLY addressed my lack of GLSL knowledge and suspiciously loving attachment to the fixed rendering pipeline.
Shaders and whatnot had never made sense to me, until I found this awesome tutorial.

So I finally had some shaders up and running, I had some hand-coded matrix maths stuff going, I had 3d models on screen and rotating and... annoyingly disappearing (some Z issue) and going all over the place.

In an effort to see what else GLES 2 provides, I decided to see if there were any other header files...
There were/are.
An OpenGL ES 1 header file.

So yes. Drumpster runs on the TouchPad fantastically.
Take that Joggler.

Oh, and I found and fixed the bug in MonkeyBot... and got it running on the BeagleBone and Bifferboard.
I'll upload the new code "soon".

[ view entry ] ( 314 views ) permalink print article

While that's not strictly true, I am overly paranoid about a bunch of things, opening a port on my firewall being one of them.
Not because I think SSH might have flaws, or the firmware on my modem, but because I'm a complete dufus with no self-esteem who doesn't trust himself, and I really don't feel like setting up my PC again, post internet-abuse.

Sooo, introducing (Helper)MonkeyBot, a little instant messenger bot that sits and worships and listens to your commands.
You also get a single-page PHP file to view the stored messages more purdy like.
MonkeyBot is open source and released under the ZLib licence, and is thus compatible with its dependencies, SQLite and Gloox (which uses GnuTLS).

It's a little program that logs into an XMPP account and listens for commands from another specified XMPP account (with a secret handshake phrase), and basically stores whatever you type to it (with a category), with the option of recalling/viewing/deleting/searching the data via IM, as well as downloading files for you so that they are ready by the time you get home.

An example dialog would be:
nashbor@gmail: Hey Asshat. What do you want? todo: Make Drumpster less poo. Stored. (MessageID: 1) download: Stored. (MessageID: 2)
...<time passes so slowly, slowly...> Download finished successfully: search:Drump* ID1: Make Drumpster less poo. Search finished.

MonkeyBot is super easy to compile on Ubuntu.
apt-get install gcc g++ libgloox-dev
change to the folder with the 7 or so MonkeyBot source files
compile sqlite with FTS4 support
g++ *.o *.cpp -lgloox -lpthread -ldl

On any other platform though... I came across some PITA's:

Not every version of Linux has a package manager, especially when trying to use embedded systems, so you're stuck compiling things for yourself.
I spent much too long trying to get libnettle to compile (WHY? Why can't you see the libnettle include files? The paths are PERFECT you piece of gangrenous armpit slug!), which GnuTLS needs, which Gloox needs.

For Windows however, you can get a precompiled GnuTLS DLL and DEF off the gnu website, which you can create a LIB file from, and link against in Visual Studio.
I thought it would be:
Compile Gloox, linking to GnuTLS. (of course, you have to remove some files from the solution and make a typedef before it will compile)
Compile MonkeyBot, linking to Gloox.
Make sure all the GnuTLS and Gloox DLL's are in the MonkeyBot.EXE folder.

But nooo, that gave me weird connection issues in Debug mode, or a crash in Release mode.
However, deleting all the GnuTLS DLL's from the .EXE folder made the Debug build connect just fine all of a sudden.
My random-unproved-and-probably-shitty theory is that the Debug Gloox.DLL includes the GnuTLS stuff, at least it should, given its size.
As for the Release mode crash... some std::string thing that I couldn't be bothered trying to find out about.

I'm considering rewriting the ChatEngine class so that it can use either Gloox or the XMPPFramework for OSX/iOS... with plans to run MonkeyBot and Apache and PHP and the viewing program on a poor abused jailbroken iPhone I got handed down to me by someone rich because I'm so 3rd world.

Anyway, it works for me for now, I discovered a crash when creating custom actions JUST as I was uploading the files to my site... so I guess v0.2 will be coming soon... annnd that you should probably take the time to learn about cron and watchdog scripts...
Lots to still be done on MonkeyBot, like remote shell, not sucking, reminders that do something actively...

Use it, don't use it, I don't care.
Rock on.

[ view entry ] ( 348 views ) permalink print article

Over the past few years (for a million different self and non-self inflicted reasons) I have become insanely uptight, often getting upset about things I don’t actually care about.

Deep down, I’m incredibly relaxed and calm, and nothing bugs me, because it’s all just life, and we’re all going to die in the end anyway, so who cares.

However, I must have decided somewhere along the way that I didn’t deserve to be happy, or perhaps just layers of crap started to form on top of the don’t-care-core, smothering it. I didn’t deal with things right there and then, so more and more crud formed, in the end it left me as some sort of walking guilt-sponge that feared everything.

I felt fear when wanting to do anything at all. I’ve always been indecisive, but this was crippling.

However, the biggest problem for me (consciously observed) was that my coding -the only thing I was sure I still enjoyed- was suffering.

I would sit in front of my PC knowing what I wanted to do, but filled with fear that it would be the wrong way. I felt like I had to think things through a million times before I even started typing. Once I did start typing, I thought “if this ever gets code reviewed, this is wrong, I could do this better…”, it was torture.

I like to think that I care very little of what others think of me, but in this state, I had started to care, or at least, started to judge myself in a way I thought others would, worse than the real thing because I’m far more harsh on myself as I wouldn’t hold back.

To me, coding has always been a creative thing, a silly statement to make perhaps, but there are those who see it as logic that can be done in one correct way only.
And that’s the thing, I had become dulled, my creativity replaced by doubt.

Then I started working on Drumpster again, I sat down with the source, admiring how well I had thought things through. I had worked on it for quite a while, re-engineering it many times to be “better”, so much so that the functionality was almost non-existent.

Then came the day where I wanted to generate textures on start-up, needing to blur things, draw circles, basic primitive stuff. I had a buffer of bytes for the texture, needing to draw to them.

Something clicked.

All of a sudden my body was filled with a sensation of joy and freedom, my brain tsunami’ing full of memories from when I was younger, mode 13, 0xA0000000… I started typing like a maniac who types very well (considering he was never taught). It all just flowed through me, the joy of being creative, not giving a damn how gross the code ended up being (and man oh man, is it gross… awesome!).
It was like the good old days, when I knew what I wanted as an end goal, discovering how to program what I wanted along the way, with little thought towards architecture or style that had been dictated to me.

Since then, I have been trying to deal with things about/involving me that I know have been wrong for years, talking about them with the awesome people in my life, sitting in my head thinking a lot, crying in the shower like Ace Ventura, zoning out during meetings with the squirrels more than usual.

I also created a new program, my HelperMonkeyBot (coming to a download near you soon… if you dare!)… also of extremely dubious technical Kwality… but it works, was fun to write, and continues to be fun to hack in.

It gives me confidence and strength I need to talk about things, to see that they aren’t all my fault, and to realise that I don’t care, despite being conditioned to care and worry about every single thing.

So while I’m nowhere near the sugar-explosion-hyperactivity me of old, and I’m still wracked with fear, I’m working through this, coding with a smile on my face, finally able to start dealing with things, fortunate enough to have someone awesome who listens and talks sense to me.

And sure, work is still work, where I code professionally and do the right thing, but my personal life is just that, it’s mine, no one else’s, so screw you all.

Happy code is happy life.

[ view entry ] ( 237 views ) permalink print article

So, I finally decided to release Drumpster.
Even though the only reason it works slightly is because it is so broken (it can't even get being broken right).

The configuration/song creation tool is about 80% done, so until then, some documentation on how to do stuff is here.

Binaries for Windows, Ubuntu and OSX are available... with varying degrees of working between them.
They all load and display songs, which is all I wanted it to do for now, so yay!

I needed to rush to get this out before Uncharted 3 comes out, because otherwise it never would.
Also, this makes me feel like someone in the world might be using it, meaning I have to give this some sort of priority.

Now, back to playing!

[ view entry ] ( 245 views ) permalink print article


One of the most vile things someone could say.

“But I thought you said you didn’t get cold”
No, I said I like the cold. Implying that I realise it IS cold, implying I am able to get cold, and simply like that I may get warm in it, or cool down easily.

And therein lies the problem.

It never seems like a question, which it really should be. It should be someone clarifying what they REMEMBER you saying against what you really did. A friendly reminder to carry on discussion.
But it rarely is. It’s a statement, normally accusational, one that puts you on such a backfoot that you can’t even remember what you said originally.

Hell, even if I did say I “never got cold”, and even if you were NUH enough to accept such a ludicrous statement as pure fact… there are exceptions, right? Perhaps I am ill, perhaps it is colder than I have ever felt, perhaps my faith in human-kind has fallen to an all-time low and the hollowness inside is causing more energy-loss than usual.

It’s a statement to beat someone with.

Almost like you’ve been building up some sort of resentment towards someone for little things they do, but you’ve had nothing you could really latch your anger onto… and then this opportunity to call them out on something (“LIAR!”, “Misleader!”, “I AM RIGHT, YOU ARE WRONG WHORE, HAHAH!”) comes up, and you pounce at it, “But I thought you said you didn’t kill hookers anymore?”… sheesh, we all have our off days.

We all say things about ourselves to the world as a hint of who we are, or at least who we like to think we are.
It isn’t all true, but it isn’t a lie. Perceptions and opinions are not fact, if anything, they should be exciting things we can discuss with glee and become closer because of it.

Here’s to being more observant of my tongue, hoping that phrase shall never leave my mouth again.

[ view entry ] ( 1514 views ) permalink print article

<<First <Newer | Older> Last>>