Crypto Library

I finally pushed my first version of paranoia crypto library. Its basically a wrapper around Bouncy Castle. It ‘expires’ keys so they don’t hang out in memory, forces AES-256, uses Scrypt for hashing, requires SecureRandom, and will include a proguard file to munge BC so it doesn’t get into classloader issues on Android. (Google mucked with BC… I’m doing this instead of using spongy castle)

This library avoids the 128 limitations provided by default JCE usage, so you are hereby warned to check your local laws for compliance. I’ll have to send out a post detailing why I had to make this library. If you want to use it, start with the SecuredParanoidManager and run from there. I’ll work on some better examples of how I intend it to be used.

the Farmer…

I’ve started writing a new game. I switched from my second version of ‘Pachinko Fever’ to this ‘pseudo’ RPG style game. We’ll see how it goes. I have the game-play in mind… but its not finalized. I’m making sure that it’ll be interesting and addictive. There is a way to level up and fashion (learn) new ‘features’ in the game easily enough. I’ll go over the game-play more as it solidifies a bit. The core concept is you don’t fight, but you create other creatures to fight for you.

I’m using tiled to create tile maps… and I’m basing the landsacpe on my old house in Wisconsin and the land around it. I had to pick somewhere so I figure’d I’d pick where I know. Its been fun so far to model the environment, both the real and the fantastical. This will take time to develop. LibGDX is the running engine, and gimp for graphics. (More on that later)

The first ‘zone’ is free. Unlocking the game via in-app purchase opens the other ones. First place is home and Osti… what we called the land my home sat on. Troy Village and Troy is on the second zone. The river, Arena, Mazomanie follows next. My goal is to get Osti up first. If I can do that by summer I’ll be a happy camper. Its a Lovecraftian theme but you may not notice that when it plays out. Least I’m hoping that it will be subtle. I’m listening strongly to Extra Credits on this one.

The code for this game isn’t too hard. The real work is going to be in the story and graphics. I’m creating the basic framework now for the game while doodling bits and pieces. Its pixel-art style graphics. That’s important because what I found is that doing pixel-art is easier for me then trying a cartoonish-style, or heaven-help me, realistic. And its simple enough using gimp to handle these graphics. I’m sure my design is going to be problematic to some, but I’m using this as a learning process too. I’m reading more and more about art design in games and looking for common pitfalls.

Matias Ergo Pro keyboard…

This review of the Ergo Pro keyboard from Matias is more then a thinly veiled exercise I dreamed up to test the keyboard… but not much.

The keyboard was delivered today from Amazon. Had to replace a failing ‘natural’ ergonomic keyboard from Microsoft that I’ve typically use on all my computers over the years. I’ve tried different ergonomic keyboards, but always end up with that one. I like mechanical keyboards, but you tend not to find them in an ergonomic styling. The Kinesis Advantage Pro is mechanical, but just a bit too wacky to use everyday. It’d be fine if every keyboard I touch was that one, but switching between keyboards would make that painful… and its too expensive to have everywhere.

So, Aaron at work got the Ergo Pro. It has ‘mechanical’ switches, but quieter then regular switches. Tried it and liked it for the most part. At $200, it was at a price point where if I needed a new keyboard I’d consider it, but too expensive just to buy outright.

Then the Microsoft keyboard on my main desktop broke. Opened up the Amazon app, and 10 seconds later the Matias was on its way. Its a truly split keyboard. Two half make up the keyboard, and you can separate them by any distance you want. The keys are mechanical, but as I mention, they went to lengths to make it quieter then other keys. They are like the MX Cherry Red keys, but a bit softer. Number pad is overlaid on the keyboard, so you have to press the function key and hit ‘U’ for a 4, ‘I’ for a 5… etc. That part isn’t great, but doesn’t bother me much.

Like any modern USB keyboard, it hooked up fine. OS be damned… And I find it fairly easy to get comfortable with. I’m not at the same speed I’d expect with my old keyboard, but I don’t think that will take long to get back to. The biggest issue so far is the Control key next to the ‘N’ on the right hand side. I keep hitting it when I mean to hit a ‘N’… but I think that’ll change as I get used to it.

I suppose the other issue is the height of the keyboard when you add the stands. You have three ways to set up the keyboard physically. Flat, inverse tilt or tented. Flat is exactly as it sounds… just straight on the desk. Inverse tile raises the front of the keyboard where the pads are, which is what I typically do. This puts your hands in a fairly comfortable position when typing for an extending time. Tenting is where the keyboard is lifted in the middle, and the edges are table-height. I’m using this now and I find it much better then the ‘inverse tilt.’ The reason I call this an issue is that the height could be taller. But so far its good enough for me.

So, five hundred words later, and I find that the keyboard is doing just fine. I’m still accidentally opening up new windows via the cntl-n I keep hitting, but it’s better now then at the start of this post. I’m completely enjoying the keyboard. Now it’s just a matter of getting work to buy me one for the office.

So… I’m impressed with the Nexus 6P

Recently I’ve been big into trying to figure out how to upgrade the sound coming from my audio system. I’ve looked at tube amps to make proper use of my turntable. (Yeah, that’s right… vinyl.) But I also have a ton of music as mp3 and flac files. I’ve looked at the monoprice tube amp which has a ton of good reviews. Trying to find the best way to morph it into my current hardware collection…

But I’ve noticed that some disconnected components I have are ridiculously good. First, the Amazon ‘echo’. Its pretty much the best bluetooth speaker you can get that also talks back to you. Its not as good as my Samson BT3, but it has more features then it. The quality from this single tower of speakers is nice if not slightly limited. I played a bunch of old music tonight from my mp3 files via Google music and it sounded nice. Easy enough to do… sounds ‘good enough’. Definitely worth the $100 when it first came out. I can’t complain.

Then I played from my Nexus 6p.

Digression… I really do love this phone. Considering the hell I’ve been through with the Nexus 9, its nice that the 6p has been so great since I got it. In every aspect this phone has performed well, better then any other device of this nature that I owned… and surely better then I expected by a long shot. My Diamond Rio Karma still had the best music playlist implementation of any MP3 player… I even had devices that predated that dinosaur (MP3 Man)… Palm Pre, HTC and Samsung phones galore. While still holding on to my Cowon for the music quality while spending cash on these… well, phones… where music was secondary at best.

But the audio quality of this 6p… the clarity… its speakers…

I’m a nut job. I’m the first to admit it. I grew up in a house-hold of Bang and Olufsen… overpriced but sounds great. Cerwin Vega speakers was my own ‘low-end’ system until I got something real. I never did spend what a quality system needed… I’m a cheap-skate nut job I suppose.

But I played Peter Gabriel on the Nexus 6p from the YouTube ‘Red’ music app (Don’t Give Up with Kate Bush) and seriously was moved. I’ve not heard this quality in a long time. No expensive head phones… No highly specialized amp… just the (mostly) regular music app provided by Google. Just damn. Speakers didn’t buzz or sound over-powered. Just filled the space with music that I hadn’t heard in years.

The Nexus 6p is a quality music playing device.

Cassandra Summit: Training and Certification

This last week I went to the Cassandra summit that Datastax had put on. The first day was training and certification, and the following two day was the conference itself. I had been playing with Cassandra for years, though nothing major, and certainly nothing in production yet.

The training itself was six days worth of material supplied within six hours. Datastax has training online and to a large degree, the session that day before the test was intended to be a review. You were supposed to take two classes online before the training; each class had about 3 hours of video and quizzes to go over. But many of the folks who were at the training never even looked at the site. So DataStax tried to cram tons of knowledge into everyone’s eye-socket in those six hours.

Honestly, I didn’t care about the certification, the training was more important to me. Hands-on usage of Cassandra is the only certification that’s really important here. If you don’t use Cassandra after getting your certification, then all that information you gained is likely lost within a few months of the course at best. If instead you set up a few nodes and tried to store/retrieve data from them after the online training, then you’d likely have the same level of knowledge as someone who passed the certification. Each of you will have some tidbits of information that help keeps that cluster alive.

I’m glad I went for the training. Having the certification is a nice ‘feature’… but it’ll actually mean something once we have Cassandra in production.

Finally making progress

I finally took my cousin’s advice and I’m making a game with a story to it. I’ve made some progress getting a generic RPG together with libgdx where the game flow, stories, npcs and loot/abilities are loaded in dynamically. This means the it will be easy to enhance over time. I’m going to add in the ability for friends to play against the same map at the same time, in a serverless connection. That’s something I’ve wanted to build into my games for a while.