Wednesday, March 21, 2012

Virtualization from my life seeping into my dreams

So, yesterday was officially the first day of Spring. And the weather seemed to agree. I came home from work and cooked my usual staple of fish for dinner. Because the weather had not been so nice for some time, my partner and I decided to take a walk.

On the walk, my partner told me about a recent trip to New Orleans, focusing on an encounter with a stereotypical Voodoo magic fortune teller. The subject of horoscopes was brought up and I had asserted the notion that I am considered a Pisces (represented by fish).

It was good to come home as these recent weeks have been pretty stressful at work, as the software company I develop for is approaching a release deadline.

At home, in my spare time, I've been designing a fairly sophisticated software framework, where both computer programming language and system architecture are not only abstracted on one level, but in some situations, on two levels (namely, Javascript to native C/C++ to/from Java). Not to get too technical, but this process requires each software layer to interface the next with essentially what are functions that act as translations just like one person often requires a translator or dictionary when abroad in foreign countries.

I had a strange dream last night that seems to have tied these past events together. Much of the dream was seemingly inconsequential, involving me interacting with the various different people who facilitate the transfer and ultimate delivery of products at a large big box retailer or grocery store. First I drove around, early in the the morning, to meet up with the truck drivers who shipped products. There was some purpose in this encounter, but it is hazy. Later, I remember being in the store, wanting to make some kind of purchase or trade, but I recall having some minor difficulty with such.

The dream had a very abrupt culmination and realization not too soon before it ended. I finally acquired two things: a large quantity of fish that had been frozen in stasis (as in, ready to be thawed and to resume living) and a typed white on black (aka carbon paper) of a rather extensive specifications sheet.

The spec sheet listed the syntax for binding all the biological functions of that particular breed of fish, allowing them to be programmed via a computer application. I remember seeing lines that looked like Java JNI function declarations with titles like "..._fish_heartbeat", "..._fish_swim", "..._fish_breath", etc. Thinking back, I seem to recall that I understood the contents on the sheet, but I don't recall now what was the nature of the technology. Had humans developed the technology to precisely project and impose electrical signals that drove neural synapses in the fish? Or did the technology involve nanotechnology or both?

The principles in the dream are the same concepts played with in the comic/movie Surrogates and the movie Avatar: biological virtualization. I can only conclude that my subconscious felt it was starting to overcome some significant computer language/architecture barriers and decided to tackle electrical/biological barriers as well.

Thursday, February 17, 2011

Steve Jobs is the Elvis of the personal computer

Steve Jobs is the Elvis of the personal computer. Will people claim that Jobs lives after he dies?

But unlike Elvis, all these stock fears seem to suggest he is worth more alive than dead. Therefore, if Jobs' possible passing is being kept secret for financial reasons, then shame on anyone involved in the secrecy--it actually does not speak on the value of his life but that of Apple. Rather, if his possible passing is being kept secret for privacy reasons and respect for him and his family, I am as well as everyone else should be satisfied and content.

I have much more respect for Steve Jobs than I do with Apple. Notice how I make a distinction between the two. Not enough people do, unfortunately. And if we were purposely led to believe that there is no Apple without Steve Jobs, well shame on those people who pushed that idea.

And if Jobs was part of that idea, then perhaps the best thing he can do is say goodbye and resign before he passes, not the other way around. The best thing Apple could do is disassociate the company from the man. Perhaps it's too late to start.

I have no interest in using or developing for Apple products, but I hope Jobs recovers. This is all being played like a game of poker: the very notion that this is being kept secret is more or less a good sign, meant to keep others from folding their hands in the hope that they have a good hand (which can be likened to Steve returning).

Tuesday, November 30, 2010

With Google/Chrome, Everyone is a Website

At work we made an upgrade to the latest version of Atlassian's JIRA (4.2). Apparently, under Firefox and IE, the web content is a hog and creates memory leaks. I had been trying out work in progress builds of Chromium in Linux for some time. However, I'm a long time Netscape/Mozilla/Firefox user who feels fairly comfortable with the browser I've been using for the last dozen years; so, I have not been so quick to adopt Chrome as my default browser. The JIRA upgrade has given me a chance to give it a stronger go.

For the most part, I could not part from Firefox's bookmark management. I was getting close to creating an extension that would provide me that look and feel. I have also grown accustomed to the search portal that resides in the upper right corner of the browser window. I know Chrome has its own approach to these two issues and I suppose I am embracing them more than before.

Back to the bookmarks. So I have been using Google Bookmarks (particularly in a gadget on iGoogle or the Google Personalized Homepage). I am a bookmark fiend; I have accumulated hundreds of bookmarks in my Firefox profile. There are simply too many for me to keep in the folderless Google Bookmarks gadget. Yet, it's good that I keep those bookmarks a select few--the ones I frequent the most.

Google Chrome allows you to sync all of your bookmarks (easily imported from Firefox) and more to any computer running Chrome will you are logged in under your Google user account. This is a huge plus, as I've tried using extensions for Firefox to do this and nothing worked well.

Google now has all of my 300 some bookmarks somewhere in its vast memories. Any information like this that you voluntarily share with Google is fair game for them to use to improve overall user experience for you and for the rest of the Google using world--but not necessarily for them to share.

What does this mean? It dawned on me. Before I delve into such, it is first important to realize:

1) Google is a search engine and all the webpages it helps us find are ordered by a ranking system where webpages/websites are given values based on a number of different properties such as reliability and overall validity (well known and established websites are generally seeded with significant page ranks). A particular interesting property involves the page ranks of the sites that Google finds that link to the page in question, meaning if high ranking pages link to your website, the higher your website's page rank is. For instance, if www.intel.com links to www.little-known-website.com, the latter website that likely has a low page rank gets a rank increase due to the obvious high rank of a site like that of Intel.

2) Google's primary revenue is from it's advertisement system which is roughly based on the content of the webpages where the ads occur. Google uses the page ranking system in conjunction with its assessment of the content of both the originating webpage and the destination of the ad's link. Much in the same way that Google provides us with useful search results, it can render ads that the person viewing the page is more likely to be interested in.

3) Google provides other services like GMail to present users with a useful service while exposing the users with context relevant advertisements (ie ads that feature things related to words mentioned in an email you are reading).

It isn't exactly unheard of that Google is also collecting data from GMail or GTalk in which to provide a better user experience and ads while using Google search and other services like Google Maps. Bookmarks are links to pages that I, a registered Google user, go to without Google's assistance or knowledge. However, now these pages are known and possibly communicated through Chrome. Like a webpage Google's web-crawler visits, my user account also contains links to other websites.

Does this mean that those bookmark links factor in those pages' page ranks? And if so, does that imply that I have, in a sense, a "page rank"? Users having their own page rank? Everyone is a website--a collection of information. Does this also mean that other users can effect my page rank? Perhaps other users in my contact list are essentially my people bookmarks. If the president of the US had me in his contact list, my page rank would get a similar boost to the example listed above with Intel.

Google's AdSense system pays out if someone clicks on an advertisement on a website to the person who owns the site. It also has a way paying out when users are generally exposed to ads without actually clicking. I am making a big leap here, but what if the page rank of the person visiting the page and being exposed to the ad would effect the payout accordingly? If the CEO of a tech company see's a similar tech company's advert, does that mean that exposure was worth more money to the similar tech company? It's hard to say. At any rate, even if the president of the US is not on my contact list, if he visits my website, shouldn't my website's page rank go up?

Thursday, April 29, 2010

Response to Apple on Flash

I have heard little snide comments from Steve Jobs about how he feels about Flash. But releasing an official statement online has led me to respond with my feelings about Apple on Flash.

As much as I do not like Flash, I have to disagree with Apple a couple points made.

If you don't think a product should be supported, stop supporting it, including on your desktop platform. Apple is not really expressing its feelings about Flash. Apple is simply saying what is currently good for Apple at the moment. Be prepared for Apple to change its views at any given time, depending on what product they are selling at the moment.

Apple wouldn't dare upset its customer base by removing Flash support from its desktop OS. They can somewhat get away with not adding to iPhones and iPads what it has never had (but apparently not so, as per the reason to make this public announcement).

Steve Jobs mentions the re-design of software for the iPad or iPhone. Web pages are not designed to take advantage of multi-touch. Therefore, HTML and the current set of web browsers are just as 'bad' for mobile devices as Flash. Perhaps HTML5 addresses multi-touch capabilities. I don't know.

However, last I checked, it is not only Flash that handles "roll-overs;" also Javascript and pretty much every GUI API I have ever used. I can think of adding pressure sensitivity to touch displays in addition to touch capacitance. Perhaps this would change the idea of touch roll overs. But, it would slightly alter how people use the current set of popular touch screen devices--that would be bad for Apple. I assume someone has already patented this idea and it's probably not Apple.

Third party development kits are good for developers. For one, it allows them to write their software on multiple platforms, providing more sales, software ubiquity, and less work to make that happen. Two, it should create a healthy competition between platforms--if one provides features that the other doesn't, that platform is pushed to either adapt or adopt the other feature.

But, clearly Apple does not like competition. Jobs says that the third party approach prevents developers from using the "innovative" features that are only on their platforms. Perhaps if Apple did not patent things, such as mobile devices with multi-touch screen capability, it would not be an issue.

No, Mr. Jobs, everyone does not benefit--how altruistically conceited you are. The only people who truly benefit from a closed approach, such as Apple, is the company itself--not the customers--certainly not 'everyone,' implying only if everyone used Apple products and nothing else. Wouldn't that be great? No?

Thursday, April 1, 2010

Monodevicism Vs. Polydevicism

Long before the most recent smartphone craze, I was confident that, in the future, all our computing needs would be satisfied by a single tiny personal device. I certainly had no doubt that smaller devices' processing speeds would continue to increase, almost indefinitely. However, I overlooked or assumed that portable power supplies would either get better and hold up to the developing technologies or perhaps end up not even being necessary.

I or anyone else can observe or learn about the increase of processing power from one CPU to the next. However, I am not so sure of battery technology. Is it improving? Has it reached a plateau? If not, does it keep up with Moore's Law?

As many more peoples' lives become "wired," particularly with the inclusion of smartphones, we are starting to experience the ever present inconvenience of limited portable power. If a better energy source is not discovered, we will never experience the single device future I felt so certain we would happen.

I liked the way that Steve Wozniak described the iPod: as a satellite device. I assume he meant it would never replace your computer at home, but would remain as our constant link to that computer back home, syncing our portable activities when we get back home--to recharge.

However, smartphones provide almost unlimited connectedness. We are no longer required to dock our satellite devices to our computers at home. We are becoming a truly mobile information society. In fact, syncing data from our computer is not necessary, as even our home computer will sync all its data over the Internet. But the battery is our ball and chain. Just as one weighs us down, we make up for it by carrying yet another.

I recently have gotten a dedicated ebook reader. I had tried several times to use my smartphone for reading. But doing so would leave me in situations where I could no longer use the phone as a phone at all. At the end of the week, I now have to nurse another device, in addition to my laptop and smartphone.

My dream of a single do it all device is fading, as I begin to accept my computing energy enslavement. Now my question is how many personal mobile devices should I have or what is a reasonable number to use at one time.

None of these devices alone are allowed to be the perfect device, each one doing a single task better than the others.

Today I realized that if we do always have multiple personal computing devices, there is one that we will certainly not have: a smartphone. We may still use a phone, but it and all the devices will communicate to a central, Internet capable, device. If our most personal Internet ready satellite device is always on, there will be no reason to have any other devices at all--it will uniquely drive any public device you come in contact with, such as your car, television, movie theatre, or bathroom.

Saturday, March 13, 2010

Key Repeat Problem... Seven Hours Later

There is this one particular aspect of the Java VM that Sun didn't feel like addressing: Linux handles key repeats (when you hold a key down) differently than Mac OS and Windows.

So, as a result, there are a good known two dozen people, including myself, who have had to bang our heads on our desks for hours to figure out a fix. After seven hours, I managed to get it working after having to chase bugs around. Hopefully they are all gone.

Maybe I could have done this faster, but I was watching the first Matrix movies. Would have watched the third, but I couldn't find it.

Friday, March 12, 2010

Resume For Job

I just updated my Monster Jobs resume. Granted Boston looks much better in terms of software developer job opportunities; the number of entry level seeking and valid jobs is dismal, where ever I look.