Eamonn O'Brien-Strain

San Francisco, California
web development, architecture, design, coding, scaling, riak nosql, cassandra nosql, java, scala

Eamonn O'Brien-Strain is a senior technologist with more than twenty years experience as a system architect, agile project manager, and computer science researcher. He has worked in many application areas including embedded systems, hardware-software design automation, video authoring tools, print design tools, and scalable web applications.

At HP Labs, O'Brien-Strain is currently the software architect for Automated Publishing where he lays the foundation for how the research technologies get integrated and transferred. He has championed agile processes and engineering practices on several projects and personally assembled and guided agile teams to successful, high quality releases of Autophotobook SaaS and Tangible Web. He has worked on pervasive computing, synthesis of video from consumer media, designing platforms to advance research in multimedia algorithms, and the use of online casual games to help organize personal photo collections.

Before his current role as a researcher and system architect at HP Labs, he was an early part of the development team at two startups. He also built chip and system design automation tools at various companies including GEC-Marconi Research in England, AT&T Bell Labs in New Jersey, and Cadence Design Systems in California.

O'Brien-Strain chased the Silicon Valley dream in several start-ups, the latest of which was an Internet company providing a light-weight project management and collaboration platform for freelancers and small business, which HP acquired in 2001.

His open-source WebOS app, Nrby Photos, has had more than 10,000 downloads (despite still being in beta and not in the app store) and a four-star rating.

He has thirteen published patents (seven granted and six pending) with more in the pipeline.

Employment History

Hewlett-Packard Laboratories, 2001 - Present
Currently working on scalable architectures, services, and algorithms for intelligent web content transformation. Previously worked on an innovative consumer web service that combines gaming and photography. Worked on custom television project that includes elements of DVRs, IPTV, podcasting, and collaborative filtering. Created a tool that used a movie-set metaphor and 3-D modeling to generate compelling video from users' photographs. Previously worked on future mobile and ubiquitous Internet systems, including design tools and infrastructure for web service development, distributed data systems, global Internet naming systems without a central authority.
Was main programmer for Sparta XML, an open source Java package that includes lightweight XML parser, DOM, and XPath.
OneSpot, 2000 - 2001
Fourth person in startup providing a collaboration Internet site to small businesses. Designed and implemented web n-tier system built on HTML templates, servlets, RMI APIs, and JMS messaging. Worked as part of the team to shape the company's business direction.
Cadence Design Systems, 1993 - 2000
Senior software engineer and project manager, building design automation tools for simulation and synthesis of chips and embedded systems. Worked with customers, system engineers, and systems programmers to identify needs and develop specifications. Served on standardization committee. Pioneered use of Java and a UML-based object-oriented design methodology.
Successfully guided several major software tools from conception to revenue-generating products, including a tool that generated chip designs from DSP data-flow graphs and a system for generating hardware bus interfaces and software device drivers from a system specification. Built and integrated many features including co-simulation at different levels of abstraction and sophisticated finite state machine editing.
Logic Modeling Systems, 1991 - 1993
For an embedded system that interfaced a physical chip with a simulated logic design, designed and implemented software running on UNIX workstations that links into digital logic simulators of all the major electronic design automation companies. Also wrote software running under a real-time operating system on the embedded system. Introduced formal object-oriented design techniques into the company.
Developed and implemented a technique for propagating simulated "unknown" values through a physical chip. Designed the complex sub-system that controls the storing of the input stimuli, presenting them to the device being modeled, and sharing them between different users and simulator instances. Introduced and organized formal code inspections.
Designed and implemented a C++ class library that provides to a simulator an object-oriented view of a hardware modeler.
AT&T Bell Laboratories, 1987 -1991
Requirements analysis, algorithm development, high-level design, coding, and testing of chip-design CAD tools using C++ on a Sun UNIX workstation. Worked with chip designers and CAD tool developers throughout AT&T.
Developed and implemented hardware design-automation synthesis methodologies for automatically inserting built-in self-test circuitry into chip designs. Introduced object-oriented design techniques and C++ into the group. Developed coding standards as part of the task of improving the departmental software development process.
GEC Hirst Research Centre, 1984 - 1987
Worked on European Community research projects that studied the use of Petri nets for high-level specification and design of systems, and created an environment for high-level design-for-test. Wrote CAD tools to route test vectors through a circuit to apply them to sub-circuits. Designed and built a large general-purpose graphical net editor for manipulating, displaying, and simulating arbitrary hierarchically instantiated nets.


Winter 93 - Fall 97, Stanford University Graduate-Level Courses
Computer Architecture and Organization, Logic Design (McCluskey), Computer-Aided Design of VLSI Systems (DeMicheli)
Fall 92 - Spring 95, UC Berkeley Extension
Project Management, Modeling in VHDL
Continuing, Professional Courses, Workshops, Conferences, Tutorials
Decker Presentation Course, High-Level Synthesis, Project management, Object-Oriented Design, Advanced C++, Code Inspection, VLSI design, Digital Circuit Design-For-Testability, Software Testing, Mandarin Chinese
Fall 89, Rutgers, New Jersey
Graduate-Level Course Computer Architecture
Sep 80 - May 84, University College Dublin, Ireland
Bachelor of Engineering (Electronic), University College Dublin, Ireland. 1984

Published Patents (Out of 24 filed)

20100235312 Creating An Album (Automatic Story-album Creation Using Metadata Assigned Implicitly from Label Taxonomies Via a Fun User Interface)
200702163 Spatiotemporal Media Object Layouts (A System To Combine Multiple Photographs And Videos By Optimizing A Space-time Tree Of Aesthetic Rules)
200603118 Concurrent Presentation of Video Segments Enabling Rapid Video File Comprehension (Video Summarization Using Arrays Of Video Thumbnails With Tail-chasing Movements to Avoid Looping Discontinuities)
7668400 Image Layout Constraint Generation [Granted]
7751627 Image Dominant Line Determination And Use (Using The Dominant Line Of An Image To Intelligently Determine Pan Direction) [Granted]
7596751 Contact Sheet Based Image Management (Paper-based Sort Of Photos) [Granted]
200507137 Generation, transmission, and display of sub-frames (Partitioning Pluribus Across the Network for Better Security, Hardware Cost, Manageability, and Revenue Control Points)
200404603 Securely Propagating Authentication In An Ensemble Of Devices Using Single Sign-on [Granted]
7797359 Recursive Data Naming (Distributed Recursive Data Naming) [Granted]
7721085 Encryption Of Hierarchically Structured Information (Encrypting Tree-Structured Text Documents to Obscure Data While Allowing Computation of Incremental Differences and The Ability to Merge Documents) [Granted]
200312800 Secure Incremental Updates To Hierarchically Structured Information (Encryption Scheme for Graph and Tree Structures And XML Documents. The Scheme Hides the Hierarchy and Allows Incremental Updates and Merges On Untrusted Machines)
200313806 Verifying incremental updates to hierarchically structured information (Technique To Generate Authentication Codes to Support Incremental Changes to Tree, Graph Or XML Oriented Documents)
7069204 Method and system for performance level modeling and simulation of electronic systems having both hardware and software elements [Granted]

Selected Publications

Damera-Venkata, N., Bento, J., and O'Brien-Strain, E., (2011) Probabilistic Document Model, Accepted to DocEng2011 as a full paper
Ahmadullin, I, Allebach, J., Damera-Venkata, N., Fan, J., Lee, S., Lin, Q., Liu, J. and O'Brien-Strain, E., (2011) Visual Similarity Measure For Document Search, Accepted to DocEng2011
O'Brien-Strain, E., Hunter, A., Liu, J., Lin, Q., Tretter, D., Wang, J., Zhang, X., Wu, P. (2011). Book Widget: embedding automated photo-document publication on the web and in mobile devices, Imaging and Printing in a Web 2.0 World II, Proceedings of the SPIE, Volume 7879, pp. 78790H-78790H-9
Ahmadullin, I., Fan, J., Damera-Venkata, N., Lim, S., Lin, Q., Liu, J., Liu, S., Eamonn O'Brien-Strain, E., Allebach, J. P. (2011) Document similarity measures and document browsing, Imaging and Printing in a Web 2.0 World II, IS&T/SPIE Electronic Imaging
Segovia, M. V. O., Damera-Venkata, N., O'Brien-Strain, E., Fan, J., Lim, S., Liu, S., Liu, J., Lin, Q., P. Allebach, J. P., Aesthetic role of transparency and layering in the creation of photo layouts, Imaging and Printing in a Web 2.0 World II, IS&T/SPIE Electronic Imaging
O'Brien-Strain, E., Liu J., (2010) Learning from graphic designers: using grids as a scaffolding for automatic print layout, Imaging and Printing in a Web 2.0 World, IS&T/SPIE Electronic Imaging
Lei Zhang, Bing Liu, Suk Hwan Lim, and Eamonn O'Brien-Strain. 2010. Extracting and ranking product features in opinion documents. In Proceedings of the 23rd International Conference on Computational Linguistics (COLING '10). Association for Computational Linguistics, Stroudsburg, PA, USA, 1462-1470.
Nina Bhatti, Eamonn O'Brien-Strain, Jerry Liu, (2010) Cloud-based printing for mobile devices, Imaging and Printing in a Web 2.0 World, IS&T/SPIE Electronic Imaging
Allebach, J. P., Segovia, M. V. O., Atkins, C. B., O'Brien-Strain, E., Damera-Venkata, N., Bhatti, N., Liu, J., Lin, Q., An investigation of document aesthetics for web-to-print repurposing of small-medium business marketing collateral, Imaging and Printing in a Web 2.0 World, IS&T/SPIE Electronic Imaging
Wu, P., O'Brien-Strain, E., & Liu, J. (2008). Snapfish Lab: An open online imaging community. In 2008 IEEE 10th Workshop on Multimedia Signal Processing (pp. 17-21). IEEE. doi: 10.1109/MMSP.2008.4665042.
Obrador, P., Moroney, N., MacDowell, I., & O'Brien-Strain, E. (2008). Image collection taxonomies for photo-book auto-population with intuitive interaction . In Document Engineering.
Wu, P., O'Brien-Strain, E., & Liu, J. (2008). Snapfish Lab: An open online imaging community . In 2008 IEEE 10th Workshop on Multimedia Signal Processing (pp. 17-21). IEEE. doi: 10.1109/MMSP.2008.4665042.
Reddy, P., Mayo, R. N., O'Brien-Strain, E., Rowson, J., & Xiong, Y. (2004). Updating encrypted xml documents on untrusted machines. In I. I. Processing, SEC. Toulouse: Springer Boston. doi: 10.1007/1-4020-8143-X_28.
Reddy, P., O'Brien-Strain, E., & Rowson, J. (2004). Securely Propagating Authentication in an Ensemble of Personal Devices Using Single Sign-on . In L. N. Science, Security in Ad-hoc and Sensor Networks (pp. 178 - 189). Heidelberg, Germany: Springer Berlin / Heidelberg. doi: 10.1007/b105219.
Milojicic, D., Bernadat, P., Rick Corben, Ira Greenberg, Rajnish Kumar, Alan Messer, Dan Muntz, Eamonn O'Brien-Strain, Vahe Poladian, Jim Rowson (2003), Appliance Aggregation Architecture (A3), HP Labs Tech Report, HPL-2003-140
Fleck, M., Frid, M., Kindberg, T., O'Brien-Strain, E., Rajani, R., Spasojevic, M., et al. (2002). From Informing to Remembering: Ubiquitous Systems in Interactive Museums . IEEE Pervasive Computing, 1(2)
Fleck, M., Frid, M., Kindberg, T., O'Brien-Strain, E., Rajani, R., Spasojevic, M., et al. (2002). Co-Design Made Real: Generating and Verifying Complete System Hardware and Software Implementations . In Embedded Systems Conference. San Jose, CA.