Zendesk
Lead Software Engineer
The Climate Corporation Aug 2012 - Jan 2014
Senior Staff Software Engineer
Redfin Aug 2007 - Aug 2012
Principal Engineer
Redfin Aug 2006 - Aug 2007
Senior Engineer
Bea Systems 2006 - 2006
Senior Engineering Manager
Education:
University of California, Berkeley Sep 1989 - Jun 1993
Bachelors, Bachelor of Arts, Physics
Skills:
Software Development Agile Methodologies Enterprise Software Java Distributed Systems Architecture Web Services Rest Cloud Computing Web Applications Saas Software Engineering Hadoop Javascript Linux C++
Us Patents
System And Method For Administering Security In A Corporate Portal
A method, system, and computer program product for corporate portal security are provided, wherein security information corresponding to an external object imported into the corporate portal is automatically mapped from the object's native security system into the corporate portal system. For each external object imported, the corporate portal maps external users and external groups identified by the native security into corresponding portal users and portal groups according to a predefined mapping process, and stores the results in a manner that associates the external object with those portal users and portal groups. A plurality of database tables and maps determines the outcome of the predefined mapping process. Advantageously, when new external users or groups are added, they are detected by a synchronization agent which then automatically updates the database tables and maps. When custom group security configurations are desired, or when new domains are added, the portal administrator may manipulate a subset of the database tables and maps to achieve the desired configuration.
Michael E. Smedberg - Oakland CA, US Boris Andreyevich Krasnoiarov - El Cerrito CA, US Daniil Khidekel - Berkeley CA, US
Assignee:
BEA Systems, Inc. - San Jose CA
International Classification:
G06F 15/16 G06F 15/173 G06F 11/00
US Classification:
709201, 709223, 709224, 714 6
Abstract:
A method of analyzing a resource leak on a first web server uses a second web server. A first HTTP request message is received from a client at a first Web server and includes an identifier of an information component stored on the first Web server which generates a reply to the first HTTP request message including the information component, and sends the reply to the client. Multiple duplicate HTTP request messages for the information component are generated at the first Web server in response to the receiving of the first request, for analyzing a resource leak on the first Web server. Each of the duplicate HTTP request messages includes the identifier of the information component. The duplicate HTTP request messages are transmitted to a second Web server and multiply any existing. resource leak, thereby facilitating detection, diagnosis and/or analysis. The transmitting to the second Web server maintains the first Web server free from receiving the multiple duplicate HTTP request messages.
Web Server Multiplier For Analyzing Resource Leaks
Michael E Smedberg - Oakland CA, US Boris Andreyevich Krasnoiarov - El Cerrito CA, US Daniil Khidekel - Berkeley CA, US
Assignee:
BEA Systems, Inc. - San Jose CA
International Classification:
G06F 15/16 G06F 15/173
US Classification:
709223, 709201, 709203, 709225, 709229
Abstract:
A method of analyzing a resource leak on a first web server uses a second web server. A first HTTP request message is received from a client at a first Web server and includes an identifier of an information component stored on the first Web server which generates a reply to the first HTTP request message including the information component, and sends the reply to the client. Multiple duplicate HTTP request messages for the information component are generated at the first Web server in response to the receiving of the first request, for analyzing a resource leak on the first Web server. Each of the duplicate HTTP request messages includes the identifier of the information component. The duplicate HTTP request are transmitted to a second Web server and multiply any existing resource leak, thereby facilitating detection, diagnosis and/or analysis. The transmitting to the second Web server maintains the first Web server free from receiving the multiple HTTP request messages.
System And Method For Administering Security In A Corporate Portal
Bridget J. Frey - San Francisco CA, US Matthew S. Markoff - San Francisco CA, US Michael E. Smedberg - Oakland CA, US
Assignee:
Oracle International Corp. - Redwood Shores CA
International Classification:
H04L 29/06
US Classification:
726 26, 726 27, 726 28
Abstract:
A method, system, and computer program product for corporate portal security are provided, wherein security information corresponding to an external object imported into the corporate portal is automatically mapped from the object's native security system into the corporate portal system. For each external object imported, the corporate portal maps external users and external groups identified by the native security into corresponding portal users and portal groups according to a predefined mapping process, and stores the results in a manner that associates the external object with those portal users and portal groups. A plurality of database tables and maps determines the outcome of the predefined mapping process. Advantageously, when new external users or groups are added, they are detected by a synchronization agent which then automatically updates the database tables and maps. When custom group security configurations are desired, or when new domains are added, the portal administrator may manipulate a subset of the database tables and maps to achieve the desired configuration.
Method And Apparatus For Performing An Aggregate Query In A Database System
Paul Friedman - Hillsborough CA Michael Smedberg - Berkeley CA
Assignee:
Informix Software, Inc. - Menlo Park CA
International Classification:
G06F 1730
US Classification:
707 3
Abstract:
In a computer-implemented method for generating a response to an aggregate query request on a source database, a random sample of records is extracted from the source database to generate a sample database. Then an aggregate query is performed on the sample database to generate a sample result, and an estimate of the aggregate query request on the source database is derived from the sample result.
Assigning Tickets To Agents Based On Relevant Skills In A Customer-Support Ticketing System
- San Francisco CA, US Joshua Y. Lam - Berkeley CA, US Craig A. Little - San Francisco CA, US Austin Wang - San Francisco CA, US Michael Erik Smedberg - Oakland CA, US Kristen L. Mirenda - San Francisco CA, US
Assignee:
Zendesk, Inc. - San Francisco CA
International Classification:
G06Q 10/06 G06Q 30/00
Abstract:
During operation, the system obtains a set of tickets to be processed at the customer-support ticketing system, wherein each ticket is tagged with any required skills, which are required to respond to the ticket. The system then enables an agent to request tickets to process, wherein a data structure representing the agent is tagged with any skills possessed by the agent. In response to the request, the system selects a matching subset of the set of tickets to be processed, wherein the matching subset comprises tickets for which the agent possesses a superset of the required skills that the ticket is tagged with. Next, the system presents the matching subset of tickets to the agent through a UI. Finally, the system enables the agent to operate the UI to: select a ticket from the matching subset of the set of tickets to be processed; and respond to an associated customer request.
MICHAEL SMEDBERG - Oakland CA, US JENNIFER SUN - San Francisco CA, US ROBERT GAY - San Francisco CA, US JASON WAIN - Marlboro NJ, US
International Classification:
G06Q 30/06 G06Q 50/16
US Classification:
705 2641
Abstract:
A personalized feed system is described herein that provides feeds that are tailored to the preferences of each user of a real estate website or application. A user signs up to receive a stored profile with the website, and the profile includes information such as what geographical regions the buyer is interested in, what types of homes the buyer is looking for, and so on. The personalized feed system uses this information to provide a feed specific to the buyer that notifies the buyer of listings that are of particular relevance to that buyer. The personalized feed system summarizes other real estate events that are relevant to the user in a single time-oriented feed. Buyers receive information about new and/or modified listings, sales, outstanding offers, status of a transaction, and the like, while sellers receive information about sales, new and/or modified listings, open offers, and so on.
MICHAEL SMEDBERG - Seattle WA, US DAN FABULICH - Seattle WA, US
International Classification:
G06F 17/22
US Classification:
715205, 715234, 715240
Abstract:
A page transition system is described herein that allows for fast switching between a master page and one or more detail pages of a website, without substantial recoding of the website. The system includes a software library that handles link click events in the master page and the back button in detail pages. When the user clicks a link in the master page, the content of the master page is hidden and the content of the detail page is displayed in a hypertext markup language (HTML) iframe or similar construct that occupies the entirety of the browser viewport. When the user clicks the back button in the detail page to return to the master page M, the iframe is hidden or destroyed, and the content for the master page is unhidden. Thus, the system provides smooth page transitions that are faster for users and lower in burden on the server.