» tagged pages
» logout

(Feed found, click Add Page to syndicate.) Error finding feed, please try again » Find feed title

A Blog Page allows you to add entries, for news or other time sensitive postings

(Login required to save to your tagged pages.)
(or Cancel)

Make further edits, (or Cancel)

(Login required to save to your tagged pages.)
(or Cancel)

(Editing anonymously: to be credited for your changes, login or register a new account)

Change Page Permissions? Changing these permissions will adjust who can modify this page.

Anonymous (change)
(change)
(or Cancel)
Upload an image from your computer:
or Copy an image from a URL:
or Erase the current icon:
Icon Preview:

or Cancel

Erase I/O? The contents of I/O page and all pages directly attached to I/O will be erased.

or Cancel

(Editing anonymously: to be credited for your changes, login or register a new account)

other page actions:
I/O

I/O

sorted by: recent | see : popular
Content Tagged I/O

Erik Engbrecht's Blog: What does I/O bound really mean?

More WideFinder commentary: I/O from the programmer's perspective is, or at least should be [] "everything that happens between when my program requests some data and when it receives it."

scala: del.icio.us/tag/scala

Stevey's Blog Rants: Rhinos and Tigers

this was probably the best presentation i saw @ Google I/O

json: del.icio.us/tag/json

Stevey's Blog Rants: Rhinos and Tigers

this was probably the best presentation i saw @ Google I/O

XML: del.icio.us/tag/xml

Google Phone (Android) Demo Of Streetview With Compass

I think this is going to be really neat: you walk around the streets of San Francisco, for example, with your Android powered phone, en route to your destination 20 blocks away.

You whip out your phone, go to Google Maps, pull up the StreetView (remember this?), which zeroes in on your location using a built-in GPS, and then changes as you move the phone around using the built-in compass.

You then virtually walk the city, looking around, without actually moving an inch (looking for the closest ATM, restaurant, etc, hint-hint?).

Without further ado, let's have a look at this video from Google's I/O Conference for a demonstration?

 
 
This video is really the 2nd part in a series but it was the most interesting one. Part 1 follows for the curious:
 

Visual voicemail and slide zoom touch interface from Apple, compass from Google, … from Sun? What's next? My Sprint contract is up and I am definitely looking forward to Q3 and Q4 of this year!

Edit: I found a nice related video by G4TV. Here it is:

Similar Posts:

MySQL: Planet MySQL

Google Woos Developers at I/O

The first day of Google I/O seemed like a coming out party for Google App Engine, the company’s competitive threat to Amazon AWS. For one, the registrations were thrown open to everyone, and for another, two new APIs were released: the image manipulation API, and (more interesting to web app hosting in general), the memcache API. Now the memcache API was something I expected from Amazon a long time ago, but perhaps they don’t use it themselves as much so it’s not in AWS.

With Yahoo in limbo and Microsoft missing in action on the Internet, Google is making a huge play for developer mindshare. As Microsoft and Sun both demonstrated very effectively, focusing on getting developers excited and making them happy is the key to the success of a platform. Google I/O appears to be Google’s big play for developers. And so far it seems to be working.

Google App Engine (GAE) comes with a webapp framework that’s derived from Django, but you can host your own, including CherryPy, Pylons and web.py, all of which are Python-based. No other language is planned at this time. C++ had AT&T, Java has Sun, and Python now appears to have Google behind it, so expect a lot more Python development activity in the global coding trenches. And a lot more Python books being sold.

The big difference between GAE and Amazon AWS seems to be that GAE commoditizes the application hosting layer while AWS commoditizes the hardware and network hosting layer. With GAE you don’t get to choose the web application stack. You provide the UI and the logic; Google provides the scalable datastore and the application hosting and analytics.

There are a number of characteristics about GAE that serve to give me flashbacks. First is the fact that all apps are hosted as CGI apps. I’m sure Google has a reason for this, but it seems so “early Internet.” Then there’s the fact that Google has created its own query language, GQL (pronounced JeeQuel). Facebook has FQL (how is that pronounced, anyway?), so what’s next, YQL? It’s like we’ve reverted back to the late 80s, when all the database companies mangled the SQL standard just enough so that data was bound to their databases in strategic lock-in. This story doesn’t end well for users.

Finally, the GAE Datastore appears to have a native hierarchical structure with parent-child relationships between entities exposed to the programmer in GQL. This harkens back to the hierarchical databases that preceded SQL and relational databases. The power of SQL was supposed to be that it was declarative, that you didn’t have to know how the data structures were implemented. But hierarchical database application code was viewed as impossible to maintain because your data model leaked into your application. The current iteration of the GAE Datastore seems to require a lot of premeditated syntax design on the part of the developer. It reminds me of how queries performed differently in Oracle depending on the order in which columns appeared in the query. I hope, however, that this is a passing phase and that we soon see a better abstraction in GAE.

In contrast, SimpleDB and CouchDB focus on tuples and dispense with the SQL baggage; they’re surprisingly forward-looking compared to the data models of Facebook and Google. While I’m not questioning whether or not the Google Datastore will scale as promised, some of the choices in how these facilities have been exposed to programmers are curious and have rough edges.

A comment about Ruby: While Steve Yegge’s recent article seemed to suggest that it was hard to promote new languages within Google, I spotted some signs at I/O that Ruby might not be shut out of the picture. OK, just two signs. For one, there is a talk scheduled that mentions Ruby in the title. Second, at one of the talks the speaker mentioned a device called “Radish,” described as a 20-percent time project yielding a device that operates on indoor solar energy and is used to update/monitor the meeting room schedules wirelessly. Apparently the data pushed through this device is managed by a Ruby app — yes, there’s a Ruby app running inside Google. He didn’t say “Rails,” just “Ruby,” so please don’t scream all at once, OK?

Other than that, the conference was Google Gears, HTML5, lots of Javascript/AJAX and of course, Android, Android, Android. There’s even a company selling a 12-hour crash course in Android to prepare developers for the October release. Today, who knows? How Android Google Gears app downloads the Internet and beams it to your desktop via Wi-Fu tubes?

Technology-News: GigaOm

Behind the scenes of the little green syncing icon at Google I/O



This post is one in a series that previews Google I/O, our biggest developer event in San Francisco, May 28-29. Over the next two months, we'll be highlighting sessions and speakers to give Google Code blog readers a better sense of what's in store for you at the event. - Ed.

Being a UI engineer, I usually expect the features I implement to have a little bit more visual interaction than a little green icon. However, while my team and I were implementing Google Docs Offline, the challenge was just that: how make the offline experience work seamlessly while just adding one icon.



Building Docs Offline was quite a challenge, and we pushed Gears to its limits to accomplish it. To give an idea of some of the complexities, Google Docs is one application that is comprised of 3 editors (documents, spreadsheets, and presentations) and 1 file management UI running across two domains (docs.google.com and spreadsheets.google.com). The domain challenges alone were significant challenges in our design - we are fully utilizing multiple cross-domain workers to synchronize documents, capture resources, and authenticate users.

Oh yeah, and did I mention that any of the servers can be running any version of the code and fall over at anytime?

Getting all of this to "just work" for users was tough, but necessary for a great user experience.

Wondering how you can take your applications offline? I'll be discussing all these issues in-depth at this year's Google developer conference, Google I/O. Come by and learn how to get your app its very own little green syncing icon.

Google: Updates from code.google.com

IOPS in a Very High-End NFS Environment?

Since I’m on site at a Beta customer (testing the product I work on at Oracle), this will be a quick blog entry. I’ve been meaning to direct folks to Gear6 for quite some time now. I have no stake in Gear6, so this is not a shameless plug. I think they solve interesting problems [...]

Oracle: Kevin Closson's Oracle Blog

Announcing Google I/O




Its been about a year since I last blogged about a big Google developer event. During that time, we’ve seen a number of new technologies emerge which developers can use to build killer web applications. OpenSocial, Gears, and Android are a few that come to mind. But there is also a lot to learn if you really want to get the most out of these products.

That’s why I’m excited to announce Google I/O, a two day developer gathering on May 28th & 29th in San Francisco. The purpose of the event is to bring developers together to learn about products, tools, and techniques which are moving the web forward as a platform.

We've divided Google I/O into five topic areas: AJAX, APIs & Tools, Social, Geo, and Mobile. There's, of course, a focus on Google products, but the event won’t be limited to just Google APIs and developer tools. There is a lot of knowledge about web development in general at Google, and we’d like to share that expertise so that all applications on the web get better.

Over the two days, Google engineers and other leading software developers will share their knowledge in breakout sessions, hands-on Code Labs, and Q&A Fireside Chats.  Just a few of those speakers and what they'll be covering:

  • David Glazer, Director of Engineering - OpenSocial
  • Mark Lucovsky, Director of Engineering - AJAX APIs
  • Brad Fitzpatrick, Software Engineer - Social Graph API
  • Dion Almaer, Technical Program Manager and co-founder of AJAXian.com - AJAX
  • John Panzer, Technical Manager - Shindig
  • Guido Van Rossum, Software Engineer and creator of Python - Python and Google APIs
  • Chris DiBona, Open Source Programs Manager - Open Source
  • Bruce Johnson, co-creator of Google Web Toolkit - Google Web Toolkit


We're doing our best to make this a can't-miss event for web app developers. Visit the Google I/O website to learn more and register.  Space is limited, so be sure to make plans to attend now.

PS. If you are wondering whether we’re still having our global Google Developer Day series, the answer is a definite yes. We’ll be rolling out Developer Days to a number of countries outside the US. Look for an announcement of dates and locations soon.


Google: Updates from code.google.com

User:raffyp2

raffyp2 is the user name of Raffy Pekson II (fullname Rafael R. Pekson II). Born on November 10, 1963 in the Philippines to Antonio Lumanlan Pekson and Luz Reyes, he is the only child. He studied at La Salle Green Hills for his primary and secondary schooling. He took up Mechanical Engineering and switched to Electronics and Communications Engineering from De La Salle University and the University of the East.

He worked at companies liked User Interface, Inc., Information Professionals, Inc., Canadian Embassy Manila, Bataan Pup and Paper Mills, Inc., GTVL Manufacturing Industries, Inc. or Jockey Philippines, Finchley Designs, Inc. or Jockey Direct Sales Philippines, Avon Cosmetics, Inc., LTS Philippines or Personal Collection, Mega Magazine and Publications, Inc., Mannasoft Technology Corporation, Mainlink Asia, Inc., Multimedia Telephony Inc. or Broadband Philippines, Atlantic Tele-Center, Inc., iSolutions Outsource Asia Inc. or I/O Asia, 5mHigh Inc. and Workspresso Inc.

Raffy’s father died in 1994. His mother now lives in Long Island, NY.

He married in 1993 to Maria Susan Carina Salvacion and has two children: Cara Isabelle, born in 1995, and Oscar Antonio or Aaron, born in 1998. They now live in Richmond, BC (Canada).

Automatic Databases Automatically Detect Storage Capabilities, Don’t They?

Doug Burns has started an interesting blog thread about the Oracle Database 11g PARALLEL_IO_CAP_ENABLED parameter in his blog entry about Parallel Query and Oracle Database 11g. Doug is discussing Oracle’s new concept of built-in I/O subsystem calibration-a concept aimed at more auto-tuning database instances. The idea is that Oracle is trying to make PQ more [...]

Oracle: Kevin Closson's Oracle Blog

What Oracle Topic Is On Your Coffee Table?


I’ve received a couple of emails over the last few weeks in which readers asked me what my favorite blog posts are on my own blog. I’d have to sift through old posts to answer that definitively, but one recent post comes to mind. I think my recent post about why Oracle shops generally aren’t realizing the full potential of their hard drives is one of my favorites.

Oracle: Kevin Closson's Oracle Blog

Over-Configuring DBWR Processes - Part III


Sometimes the comment thread on a blog entry are important enough to warrant yet another blog entry. This is one of those times. In my blog entry called Over-Configuring DBWR Processes Part II I offered some test results showing that it really is best to keep a single writer until such time as a single writer becomes CPU-bound. But first a disclaimer.

DISCLAIMER: There are ports of Oracle where specialized multiple DBWR code is implemented for specific hardware architecture (e.g., NUMA). I ought to know, I worked on one of the very first (if not the first) to do so with the ports to Sequent DYNIX/ptx.

There, disclaimer aside, I am talking about the Linux ports of 10g and 11g which have no such hardware specialization.

The first question in that comment thread was:

From what’s written here, it looks like you only tested 1 and 8. Is it possible that the global maximum is actually somewhere between? Maybe 2 processes is slightly faster than 1, for example?

Great question with a simple answer: use 1 writer as long as that single writer has ample bandwidth. That is a truth, but I figured I’d do some runs to milk out a fact or two. I configured 2 DBWR processes and re-ran the workload I describe in Part II of this series. I followed that up with 4 DBWR processes. Hey, it’s all auto-pilot stuff with my setup so doing this was no big deal. Let’s compare the results. Just to summarize, the previous configurations performed as follows:

Configuration

OLTP Throughput (TPM)

Aggregate DBWR CPU Usage

1 DBWR

62.6

291

8 DBWR

57.9

256

And now with the 2 and 4 DBWR cases:

Configuration

OLTP Throughput (TPM)

Aggregate DBWR CPU Usage

1 DBWR

62.6

291

2 DBWR

58.7

273

4 DBWR

58.4

269

8 DBWR

57.9

256

The way this goes is that more DBWR processes impact throughput. On the other hand, more throughput will require more DBWR work so the optimal case of 1 DBWR process will take more CPU, but remember that it is also getting more throughput. I only provide these CPU numbers to show what percentage of a single CPU any given configuration utilizes. I don’t think it is necessary to run the 6 DBWR case. But what about a wildcat configuration such as multiple DBWR processes that have hard processor affinity?

Processor Affinity and Oracle Background Processes
Well, I’d never bind an Oracle background process to a singe processor (core) for obvious reasons, but with the Linux taskset(1) command it is possible to bind a running process to a socket. For example, the following command binds pid 13276 to the seconds socket of a mulit-socket system:

# taskset –pc 2-3 13276

Building on that idea, you can grab DBWR processes (or any process for that matter) once they are running and pin them to a CPU core or a set of CPU cores. The following stupid bash shell function can be used to do this sort of thing. Note, since there are tens of thousands of skilled computer programmers out there these days, all shell scripts are considered stupid of course. The function takes an argument that it then uses in its grep regular expression for globbing ps(1) output. An example would be:

aff ora_dbw
aff()
{
local GLOB="$1"
local CORE=0
local TWIN=0

ps -ef | grep $GLOB | grep -v grep | awk '{ print $2 }'  | while read PID
do
        (( TWIN = $CORE + 1 ))

        set -x
        sudo taskset -pc ${CORE}-${TWIN} $PID
        set -    

        (( CORE = CORE + 2 ))
        [[ $CORE = 8 ]] && CORE=0 && TWIN=0
done
}

I used this script to affinity 2 DBWR processes to a single socket and the numbers didn’t change. Neither did throwing 2 DBWR processes one each to two different sockets. The fact simply remains that DBWR doesn’t benefit from having peers unless it is CPU-bottlenecked.

Oracle: Kevin Closson's Oracle Blog

Page 1 | Next >>
Username:
Password:
(or Cancel)