Friday, May 11, 2012

I have decided to in fact move my journal to Google Plus. I can be found HERE Those using RSS should be minimally impacted.

The address may at sometime be made to link to a custom setup that pretty prints my Google Plus data via API, and perhaps other stuffs. As a side effect of the move over to Google Plus, this means those relying on my RSS news feed should review their feed next week. If you are using RSS, there should be no problem but if in doubt insure your reader is pointing directly to my feedburner.

Sometime after adapting Blogger, I had set things up with Feed Burner. My RSS feed via feed burner for this blog is here. Thus Blogger is setup to redirect feed stuff to this address. Making it an alias of the feed burner. I assume that I should be able to keep this and point my feed burner to a new feed, completing the daisy chain. Soon I will try updating my feed burner to point through GPlusRSS pluss to my Google Plus entries. EDIT: Had an issue with GPlusRSS so I've used pluss—and the feed is active on feed burner!

Those who rely on my RSS feed being re-syndicated on my Facebook and Twitter accounts should see business as usual with the exception that it will direct you to Google Plus rather than Blogger, and it still stands that you'll be silently ignored if you comment via Facebook instead of clicking through the link. This is an advantage of dereferencing the pointer's in the right sequence lol.

Content that isn't suitable for G+ will likely reside in cloud storage and be attached to the entry. This is actually an evolution, because in the past, I've usually made a document in text or an HTML'able markup in my ~/Documents/, and then posted it to Live Journal/Blogger as applicable. Now I won't have to manually sync updates, hehehehehe.

Set course, second star to the right, and straight on till morning. Engage.

Tuesday, April 24, 2012


She left without leavin' a number
Said she needed to clear her mind
He figured she'd gone back to Austin
'Cause she talked about it all the time
It was almost a year before she called him up
Three rings and an answering machine is what she got

If your callin' 'bout the car I sold it
If this is Tuesday night I'm bowlin'
If you've got somethin' to sell your wastin' your time, I'm not buyin'
If it's anybody else wait for the tone you know what to do
And P.S. if this is Austin I still love you

The telephone fell to the counter
She heard but she couldn't believe
What kind of man would hang on that long
What kind of love that must be
She waited three days and then she tried again
She didn't know what she'd say
But she heard three rings and then

If it's Friday night I'm at the ball game
And first thing Saturday if it don't rain
I'm headed out to the lake and I'll be gone all weekend long
But I'll call you back when I get home on Sunday afternoon
And P.S. if this is Austin I still love you

Well this time she left her number
But not another word
When she waited by the phone on Sunday evening
And this is what he heard

If your callin' 'bout my heart it's still yours
I should have listened to it a little more
Then it wouldn't have taken me so long
To know where I belong
And by the way boy this is no machine your talkin' to
Can't you tell this is Austin and I still love you

I still love you
Austin—Blake Shelton

Monday, April 23, 2012

Hmm, I wonder. There are just so many possiblities of what can be done, and my brain can baloon with ideas fed off that. In the mean time, I know it's most important to scratch the itches with the most value, first.

Off my operating environment, the more pressing lack is notes taking. Simplenote works but via Android, I seem to be in need of writing my own client (been a while since I've hit that part of my GitHub). One thing that might be of interest is some client side integration, of being able to mate Simplenote, Blogger, and G+ and apply a little meta-search magic.

You know, this page isn't as slow as I thought it would be on my tablet. I'm not sure I'd prefer it over a native client option though, that does better than Google's own offering.

At some point, I think I need to bust out AIDE :-).
Well, updates to the previous; and a little numerical data:

G+ posts since my last Blogger post: 16.

In thinking more thoroughly about the subject, G+ has one large-scale lacking: no pre-formatted code blocks. While I can live with the available formatting capabilities otherwise, ahem, I tend to post a lot of formatted examples: source code, program output, etc. A fair bit of semi-formatted output such as quotations and lyrics as well.

The simple fact remains, however that my G+ is apart of my journal.

One possible solution:

  • Program to point to a "Special" page.
    • Display posts from G+ and link to the entry for commenting/etc.
    • Display posts from Blogger and link to the entry for commenting/etc.
    • Similar technology could be used (and maybe marketed, hehe) for Twitter/Facebook crap, if people wanted to pay or write it.
  • Update with a note to such effect.
    • Redirect tech might even be leveragable for this, given the domain stuff already in use.
  • Write a custom client for updating Blogger, with an automated reshare to G+ or a demon that auto-shares my blog posts.
That would achieve the same end goal, more or less.

Monday, April 16, 2012

My Journal (blogs) future

Lately I've been using Google+ more and more, and more, and unlike the times where Facebook was apart of my routine, things focus more on G+. In fact, I use G+ enough that I'm considering turning off commenting here and modifying things to direct people to Google+.

That leads me to also thinking about what directions I want to go in. For the short term, nothing will change, except people should probably look at my G+ more than here, perhaps.

Three possibilities for the future years:
  • Migration to G+ 
  • Retention of Blogger 
  • Migration to a custom solution hosted at Cyb3Web.

The Google Plus solution has some merits. It really is convenient for me, and it integrates well with my data flow. Because it meshes with other data, in my stream. It's so neat. That's one of the good things about Facebook too, even if their filtering stuff took to damn long. The primary concerns I have with the G+ solution is data access and navigation. It can be hard enough to find things again that I have posted on Blogger or Live Journal, because at best I need to do a site: search in Google or know approximately what time period I posted it in. Tagging has proven some use in narrowing the results down but is only as good as ones tagging discipline and yields to many results!

Pro's for a switch to G+:
  • Convenience.
  • Even better and growing integration with Google services.
  • Much better privacy controls.
  • Search Plus Your World may make it easier to find things again.
Con's for a switch to G+:
  • Commenter's would need G+.
  • Finding crap again might not be fun +3 years later, even by the current standard of blogging.
  • I'm dependent on Google for features/data issues. They tend to do Good at releases but they tend to do Slow at making new features available. But hey, at least things are well tested...
  • Limited data access via API \o/.
Those who would just say use Facebook, will have their heads beaten in. Yes, I mean it. Fuck you. Just like you may choose Facebook as a hub, I choose Google Plus.

Unlike Twitter but like Blogger, G+ handles larger, "Blog" style posts pretty well. I like it. Some gripes like the limited control over formatting but I can probably live with that, heck it already has more formatting than I strictly need.

Getting data out of Google Plus is not bad. Seems to offer HTML or JSON. I've just downloaded my Stream content in JSON format. Something that would be very good for data munging. I cannot exactly say that Facebook can win at control over my data here, and their track record not so good at the completeness part IMHO.

The Blogger solution is what I already am doing really. The only thing I have to complain about with Blogger, is API side effects. Blogger integrates into exterior services better than G+, and more importantly does so better than Blogger integrates into G+! I have to manually share things to Google Plus, where as the process of sending it to RSS, Twitter, and Facebook, is fairly good. Except that getting people to respond HERE instead of e.g. on Facebook, took some stern wall posts, on top of the whole signature saying so... lol

It is much easier to build up infrastructure around Blogger than G+ right now, even for custom shit. The problemo is integrating anything with G+ is a bitch at the automata level. Thanks to whoever wanted to protect us for all those shitty Facebook apps I guess. Don't remember who posted it.

Some possibilities exist with custom client-side code perhaps but that is what I really am missng I guess. I love Blogger but it doesn't mate with G+ good enough for me, nor does G+ really mesh with anything outside it yet.

Pro's of Blogger:
  • Already in use, 85%-90% of my journal data is here in some form.
    • The rest is on G+ or in private text files.
  • Ease of integration with custom tools and third party services.
  • Nice formatting controls that blend ease of use and pure power, for those of us who know HTML :).
Con's of Blogger:
  • Sharing to G+ is manual.
  • Can't make "Comments" system just link to a G+ entry.
  • Have to change web pages to view other content that belongs in m y stream.
Notice that non of those cons are really Blogger's fault! Google+ seriously needs better integration services, ffs!!!!

The custom solution has it's merits. I've got the web setup and programming skills to cook up something, and I frequently do hack out tools to scratch itches. But I also know canned solutions have great value. Going custom, I get full control: over data, tools, etc. And I have a great web host :-). Doing some custom code isn't a big issue here, so much as ROI of going Blogger -> Custom instead of Blogger -> G+.

Most of things contra for keeping Blogger, extent to rolling a custom solution. The only difference is the amount of control: if it's humanly possible to achieve, I can. With Blogger, I have to rely on Google engineers and super system admins.

The real pro's are also similar, but larger. Namely I can leverage the extra power to do things like automatically copy post data to an offsite data store: like Dropbox or BOX, on top of having backups with my web host.

Another possibility is that since there is an API for reading data out of G+, my "Custom" solution could really just be a way to pretty print my G+ content, and link back to allow commenting/resharing services. What I am not so sure of, is the affordability of that on my wallet. Maybe it's a good thing that my site doesn't get hundreds of thousands of views a month.

What I am going to do is experiment with the following issues with G+:
  • Finding things again.
    • result: beats Blogger to shit.
  • API access to G+.
  • Experiments with scripting G+.

Oh, and while I can see people might have issues about e.g. control over visual matters being a big blurb for something like what I am contemplating, it is not for me. I usually find Google has reasonable taste and I prefer content over wizbang themes.

Friday, April 13, 2012

Thoughts on Oracle v Google stuff

Or more specifically after parsing this, thanks Noles ;).

Personally, I think under that context, Oracle will likely win.  I do not believe that a language /should/ be copyrighted but that they technically can be, think about how the types involved might mix for various copyrighted works.

I'll be the first to admit that our system for copyright, patents, intellectual property, trademarks, and the like is a maze with more than a few turns just full of bullshit. But let's think a moment: what is it really about? Money. It's not about fostering innovation (patents) or controlling your property (oi). It's about money. That's it, simple.

Java is a product and a creative work, sufficient to be copyrighted. So is the GNU Compiler Collection and that last book you read.

What is the jist of copyright? Wikipedia as of this writing, defines it as a sub class of Intellectual Property that is generally "the right to copy, but also gives the copyright holder the right to be credited for the work, to determine who may adapt the work to other forms, who may perform the work, who may financially benefit from it, and other related rights"

Java, as it applies to Android, is not very different than any other language applied to other systems. The devil is in the details as they say. An Android application is a collection of Dalvik bytecode, native code, and resources running under the Dalvik virtual machine: and Android provides a runtime.

The implementation is not "Java" as Oracle ships it. In fact, as Microsoft's various efforts to make a .NET dialect of C++ and projects like JRuby confirm: you can have a fair bit of abstraction between *concept* and implementation. Android developers typically write code in Java to an interface documented in Java. They could just as easily write in any language you can eventually wrangle into Dalvik bytecode! Android applications can and have been written in other JVM languages, and non JVM languages. The interface, well hell, many things in the .NET world are done in C# but you could just as easily use Visual Basic or F#. Really helps to be able to read C# though. Just like how on many systems, it helps to be able to read C and or C++.

That runtime part that Android applications depend on is quite "Java like". Many intrinsic components are provided. C programmer's should think of the stdio library. Because that is the sort of thing that has been "Copied" from "Java". Essential programming interfaces, not implementations but interfaces (as far as Oracle holds right to). GNU implements C's I/O library in their runtime. So does Microsoft in their own. They didn't have to supply crap like printf() and puts(), they could've supplied their own pf() and IoConsolePutLStr() functions! Nether group owes the other jack shit over that. But hey, printf() and puts() are what are widely used: even in other languages!!!!

A lot of things in Androids runtime are also unique. For example, the parts that make it Android specific rather than able to compile under Oracles development kits for PC. The implementation is not copied but the conceptual interface, yes.

So that's a problemo, how far does that level of control and ownership apply to derivatives? And what actually constitutes a derivative work?

Is copying the script of a movie scene for scene, line for line, and reshooting it for your own release and profit, an issue? Yeah. Obvious. Is doing a movie about a train, going to allow whoever owns copyright on some other movie with a train, to sue your ass for it? It shouldn't unless it's close enough to the former, or similarly having a legal problem of some other sort.

It's more of a question like, should Matz and Oracle be able to sue the developers of JRuby for copyright infridgement: because it provides an even stronger resemblance to both Ruby's and Java's programming interfaces than Android's runtime does to Java's. Things like C, C++, C#, Common Lisp, Scheme, and EmcaScript are formally standardized to some extent. Things like Java, Python, Perl, Ruby, and Lua are not. Could Niklaus Wirth (or Apple) have sued Boreland over Delphi?

I do not feel that it is responsible to exercise such strong-arm aggression against users. It's bad for Java, it's bad for business, it's bad for the continuing evolution of the industry, and it's bad for those who have already invested.

And as far as I am concerned, enough programming languages "Borrow" stuff that applications of copyright the way Oracle must be seeking, or not feasible—and may very well fuck up language development for the next decade. Now we have to worry what the fuck we name our classes? What next, companies are going to start exerting control over _our_ works made with their tools?

Thanks Oracle, hope your stock plummets and your employees find good jobs with businesses that offer better job security.

Wednesday, April 11, 2012

Before testing fork(bombs), break glass

Like everyone who spits off a fork bomb during a test, and realizes they've forgot the most important thing when testing a multi-process program for correctness and typo's.

$ ulimit -u
$ ulimit -u 20
$ ulimit -u

Lower the max user processes first!

Tuesday, April 10, 2012

Titanium Backup + Dropbox HOWTO

I set this up today at long last (and assume most of it will apply to Box as well). Couldn't find much use on how to actually make it sync, so here is a picture!

Go into your Preferences -> Cloud sync settings; and enable dropbox. You can go into Dropbox Settings to control stuff like what to sync and where to sync, etc. Then go to the "Schedules" tab and voila!

I don't see what is so schedule about that, and I seem to remember reading that you have to do sync's manually rather than on a schedule but whatever. Couldn't find crap on Google, so I took a screenie ^_^.

Friday, March 23, 2012

Fly Over States

A couple of guys in first class on a flight
From New York to Los Angeles
Kinda making small talk killin' time
Flirting with the flight attendants
Thirty thousand feet above, could be Oklahoma

Just a bunch of square cornfields and wheat farms
Man, it all looks the same
Miles and miles of back roads and highways
Connecting little towns with funny names
Who'd want to live down there, in the middle of nowhere

They've never drove through Indiana
Met the man who plowed that earth
Planted that seed, busted his ass for you and me
Or caught a harvest moon in Kansas
They'd understand why God made
Those fly over states

I bet that mile long Santa Fe
Freight train engineer's seen it all
Just like that flatbed cowboy
Stacking US Steel on a three day haul
Roads and rails under their feet
Yeah, that sounds like a first class seat

On the plains of Oklahoma 
With a windshield sunset in your eyes
Like a watercolored painted sky
You'll think heavens doors have opened
You'll understand why God made
Those fly over states

Take a ride across the badlands
Feel that freedom on your face
Breathe in all that open space
Meet a girl from Amarillo
You'll understand why God made
You might even wanna plant your stakes
In those fly over states

Have you ever been through Indiana
On the plains of Oklahoma
Take a ride

Fly Over States—Jason Aldean

Alone With You

I could swear, this song has been on the radio like every few hours this week. Well, at least during the times I work and drive :/.

I don't see you laugh
You don't call me back
But you kiss me when you're drunk

I don't know your friends
Don't know where you've been
Why are you the one I want

Don't put your lips up to my mouth and tell me you can't stay
Don't slip your hand under my shirt and tell me it's okay
Don't say it doesn't matter cause it's gonna matter to me
I can't be alone with...
You've got me out on the edge every time you call
And I know it would kill me if I fall
I can't be alone with you

Please don't chain that door
I can't win this war
Your body's like a pill I shouldn't take

Don't put your lips up to my mouth and tell me you can't stay
Don't slip your hand under my shirt and tell me it's okay
Don't say it doesn't matter cause it's gonna matter to me
I can't be alone with...
You've got me out on the edge every time you call
And I know it would kill me if I fall
I can't be alone with you

I can't be alone with you

Don't put your lips up to my mouth and tell me you can't stay
Don't slip your hand under my shirt and tell me it's okay
Don't say you love me cause you know you're gonna love me and leave
I can't be alone with...
You've got me out on the edge every time you call
And I know it would kill me if I fall
I can't be alone with you

I don't see you laugh
You don't call me back
But you kiss me when you're drunk
Alone With You—Jake Owen

Monday, March 19, 2012

Having glanced at news of the new Kelper card running the Smaritan demo, a job that originally took a trio of 580 GTX cards (can you say expensive and smokin' hot?). I couldn't help but wonder, just how much optimization work may have been invested between NVIDA and Epic Games, to get that monster running on the new card.

Well, turns out from the sound of it, that it probably wasn't quite as bad as I thought it would be or not in the ways I expected it would be. The new FXAA (Fast Approximate Anti Aliasing) technique being one such "Unexpected". The fairly simple write up in the article hints to normal people, why the amount of video memory on graphics cards have been going up so much. Damn, I remember when 32M was just starting to fade away, and when 256M was the going norm' alas, times change.

Anti-aliasing is one of those things, people see in their games video settings (usually) but don't understand. They only can summise it must be "Better" the higher the number gets and that e.g. 16x AA must be better than 0. Ditto for issues like Anisotropic, trilinear, and bilinear filtering. It really isn't hard to understand. Further complicating the life of a gamer,  some games let you choose various types of Anti Aliasing (such as MSAA or CSAA).

Anti-aliasing makes things look "Better" in simple terms. Let's just say that aliasing is a distortion of the image. Something like this: 
The above picture taken from Wikipedia shows the effects of anti-aliasing on the right. SImply put, it makes things better. In some games it can be a lot more noticeable than others, Raven Shield or Call of Duty for example might benefit from AA a lot better than Sonic the Hedgehog or Pong.

The problem is it is expensive. Imagine, you can make things appear less jagged but you must pay a painter to smooth out the image. Now imagine, not only do you have to do this not only for every Frame Per Second of game play, but also for every pixel on screen. On my computer that is 1,920 x 1,080 = 2,073,600 pixels. Most games need at least 25-35 frames per second to be playable smoothly and 50~60 can be noticeably better.

The artist is using your CPU and GPU (graphics card) to do all this work. Because the screen works with "Pixels", little dots, it can be a hell of a lot of work but hey, it's easier to smooth out your neighbors than using a paint brush.

Techniques for doing all this shit have varied with time but in essence, they can vastly change the work load on your computer. One way of thinking it, if you can play a game fine in 800x600 with AA, you might be doing more work than playing it in 3200x2400 without it! This site has a great and simple write up about various techniques. 

In general a little anti aliasing is good but you are not likely to notice turning it all the way up to 16x FSAA, give or take your computer might cry.

FSAA should probably be avoided unless you want to boast about your hardware or publish screen shots that look good.

MSAA is close enough that for how much less work it takes to do, it's worth while. 

CSAA or CFAA are available on most decent graphics cards since 2006, and is worth consideration. Think of it as similar to MSAA in the way MSAA is to FSAA. If you have a fairly dark game like SWAT 4 or Modern Warfare 2, as opposed to a very vibrant and colorful game, CSAA is probably worth it.

If you have a lower end graphics card, try using CSAA. If you can _actually_ tell the difference or just want to flaunt your cash, try MSAA.

In most cases, it is "O.K." to use like 2x or 4x AA in a game now. It's not like the old days when the computers just couldn't handle it so much without better hardware. By the time you reach and exceed like 8x (MS)AA, you are probably not going to notice the difference all that much, seriously. If the difference between 16x MSAA and 8x MSAA is so easily seen on your screen and it bugs you, you probably should get a top end graphics card.

How to tell what you should use? Welp, just try a value like 4x Anti Aliasing and see how it impacts your game. If your computer can't handle it, try tuning it down a bit (2x or off). If you can run it fine, hey, feel free to see if you can go up a notch or two.

A little secret though: no one gives a shit as long as the game looks good and plays good. So as long as you don't turn the setting to high, it's all good.

Tuesday, March 13, 2012

Lincoln versus the lighthouse

This is the transcript of a radio conversation of a US naval ship with Canadian authorities off the coast of Newfoundland in October, 1995. Radio conversation released by the Chief of Naval Operations 10-10-95.

Americans: Please divert your course 15 degrees to the North to avoid a Collision.
Canadians: Recommend you divert YOUR course 15 degrees to the South to avoid a collision.
Americans: This is the Captain of a US Navy ship. I say again, divert YOUR course.
Canadians: No. I say again, you divert YOUR course.
Americans: This is the aircraft carrier USS Lincoln, the second largest ship in the United States' Atlantic fleet. We are accompanied by three destroyers, three cruisers and numerous support vessels. I demand that YOU change your course 15 degrees north, that's one five degrees north, or countermeasures will be undertaken to ensure the safety of this ship.
Canadians: This is a lighthouse. Your call.

Most awesome urban legend ever.

Monday, March 12, 2012

Things will likely be odd for a bit with the site style as I transition my journal from a customized modern/traditional template to the new dynamic views.

Thursday, March 8, 2012

So my mother calls me at work for something "Important" that probably fits in the 3/10 or 5/10 buckets, which is a blocking I/O event when you're trying to debug code, eh? This is something anyone out of grade school should understand by now:

  1. Walking in
    • In addition to calling (see below), blocks visual input if face is turned to look at you.
  2. Calling (E.g. phones, Skype calls, etc).
    • Blocks other tasks requiring conversational or non-automated mental function.
    • Suitable for urgent matters that demand a response time under five seconds.
    • Signal and local state issues may get you ignored to /dev/voicemail.
  3. Rolling conversations (E.g. from a desk away, over TeamSpeak, etc).
    1. Blocks either tasks requiring conversational output (responding) and reading comprehension (listening).
    2. Suitable for when a response time under 15 seconds is okay and you can repeat something.
  4. Messaging (E.g. instant message, text/SMS message).
    1. Suitable for when response time under 5 minutes is ideal but not urgent.
    2. Temporarily blocks text output ON writing a response.
  5. Electronic post (E.g. e-mail, forum PM, etc).
    1. Suitable for when response time of 2-5 hours is okay.
    2. Minimal obstruction when response is uneeded and notification can wait.
  6. Snail Mail
    1. When it involves something you can't digitize.
    2. Risk of being ignored is acceptable.

In most cases, "Response time" in the above can be replaced with time of notification as well, should you be conveying news. Case for 1: the building is on fire! Case for 5: you need to do ${task} tomorrow.

This is what it is like to deal with someone exercising grey matter. Programmers, copy readers, writers, etc.

Wednesday, March 7, 2012

Contemplating mutiny from Amazon to Google

Back in August, I rambled a bit about my thoughts on electronic books. Later on I acquired an Android tablet; about 4 x as much as a Kindle for the make/model tablet I purchased, but a hell of a lot more useful than a kindle or my netbook.

Since then, I have more or less established myself with getting books via Amazon. In fact, it's the only setup I've been using these past few months. I like it and my only complaint is I find wish-list issues more useful from a real web browser. Since then the Cloud Reader has become widely available, so Linux/BSD issues are even pretty moot now. I like Amazon and use it for plenty but they may have just lost a customer.

Today I clicked through references to Amazon and Google Play and became angry.

Now Amazon rarely makes me angry, the worst they've ever done is hook me up with a seller that bungles tracking data, but hey, packages still got there and it was small stuff. So far as long as I don't have to work for Amazon, it's a good enough thing in my books. Up to now, if a competitor would offer a lower price: I would still buy the Kindle version, in order to keep consistency and not have to remember which app/platform I bought it from.  It also sometimes pisses me off that books I want are not always available in a Kindle edition, but that makes me upset with publishers, not Amazon! The price difference of $58.28@Amazon versus $69.42@Google isn't /THAT/ bad, seriously. Although I will admit I usually find Amazon has much better deals on books that _I_ want, I have never seen this issue with Kindle books before.

Real Time Rendering is available in a Kindle edition but, I can only view it using the PC/Mac clients or the iPad client. You cannot tell me that dinky ass XGA screen on the iPad can display books better than my 22"/1080hd monitor using the Cloud Reader client, or my Android tablet with hit's 10.1"/720hd screen. OK, I can understand it might not look sexy on my phones 3.8"/WVGA screen but still, wtf? Total steaming pile of stupidity right there. 

I want my content and I want it on all of my able bodied devices!

That discovery inspires me to jump ship and change my purchasing habits: to Google Play by way of Play Books. Once upon a time I thought about just going with whichever resource gave the best price, Amazon, B&N, or Google; Kobo I won't trust with my $data after poking 'round there site. In practice though I found that having consisency like all my books either via Amazon, or physical books, was much more convienant than maybe saving $2 here or $5 there. Even for price differences between used real books and electronic books, because my shelf space is at a premium in the real world.

Looking at other books of interest, here's a little break down:

Title Amazon Kindle Price Google Play Price List Price @Amazon Amazon Availability Google Availability
Real-Time Rendering $58.28 $69.42 $89.00 PC, Mac, iPad Web, iOS, Android, eReader
OpenGL SuperBible: Comprehensive Tutorial and Reference $28.59 $37.67 $59.99 Kindle, iOS, Android, Blackberry, PC, Mac Web, iOS, Android, eReader
Essential Mathematics for Games and Interactive Applications, Second Edition: A Programmer's Guide N/A $47.36 $59.95 N/A Web, iOS, Android, eReader
3D Game Engine Design: A Practical Approach To Real-Time Computer Graphics N/A $66.36 $82.95 N/A Web, iOS, Android, eReader
Linux Kernel Development $17.69 $31.19 $39.99 PC* Web, iOS, Android, eReader
Understanding The Linux Kernel $29.79 $37.67 $59.99 PC* Web, iOS, Android, eReader

eReader in the above table is defined as what is described here. Amazon Availability is what's listed on the web page, although I assume the OpenGL SuperBible would work with WP7 and the Cloud Reader clients too. Ones marked with a * say what is listed but e.g. can have a sample sent to my tablet, so I'd assume they work anywhere.

Loss of dedicated applications for Windows Phone and Blackberry don't bother me, I don't use either, and should have other means of accessing my content off these devices if I ever need to change. I'm also inclined to think that Google's published policy on removals beats the shit out of Amazon's track record. From the look of the help pages, Google also offers more natural syncing between devices, as long as you don't have to resort to pushing files over Adobe/USB. So really the only gripe I can have is the when the price tag may be more drastic (like for LKD).

Monday, February 20, 2012

It is a bit slow IMHO, but after a months of actually using the search key in Android, I can't help but think this should be integrated into PC's as well.

Or at least, I find it rather useful when mated with Android apps that can make their data searchable :-)

Saturday, February 4, 2012

A Woman Like You

Last night, outta the blue
Driftin' off to the evening news
You said "Honey, what would you do
If you'd never met me"
I just laughed, said "I don't know,
But I could take a couple guesses though"
And then tried to dig real deep,
Said, "Darling honestly...

I'd do a lot more offshore fishin'
I'd probably eat more drive-thru chicken
Take a few strokes off my golf game
If I'd have never known your name
I'd still be driving that old green 'Nova
I probably never would have heard of yoga
Be a better football fan
But if I was a single man
Alone and out there on the loose
Well I'd be looking for a woman like you."

I could tell that got her attention
So I said, "Oh yeah, I forgot to mention,
I wouldn't trade a single day
For 100 years the other way."
She just smiled and rolled her eyes,
Cause she's heard all of my lines
I said, "C'mon on girl, seriously
If I hadn't been so lucky

I'd be shootin' pool in my bachelor pad
Playing bass in my cover band
Restocking up cold Bud Light
For poker every Tuesday night, yeah
I'd have a dirtbike in the shed
And not one throw pillow on the bed
I'd keep my cash in a coffee can
But if I was a single man
Alone and out there on the loose
Well I'd be looking for a woman like you."

She knows what a mess I'd be if I didn't have her here
But to be sure, I whispered in her ear
"You know I get sick deep-sea fishin'
And you make the best fried chicken
I got a hopeless golf game
I love the sound of your name
I might miss that old green 'Nova
But I love watchin' you do yoga
I'd take a gold band on my hand
Over being a single man
Cause honestly I don't know what I'd do
If I'd never met a woman like you."
A woman Like You—Lee Brice.

Tales from the debugging session: I hate you

This week, I finally wrapped up an annoying bug that basically is a heisenbug at heart, that pretty much lead me to use shotgun debugging to trap the problem, and once I found it's control flow, I stimulated it with something like this:

try {
    // block of code under test
} catch(ugh) {
    alert("I hate you!");

And gradually reduced the block size until I found where the code was, fixed it to not make Firefox 9.0.1 croak at the old code. Then I committed it and marked the bug accordingly in our tracker.

Then when I was shutting down to leave work, my team leader IM's me....oopsie, it turns out that I forgot to remove my "Affection" for Mozilla before commiting! I'm really glad that my boss has a sense of humour, and I think I was laughing for at least 45
Now that I've got a dock for my ASUS Transformer Prime, and have had my tablet for a good while, I think I might do a review, perhaps even against the original Transformer, which has served me so well....even while being battle damaged so to speak, lol.

A Day Made of Glass 2: Unpacked. The Story Behind Corning's Vision.

This really is our future, although I expect it will be over 100 years before it can be fully realised, perhaps closer to the year 3000.

  • The tablet already exists and recently has reached a point where this is practical in the near term
  • Cars with such displays are already in progress, although it will likely be within the next 20 years or more before this becomes the universal normal—like power windows and locks. Damn, I still remember manual everything.
  • Being able to so seamlessly transition between closet doors, class room walls, etc is the Jetsons of the mobile software world....I long for it.
  • The glass room, is the Jetsons of todays digital work flow.

  • This is what the first world will look like someday, if we don't nuke ourselves back into the dark ages first.

    Monday, January 30, 2012

    Random idea towards battle mecha

    In that ever so fluctuating nature of my brain fluttering across wikipedia, from Android Police, to the Tata Nano, to wing mirrors, to various car and hydraulic topics, something occurred to me...

    What if we could combine some type of dual purpose fluid that could serve as both an effective coolant, and as a suitable hydraulic fluid, and use a set of tubing to work it into a system where moving helps provide the circulation of coolant, and develop some kind of nanotubes that can be contracted, by having a computer control the application of electric current...

    Thus, big ass robot moves by shocking some hoses, that in turn pump coolant around. I can't help but wonder, if engineers have already tried this, in a bit, something smaller than and less robot like than a Mackie, but still suitable to prove it can be done. Like wise, I can't help but wonder if after a golden age in engineering, could we also achieve some kind of hydro-electric power generation around this, that can be kept going, and just require something like a battery assisted jump start?

    I've always had a bit of an interest in figuring out how to make giant mecha actually work >_>.

    Friday, January 27, 2012

    Curse you irony!

    Just before I got up to pee, I was looking at Skinomi carbon fibre skin protectors and thinking, "Maybe later" after I get my new dock.

    Guess what? My foot caught the fucking charging cord and slid my Prime off the desk, and me "Snap catching slash pushing" it against the desk to keep it from falling: just gave me a finger nail sized ding in the aluminum backplate.

    *groan* nothing like denting $600 because it takes for fucking ever to get a dock shipped here: that extra batter life and keyboard really helps.

    Thursday, January 26, 2012

    Test post

    The Big Android Browser Test

    There have been a couple of things on the net about various browsers, I'm sure, but certainly nothing comprehensive that I have found. Like wise, over @XDA in the Transformer forums at least, things tend to get muddled up after awhile from all the commentary.

    So I thought I would install a shit load of browsers and do some testing! My test procedures can be found here.

    It will take a while to do in my off hours and I doubt I'm going to get much done today, stuck home with the parental unit sick, so, I'm pretty much on butler call all day :-/. I'd rather be getting work done, like debugging yesterdays crap near interrupt free.

    The trouble with ice cream

    I brought some Eddy's ice cream while we were waiting at the pharmacy, because it was the early Grand brand that had Neapolitan. When I opened it this morning, I couldn't help but notice there was only like 15% Strawberry, 1/3 Chocolate, and the rest was vanilla!

    On the up side, it is very decent ice cream:).

    Tuesday, January 24, 2012

    Thoughts on Android Game architecture revisited

    A while back, I blogged some thoughts on game architecture for Android. In the time since, I've looked a bit at the Light Weight Java Game Library (LWJGL) and Maven, and am developing a bit of an interest in just how much one could push shader programs to maintain performance.

    I'd rather like a Maven setup, and something that will support both PC systems and Android, and it seems that Maven even has an Android plugin :-). That got me to thinking about source tree architecture and the notion of sharing a library between a PC / Android game setup and how that might fit into a source tree. Then it hit me! Break it up into separate sub modules, and create a master project for each. Nice, easy, and simple. Also has a perk that it should work with any decent version control system, not just Git.


    Sunday, January 22, 2012

    The Farthest Staar

    The will to greatness clouds the mind
    consumes the senses veils the signs
    we each are meant to recognize
    Redeeming graces cast aside
    enduring oceans new-found promise
    that the end will never come

    We live in times when all seems lost
    But time will come when we'll look back
    upon ourselves and on our feelings
    Embrace the void even closer still
    Erase your doubts as you surrender everything

    We possess the power
    If this should start to fall apart
    To mend divides to change the world
    To reach the farthest star
    If we should stay silent
    If fear should win our hearts
    Our life will have long diminished
    Before it reaches the farthest star

    Wide awake in a world that sleeps
    Enduring thoughts Enduring scenes
    The knowledge of what is yet to come
    From a time when all seems lost
    From a dead man to a world
    without restraint unafraid and free

    We possess the power
    If this should start to fall apart
    To mend divides to change the world
    To reach the farthest star
    If we should stay silent
    If fear should win our hearts
    Our life will have long diminished
    Before it reaches the farthest star

    If we fall and break
    All the tears in the world
    Cannot make us whole again

    We possess the power
    If this should start to fall apart
    To mend divides/ to change the world
    To reach the farthest star
    If we should stay silent
    If fear should win our hearts
    Our life will have long diminished
    Before it reaches the farthest star

    The Farthest Star—VNV Nation.

    Wednesday, January 18, 2012

    Are companies like Facebook Internet cowards?

    Some people in this country, still concerned over the whole SOPA/PIRA bit seem to have been mild in their  blackouts, and it makes me wonder, if they are against the bills are they cowards then?

    Sites such as Amazon, Dropbox, and TwitPic have added bumper stickers to their U.S. site, Flickr is supposed to be extending users the option of blacking out pictures but has otherwise chickened out on striking. Google is operational but blacked out their doodle, in proper Google fashion, so they're still doing something.

    Then, there's a few that are apparently not concerned enough in the the Internet that keeps them viable in business, to risk even that little a public display - Facebook, eBay (and thus PayPal), and Twitter for example.

    One could argue that businesses shouldn't take part in such things or politics at all, and that's reasonable enough IMHO, except when the freedom of the Internet is a huge part of their business. Then it's your head in the same noose that all of us are. If Facebook and Twitter are as big as it is reported and they care about this, they surely could have joined the effort...the amount of  suicides and ensuring bad press is obvious enough reason to not go on strike but come on at least a bloody bumper sticker! They make profit off part of the Internet, and provide service that can help people change the world and in Facebooks case probably make higher profits than we can dream of while they are at it. Yet if they have so little back bone over something like SOPA and PIRA now, what would they do if a bill came down the pike, that would mandate everyone censoring free speech off the internet? Write a memo saying we don't like that implementation and count the cash as long as they still make profit out of the deal? Cowards!

    I believe that if people fifty years ago were like Facebook is today: people of dark skin would still be getting forced to the back of buses in this country, and nearly two hundred and forty years ago... there would be no United States of America today.

    Companies like Facebook, eBay, and Twitter need to grow some bigger balls.

    Monday, January 16, 2012

    How to make your own buttonhook cheap

    When working a while back on my private tactics compendium, I summised that we probably call the Button-hook technique after the use of a real buttonhook. Well, my new work shirts are a pain in the ass to button at the collar, so on the way to the office this morning, I thought about how to make one. Yes I'm cheap and I like solving problems here and there lol.

    Unfold a paper clip like so:

    And you have yourself a buttonhook for like a penny versus $5-$15 out of a store!

    Plus if you push the little end closed, you have an ear clip just like my father would make. Those are the most awesome way to clean ear wax out of your ears—qtips are no good.

    Friday, January 13, 2012

    Playing with linpack and power save modes on my prime

    This is what I'm getting with basically just a few web pages open in Opera:

    • Performance mode: up to 90-125 MFLOPS. Usually in the one hundred and teens.
    • Balanced mode: averaging around 75-115 MFLOPS. Most often between 90-110.
    • Power Save mode: averaging around 50~70 MFLOPS.
    Every test was in multithreaded. The first anandtech review of the Prime has a good stack of stuff in it, I'm just fiddling around out of curiosity, not profiling :-).On the TF101 which has no power save settings in the stock ROM, and I believe my notes are recorded here.

    Thursday, January 12, 2012

    Argh, sometimes technology just makes me sick!

    Recently, I updated my journal about the repairs I tried on Sunday, well yesterday I started breaking in a TF201 and working on the epoxy trick. No luck but hey, ICS is really freaking awesome and my Prime is solid, even if I still prefer the TF101's build.

    Now today, I just threw my hands up. I was jugging things getting data transferred and the like, well, I accidentally added an icon on my TF101's home screen and instinctively tried to remove it with my finger, before I could realize which tablet I was touching. Guess what? I got the long tap event in ADWLauncher Ex but couldn't drag it. I got the bloody touch event in the dead area of the screen, where haven't been able to get touch invents without using the docks touch pad! But no dragging or sliding stuff would work and the touch events would only work every few taps...than suddenly the mother fucking thing just started to work PERFECTLY until it crashed toggling the screen. Now it works perfectly.

    I guess maybe whatever component got jarred just a smidge loose to cause that, must have somehow got pressed back in without me trying to do it manually, well, trying successfully, since I couldn't get it open again... :-/. All I know is that sometimes technology makes me fucking sick!!!

    *kicks the air* I'm really glad it works (for now) but I hate it when stuff like this happens \o/.

    Wednesday, January 11, 2012

    My summery of Android versions

    • 1.0.
      • September of 2008.
    • 1.1.
      • February of 2009.
      • General software refinements, which I'll usually omit below.
    • 1.5 Cupcake.
      • April of 2009.
      • Third party (custom) keyboards are now possible.
      • We got widgets!
      • Bluetooth A2DP and AVRCP profiles (think stereo).
    • 1.6 Donut.
      • September 2009.
      • Voice I/O.
        • Voice input (Speach to Text).
        • Multi-lingual voice output (Text to Speech)
      • Apps can make their data available to search results.
      • Better support for gestures.
    • 2.0 - 2.1 Eclair.
      • 2.0 in October of 2009, 2.0.1 in December of 2009, and 2.1 in January of 2010.
      • Support for multiple accounts in sync.
      • Exchange account support for email.
      • Camera app sucks much less.
    • 2.2 - 2.2.3 Froyo.
      • 2.2 in May of 2010, 2.2.1 and 2.2. in January of 2011, 2.2.3 in November of 2011.
      • Dalvik VM gains Just In Time (JIT) compilation.
      • Exchange support becomes USEFUL.
      • USB and WiFi tethering. (Use your phone as a bridge between your laptop and your data plan.)
      • Now have the option to DISABLE mobile data.
      • Apps can now be installed to external memory (e.g. MicroSD card).
    • 2.3 - 2.3.7 Gingerbread.
      • 2.3 in December of 2010, 2.3.3 in February of 2011, 2.3.4 in ???, 2.5 in July of 2011, 2.3.6 in September of 2011, and 2.3.7 in ???.
      • Native support for SIP VoIP.
      • Selecting text to cut/copy/paste actually works.
      • Text input cursor can now be precisely positioned.
      • Ext4 replaces YAFFS(2) as standard file system.
      • Native support for more sensors; gyroscopes, barometers, etc.
      • NFC support.
    • 3.0 - 3.2.2 Honeycomb
      • 3.0 in February of 2011, 3.1 in May of 2011, 3.2 in July of 2011, 3.2.1 in September of 2011, 3.2.2 in August of 2011.
      • Notification bar moved from top of screen to bottom corner.
      • On screen software buttons (back, home, multi-task, menu, ...) and the action bar.
      • View of recent apps can be snap shots (multi-task button) or existing icon view (long press physical home button).
      • Browser UI becomes more like Google Chrome.
      • Browser can now sync bookmarks with Google Chrome.
      • Apps are now commonly multi-pane, e.g. message list and message body on one screen.
      • More hardware acceleration.
      • Support for multi-core CPUs.
      • Encrypting user data.
      • USB devices now work as expected, e.g. flash drives, game pads.
      • Proper support for Bluetooth keyboards, gamepads, etc.
      • Stock launcher now allows widgets to be resized.
      • WiFi performance can be maintained when screen is off (WiFi locking).
      • Apps designed for small screens can be zoomed or stretched to fit.
        • this Android 2.2 feature is a really good thing and makes many reviewer's complaints about Honeycomb less of a big deal for normal people.
      • Screenshots (or was this just a TF101 thang?).
        • Previously required a custom ROM like Cyanogen Mod.
      • Pasting integrated with 2.3.x selection UI.
    • 4.0.1 - Ice Cream Sandwich.
      • 4.0.1 in October of 2011, 4.0.2 in November of 2011, 4.0.3 in December of 2011.
      • Small screens get traditional (1.0-2.3.x) UI, large screens get tablet style (3.x) UI from Honeycomb.
      • On screen software buttons (from 3.x) now work on phones.
      • Stock launcher catches up to common features of custom launchers.
      • Access apps from lock screen.
        • Previously required custom ROM/UI (e.g. Sense; Cyanogen Mod).
      • Unlock your phone by taking a picture of your face.
      • New Roboto font.
      • Can now monitor data usage without requiring third party apps (or custom ROMs).
      • Camera app sucks less.
      • Basic photo-editing.
      • Much stronger NFC integration, alternative to Bluetooth data transfer.
      • Yet more work on hardware acceleration.
      • WiFi Direct, a form of Ad-hoc WiFi networking and bridging.

    Tuesday, January 10, 2012

    Attempting to fix my ASUS Transformer TF101's blank screen

    Been a while but finally I've got a moment to update my journal, lol. Saturday night, Andera (my TF101-B1) slid off the mattress and ended up with a blank screen, and briefly some green garbles. The backlight was still working and my tablets survived the same and worse landings unscratched so, plus I know what kind of guts these things are made out of, so I knew it couldn't possibly be hardware failure. The photo's I took are all captioned and in an Album here.

    Determined, on Sunday I went out in search of a torx screwdriver. As it happens, Fry's didn't have any T5's left, just T6's and the threads over at xda-developers said T5. So I spent the worst $10 of my life, on one of these. It's a real piece of shit beyond the driver bits. Turns out though that some joker decided to stuff a Phillips PH000 in place of a Torx T5, and not include the T5 anywhere \o/. Fucking bastards! But on the upside that was the right size for the Phillips screws I had to work with.

    So I ended up undoing the torxex on the bottom (by the docking port) with a T6, and left one of them stripped by the time I was done. After that it was time to pry off the bezel, which I did a dandy number on; when putting it back on resulted in a barely working power button,I pryed it  up and used gravity to fix the power button before snapping it back in. What I found was that it's a lot easier to pry off from the back end, YouTubest be damned.

    There are three screws on top and bottom, and two on each side. I kinda missed the top three taking off the back plate so it might be good that it's just cheap plastic.

    Getting the base plate on/off was easy. Also under the metal plate that goes over the battery, is an empty space that looks like it is where you would install the 3G modem on a TF101-G.

    Most of the connectors are the ugly ribbon goes into stupid pin slot with flip holder kind of Flexible Flat Cable thingy. I hate those and don't know why they are so popular, but alas, I didn't build the darn thing or design it. So next up I had to figure out which one is the one I needed, I tried all of them that were readily accessible just to be safe (bad idea).

    In my poking around xda-developer's I found a link to somewhere that sells replacement screens, that told me where to find it. There is even a YouTube video on the whole procedure (I'll edit in a link from my browser history later). I personally found it easier to remove the power connector so I could access the video FFC better:

    To be sure I was right or would more likely figure out what it does (in case of gross ID10T error on my part), I pulled it and reseated it very firmly.

    Fired it up and voila! The touch screen was working. So I studied how much I fractured my bezel and put it back together, note carefully that the holes nearest the docking port are for the TORX screws that go in LAST!

    On boot up, everything went perfectly well until I noticed that back and home didn't work. A little bit of testing showed that entire portion of the touch screen is not getting any touch events :'(. I'm not sure if it's another ribbon out of place or just that I missed a couple screws on the back plate (d'oh). But since I  have the dock, I'm pretty much able to use it. The one torx is now too stripped to drive, so until I figure out a solution to that, Andera is missing touch input on the left most (view able) inch of the screen.

    I don't have a drill or I would just hit the hardware store for a drill bit to get the sucker out, and trust me,  my trusty awl doesn't seem to one to carve a slot in it. Don't have any rubber bands good enough to try, so I'm thinking about grabbing a tube of epoxy on the way home from work and see what happens....if I can fix it, I'm gonna fucking fix it! In the mean time, I've ordered a Transformer Prime / TF201-B1, because the best I can get here is a TF101-A1; and I'm already using over 10GB on my TF101-B1, so $400+whatever memory card Best Buy has, is not worth it. Like wise, if I'm getting stuck spending so much money, may as well buy the prime instead of a later version of TF101-B1 (mines a B50 with no Q/C issues). I'm very partial to my mid-generation TF101....

    Oh, btw don't forget to put the screws in the back plate if you try this at home.

    Thursday, January 5, 2012

    Well, I suppose all awesome footwear must wear out eventually, such is the nature of the clothes you love. On my way to visit my girl friend and her family over the break, coming through security in Calgary, while I was putting my boots on I noticed a nice hole in the lower port, inward side. It's about large enough to put a finger through. I don't know when the breakage happened, never noticed it before; leaving Atlanta I was a tad to pre-occupied with getting to my gate to notice.

    While I was in Canada, I showed this to my Firefly and she noticed that the outsoles were also dead on arrival.

    I should probably have noticed this myself, once I started to note unusual traction loss and "Sliding" around the past few months. I looked up what it would cost for having them resoled with vibram

    My boots outsoles are pretty cheap, clicking through the picture in this journal entry links to their page at Rotcho. Actually, I think everything they make is pretty cheap but the quality to cost ratio is reasonable enough in all the cases that I've tried. These boots are Pretty Damn Comfortable and the material is sufficent for my environment, now if I was jumping out of air planes for a living or a park ranger, I might decide otherwise.

    If it wasn't for the hole in my port boot, I'd likely try to have them resoled. That would probably cost more than my boots are worth, or at least with something like a vibram outsole. Maybe that'd still be like putting lipstick on a pig, but I really like my boots lol. Bet a decent shoe repairer could even fix the hole.

    So, bit of a debate: just buy a new pair or invest in something better. I'm thinking that if I bought a new pair of Rotcho 5057's, I'd may as well buy a new pair every 8-14 months; however long it takes to wear out the outsoles. I'm not really convinced that even e.g. a vibram outsole is going to offer /that/ much greater life, but hey, if you're gonna spend the $ to resole boots, may as well have a quality boot worth more than the resoling cost, eh? In looking around, I'm thinking about Belleville 790's or 795's. The former is unlined like my Rothco 5057's, where as the latter has almost half a pound of insulation. My feet don't really get very cold, at least not under socks and inside my boots, even when we were walking out in -8C/+18F kind of temps with ice/snow, I was perfectly warm of foot. In particular I like the look of the Belleville's construction versus the Rotcho. What I don't like, is there is NO one here that sells the darn things, so the only option is online.

    Of course, if it doesn't work out, I could always get up early one Saturday and take a drive over the Bear Paw Army & Navy in Griffin, and see if they've got anything I could use.