Saturday, December 24, 2011

Dropbox 2.0 for Android: fixing your folder

I don't get why so many people are pissed at this. The old folder location was at ${sdcard}/dropbox. This is really good for an app like Dropbox and I wish they would have kept it, but to be honest, it does technically belong in the new location of ${sdcard}/Android/data/ Although I would've used dropbox or cache instead of scratch but whatever.

Don't like it? Well guess what, fix it yourself. Open a terminal emulator [0] [1] and do the following:

example# ln -s /mnt/sdcard/Android/data/ /mnt/sdcard/dropbox

If you get an error about no ln command being found, you should install busybox and add it to your $PATH.

If you've got a real MicroSD card, you may get an error about the operation being unsupported (etc). In which case you either need root or you need to use a file system that supports symlinks. Which means probably reformatting your memory card as NTFS, or EXT4, or YAFFS2. Whatever your shit can read, because FAT32 is probably not going to support symlinks.

If you've got a device like my Transformer, that has an internal memory on /mnt/sdcard (${sdcard}), odds are the actual data is somewhere behind a FUSE shim, and is really stored at something like /data/media on an ext4fs partition. Easy symlinkage!

If none of the above makes any sense, you only no one tenth the power of Android and should have learned more about unix and Android, or maybe have bought an iPhone.

Thursday, December 22, 2011

Thoughts on Android Game architecture

Games for Android are a little different than writing for PC or console, really seems to be less of the dull grundge as well. But at the price, for more advanced efforts there are less resources sitting right there on Fresh Meat or Source Forge for the hunting up. Me being me, of course, I aways have an interest in cross platform portability (as well as a general disdain for Oracle Java).

One thought that occured to me, is why not do it the same as I would on a PC?

What is the activity to a game? What the user sees. All it really needs to know is processing input, rendering output, and talking to the big cheese. That's it. Hell, before we talk communication methods, step back and think there: an Android activiy and a Windows executable could both function as clients, talk to the same server, and have a cross platform multiplayer game. Or even a screen like detach/reattach feature where you could begin playing on your mobile phone, then switch to a PC with way better graphics. Threating the user side of the app as a "Client", it would be possible to have a low-end client for basic phones and a high definition client for sexy tablets.

To make it work, we need a service program to communicate with. On a PC, I would probably use shared memory for offline play and sockets for network play. In favour of shared memory, would be the ease at which C++ code would likely be tweakable to use a shared memory allocator to store command objects, rather than having to do as much extra leg work to serialize the information within across a process boundry. Android land makes most issues a moot point. Network wise, I'd probably just use JSON.

Something that interests me, is how much of the core game design be implemented in such a way, that it could be used off Android by reusing the same library. C code, whatever C++ code the NDK can compile, or Java code should all work, as long as long as one watchs what non-portable bits are stuffed in there.

Putting this much thought into it, can probably be blamed on poking around the FreeBSD and Q3A source trees over the years, and finding the possibilities fascinating lol.

Friday, December 16, 2011

My word, if you're not using Opera and it's Dragonfly for web development, all I can say is Firebug users, eat your bits out.

Hello old friend

Well, I've just done something unexpected: I installed Opera on my workstation.  It has the operating systems default (a red dinosaur) and Google Chrome setup, which I have used since I got tired of diving into Firefox only for Firebug. In practice, I find Chrome's stuff to be equally useful to me.

Now, why did I install opera? Generally I like to keep my environment pretty much the same; a look at my shell profile would make that obvious. At home, Chrome has developed an odd problem on my desktop, Dahlia. No sound plays: be it from Flash or Silverlight. Haven't tried anything else, since e.g. WMV and QuickTime seem to have died out in the last lustrum (good riddens QuickTime!).

So, I am considering replacing Chrome with Opera as my defacto standard browser, as much as I love Chrome, do I really like openning another browser whenever I want sound? If you say try Firefox (or relation there of) I will find where you are and unplug your Internet with a vengeance. The only other browser Dahlia has is Internet Explorer 9; which is actually a nice enough browser to use but doesn't even meet my criteria as well as Mozilla.

Pluses for Opera:
  • We're old friends: I used to use Opera 8.5 - early 9.x as my daily surfer.
  • It's stable, tried, true, and reliable.
  • I use Opera Mobile on my Androids.
  • It's not the fattest ass at the track, *cough*.
  • Tomorrows staple feature is usually probably be todays Opera feature.
  • Some moron developers treat Opera like a deranged step brother.
  • Silverlight isn't officially supported, but probably works.

I find it startling how much alike Opera Mobile and Opera is. All that is really missing is more advanced settings, and 'lesser' used features like gesture support (cool) and panels.

We'll see what happens but I'll give the experiment a go. Something that especially interests me, it seems that Opera Dragonfly is more or less the same thing as what Chrome has, plus "Opera Turbo" may be a viable option. At work, things can get really congested on the network, especially the wired one my desk switch, workstation, and test units mate with. So WiFi is usually the only way to browse to Internet resources - Opera Turbo might help with the network spikes, so I've got it set to automatic here, at home I won't need it.

Opera Turbo is a function that feeds data through a proxy server for compression, all that means to normal people is that if your computer is older than petrified dog shit or you're on a slow network, you get faster page loads. The privacy issue doesn't bother me much, not at work. No one is watching closely AFAIK but there's little to find past e.g. editing my calendar.

Thursday, December 15, 2011

I've read my first bit of Lovecraft today, in the form of a "The Tomb", a quaint tale that gives cause to question the narrators sanity or our reality; that or I just think to much! That puts me about 1% through The Complete Works of H.P. Lovecraft according to the Amazon Kindle app on Andera. So far, I think I'm going to like these,  and along with the games and various development tools on my tablet (and my jot), should help pass the long flights I have coming up after Christmas.

Hmm, that was about 160 some screens by my arithmetic,  which should translate to maybe 50'ish pages in a real hard cover book; going by the standardesque side for a novel anyway. Most are short stories as well, so it sounds like the stories should be a good fit for my current life style. One that sadly, doesn't seem to find room for that many good novels :-(. I've always had an avaricious taste for reading, but the fluctuations of time and money over the last lustrum, have been rather, light. I don't really have any shelf space left either, so aquiring new (from my perpective) books is best done in electonic form.

Can't say that I will ever appreciate the feel of a computer as much as a real concreate book in hand, but I will admit: for cost, space and travel reasons. It's a damn good idea. As much as I like the idea of digital copies though, I do not look forward to a world without "Traditional" books in it. Yeah, so what if I'll probably belong in a mausoelum by the time I'm legally an old fart. I like sitting with a book in hand!

For a little while, I have been looking at two possible resources: Amazon Prime and Netflix. I've used the free offerings of Hulu and paid offerings at Comcast's XFinity (our ISP) and Crunchyroll.

Amazon Prime I think is just this awesome deal, that you can't beat for the price; assuming you're willing to pay. Basically, you get free two-day shipping and some of the films on Amazon Instant Video can be streamed for free, rather than renting or buying it. Supposedly streaming should work anywhere that Flashplayer does. Not my favourite software but it's a better option than Silverlight IMHO, assuming you want cross platform support. I don't order that much stuff but when I do, it will usually come from Amazon or eBay, whoever gives me the better deal. Between the video and the shipping, it's like an awesome deal. Can't say that I've looked at the Kindle part much, so IDK how well it integrates when using everything but a Kindle device. Selection also looks pretty good but not unlimited, sadly. I may very well give it a try, but will hold off until the shipping is more useful.

Netflix on the other hand, is an interesting wild card that I'm trying out now. A lot of people either left Netflix or have an uneasy relationship with the company after the whole fiasco with the Qwikster idea and the plan split; if I was an investor I would. You can get unlimited streaming or disc rental, or pay more for both. I'm fine with that, especially with the price tag. What interests me though, is the recommendation stuff and the selection. I was impressed with the selection versus XFinity and Hulu, majorly impressed; although the starz thing worries me. How it guesses how likely I am to like something seems accurate enough to take into consideration when choosing a movie, based on what it's given me for movies I already know. That on it's own is worth while, with a sufficient selection versus XFinity. The number two problem I have with XFinity is of course, out of what I /can/ watch: what should I watch? That's a time investment in entertainment you know.

XFinity is a great, if you already get a premium cable service through comcast, it is worth checking out. What irks me though is that a lot of things are either unavailable or only can be played via the set top boxes on demand programming. They're not the best at web development, only support Windows and iOS for playback; which is a sequence of progressive groans for me but at least there's a pretty reasonable amount of content, at no extra charge past the cable bill. The problem is, when I want to watch something, it's a crap shoot whether or not I'll be able to—and I don't haven't had my own TV for a year.

Hulu is better for general TV, not so much for more premium content IMHO, so I don't really see any sense to a Hulu Plus subscription. For people that prefer series it's likely worth it, especially if you want more recent ones and don't have all the DVD sets.

Crunchyroll, if that sort of thing rocks your boat, is worth membership just because the advertising is too frequently the same.

Of course, another option is renting stuff off the Android Market or similar but I'm too cheap most of the time lol. Odds are I could even get a new TV tuner and hook it up to my modem but I'm to lazy and to cheap for that.

Wednesday, December 14, 2011

Well, I would say things are at an all time low.

My mother curses at me for walking away from my family in favour of a stranger, and I can't help but wonder, why on earth would I walk towards her? I've done nothing unduly hostile towards the rest of my family, except block them from my photos: because she would not stop using that situation to attack me. It's between her and I. Just like when I was a child and my mother and brother were at near constant state of war; she tried every method of using me as leverage against my brother. As she often worded it, we were a "Packaged deal" and he wasn't allowed access to me unless he chose her as well. Ain't it a peachy family I grew up with? Damn she even leveraged my father ordering it as often as her packaged deal crap. Present day, every now and then I get bitched at because I have little to do with my brother. He now lives 70 miles away. Well guess what, when he lived 200 feet away I was regularly forbidden from having anything to do with him without being given much pain for trying to. We've more or less been grown into our present relationship, by our mother, because that is what she wanted for years, and expressed on more occasions than I can enumerate. Just because they're at peace now is magically supposed to change something there? That is ridiculous! It changes nothing that my turning 18 didn't. Now she makes efforts to do the same bologna with bringing extended family into the affair. I don't care. 95% of my extended family have nothing to do with me 100% of the year: her GOD parents and occasionally my father's sister. It's not a weapon, it's just words she can throw. My mother is a small and hateful person in private. I and the girl I love have been verbally abused and slandered enough that I am no longer on speaking terms with my mother until an apology is issued wich is about as likely as being hit by a meteor. And I have no intentions of changing that decision what so ever, my concious will not be bothered in the least if that lasts for life. Some time ago I learned the meaning of "A hater is going to hate", because that's how my mother is. She doesn't know how to love or care past her own concerns, not in my experience over twenty some years. I gave my mother nearly seven years of my life, as unpaid labour in her under the table cleaning business. I put up with her trying to crush my efforts to get a driver's license and a real job; I tolerated her hatred for me finding a truly awesome job and her attempts to derail it; I paid her more than I could afford out of my income, never asking for a dime back; I skipped moving out so I'd know she'd be O.K. and paid for it, then let her skip paying it back; I have even loaned her money, to the point of skipping my desires and getting in danger of being stranded, and allowed her to borrow enough that I'm not writing it off. But I am not a retard. My mother complains that she didn't get anything out of having kids: since my grace, patience, and mercy are not as great as Mother Teresa, I think maybe she shouldn't of had any then. I once needed antibotics for an abssessed tooth that had my jaw swollen up like a golf ball. That's the kind of condition that can become fatal if left untreated. It's been used against me at every turn she pleases, that she took me to a dentist for that (instead of letting me get worse and die?). I've given her many times the cost of that dentist trip without any expectation of return and loaned her many times more past that, to the point that I need to make it a standard debt just to stop her from using me for a blank check. Every time she has needed to go in for a checkup, I've taken her and lost count of how much I've helped her there in terms of cash. But wait, it's still attempted leverage against me because it fits into her little world view of things. Everything a parent should do in that type of regard, is used against me and I'm treated like the scum of the earth when I help her. I don't think my mother can love or care for anyone because it seems like nothing can get past her shelfishness, or maybe I'm the only one that thinks you have to care more about someone else than your own interests, at least some of the time. Is that being a loving and caring parent? I don't think so. I think maybe my mother could use mental help but I'll be damned if I'm paying this time.

Tuesday, December 13, 2011

This entry is just to test the share to g+ thingy; if you haven't converted from Blogger profiles to G+ ones yet, you ought to :-).

I just wish it was automatic or could be made to work with something like twitterfeed.

Sunday, December 11, 2011

My first self cooked lunch

Today, I did something odd in making my own lunch, and actually cooked. Needless to say, I generally don't cook in my mother's kitchen if I can help it, but this time I got

I warmed up a left over salisbury steak and cut it up into pieces and a slice. Then I mixed up three eggs to make in a pan, trying to get all the liquid to cook reasonably solid and spread out; flipped it over and pressed it a little and let it cook. Mushed some bits of the salisbury steak and folded it over, and pressed it for a bit, flipped & repeated. In retrospect, I really should've added some pepper for flavour and bits of cheese to bind the meat together.

For the sandwich, I put mushed bits of the meat on, layed by a slice of cheese, the slice of meat, another slice of cheese, and more mushed bits. Not sure if only buttering the pan-facing sides was smart but I loved how it came out, and decided to burn one side a little bit, just to make sure it would be strong enough with so much inside. I loved how that sandwich came out xD.

Generally I'll make do with left overs or make a normal sandwich, it's just the most safe way to avoid dealing with the parental  unit. In this case though it worked well enough (Y).

Friday, December 9, 2011

Do you really want to put one of these to your ear or anywhere near your precious fingers?

source: Android Police.

Or one of these?

I like my fingers in tact, thank you!

Thoughts on Android development *ON* Android

I'm crazy enough for it, after all BTEP+{bash,vim,coreutils,etc} on the TF101 is about as pleasant as on a netbook. The difference between BTEP and XTerm, makes something like Screen or TMUX a necessity IMHO and I favour the latter. Also copying and pasting from vim to Android apps is different. Without vim's X support, a temp file is the best solution until BTEP gains real support for text selections.

My point being, if you can use a netbook and a command line environment, doing it on Android is no different. Hell you could even SSH into a phone from a PC if you lack a Transformer or a tablet+Bluetooth keyboard setup. Only people that _require_ something like Eclipse or Visual Studio are seriously impacted, and emacs and vim are good tools when combined with GNU tools (BusyBox a bit less so).  I have the equal of Debian without X.Org running on my transformer, a decent terminal emulator, and a real keyboard. So I am well equipped.

Now, the sticky part is actually being able to compile and run Android Java programs. You can write the code on a napkin if you want but that doesn't work with your devices CPU quite so easily.

Android developers should already know the compilation model:

        *.java -> *.class -> *.dex -> classes.dex

A compiler is used to convert the source code into Java bytecode. This technically means that any language that you can get running on a JVM, and interface with Java code, you can probably use for Android development; in practice I'm sure there are more devils in the finer details.

After we get the Java bytecode, we have to convert it into a format for the Davlik VM to run. That's where the dx program comes in. It translates Java to Davlik.

Because applications are rarely composed of pure source code, especially Android ones, things get slightly more complicated to create a .apk file you can install. The packaging tool aapt, apkbuilder, and aidl programs join javac and dx in creating the .apk file, the end goal of our the toolchain. In practice: .apk is pretty much .jar, which is pretty much .zip. Only classes.dex is used instead of a .class file per class in your code, and something I wonder why Sun never thought of!

Now, the issue is obviously how to run all this shit on an Android device, like my Transformer.

Google only publishes SDKs for Windows, Linux, and OS X systems on x86, Linux+ARM isn't supported, sadly. Installing an x86 emulator and a mini distro with Java  and ssh is over kill, even for my Debian chroot loving self! BUT most of the SDK is in Java or BASH!

Java runs on Debian/ARM, so we can install a JDK and JRE, and thus get access to the Java side. Bash is already available for Android, let along Debian/ARM. So! The point of concern becomes x86 binaries. That seems to amount to most programs in platform-tools/ and tools, but what do we /actually/ need? Well guess what Jack, if we're doing development on device, we don't need the emulator! AFAIK the tools we do need are:  apkbuilder, dx, javac, probably jarsigner. The aapt and android programs being good to have, ditto for ant I'm sure.

aapt is a binary, so at best it would have to be natively or cross compiled, and much like make in C country, we can probably do it another way. The source is probably in the Android Open Source Project (AOSP) somewhere, which would make this easier.

android, apkbuilder, and dx are bash scripts.

android sets up an invocation of the Java VM (java) with tools/lib/sdkmanager.jar and a suitable SWT JAR and runs the program. I don't know if SWT needs to be in the classpath when running it in command line mode, but hell, Debian/ARM = SWT deb somewhere.

dx is similar but uses platform-tools/lib/dx.jar.

ditto for apkbuilder, but using tools/lib/sdklib.jar

In looking at the manifests, a suitable Java execution environment is all that is needed for the serious leg work. That surely can be done using the JRE and/or JDK debs. Hoorah! And obviously the point of the "platforms/android-*" stuff is for javac and the emulator to work, android.jar in particular is our interest.

One downside, dealing with Renderscript or NDK stuff is another delema as obviously those rely on binary stuffs that are not Java, and AFAIK the toolchain for Renderscript depends on an LLVM frontend, so idk how to deal with that yet, but I'm not worried about it -- most applications shouldn't be using renderscript, unless maybe you're making Modern Warfare 4 on Android >_<.

So I think, I is in business.

PostScript: I am aware of the Terminal IDE app but prefer to be closer to the official SDK and I would rather stick closer to my Debian chroot, especially because BTEP+tmux is a better place for using VIM with a real keyboard.

Monday, December 5, 2011

I can't hep but think, that my brain is trying to tell me something, when I find myself fumbling with

In the gmail app on Andera, viewing a message displays the message list off to the side as a fragment. None of that &lt; or &gt; buttons for Android. I'm so used to it now, that in Chrome, I was almost thinking, "WTF where did my message list go?" when I saw the usual "Labels" side bar. Oi vey, I need to stop using PC's so much!!!!

Saturday, December 3, 2011

Right, this is some real bullshit. I stick a DVD of Spaceballs into my computer, and get an ELUA pop up for software from "Sonic Solutions". It is so bland that I can't even tell what the fuck program it is for (but Google explains), so you can obviously conclude, I ain't accepting it with such a bland and faceless ELUA, belonging to bloatware I don't even need.

But, and the big but is, it notes that it may even include the LAME MP3 encoder, which really pisses me off because they couldn't even be bothered to decide yes or no for the ELUA  \o/.

Friday, December 2, 2011

I do think this has to be the first cube that doesn't just suck, that I've drawn free hand in a long, long, long time.
While it was on sale over Cyber Monday, I bought a copy of SketchBook Pro from the Android Market. Can't say that I have any skill left at drawing, if I ever did really. I haven't touched a pencil to a piece of paper that way in so many years now, I don't even want to think about it. Probably a waste but I ordered a stylus, in the hopes of something more fine than my finger. I've an occasional interest in computer graphics but can't say that a mouse really does it for me, if I'm thinking about drawing, my head understands how to use a regular pencil or charcoal. A finger is honestly more astute for my brain than a mouse cursor. Needless to say, I'm not the kind to be found in Photoshop so much as vi.

Far from perfect but hey, if I can't even remember the year two thousand and whatever I stopped drawing in, I'm proud that it doesn't look to terrible.

After being busy between the lab at work and my mother's steady pestering, I miss having time to update my journal - what a wonderful thing weekends are!

Sunday, November 27, 2011

A photographic decision

While brushing my teeth tonight, I have come to a decision about how to limit the ways my mother can pain  me. When I came back from vacation, my mother took great effort to see my photo album distributed however she pleases. That was generally met with forcing people to go straight through me if they want to see anything of mine, which is obvious if you want to see my stuff. Well, due to my mother's unresolveble nastiness and her constantly using that as a form of leverage to attack me through, I have decided the following:
From this date forward, anyone who is currently related to me by blood or marriage is blocked from viewing any photo's that I have taken in the past, currently have stored, or will ever take in the future, except where posted publicly. Likewise any violations by future generations shall be met with aggressive sanctions to match. In plain English that means, I have just banned my kin from ever seeing a single solitary photo that I ever take or have ever taken.
To match this decision, any web albums of mine currently shared with "Family" have since had that access permanently revoked. Any kin contacting me will accordingly be linked here in the future and any currently open loops will be e-mailed linkage to this decision. If need be this sanction will be expanded past the scope of kinship.

My mother has proven nasty enough to me over the past ~23.5 years that I choose to close this case in this manor, rather than allow her any way of attacking me in the future. I also have no concern what so ever just how unkind or inconvenient this decision may prove for kin that deserve my kindness—because being nice to you in about this, is not worth the cost my mother adds to it. So don't bother crying if you feel this is harsh or unfair. It's the price we all share for being related to my mother.

Decision is final for the length of my life or my mother's life, whichever lasts longest.

Friday, November 18, 2011

A problem every dog owner must eventually reach

"Do I watch you taking a bath...wait, O.K. then we're even now!"
Willow wouldn't get out, so I had to shower with the door open :-S.

Thursday, November 17, 2011

Yesterday was a nice bit of fun. On top of not so good dreams, I end up *sailing* home at 60mph when it is practically raining fleshpounds outside&mdash;and I do mean sailing! All because my mother is wigging out over the weather report. By the time I'm nearly there, and there is barely a freaking drizzle in Duluth, compared to John's Creek, she texts me saying the tornado was cancled. Poppycock! Then to top it off, while I'm working from home, she pesters me enough that I quit work early to take her fucking shopping to shut her the fuck up. And guess what? While I'm unloading the car there is such a flash monsoon that my feet and one eye was all that was left dry, guess the boots worked. Literally it was worse than showering with your clothes on. Of course, it was over by the time I was done, leaving me drenched. 

My vote is still she wanted to go shopping ASAP. Pest.

Monday, November 14, 2011

When working off a local clone of code while I'm stuck sitting in a doctors office, I've got to admit, it would have been smart to have run make tags, and copied the resulting TAGS file over from the development environment to my transformer. Turns out it depends on more than just the usual tags generator >_<.

Oh well, I guess it's time to nav it the other way!

Sunday, November 13, 2011

Project Butterball

No, I am not making a turky (hell no!) but I did just try a bit of pound cake. I started with this recipe as a base and the knowledge that the traditional pound cake is a 1:1:1:1 ratio of eggs, flour, surgar, and butter. This is my first cake ever, and more of a quest to figure it out than create a yumo confection.

My end result for test Alpha:

  • 1 cup unsifted cake flour.
    • sifting in a colander proved nuts, so I just attacked in a measuring cup.
  • 1/2 cup sugar.
  • 1.5 stick of room temp' butter.
  • 3 eggs
    • I only failed at the first egg, and lost most of the yolk.
    • Being smarter than totally stupid, I used two containers: one to hold the eggs and one to crack/drain in.
  • 1 teaspoon baking powder
  • 1.5 teaspoon pure vanilla extract, since both my other half, my mother, and Google all agreed.
    • My first go is more about science than taste!
  • 1.5 sticks of butter
    • seems excessive to me but as Paula Deen says, "Butter makes it better", so I digress.
    • I chopped it for ease of mixing.
    • My mother suggested melting it.
  • 3 tablespoons of milk
First I washed the pan, containers, tools, etc; let the butter, eggs, and milk sit out. Then I started to measure stuff out into containers. Got my eggs together and put the milk in, mixed them up with a rubber spatula and cut the butter into slices and greased the pan with some. Then while mixing for a bit between, added each the flour, sugar, some butter (maybe 2/3 of 1/4 a stick). Than I put in the extract and more butter, mashed and mixed that and set about getting in all the butter.

After a while of doing this with the rubber spatula and a old whisk, I saw it would take forever to get the chunks out of the batter, so I just switched to a hand mixer: first at low, than for a bit at speed and throttled back to low to finish it off. Poured it in the pan, switched on the oven to 350' F and let the batter sit in the pan for a couple minutes while I made prep to clean; then I stuck it in and cleaned up after myself. In retrospect I should have taken a picture of the batter, as a gauge for next time.

Here is how it came out:

It came out soft and tasty, not overpowering and rather close to what I wanted really. Next experiment I think, will trade some butter for vegetable oil.

Of course, the moron^H^H^H^H^Hgeek has to have a test tasting :-).

Thursday, November 10, 2011

Sometimes Linus is a genius

When you begin to do more advanced things with subversion (not my idea, trust me), I would have to conclude using tarballs and larger hard drives is more useful than subversion.

For the first 10 years of kernel maintenance, we literally used tarballs and patches, which is a much superior source control management system than CVS is, but I did end up using CVS for 7 years at a commercial company [Transmeta[11]] and I hate it with a passion. When I say I hate CVS with a passion, I have to also say that if there are any SVN (Subversion) users in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started. The slogan of Subversion for a while was "CVS done right", or something like that, and if you start with that kind of slogan, there's nowhere you can go. There is no way to do CVS right.[12]
source: Wikipedia on Git.

Please, for the love of sanity (and science), do not use have been warned!

Reflections on the ICS / TF Prime craze

In the time frame of like July/August I was rather interested in Android 4.0: Ice Cream Sandwich, as well as the ASUS Transformer TF101 that I'm writing this on :-). During the time since though, I am kind of sick of hearing about ICS. However I will admit that I am glad to be proven wrong by some froathy mouthed visitors to xda-developers, that the TF101 ASUS did decide the TF101 will get ICS. 

In the lead up to the ASUS Transformer Prime being announced, the forum section for the TF101 has to many people geared up to swap their TF101's out for TFP's, that you can't help but remember: it is a techno-geeks paradise! That being said, if I have to hear much more about the Prime, I will frakking smack someone lol. 

When I got my TF101, I had the option of waiting a little while for the Prime or getting the current TF101, and obviously chose the original Transformer. Why? It's got good enough hardware (arguably better than what I need), and it is better debugged. The platform is established along with at least 4 ROMs: Stock, Prime (what I use), Revolver, and Android Revolution HD. Another has recently began as well. 

Now, my concern is what comes after the Transformer Prime, and whether or not it will be worth the upgrade from my TF101. Hehehe. I really hope that ASUS continues with the Transformer product line for a good while and keeps developing it. Either that, or when I retire Andrea, I will probably have to evaluate between a laptop or a tablet with accessors.

+1 for waiting for the weekend: time to sit down and update my journal for the week :-)

Sunday, November 6, 2011

Last night I was playing around with custom launchers on my phone. I have an Android 2.2 based Optimus T, so the onky real thing to gripe about is how the "LG Home" apps draw divides into "Applications" for stuff that came with the phone and "Downloaded" for stuff installed by the user. I hit up Google to learn about the basics and what major players exist; I've heard of a few but tried none. The launcher is basically an app that provides your application draw and "Home screens". Go Launcher Ex, ADW Launcher, and Zeam Launcher are the ones I opted to try. In the end, I settled on Zeam.

Zeam has the feature I wanted most: a sane applications drawer. I don't need the more fancy features of the other two launchers app drawers, and care little about theming. I'm more interested in performance and productivity versus my phones almost-stock launcher. What really makes for a sweet combo' is Zeam's dock. I can place shortcuts in the dock and scroll to the side. I've been doing the same thing with my home screens. It's also convienant to e.g. have Opera Mobile where the Dialer/Phone app usually is: I rarly make voice calls.

Zeam doesn't have many features and the settings are few and self explanitory: it can be configured inside of ten minutes. So far it is simple, stable, and does precicely what I desire and little more. That's all anyone can ask for, oh and it's free :-).

Thursday, November 3, 2011

Dahlia is hatched

After work I went shopping and aquired a Dell XPS 8300. I named her Dalia since it's a Dell, and found it approriate when I looked up the meaning of the name. It is basically Deliliah in the tongue native to where it was assembled, and traces to the hebrew word for branch; apt because this computer is a part of a different branch of my life than the PaC it is replacing.

The difference between my old Pentium D 930 (3.0Ghz x2) amd the new i5 2320 (3.0-3.3Ghz x4) is noticable but the old Pentium was plenty fast enough for me. Having 8GB of DDR3 RAM not so much, as after five years I only started surpassing the need for one gig out of SAL1600's 2GB DDR2 but I'm sure it won't need any upgrading for the machines life.

What is sad! The piddly Radeon HD6450 is so much better than my aging GeForce 8400 GS, that I can run L4D2 at recommended settings at a pretty steady 60 FPS. Tuned up to my monitors native 1980x1080 resolution and slightly higher settings, I get a very playable 35-45 FPS. By contrast if I set the settings up to the MAX&mdash;I get the frame rate my old PC gave me at like low and 1024x768 or 1280x1024. Like wise at the normal resolution I was playing Killing Floor last night with maximum graphics and awesome frame rates.

SAL1600 served 5 years, as did Dixie. Vectra more or less same but with more upgrades, as that was possible by salvage. I would like Dalia to get at least 3-4 years. I am cheap enough to kick SAL1600 into another 5 years but as someone close to me, then it wouldn't be fun to play on lol.

Wednesday, November 2, 2011

Google Music for Android force closing on playback

I had transferred my music files over to Andrea (TF101) from Alice (netbook), and after getting my invite, I transferred them over the work group to my gaming system, so I could add stuff via the PC media player. So I decided to clear my /mnt/sdcard/Music directory and reclaim some disk space, since I rarely listen to it all and I have other copies of the data.

Pretty much, I ended up with a Google Music app still reporting the local data and force closing on playback, even after stopping the service and clearing the apps data. After a little Google fu to see if it ought to work, I rebooted into recovery and hosed the dalvik cache; one perk of being root.

Now it works perfectly, and I doubt I really need a gig of files laying around so Google Music is an idea I like. Even more so because I tend to listen to radio streams more than I buy music, hehe.

Tuesday, November 1, 2011

A few thoughts on Polaris Office

Although it's not a feature I was particularlly interested in, so much as the whole dock+battery life thing, I must admit, the Polaris Office suite that ASUS bundled with the Transformers does add value. Most phones come pre loaded with a lot of crapware, and rarely do I actually use any of the crap pre-loaded on my phone, or Andrea. Generally, I don't need office suites. I used to use word processors excessively so I focus on those tasks. For years now: my word processing tasks get done in Vi IMproved and converted into a format for publishing; such as HTML for web or PDF for general reading. If I wanted someone else to edit the stuff, I would not send an MSWord file either. Read only data should not be sent as a writable .doc[x] file. I don't do Power PoinT presentations. What stuff most people do with a spreadsheet, I generally do with Python or Perl; a more natural interface for my brain. In fact, there are only about two times that I really use office suites. If I need to share editing tasks with a bunch of people that are probably technically illiterate or just have better things to do than pick up a suitable format; I use Google Docs. For work, I use LibreOffice. That covers both reading whatever files might pop in from other departments but in eningeering we all pretty much rely on plain or marked up text; it's really mutt/lynx friendly you could say. Something that caught my eye was a comparason of Android office suites over at XDA, Polaris was clearly a solid product. In my own tests, all I can say is that most Android apps for dealing with rich text formats seriously suck. Examples include Google Docs, Blogger, and Evernote; the last is probably the best unless you feel comfortable dealing in HTML for more stuff. Polaris Office is a really is the only Android app that I've seen, that really feels like a "Word processor" and so on. Today however, I noticed that the spreadsheet activity may be useful to me. At work, we have time sheets in Excel template format; I have both an Excel (.xls) and Open Document (.ods) files to use as a template; normally I fill it out using LibreOffice and the .ods version, and print it off my work station. I tried opening both files with Polaris Office today, and noticed while it doesn't understand Open Document formats, viewind and editing the Excel file works perfectly. Rather than screw with Android+Linux+Cloud Print, I just did stuff off my workstation. Why this surprised me is that Google Docs rather fails at doing the same, for both formats. So the question I would have to ask, is how well does Polaris Office do in generating files that work with other office suites (E.g. Microsoft's), and ditto for interfacing with Google Docs in both directions. Either way, it looks like the ASUS Transformer is as fully functional as my work station and home PC, but sans binary compatbility (x86, x86_64 != ARMv7) and Direct3D. Someday I can't help but wonder if we will have Android PC's powerful enough to run Windows in a Virtual Machine for legacy applications.

My ASUS Transformer's charger was not working

Well, getting to work was not so fun this morning. I usually use my ASUS Transformer for _a_lot_ at work. When I got in to work today, I had 40% on the tablet and a drained dock. Monday I had come with a 78%/97% charge on my tablet/dock and left with a tablet charge remaining in the 70s. Andera has good battery life so I wasn't worried, especially since my office has plenty of juice to go around.

Well, today I plug in and imagine my surprise when the frakking thing refuses to charge! Nothing, nadda! I tried hooking it up to my work stations USB 2.0 port, and Andera notified that USB debugging and ASUS Sync crap was working, so obviously +/- the right USB 3.0 pins, the cable ought to be fine. None of the electrical sockets worked.

About ready to try the freezer trick and annoyed for the first chunk of my work day, I yanked the adapter out on my way to lunch, and noticed something irksome. The base of my adapter wasn't set quite right, maybe 3 to 5 milimetres off. Snapped it back into place, plugged it back in, and dang nabbit, the son of a biscuit eater started to charge.

Sure enough, I dislodged the plug end of the adapter and snapped it back again, no problem. You just push (really hard) down on the segment where indicated, and poll it up; I used my desk for help. Simple, and fully an issue of internationalization. Somehow the bloody thing had gotten dislodged.

That's what I get, for countries not being able to decide on a single electrical socket >_<.

Monday, October 31, 2011

Today has been a bit of a day. My aging parakeet has passed on; I say aging going by what's on Wikipedia. Plus some good news at work, that I'll nit relate here. Otherwise it's been fairly uneventful. Pretty much been experimenting with Google Music and playing Killing Floor over the Halloweeen special event; one Scrake to go before I can join Ranzaar's chubby Chicken Army lol.

Think I'll probably get around to journalling other thoughts later: Night of The Living Dead is starting!

Laziness meets frequency

Soething that I have been thinking about, or princiaplly that I've been to lazy to transfer over googlecl stuff from Alice to Andrea, and for how much my notes management stuff has grown. I'm thinking that my journal entries will likely start to collect into my "Scratch Notes" file, and eventually pushed off into here. Pretty much, my notes system has to solve various problems.
  • Good support for recording structured information.
  • History management; what changed and when.
  • Simple and readily accessible enough to collect/manage unstructured and "In-progress" information.
The first two are what most systems fail at, doing the latter, hell you can do with a collection of Post It! Notes if you know how not to spill your drink. Having a vim session running in dtach, that I can share e.g. between multiple tmux/screen sessions, helps. But it's really my "Scratch Notes" file that makes it easy. It's a structured dumping bin for the here and now: what I'm doing or what I want to note. Things either get aged off; "Eh, ain't parsed that in a month, bye, bye!"; or being transitioned to a suitable file. For example, while working on X, I may make notes applicable to Y and Z; afterwards I rip them out at leasire and incorperate them into suitable notes. I attribute the concept of a "Scratch" note to Emacs. It has a *scratch* buffer open initially, where you can collect snippets of text you don't want to save, and can readily evaluate elisp code; very fundimental for emacs users. Me, well, I kind of like the same idea, but in a more perm' note.

TF101 Coolness

My tablets dock has been sitting unused since I got home from work on Friday, docking it at the office I have 97% charge on the dock; and it was probably 98% when I hit the road on Friday.

Saturday, October 29, 2011

Thoughts on "Why Devs hate PC Gamers"

Was reading this article today and it basically laments that game developers gate PC gamers because of the piracy. While I can't agree with most of the remarks about DRM, even less so being a programmer. I've written a bit in the past about how I feel about DRM.

What I do generally agree with though, is this persons views on pirates. I don't pirate crap. I don't even mind paying for crap if it's worth having. Most games I can't say are worth the release price, so I don't buy them. Personally, the only distinction that I see between console and PC for piracy is that it is harder for the technically innept masses to steal. As the tech-line blurs and development becomes a bit more related, that's going to change. Just look at the current generation of consoles versus say, the original Nintendo.

Friday, October 28, 2011

It's funny how not wanting to trade time with somone very important to me, for carting my mother around Kroger's seems fit to alll but paint me as a fusion of Benedict Arnold and Adolf Hitler. Don't you just love mothers?

Thursday, October 27, 2011

Trying to at long last keep up with my RSS feed reading was going well, until I took half a week off checking greader lol

Is RSS dying?

RSS Rant

I must agree with most of what the author wrote, and confese I prefer RSS - and would like something comparable that offers commenting. But the security implications of that are probably nightmare'ish to say the least.

Wednesday, October 26, 2011

Changes coming

At some point, greater integration between / and a number of other stuff should be coming. One that is already apparent or should be, is my entries here now carry my name rather than my call sign. That's part of the Google+ Profie integration that has hit Blogger in Draft. I could easily change it back now that real names needen't be used on G+ (which has always been against Facebooks policies AFAIK), but for sharing the same display name across Google Mail, Talk, Plus, and Blogger, it's worth it to me to use my name.

Spidey01 is my call sign of choice, and very much a piece of who I am. It's something I'm comfortable with, associating my Digital Presence with my Physical Presence as it were. My blogs side bar has always carried Spidey01 / TerryP on it, and unravelling the rest non-trivial for the initiated or the persistent; thus no fear.

Pretaining to this blog itself, I'd rather like to experiment with a darker and more computeresque theme, the teasing page at my site probably should clue one in on what sort of look I'm interested in. It will probably wait for a stretch of free time though, where I can tweak things to taste. General restructuring and house keeping also needs doing. Content wise, there's a number of things I'm interested in presuing. I have been doing a lot with the conversion to using Android as my main computer, both for personal tasks I do every day and for programming. Since I've been exploring the market a lot more, there's apps I would like to note here before they swap out of storage someday. More or less the same for a few programming ideas of my own, hehe. There is a chunk of "Posts of Note" that will eventually be moved out of my personal notes and become a page here or at the main domain.

Google+ arguably fits my life better than any other resource for such stuff like this, in terms of connecting with my friends. Facebook and Twitter users, you are just left out in the cold, sorry; the most you get is an alternative to my RSS feed here. Where as Google+ is better for sharing with friends and stuff that peers would probably tweet, I find Blogger more comfortable for organizing content, and finding it again. Stuff that goes on G+ is more aimed at sharing, stuff here is more Me oriented. That's why I tend to call it a "Journal" and only use "Blog" for consumption by others. Stuff kept in my journal is principally for me, and offered for where it may be useful. I will be rather happy someday if there is an integration between Blogger and G+ that would use the same permissions and commenting engine (while retaining the existing login options for non G+ users) but really don't expect it to ever happen. In the  mean time, I just hope that the Google+ API expands and that it will eventually become like Twitter in that regard.

Or in short: G+ -> for the water cooler; Blogger -> for the journal.

Tuesday, October 25, 2011

In the future, journal entries should now be syndicated via RSS, Facebook, and Twitter. Commentators using Facebook rather than Blogger, will be LARTed. 

When Google+ integrates better with Blogger, we'll see what happens, hehe. It is rapidly becoming my preferred media but Blogger is better suited for longer stuff. Give us more API Googlers, more API!

Understanding Twitter

Newsgroups, forums, blogging, Facebook, Google+, etc are all things that I understand fairly well. Twitter less so for me, as it's not a service that I 'use'. Some people I know use Twitter but mostly it's just businesses and marketing, and I don't care about any of the businesses I like that much to listen; so I've little use for the service.

Viewing someone's tweets reads off like a list of short messages, similar to the blog model (e.g. like a Wall post on Facebook) which almost everyone understands these days. But it includes the users comments inline, along with their comments (replies) on other peoples posts (tweets). In a way, it is coser to the newgroup/forum model where in you have a node that fits into a 'thread', yet the head of the thread is just a normal post (node). In the blogging model, it's somewhat different because of the emphasis on the blog comment.

This makes it rather disconcerting to look at tweets for the initiated. From first glance, it's like listening to a twittering bird that not only talks to the open air (hello you Facebook mob!) but also to its imaginary friends. By clicking the tweet (look for the icon top right) you can see the thread and explore the relationship between tweets. It's a decentralized version of how forums work; instead of defaulting to viewing by topical thread, your default view is by the user.

If that last paragraph makes sense, particularlly the last sentence: you now understand Twitter. Or I'm missing something lol.

What remains to be seen until the course of history has advanced much further, is whether or not any given model (newsgroup, blog, twitter) will become the universally accepted model of communication on the internet. Twitter is a leg up over using a mail client that doesn't do threads (eww) but I personally prefer the newsgroup model, but profese, twitter is an interesting data model for machine processing to whatever corporations will do to profit from that data model.

Newsgroup model
Someone starts a topic, other people reply; replies and topic starts are all the same thing (posts) but things are usually collated into "Threads". Examples include USENET, mailing lists, and forums.
Blog model
Someone blogs an article, other people comment; comments are distinct from the content and may be deemphasized depending on the platform. Examples include Blogging and Facebook.
Twitter model
Someone tweets a short message, other people may publically or privately reply . All nodes are equal and connected as in a shared thread, but are collated by "Users" rather than threads.

Sunday, October 23, 2011

Right, premake4 is one of my favourite ways to build C/C++ stuff but tonight I'm thinking it has a moron involved. You can specify a project as being one of four kinds: ConsoleApp, WindowedApp, SharedLib, StaticLib. The documentation here states that this likely means /SUBSYSTEM:WINDOWS will be passed to link.exe, and indeed it is. That is how you say call WinMain and do any other I'm a GUI app magic for Windows; other wise you get a main and a command  prompt; simply put.

This FAQ entry on the other hand, is just retarded.

Monday, October 17, 2011

iPhone 4S vs. Samsung Galaxy S II Drop Test

The Samsung makes me glad that my ASUS Transformer uses Gorilla Glass like the Galaxy S II phone, not whatever crud is used on the iPhone 4S.

Did I ever mention that I wouldn't have bought an iPad, even if it had Gorilla glass?

Today while I was pacing the lunch room, waiting on my lunch to finish microwaving. I came to a bit of a conclusion; concepts such as deductive reasoning and mathematical induction generally apply.

Over the span of my life thus far, my mother has been opposed to every "Good thing" in my life. Except one: getting into church. That one good thing only happened because she was presuing her own interests, I just got dragged along for the ride. Like wise, by the flipside of that coin, pro to just about everything that has had reaching negative impact on my life.

That gives me two thoughts about life at present: A.) I'm probably on the right track (Thanks mom) and B.) at least my mother is consistent.

Maybe I can never expect my mother to ever be aligned with 'good' for me so much as what she wants (and assumes therefore must be best). But at least I can generally count on my mother being consistent, easily anticipated, and generally annoying. Most of her present behaviours, I calculated the probability of when I was what, like 8? LOL! I like consistency and determinism. It aligns with my concept of 'order' in the universe instead of pure randomness.

That being said, I think I would actually worry if my mother didn't approuch any good thing in my life, as if it was a radioactive time bomb about to obliterate the known universe. Even more so knowing my mother.

Sunday, October 16, 2011

Today, my mother wanted to know how much cash she could borrow next week. Having just paid off a stack of stuff, she'd have to wait until my next pay cheque or take it against my credit card.

I had decided to "Fire" her from the grocery shopping, i.e. rather than giving her a budget to shop with ($500/month), I'd do it myself—because she proves in capable of sticking to that. I tried paying the rent (over $700) and she racked up debt against my pocket money for vacation. Hasn't paid back a dime. To try and be *nice*, I opted for a unique option....swap groceries for bills. Which I've paid off ^^.

The concept there, being yet again, if I'm doing that, she isn't entitled to most recent Google+ entry shows how much debt she's already in. Prior to taking on bills  in exchange for not firing her. I wanted an formal (and witnessed) agreement that she's not allowed to borrow any more $$$, and the bills in  my name; but I never got around to that first detail.

This time, I'm requiring it + a pay in full clause as a perquisite to loaning her any more money.

Saturday, October 15, 2011

The Other Guys

Just finished watching a movie called The Other Guys, and I must say: while I thought it was rather retarded at first, by the end game I was thoroughly enjoying the film.

So you have two bozo's, a "Forensic Accountant" that acts like you'd expect him to be sucking a lolly and an angry failure. Give or take a bunch of people with "WTF STUPID" stamped on their forehead. By the end of it, you're convinced that you don't want to mess with a Prius and that a Chechen Dora The Explorer is a terrible idea; or how many times do you see a bunch of golfers take down a helichopter for detectives in trouble?! It's been a while since a movies made me cackle as loud as the ending, even if the beginning is a bit more obtuse.

On the other hand, it's an excellent little romp and definitions worth watching, if you have a sense of humour and can take the pace ;).

Friday, October 14, 2011

For Fails Sake!

I just noticed in Comcast's account page, appropriately they note the default address, username, and password to login to the web interface for setup of the particular wireless router in question. However...the scary thing is they encourage you to connect using the default SSID and the network key printed on the label (hopefully not also out of a can....), skipping any need to use the web interface what so ever.

Right, let me paint you a picture. Joe & Jane Luser, don't know squat about routers. Most people don't even if they know how to use computers well beyond average (but it's not that hard). The label says skip the rocket ma-science setup smetz up and just plug it in, connect to this network name and type in this're done! The Lusers are probably so inept, they even put the label on the router just in case.

Now, let's say they have a neighbor help fix a computer problem someday and she notes the label. Sometime later they piss her off, so she connects from her apartment, logs in with the default, and locks the Lusers out. Or maybe does all sorts of nasty shit; winning!

It's probably a good thing that routers rarely default to allowing remote administration, so at least the SSID/Key are there...but that isn't good enough that I would want to bank on it. And trust me, if someone gets deep enough into your network, you can be banking on it.

Thursday, October 13, 2011

I guess like many, this morning I learned that the world recently lost one of it's biggest contributors. I do not mean Steve Jobs, a man with his own important legacy. Dennis MacAlistair Ritchie has died, he was more commonly known as 'DMR' or just 'Dennis Ritchie'. A G+ entry by Rob Pike is the earliest reporting I'm aware of, but I can't say I expect this sad news to be found on TV.

Dennis Ritchie has a place in history that few men have ever achieved, because his work helped change the world. I am a young man compared to the late DMR but I does have an interest in history. If it wasn't for this mans work, I doubt that I could be writing this journal entry, because he helped to enable so many elements that make it possible.

His most famous programming language, C, was so pervasively popular, that I knew of it before I learned to program. My first programming language (C++) was derived from it. A big part of how I fell so deep insane with computers was learning about how C and Unix became self hosting. That  means you could make C and Unix using C and Unix, in laymans terms. Back then that was  almost like revolutionary - today it's like sliced bread. We take it for granted but someone had to help show us the way; then people started to use it everywhere.

Through C, we gained countless programs. Most Unix operating systems are written in C, most other operating systems are written in C or finally grown from one that was. Unix, DOS, Windows, Linux, OSX, your iPod, your iPhone, your iPad, our Android. None of it would exist just like it does. Most of the stuff we do every day involves C programs, be that reading e-mail, playing games, surfing the web. It is even normal for other programming languages to be implemented in C. The defacto standard Perl, Python, and Ruby included. It is so normal that writing a language implementation in itself is not so big anymore. C is so pervasive that it is also inescapable in other languages: their is almost always a way and a need to interface with C code. Hell, today you might even have C code involved in your toaster. It is that important a programming language. If you ever used a computer or an embedded system, you have probably used software written in C, or are old enough to remember what it was like before punch cards.

C is perhaps the single most important language since programmer's stopped writing in raw machine code. In fact, sometime after that we stopped writing in assembly and I know no one who goes lower level than reading the machine code. A common portion of C syntax is practically our linga franca—even if C is not a shared language, the syntax (which grew from prior languages) is also widely used and an alternative to pure pseudo code.

Maybe a lot of young programmers don't know C, or skip it. I love it. It is one of the most beautiful languages that I know, despite it's trappings. Perhaps some of the greatest lessons I learned about my craft, was that learned from C. Perhaps another was the humility of it's creator.

Somehow, I doubt his other works will ever be as well known as C, or things he was a big part of (like Unix), but maybe people will study them and see what they can learn from the work of a legendary hacker, like Dennis Ritchie.

Monday, October 10, 2011

Thoughts of modal/semi-modal editing on Android

In regards to modal, I mean `like vi`, where in the keyboard is shifted between a normal "Command" mode for manipulating text and an "Insert" mode for typing text into the buffer. A prime example can be found by learning vi (or vim or elvis). Personally I think this kind of model fits well with a mobile device like Android, even more so than it does a PC—emacs pinky be damned ;). Which makes me think of something like this:
  • A simple "Notepad" grade editor
  • Press a designated command key, send following keystrokes to command dispatcher
  • Useful stuff: save/load, buffer list, etc.
  • Scripting/configuration language
Something uniquely respective of my vi/vim heritage, yet incorporating lessons from the emacsen school. As a former XEmacs user, I do know quite well that my beloved Vi IMproved is not always well subverted. Using the volume up/down keys (and settings to rebind ofc) would make perfect replacements for Control and Meta (Alt/Escape). Using a keyboard with suitable keys, obviously eliminates this: and for on screen work with a big enough display, I really have to reccomend The Hackers Keyboard. It is an interesting preposition, at least. For scripting language, that one is a stickly wickly one. Android is not well suited to this in the conventional sense. Unless you want to implement one in a suitable subset of Java (double barf). An interesting idea would be to compile something like Lua or a Scheme interp' to native code, and communicate with it using some type of local socket and RPC. That might be interesting to toy with. Then perhaps, "Plugin-lets" that add useful tools, such as busybox or git. That's less feasible but certainly interesting.

Another day closer to BattleTech, another Trillion away from Avatar

My post title sums up exactly what I think of this BBC article on how controlling stuff with thought is going. It really is getting impressive, if abit, unlikely that even our childrens grand children will see much more of it than we already have of cloning. The applications for gaming, may invoke memories of Marty McFly being told his old rails shooter was a "Babies toy" for needing the player to use their hands, or at least for people getting on in years a bit <_<. But in all seriousness, until such tech is literally prevasive as game controlers, it's not going to happen, except maybe for the super rich (JP anyone?). Expanding the capabilities of UAVs and other war machines are probably going to be the only thing to cause sufficent surge in funding for such tech to develop massively; which is sad, IMHO, when letting crippled people walk again is a much better cause. Even more so when given the cost, it's less justisifable of a Big Fraking Budget for research, then improving existing means of remote control. I have no doubt however, that the armies model for the Next Gen solider will likely incorporate that level of being "Plugged" in as well, in all due time. I seriously hope though, that a company called Cyberdyne with a suit named "Hal", is some Japanese geeks idea of good humour, and that Skynet is still brewing somewhere beneath Moutain View, Californa. For those not in the know, in the world of BattleTech, "Mech Warriors" have their physical controls augmented by training their 'mech to react to their brain waves; For those living under a rock, Avatar displays remote-mind-control over a syntehic body (so does Surrogate for those that don't do enough Sci-Fi), and Skynet is software that will eventually become self aware and take over the world when it sees how threatening we are to it's continued existence. Three Laws of Robotics, my hairy humanoid ass!

Friday, October 7, 2011

Notes on the ASUS Transformer's file system / partition layout

rootfs on / type rootfs (rw,relatime)

# physical
/dev/block/mmcblk0p1 on /system type ext4 (ro,relatime,barrier=1,data=ordered,noauto_da_alloc)
/dev/block/mmcblk0p7 on /data type ext4 (rw,relatime,barrier=1,data=ordered,noauto_da_alloc)
/dev/block/mmcblk0p2 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered)
/dev/fuse on /mnt/sdcard type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)

# special
tmpfs on /dev type tmpfs (rw,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)
tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
tmpfs on /Removable type tmpfs (rw,relatime,mode=755,gid=1000)
/dev, /dev/pts, /proc, and /sys are normal Linux stuff. I'm not familiar with /dev/cpuctl or /sys/kernel/debug but they are fairly self explanitory! Whatever /mnt/asec, /mnt/obb, and /acct and numerous other things are explained briefly in /init.rc; poking around /acct is interesting. The tempfs on /Removable pretty much just serves as a place to put mount points for external media, i.e. MicroSD / SD cards and USB drives. The mmcblk device is clearly responsible for the most important parts of the Android system: /data and /system are your air and water. Under /data, you will pretty much find all your apps (stored on internal memory), and in /system, well, stuff that helps make your system work; d'uh. /system and /data can probably be looked at as read-only and read-write portions of the Android File System Hierachy, I guess. As far as mmcblk itself is concerned, it's just the internal memory card. The thing that I find rather interesting, is that the user storage area (/mnt/sdcard -> /sdcard), or what everyone typically interacts with, is provided through some type of relationship to FUSE, as opposed to directly through mmcblk0. This is curious enough to me, that I would consider poking around further, or even digging closer into ROMs for the Transformer, to be worth the effort. Yeah, I've just got to figure out how crap works, lol. On the upside, I know better than to disassemble my new "Stable" system and I'm to cheap to get one just for testing puposes.

Thursday, October 6, 2011 force close on my ASUS Transformer - solved

This isn't an issue I've encountered before but since last night, I've been getting these. Very regularly. Today, I noticed an association between this and using the web browser.  Sure enough if I went into Settings -> Accounts & Sync -> that Google account; and unchecked "Sync Browser", it stopped. Like wise if I toggled it back on, it would rapidly force close.

Being more scientific, I toggled sync on/off for some other Google services without getting any force closes. Problem therefore became, how to fix this?

Android apps generally store their data under /data/data/package-name; where typically /data/data is your internal memory and package-name is a Java dotted package name like; that's just how it is I'm afraid. Inside, I noticed nothing very interesting. Mostly an XML file related to settings and some databases. This is a Good Thing (tm) except Fuck Your Life if you want more stuff on your memory card; unless you get hacky with mount points and linkages that is. Now, being frugal, I created an archive of this data folder ( from my root shell, then went into Settings -> Applications -> Manage Applications -> All -> Browser, force closed the browser and hit clear data. Problem solved.

Being of the SQLite3 varity, I'm sure I could splice anything of interest out of the backup back into the new Browser setup, but I'd rather get more done. An advantage of the important parts being either in cloud (book marks) or brain (passwords, etc), is the lossage is minimum. If anyone has more data on what causes it to go wonky, or on in general, I'd be interested in your comments.

Someday I really would like to get myself a git checkout of the Android source, but I think I will wait until after Ice Cream Sandwich for that.

Wednesday, October 5, 2011

Web apps or native apps?

On the desktop, I will generally opt for using a web site over an application where possible, except when an application is seriously more convenient. For example, at home I typically rely on webmail and forgo using a local client; at work the inverse is true. GMail is one of the best ways to do e-mail :-).

When it comes to e.g. Android, I will often opt in favour of a decent app, over the web version. Apps generally have less overhead then rendering a desktop-oriented website, heavy on JS and meant for the mouse, yet mobile apps sometimes suck compared to websites; mobile or web version. When it comes to Google stuff, I use the apps. The mobile versions (at least on my TF101) are fairly similar to the mobile apps. The desktop *<b>web</b>* versions are best, but the Android apps are O.K. Contrast: the Facebook app has always been crap, compared to either version of the website.

The advantage of going web with it, is that the cloud auto-magically can solve a lot of little logistical problems. Like keeping data in reasonable sync, favouring search over storage, and removing the issue of "Maintance" -- all you need to keep up to date is usually your web browser, once in a blue moon. It is even possible to have web applications that are aware of one another, although this is sorely under-utilized in reality, versus what can be done. Facebook stuff is probably at the forefront, in more ways then one (but not all of them awesome).

When it comes to using an App, you gain hopefully better Native Integration. On the desktop, not so much in my experience: stuff like Mozilla Prism and Chromes app mode just don't cut it just yet, nor does the whole add-on/extension crapola. I'm talking a *<b>Real</b>* native application. Thunderbird versus GMail. Thunderbird will always have better integration with today's PC environments than the GMail's web app. Well, knowing Moldy old Mozilla maybe not always, but you get the point ^_^. The few exceptions that I've seen are products like Dropbox, where the native application _is_ the major selling point of the experience, and thus makes the cloud go round. It just happens to have a useful web user interface to boot.

Native applications open up a whole world for interesting savings and mangles. A good example, using an Android phone, you can have device local, mobile carrier, MS Exchange, Google, and Facebook contacts all synced even though they come from seperate providers; anyone could extend their service like this, fundimentally. That's how stuff should be done. In some cases (Google, Exchange) it is even possible to have calendar data synced. The downside is that doesn't get merged back into the Google-cloud, and that is probably a Good Thing(tm) even if I and others might like the option of it.

I think the web is one of the better interfaces for creating applications, if you want a UI that isn't better mapped to command line programs. Android offers quite a nice programming model, and I assume that iOS and BlackBerry-land offer something sufficent. The world of PCs not as good.

Personally, I think in the future, we will see the evolving "Mobile" experience rise up and destroy both the PC and Web 2.0. The difference is, it will be Mobile 3.0 :-). Then this will all fade away until such a millienia that notions like PC, Mac; Desktop, Laptop, Phone; all of it fades away into being about as interesting as using cornkobs to whipe your ass instead of the three sea shells.

Given the choice, it's obvious where I stand. But the real question is, does it run unix? :-P

Tuesday, October 4, 2011

In cleaning out a hard drive, I stumbled across a personal DokuWiki I was running. It has various stuff in it, ranging from stuff such as a guide to making Live Operations and tryout info. For momento's sake I guess, since [SAS] was such a big part of my life, I've adapted the Service History part of my own wiki entry.

It can be found here.

Sunday, October 2, 2011

After a day and a half, when my mother started to bug me again this morning, I decided I was getting out. So, packed my phone & Andrea in my pack, grabbed my open bottle of water, and hit the road. Picked a direction and followed it down the super highway. After some jackass nearly slammed me off with his inept driving, I picked another route, and danced down side roads, until I eventually ended up on a freeway bound for Stone Mountain.\

So I spent the day huffing it up the mountain and then trying not to roll back down. Last time I was there, maybe early 2000s, we had taken the lift up to the top and back down. It was kind of nice to get to walk. I can't help but wonder though, if the power cables being tied off along the trail was some penny pinchers idea of "Oh, we can route power up this way to the snack bar at the summit, then use it for the hikers too!" Just so they wouldn't have to make a separate trail lol.

Definitely though, I prefer back woods over mountains!

Friday, September 30, 2011

Evernote sucks

Thumbing around the Android market, the Evernote app caught my eye again. So I decided why not give it a go, it's probably the best note taking app for Android (and I admit, it probably is). Thus I installed the app, created an account, and went about setting up the Windows app for my desktop.

Last time I went searching for a note taking app, I settled on the Viki plugin for vim. I probably entertained a several dozen stuff, including Evernote. It never made it past the information gathering phase, since it lacks support for Linux and *BSD. Having adapted an ASUS Transformer as my primary system, Android support is now good enough. Evernote AFAIK is widely used and reasonably respected in the business of note taking software. No wonder—it's about as useful as a notebook and a pencil.

I am not your "Joe" note taker, that I will admit. My notes are frequently pre-processed data. Things where re-parsing it back into my head and bringing order to notes is fairly important.

The desktop application failed glaringly as less than ideal support for:
  • Concept of sectioning is limited to font size/style and horizontal rules.
  • Structure is limited to indentation, bulleted lists, numbered lists, and tables.
  • Cross referencing data is primitive but effective.
  • Support for "Snippets" of formatted content is limited.
    • as in sample commands.
    • log data and program outputs
    • definition lists.

The Android tablet application despite the awesome user interface, suffers from all of the same plus the following gotcha's when editing text notes:

  • Indentation is gone.
  • Adding links is gone.
  • Font styling is gone.
  • Adding tables is gone.
  • It's to dismal a prospect to test how links, indents, font styles, and tables render when viewed in the app.

Simply put, ever note is more primitive a note taking system than Microsoft Word, and it's only advantage of adding something like Dropbox or Google Docs to that mixture, is the sync feature. In fact this blog editor is much more powerful than Evernote, even more so because it can take raw HTML.

For a stress test to evaluate if I could tolerate life with Evernote, I tried to reformat one of my notes files from Viki by copy/pasting the content and adjusting. The note consists of numerous sections/subsections  (at least up to 3 deep) and various lists, links, and pre-formatted data; nothing you can't do in raw HTML, LaTeX, etc. Or even plain text if you roll your own conventions as per org-mode or deplate.

After about 80% of the file, I  just gave up as it came to my mind that "Evernote is about as sophisticated as using a notebook of paper and a pencil, so why don't I use that?"—It is just so far underpowered that I would get more value out of notepad.

Some could say that I'm being too strict, but hey, I am strict when it comes to software that I will spend *excessive* amounts of time using. If I really wanted to nit pick, I would mention the lack of folding, not that I expected that from an app focused on "Notes".

A little fun with linpack

It's a bench mark thingy for Android. Basically you push the single threaded or multi threaded button and it gives you Mega FLOP'age for solving some equations.

Running at a fairly idle load for just sitting at the end of my desk, my phone scored about 3 and 3 1/2 MFLOPs. Nice little Optimus T, and a device I know doesn't have a lot of processing power in general. In fact, it only has like a 600Mhz CPU.

Now, Andrea on the other hand is running a full load: instant messenger client, client for our internal IM system, web browser, Samba, terminal environment (btep, openssh server, several bash, several openssh client connections, and a long running vim instance). Plus whatever is in the background, WiFi and syncs are on&mdash;plus TexTab is linked to my phone over Bluetooth. In short, it's pretty much at a typical load for me. The results were about 30 and 50 MFOPS.

I really would be curious to take a freshly setup and stripped Transformer, and see how high that might go. AFAIK the best super computers top out near 10 Peta FLOPS and the most powerful x86 chips around 100 Giga FLOPS, and top notch graphics cards blow that away. I'm not sure I want to know what the various x86 chips I have laying around, but ~50 Mega FLOPS sounds good to me lol. Most stuff I saw on linpacks website seemed to range from 25 to 100, and often big gaps, e.g. while some people might rack up 80~100 MFLOPS most would get 60~65 MFLOPS.

What really impresses me though, is the "Experience" offered, I could care less about Floating Point Operations per Second but quite a lot about being able to *use* my system while under load. For years, Firefox+Flash was enough to almost overheat my laptop (and nearly did on several occasions, just with Firefox!), throwing on a compile would generally make me worry about my laptop halting and catching fire. Andrea on the otherhand, has been managing the same task set without even blinking an eye.

I can surf, chat, stream music, code, and compile without blinking an eye.

What somewhat irks me, whatever this Android tablet/netbook is doing in it's architecture and with this ARMv7. It puts to shame any x86 system I have used....except for the development server at work, and that has  multiple multi-core Xeon processors and a shit load more of memory lol.

I really would love to try an ARM powered system in a desktop config. Maybe run Linux or OpenBSD, and try for something like the next gen processor cores and as much RAM as she will stuff. Hehe. Andrea is powered by a Tegera 2, so that's basically a 1Ghz dual cored ARMv7, sans NEON, if I remember correctly.

Thursday, September 29, 2011

Fun with tmux & dtach

Generally the problem with running a terminal multiplexer like tmux or screen on a remote server: is if the server goes down so does your session. Like wise an issue will eventually crop up where in you have to SSH into another server or even the box you're sitting in front of, if you don't want a seperate xterm in order to do it; thus losing all that multiplexer goodness.

Well, I pretty much run the session (tmux btw) on my system, and then use dtach for running things I may want to detach from&mdash;like a big compile. One perk of this is I get to have my "notes" window in tmux without double the latency.

Today, I was thinking about how can I link this notes window to various tmux sessions? It is possible to link windows (linkw) in a session and entire sessions (new -t {other session}) but that is not what I want. dtach again to the rescue! My notes script already amounts to opening my "Scratch" note file in vim, and changing the window name to "notes" if used in tmux. So I modified it to be smart enough to run vim in dtach, or reattach. Thusly, I can have tmux sessions by project, home, etc, and share the same vim session between them using dtach.

Note tacular!

A case for autotools that I have only recently begun to understand

Like just about anyone who has ever had to install software from source has, I have /used/ autotools before. But like many barely ever scratched the surface. Lately I have been cuddling up with the autotools from a developer perspective, a lot more. To the point perhaps, that I am liking autotools better than I ever thought I would. Like anyone whose used more than 1% of autotools, I know you can (or are supposed to when the developer did it right) be able to run configure/make outside the source tree. Also I know about --prefix and most of the usual configure script goodness. Now, it's far from the first time that I have mentioned it, but my "Holy Grail" of builds has long been a multi-tree build:  one tree for build files, one tree for distribution files, and trees for whatever source and data files are needed. Then because I may be doing a diverse set of platforms, this usually becomes a need to further grind down into having co-existing build/dist trees: for example to have FreeBSD, OpenBSD, Linux, and Windows NT builds in the same working copy. Including using different toolsets, such as GCC 3.x, 4.x; and MSVC 9.0, 10.0 on the Windows NT builds. Now that my main computer is an ARM, processor architecture will probably end up mandatory. I like stuff like Build/platform/toolset. Hacks to keep this sort of thing working under {insert random OS here} should be kept to a minimum. How well a build system supports helping me with this problem (and file system hier) is one way that I judge build systems. Over the years, I have tried...just about everything except ant and maven but hey, how many C/C++ projects do you see using those at home? Multi-lingual stuff is always idea. At present, my favourite build system is premake4 -- it makes setting up such a build pretty painless. After that is probably Qt's qmake, since it makes compiling fairly painless. With the GNU build system, it is pretty easy to do something like:
    $ cd Build/Linux/ARMv7/gcc44
    $ ../../../../configure --prefix ../../../../Dist/Linux/ARMv7/gcc44
    $ make install
Which would give something well suited for testing, and there is a config file to save whatever configuration options I usualy test with in $prefix. The check and installcheck targets also do what I will typically do with a `make tests` or a `./` in my own working copy. To top it off, autotools probably has one of the best tools for making a distribution: make distcheck. I do not need most of what autoconf can do, and usually prefer to skip it. The ability to have things fail at configure rather than compile time is handy. Being able to e.g. toggle between Deps/{pkg} and the systems {pkg} at configure time is great and something I already do with premake4. Automake can also pretty much do what you could get out of not having to hand write Makefiles. What REALLY shines however is libtool! We have all cursed at something or other involving autoconf, automake, or libtool. But the little secret is libtool is one of the best assets ever given to a developer. If you don't think so, you should try to alcomplish the same thing in SCONS for a solid week, just to support three platforms with differing toolsets, unless much as changed in a few years: the amount of kludges is a recipee to be pissed off. libtool can pretty much do it all and for a lot of platforms. The real question is how well autotools would really play with doing a Windows NT build with Visual C++. I've never tried that. That is also the principal reason I've never used autotools on most of my projects lol.

Tuesday, September 27, 2011

Your Vehicular Retardation is Showing Again

This morning on the way to work, at one of the side junctions I was fortunate enough to slip into the turn lane while the arrow was still green, but had to content with only a solid green light for turning left. In America that means YIELD to uncomming traffic. To top it off we had a cop dealing with an incident right where I'm aiming to turn. Thus I've got to wait on the cop and the oncomming traffic. It's big enough a side road to have it's own through traffic, thus a trio stacks up waiting.

The blowhard behind me starts beating his horn, because I won't choose between getting slammed by oncomming traffic or running OVER a police officer. My response? Give mister retard a nice one fingered salute and wait until it is safe and legal to roll: without causing murder or car more wrecks.

So many people in this state should be ashamed to be on the road!

Sunday, September 25, 2011

Google just made my day

Was trying to look up a word I had stumbled across too far ago to remember, so I typed the definition into Google in the hopes of finding a clue to it. I didn't expect my chuckle of the day!

How Google shapes history

I seriously hope that is some Google Engineer's idea of a joke about sex shaping

This is from a real screen shot, not a photoshop!

Saturday, September 24, 2011

An interesting idea for Android development

I could hook up my rooted phone to my netbook turned server, write the code using my ASUS Transformer, then run a batch job over SSH that compiles and installs the app on my phone.

Then connect to my phone via VNC and test it off the same Transformer :-)

Friday, September 23, 2011

PostScript (.ps) versus Portal Document Format (.pdf) - from a users perspective

Generally, PS is pretty much a dead format today. The only time a user is likely to see significant amounts of it in my experience, is if they are dealing with quality printing. Reality is almost everything comes in PDF (or Word/Excell if from retards), and morons assume that Adobe Acrobat is the only reader for it. Most people don't know that PS exists and to many are just to lost to figure out what a PDF is (ugh, grow up!). The simple facts:
  1. Post Script is text based
  2. PDF is a binary format annd offers some programmatic options where supported
Here is what makes that interesting! I have numerous files in PDF and PS formats. Most are under 5M and are PDF. Now there is a monster called that weighs in at a whopping 60M!!! My largest PDF files were around 12M to 16M. I'm compressing stuff I don't use frequently but don't want to erase for space reclaimation. So I compressed everything over 2M with XZ to see what files will compress enough to be worth having to uncompress them next century. Most PDF files contained a few embedded images, so savings were on average about 1M, e.g. 15M becomes 14M. Useless. A few files that were more exessive on text shrunk from between 3.5M and 4M to between 1.5M and 2M. That is nice but still to small to care about, because of the original file size. The 60M PostScript file compressed down to 1.6M!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Size checks were done using du -h and compression with xz -e. Being more textual and less binary, I infer that we can get better compression ratios out of Post Script than PDF. Although it is possible to make a PS file that is pretty binary for all practical intents and purposes. But that was Post Script: In point in fact, I think the only organizations that I have ever seen acknolledge other PDF readers exist, have been Canadian govermenta, which even went so far as to note XPDF, an old choice among Linux/Unix users. +1 for the Blogger app for Android remembering what I started writing ages ago witout me even having to click a draft entry, hehehe.

Wednesday, September 21, 2011

How technology has impacted my blogging/social media habbits

So far, my blog has seen an interesting return to pretty regular usage? Why? I'm not really any less busy with the stuff that I do, but I find with Andrea that I am posting more frequently. It's not that the Android app is anything to write home about, in fact I will probably get googlecl loaded on her so that I can use my blogit script. It  is just a matter of convenience! The app icon on my home screen is right there, always in reach, and it is so easy to jot down a quick entry on Andrea.

Thinking about that has also made me realie part of whyI use Google+ so much. The privacy system being almost perfect and something that I'm 110% comfortable with. Having thebutton right on top of the Google pages. It isn'tneccesary to travel very far. When you are busy and either frequently having better things to do or constant interruptions at home.