Friday, October 16, 2009

OOPSLA 2009 - Videocast 4 - Microsoft Technology update with Dr. Erik Meijer of Microsoft

Dr. Erik Meijer is well know in language communities (and language lawyer circles) to have help create C# and LINQ (Language Integrated Query). He’s a frequent presenter at OOPSLA on these technologies as well as one of the early voices encouraging the merging of functional and object-oriented technologies and techniques.

In a brief telephone interview, Erik gives us a thorough update on what is new with C# and visual basic, the .NET platform, LINQ, and other up coming technologies at Microsoft (e.g., Project M and Azure).



Interestingly he mentions how some of of his early efforts on combining functional and object-oriented programming are surfacing to address multicore issues as well as how LINQ is finding various applications to solve parallel programming data issues and how LINQp and reactive LINQ are being used by Microsoft in their cloud platform environments: Azure and SQL Azure.

Finally, Erik finishes this video-podcast discussing what OOPSLA means to him, some of his colleagues at Microsoft, and also gives us a flavor of the strong presence of Microsoft technologies and presenters at OOPSLA this year.

Monday, October 12, 2009

OOPSLA 2009 - Videocast 3 - Cloud Analytics with Dr. Anant Jhingran of IBM

Anant Jhingran is well known for leading the technology direction of IBM’s information management division---which includes DB2, Informix, Cloudscape, and Cognos, to name a few. One of the important aspect of any information management portfolio is its analytics capabilities. Nowadays with companies collecting vast amount of data from their Web properties from end users of via social media sites, an obvious growth area for information management users and vendors is to facilitate fast and appropriate insights from this ever increasing big collection of data. Business Intelligence is not a new field, however, the opportunity to apply such technology has never been more pervasive and for so much and so varied domains and in many ways have never been more challenging...



In this videocast I caught up with Dr. Jhingran at his offices in IBM Silicon Valley Labs to discuss business analytics in a cloud computing world. That is, what is the impact of the cloud on big data? His explanation boils down to a simple equation of pain vs. gain. Dr. Jhingran also discusses how programming-oriented conferences such as OOPSLA have a lot to contribute to the challenges of analyzing big data when companies attempt to extract knowledge. The need for programming tricks and tools go beyond map reduce to scalable data analytics languages with well understood semantics and characteristics as SQL was for relational databases.

Wednesday, October 7, 2009

OOPSLA 2009 - Videocast 2 - Social Software with Patrick Chanezon of Google, Inc.


As we discussed in one of the previous OOPSLA 2009 blog post social software continues to impact modern lives in ways the inventors or users of the technologies are uncovering daily. By empowering everyone to be a “journalist” and a “broadcaster”, social media and associated tools are enabling everyone, everywhere, to have a voice and thus is encouraging democratic virtues to flow in all regions of the world. We are seeing only the beginning of this social media revolution.



In this videocast I caught up, at Google IO 2009 in San Francisco, with Patrick Chanezon: one of Google’s most outspoken evangelists on Social Media and Software. Patrick corroborates the importance and wide ranging impact of Social Media and Software. He also talks about Google’s effort to create an open social platform and the successes they have been able to achieve thus far. Importantly, Patrick explains why HTML, JavaScript, and Web APIs in conjunction with platforms like Youtube, Facebook, and Twitter have enabled a new style of Web programming which in turn has facilitated viral sharing of Web content to create this new social Web fabric where content flows in real time without national borders.

Patrick ends the videocast by discussing why OOPSLA matters to Google and how Googlers view deep computer science conferences such as OOPSLA.

Tuesday, September 22, 2009

OOPSLA 2009 Media Advisory Info


acm

The Association for Computing Machinery

Advancing computing as a science & profession

MEDIA ADVISORY


ORLANDO, FL - For Release September 23, 2009


SOFTWARE CONFERENCE EXPLORES CLOUD COMPUTING OPPORTUNITIES

2008 ACM Turing Award Winner Barbara Liskov to Present Opening Keynote Address


WHAT: OOPSLA Conference on Programming http://www.oopsla.org/oopsla2009/ sponsored by ACM’s Special Interest Group on Programming Languages (SIGPLAN)

    • Cloud Computing and Emerging Technologies
  • Designing for the Cloud
    • Implementation and Operational Implications for the Cloud
    • Evaluating Cloud Computing Application Development Platforms
    • PLUS - Onward! Out-of-the-box Thinking at the Frontiers of Computing
    • PLUS – Dynamic Languages Symposium: Groovy, Ruby, JavaScript, Python
    • PLUS – WikiSym: International Symposium on Wikis and Open Collaboration
    • PLUS - Keynote Address: 2008 ACM Turing Award Recipient Barbara Liskov


WHEN: October 25 - 29 - Complimentary press registration (except meals) mandy.mann@regmaster.com .

WHERE: Disney’s Contemporary resort 4600 N. World Dr. Lake Buena Vista, FL 32830


WHO: October 27: Keynoter Turing Award winner Barbara Liskov on techniques for building big software systems more easily; Onward! Keynoter MIT Sloan School of Management’s Tom Malone; WikiSym Keynoter Wikimedia Foundation’s Brion Vibber on optimizing community performance; October 28: Jeannette Wing of Carnegie Mellon University and NSF’s CISE Directorate on foundations of trustworthy computing; Jet Propulsion Labs’ Gerard Holzmann on stealth use of formal methods in software development; October 29: Facebook’s Robert Johnson on lessons learned at Facebook.


WHY: OOPSLA 2009 presents leading-edge content from world-class practitioners, consultants, industry researchers, professors and students. Meet with members of the Gang of Four, the instigators of the Agile movement, and the creators of the Web’s hottest languages and frameworks. OOPSLA 2009 features a core group of innovators presenting keynote addresses, workshops, panel discussions, research papers, lightening talks, demos, posters, films and tutorials.


OOPSLA 2009 is sponsored by ACM SIGPLAN and is independent of vendors or suppliers.


About OOPSLA

OOPSLA (Object-Oriented Programming Systems, Languages and Applications) is sponsored by ACM SIGPLAN, the Special Interest Group on Programming Languages www.sigplan.org/. In its 24th year, OOPSLA is the conference of choice for a broad range of professionals from recognized academics to undergraduate students, from industrial researchers to technical developers and managers, and from technology gurus to users. Additional information at http://www.oopsla.org/oopsla2009/.


About ACM

ACM, the Association for Computing Machinery www.acm.org, is the world’s largest educational and scientific computing society, uniting computing educators, researchers and professionals to inspire dialogue, share resources and address the field’s challenges. ACM strengthens the computing profession’s collective voice through strong leadership, promotion of the highest standards, and recognition of technical excellence. ACM supports the professional growth of its members by providing opportunities for life-long learning, career development, and professional networking.


NOTE: this is reprinted here from the ACM media advisory bulletin

Saturday, June 27, 2009

Social software and media, the virtues of agile development, and the new Iranian revolution


This is a repost of a blog entry created for the OOPSLA 2009 official blog.

The Web is now social. Increasingly, people young and old are spending a substantial part of their social lives by using the Web. Social networking sites like Facebook, MySpace, YouTube, Twitter, and many others, are giving people the ability to maintain various social interactions and connections with friends, family, and acquaintances. Indeed using Facebook one often hears of how people are reconnecting with old friends and making new ones. Twitter has quickly transformed into one of the best means for sharing real-time information on various topics all across the Web. YouTube’s videos can transform the fortune of unknown talented individuals from the most remote part of the world as well as shed light on issues and facts that otherwise would have been completely ignored.


As the world bears witness to the recent unrest in Iran, the power of social media has never been clearer and more manifest. Twitter, Facebook, and Youtube are giving a voice, a face, and a communication channel to the people on the streets of Tehran. All this comes despite the efforts of the Iranian regime to shut down media and reporters across the country. While it is uncertain how this new revolution in Iran will end up and as the world continue to watch intensely, there is one undeniable truth, and that is the unintended impact of social media. As Clay Shirky puts it, social media has enabled the democratization and amplification of the voices of the people...

But what does social media or social software have to do with OOPSLA? Surely they are software systems but what else does the conference bring to help this new wave of Web software.
It is true that social software is about connecting and empowering people and thus appears to be a purely social phenomenon that simply is enabled and constructed using basic Web software principles and approaches... There is, however, an important and subtle aspect that is hard to see on the surface and that has its roots in OOPSLA. In a nutshell it is about agility... Looking deeper at the various social media sites aforementioned, one other thing becomes ample clear. Many of the usages and social consequences of these sites were mostly, if not completely, unintended.

Most of the sites started with initial ideas of connecting people but ended up with emerging usage patterns that are truly powerful and consequential. The creators of Twitter did not set out to create the new voice for modern democratic revolutions---that fact has emerged accidentally. So, the question becomes: how does one create software that can have the type of profound social impacts and successes such as Twitter? There is no “cookie cutter” solution, however, one well known approach (one that was used at Twitter) is to use software frameworks and principles that are in line with the principles of agile software development.

At a recent talk at IBM’s Almaden Research Center, Twitter’s CEO Jack Dorsey was asked by Almaden Ph.D. intern Ajith Ranabahu, if in the light of recent scaling issues that Twitter has experienced, would Dorsey and the original Twitter founders have chosen another language or another framework to create their company. While Dorsey acknowledged some of the limitations of the Ruby on Rails platform they are using, he was quick to say that he would still have made the same framework choice given another chance... Dorsey's reasoning is simply that the key factor is not one of scaling and architecture, but rather of agility and speed of development.

Rails is well known for providing both development speed and agility in bundles. By being able to materialize their ideas quickly, Dorsey and the other Twitter co-founders created a working version of their site in a few weeks which let them observe the initial users and also let them continuously iterate and find the subsequent micro and now macro successes. With each group of users, new patterns emerged and Dorsey and team could quickly iterate, adjust, and malleably modify their software to match the emerging usages and patterns. Without the agile virtues of Ruby on Rails, it is doubtful Twitter would be the phenomenon that it has become today.

As maybe the preeminent incubator of agile software development thinking during the last decade and a half, and the place where agile has gone mainstream, the OOPSLA conference it seems, has been a key enabler for the Agile movement that has inspired frameworks like Rails and indirectly sites such as Twitter. The agile practices of test-driven development, pair programming, continuous integration, and the SCRUM team organization approach, have roots either directly or indirectly at OOPSLA, or have progenitors that frequently attend and participate at the conference. And if we go even further, the virtues of rapid, instant, prototyping and having “the customer as the driver”, like Kent Beck likes to say, now may be taking their natural course in social media and crowd sourcing of content.

And while social software is undoubtedly a phenomenal success, there remains some serious challenges, and this also is where the OOPSLA community could help further. First, there are the programming challenges. The amplification attributes of Twitter and Facebook occur because the Web is now programmable. Using APIs and simple scripts, it is easy to create aggregation points, as well as new data sinks and sources for information flowing through the social media channels. This is how a tweet from the streets of Tehran can flow, be retweeted, and end up, almost instantaneously, on the television screens of millions in the United States and Europe. The challenge is making it quick and easy for anyone to collect, filter, and aggregate social media information.

Second, and perhaps most importantly, are the challenges around the provenance of the information that is flowing through the social media channels. Now that everyone has a voice, it becomes increasingly difficult to discern authentic voices from those trying to manipulate the system. Here, research in data provenance, data mining, and data filtering for the massive amount of realtime and streaming data is key. Realtime and stream programming pose significant and fundamental challenges that beg for systems, frameworks, and programming language help.

Finally, as in all computing for open systems (such as the Web), the concerns of privacy and security remain paramount. It is now well accepted that addressing these persistent issues cannot be done after the fact, but are aspects that must be addressed at the early stages of development. There is a clear need to share best practices and uncover patterns to help overcome these challenges...

So while social media and social software are helping transform the fabric of social interactions from the hills of Silicon Valley to the bars of Austin, to the cafés of Paris, and to the streets of Tehran, remember that many of these social consequences were not planned, but rather emerged from the resulting empowering software that is itself possible due to the virtues of agile software development and practices... And together with the community that produced and helped agile practices go mainstream, we can help address some of the important remaining social media challenges so that the new voice of the people can persist, remain strong, and authentic.


References
Go here to watch Dorsey's talk at Almaden and Ajith's question in toward the end.

Updates
1. Initial post on 06/27/2009

Tuesday, June 9, 2009

Cloud computing - a programming perspective


This is a repost of a blog entry created for the OOPSLA 2009 official blog.

Cloud computing is the “new hot” topic. Simply put, various business pressures, a multitude of pain points, and the maturity of a series of Web technologies (networking, APIs, and standards) have made it possible and cost-effective for businesses, small and large, to completely host data- and application-centers virtually... in the cloud, if you may.

Cloud computing providers, e.g., Amazon, reuse their expertise in efficiently managing and hosting their own Web systems and applications, and expose that core expertise as a set of Web APIs. Using the Amazon Web Services Elastic Compute Cloud (EC2), anyone with a credit card and some programming can provision a server instance and install a Web application on it and thus immediately have a presence on the Web. Using economies of scale for server hardware combined with virtual machine technologies, data- and application-centers automation expertise, as well as extensive instrumentations, Amazon is able to provide that service globally for pennies at the hour. There are no binding contractual agreements and Amazon will only bill you for the hours you have used.

In addition to compute instances, Amazon also provides various other compute resources on their cloud platform, e.g., storage (file and block), message queues, batch data processing, and others. Following Amazon’s lead, various companies, including Google, IBM, and Microsoft, are also exposing frameworks, services, platforms, and applications to a world-wide audience from within a Web browser and with simple Web APIs. Cloud computing is no less than a democratization of compute resources. With cloud computing, vast compute resources no longer require huge and long-term investments but instead can be had and consumed, as Amazon chairman Jeff Bezos, like to say, “by the drink”.

Whether cloud computing will fulfill the high-expectations that many are advocating is still to be determined. Various challenges remain and, in our opinion, we are reaching the peak of the typical hype curve that new technologies follow. However, regardless of whether cloud computing will be a bust or continue to be the hit that it has certainly been so far, there is one undeniable truth that some seem to ignore... The current success of cloud computing and, we believe, its future successes, are heavily tied to how easy the cloud and cloud applications are to program as well as to maintain and to scale. And this is precisely why OOPSLA matters to cloud computing advocates, users, and providers and vice-versa.

As we mentioned, with the cloud, computing resources are cheap and widely available. In a matter of minutes, one can provision 100s of server instances on the Amazon EC2 cloud along with terabytes of storage and more aggregate MIPS than what is available on most recent mini-computers. All of this for around $10 an hour. While most anyone could afford such computing capacity at these price points, what is hard for most is to take advantage of that cheap capacity. The problem is no longer one of provisioning the resources, but rather one of taking advantage of these resources and of efficiently doing so.

We are at the beginning of a new evolution of programming. One that is taking place with this move to cloud computing. For lack of a better moniker, we call it cloud programming. It is about being able to scale programs to take advantages of these on-demand cloud compute resources. Programming distributed nodes of computation has always been one of the classic ongoing problems of computer science. The cloud, it seems, has thrusted this problem and associated corollary issues to the forefront...

While cloud programming has some resemblance to old-style distributed programming or super computing or multicore programming, it is a different problem due to the changes in the core assumptions and constraints. On the cloud, most compute resources are essentially server instances with virtual compute capacities or virtualized services. The network is the Internet and assumptions about co-locations, latency, and errors cannot be made. The same concerns one has with real servers in your data centers also still persist. That is, securing, upgrading, automating, and managing these virtual instances are still very much part of the programming that one must do to reap the benefits of new cloud infrastructures. Scripting languages, e.g., Ruby, Python, and Groovy, are already taking center stage to solve some of these issues.

Additionally, now that storage can shrink and grow on demand and for very low costs, while keeping reasonably good qualities of service, the other issue is how to manipulate the vast amount of data that one can now store. Google had a similar concern years ago as it improved its search engine while managing expenses in growing its data centers to match the unprecedented growth of the Web. Google engineers and scientists cleverly figured out how to parallelize data computation over large clusters of cheap and replaceable compute nodes. The MapReduce programming model is specifically designed to help engineer algorithms that can scale and run on the resulting big data that one now accumulates...

Programming for massive scale is the key challenge. We firmly believe that new styles of programming, new programming frameworks, and new programming languages may be one of the key sources of innovations for the cloud. Imagine when cloud frameworks and cloud programming environments provide, in near real time: the cost, the energy impact, and the automation facilities that a cloud computing infrastructure enables. Plus now imagine being able to program these multiple cloud nodes either in batch or in real-time, while satisfying best practices of Web security and privacy. The combined results would be the nirvana of Web programming. Scaling automatically your compute resources in a cost-efficient and environmentally friendly fashion while managing the resulting deluge of data and potential influx of users...

Surely there are many PhD theses to be had to help address some of the fundamental scientific and engineering issues involved in achieving such an idealized state of Web computing. In some ways we maybe vastly simplifying the issues and that many of the challenges involved have been studied in various branches of computer science and software engineering for the past 30 years. However, the point here is not to claim that cloud computing is the assured next wave of computing, we don’t know; but rather, we would like this post to simply serve as a reminder that the various issues in system, data, and distributed computing that cloud computing brings to the forefront could be addressed from innovations in frameworks, programming styles, and programming languages... OOPSLA, it seems, from its long historical track record of ground breaking innovations in this space, may be a natural choice for the genesis of some of these new future eureka moments.


Updates
06/01/09 - fixed typos: accumulate => accumulates

Sunday, May 31, 2009

Why OOPSLA matters?


This is a repost of a blog entry I created for OOPSLA 2009 official blog

These days, we all take for granted that software is best built incrementally, that testing while coding leads to better quality software, that virtual machine-based languages can be as fast as natively-compiled languages, that patterns are great way to bootstrap your thinking when designing, and that an object-oriented language with single inheritance is likely easier to deal with than one with multiple inheritance...

Many of these well-accepted tenets in the software industry and programming trade have their roots in one conference. A conference that started with a band of early programmers who were passionate about a powerful new style of programming: object-oriented programming. That style has evolved over the years to become a source of innovation for all things programming and software. Indeed, most of the assertions above can be traced back to their origins in papers, workshops, or ideas stemmed from that conference: OOPSLA. Such is the legacy of this conference.


Times and technologies change. That fact has implied that every year OOPSLA had to introspect and look for ways to rejuvenate and encourage exploring boundaries of software. The inventor of Self, Dave Ungar, likes to state it simply as always "question your assumptions."

What are OOPSLA’s basic assumptions? Well, over the years it has been a conference about software languages, software development, software development methodologies, and software systems. Should this still be our focus? Software is embedded everywhere and the success of devices like the iPhone and Blackberry are good indication that at least one immediate future of software is in mobile solutions that include a combination of hardware and software within an ecosystem (private or public).

The Web has also transformed our social lives and is increasingly a communication fabric unparalleled in scope, reach, and immediacy. Web services like Twitter and Facebook have transformed the Web into a real-time virtual social square. Information is flowing quickly and at ever-increasing volumes. This social software is not only near real-time and location-aware but it is also interconnected with complex executable logic. Mashups of Web APIs and data have led to a boom of innovations analogous to early days of commerce on the Web.

The current Web not only has resulted in the democratization of information and applications, but increasingly it is the gateway to reaching every business’s data centers and application centers. Using Web APIs, a startup can run its entire operation virtually on cloud computing infrastructure without concern for acquiring sufficient compute resources to scale should that startup become the next overnight success---that is, if they are TechCruched, Digged, or Slashdotted.

With so much happening around software and the Web, why should someone from academia or industry still attend an object-oriented conference?

This is an important question. It is one that cannot be completely answered in one blog post. However, I will give you a short answer now and elaborate each point over the next three months in various blog posts and podcasts. I hope to convince you that OOPLSA matters. It matters to both academic and industrial participants. It matters because of its tutorials, its workshops, its keynotes, all of its leading-edge content. Most of all, it matters because of the world-class people who regularly present their new ideas at OOPSLA. As you will see when we announce the program, all of the hot topics mentioned above will be represented in some fashion in this year’s program...


What makes any conference really worth while is the quality of the people who attend. OOPSLA has a tradition of attracting the best and most innovative students, professors, consultants, industry researchers, and practitioners. This year will be no different. Come to OOPSLA 2009 and you are sure to meet with members of the gang of four, the instigators of the Agile movement, the creators of the Web’s hottest languages and frameworks, as well as hear from researchers and practitioners at the leading universities and companies.

Yes, "the times they are a changing”. But just as Bob Dylan will forever have a certain “je ne sais quoi” that makes his music pertinent, classic, and always filled with relevant content and meaning. So too will the OOPSLA conference. As long as we keep welcoming a core group of innovators, keep including new topics in tutorials, workshops, keynotes, and keep attracting the quality content that you will hear when we announce the program, the conference’s future is very much assured and alive.

Check back frequently for other posts as we peel away at this year’s program and demonstrate why OOPSLA matters to you.

Updates
06/01/09 - added link to OOPSLA 2009 blog entry

Thursday, May 14, 2009

Web 2.0 Security & Privacy 2009 @ Claremont Resort in Berkeley on May 21st


Repost from colleague Larry Koved of IBM Research. Tyrone Grandison, Kun Liu, Tony Sun, Sherry Guo, and Dwayne Richardson, and I have a short paper at the workshop entitled "Privacy-as-a-Service: Models, Algorithms, and Results on the Facebook Platform". Find PDF on the workshop's Web site. Join the Facebook page for attendees and news.



Reminder: One week until the workshop.

Web 2.0 Security & Privacy 2009
Claremont Resort in Oakland, California
May 21, 2009

http://w2spconf.com/2009/

The goal of this one day workshop is to bring together researchers and practitioners from academia and industry to focus on understanding Web 2.0 security and privacy issues, and establishing new collaborations in these areas. This workshop is the 3rd in a series of successful workshops on this topic.

Registration is now open. See the main conference web site for registration information: http://oakland09.cs.virginia.edu/ . (You may register and participate in the workshop even if you are not attending the 30th IEEE Symposium on Security & Privacy.)

If you would, please pass this information on to your colleagues who may be interested in this workshop.

Friday, February 20, 2009

WebGuild blog is flagged as malware!

The WebGuild.org blog is an interesting Silicon Valley group and blog that holds no bar when it comes to latest news from valley tech companies that may not be flattering to them. The group organizes various conferences and seminars on hot tech topics such as Web 2.0, cloud computing, mashups, ad modern Web user interfaces.





For instance, they were one of the initial blogs to note that Google was quietly laying off 1000s of temp workers... The blog post had noticed discrepancies in Google's current 'workers figures' in their regular investor data. They noted IBM's also quiet resource actions apparent use of age for decisions, as well as Hewlett Packard recent decision to have pay cuts across the company.

A more pointing news item in the HP WebGuild post was noting that HP's CEO pay last year included about $79,814 of tax for food consumed! Working backward, this means about $243,000 in food expenditure. Wow, even as a non HP-investor, I find this news appalling.

So I am a bit surprised that yesterday's WebGuild.org email summary of blog entries links all were being flagged as malware.


What's causing this, is WebGuild's opinion and analysis so uncomfortable to companies that they are now being targetted? I don't know and would hate to spread rumors, however, part of what makes democracies work is check-and-balances. WebGuild is part of that balance in the Tech industry, agree or not with their tactics and news reporting, their voice should not be shutdown nor silenced nor controlled.