Facebook Facebook Has Been Developed from The

Total Page:16

File Type:pdf, Size:1020Kb

Facebook Facebook Has Been Developed from The Facebook Facebook has been developed from the ground up using open source software. Developers building with Platform scale their own applications using many of the same infrastructure technologies that power Facebook. Platform Platform engineering team has released and maintains open source SDKs for Android, C#, iPhone, JavaScript, PHP, and Python. Developer tools codemod assists with large-scale codebase refactors that can be partially automated but still require human oversight and occasional intervention. Facebook Animation is a JavaScript library for creating customizable animations using DOM and CSS manipulation. flvtool++ is a tool for hinting and manipulating the metadata of FLV files. It was originally created for Facebook Video. Online Schema Change for MySQL lets you alter large database tables without taking your cluster offline. Phabricator is a collection of web applications which make it easier to write, review, and share source code. It is currently available as an early release and is used by hundreds of Facebook engineers every day. PHPEmbed makes embedding PHP truly simple for all of our developers (and indeed the world) we developed this PHPEmbed library which is just a more accessible and simplified API built on top of the PHP SAPI. phpsh provides an interactive shell for PHP that features readline history, tab completion, and quick access to documentation. It is ironically written mostly in Python. Three20 is an Objective-C library for iPhone developers which provides many UI elements and data helpers behind our iPhone application. XHP is a PHP extension which augments the syntax of the language such that XML document fragments become valid expressions. XHProf is a function-level hierarchical profiler for PHP with a simple HTML-based navigational interface. Infrastructure Apache Cassandra is a distributed storage system for managing structured data that is designed to scale to a very large size across many commodity servers, with no single point of failure. Apache Hive is data warehouse infrastructure built on top of Hadoop that provides tools to enable easy data summarization, adhoc querying and analysis of large datasets. FlashCache is a general purpose writeback block cache for Linux. It was developed as a loadable Linux kernel module, using the Device Mapper and sits below the filesystem. HipHop for PHP transforms PHP source code into highly optimized C++. HipHop offers large performance gains and was developed over the past two years. Open Compute Project an open hardware project aims to accelerate data center and server innovation while increasing computing efficiency through collaboration on relevant best practices and technical specifications. Scribe is a scalable service for aggregating log data streamed in real time from a large number of servers. Thrift provides a framework for scalable cross-language services development in C++, Java, Python, PHP, and Ruby. Tornado is a relatively simple, non-blocking web server framework written in Python. It is designed to handle thousands of simultaneous connections, making it ideal for real-time Web services. Mirror Hosts public mirror for projects such as Apache, Centos, CPAN, Fedora, GNU, Mozilla, MySQL, and much more... Core Concepts Social Plugins Social Plugins enable you to provide engaging social experiences to your users with just a line of HTML. Because the plugins are served by Facebook, the content is personalized to the viewer whether or not they have signed into your site. Graph API The Graph API is the core of Facebook Platform, enabling you to read and write data to Facebook. It provides a simple and consistent view of the social graph, uniformly representing objects (like people, photos, events, and pages) and the connections between them (friendships, likes, and photo tags). Social Channels Facebook Platform lets you integrate with social channels such as News Feed and Requests to help you drive growth and engagement with your app, site or content. Authentication Facebook authentication enables your app to interact with the Graph API on behalf of Facebook users and provides a powerful single-sign on mechanism across Web, mobile, and desktop apps. Open Graph protocol The Open Graph protocol enables you to integrate your pages into the social graph. These pages gain the functionality of other graph objects including profile links and stream updates for connected users. .
Recommended publications
  • The Sad State of Web Development Random Thoughts on Web Development
    The Sad State of Web Development Random thoughts on web development Going to shit 2015 is when web development went to shit. Web development used to be nice. You could fire up a text editor and start creating JS and CSS files. You can absolutely still do this. That has not changed. So yes, everything I’m about to say can be invalidated by saying that. The web (specifically the Javascript/Node community) has created some of the most complicated, convoluted, over engineered tools ever conceived. Node.js/NPM At times, I think where web development is at this point is some cruel joke played on us by Ryan Dahl. You see, to get into why web development is so terrible, you have to start at Node. By definition I was a magpie developer, so undoubtedly I used Node, just as everyone should. At universities they should make every developer write an app with Node.js, deploy it to production, then try to update the dependencies 3 months later. The only downside is we would have zero new developers coming out of computer science programs. You see the Node.js philosophy is to take the worst fucking language ever designed and put it on the server. Combine that with all the magpies that were using Ruby at the time, and you have the perfect fucking storm. Lets take everything that was great in Ruby and re write it in Javascript, I think was the official motto. Most of the smart magpies have moved on to Go at this point, but the people who have stayed in the Node community have undoubtedly created the most over engineered eco system that has ever appeared.
    [Show full text]
  • 16 Inspiring Women Engineers to Watch
    Hackbright Academy Hackbright Academy is the leading software engineering school for women founded in San Francisco in 2012. The academy graduates more female engineers than UC Berkeley and Stanford each year. https://hackbrightacademy.com 16 Inspiring Women Engineers To Watch Women's engineering school Hackbright Academy is excited to share some updates from graduates of the software engineering fellowship. Check out what these 16 women are doing now at their companies - and what languages, frameworks, databases and other technologies these engineers use on the job! Software Engineer, Aclima Tiffany Williams is a software engineer at Aclima, where she builds software tools to ingest, process and manage city-scale environmental data sets enabled by Aclima’s sensor networks. Follow her on Twitter at @twilliamsphd. Technologies: Python, SQL, Cassandra, MariaDB, Docker, Kubernetes, Google Cloud Software Engineer, Eventbrite 1 / 16 Hackbright Academy Hackbright Academy is the leading software engineering school for women founded in San Francisco in 2012. The academy graduates more female engineers than UC Berkeley and Stanford each year. https://hackbrightacademy.com Maggie Shine works on backend and frontend application development to make buying a ticket on Eventbrite a great experience. In 2014, she helped build a WiFi-enabled basal body temperature fertility tracking device at a hardware hackathon. Follow her on Twitter at @magksh. Technologies: Python, Django, Celery, MySQL, Redis, Backbone, Marionette, React, Sass User Experience Engineer, GoDaddy 2 / 16 Hackbright Academy Hackbright Academy is the leading software engineering school for women founded in San Francisco in 2012. The academy graduates more female engineers than UC Berkeley and Stanford each year.
    [Show full text]
  • ( 12 ) United States Patent
    US010430263B2 (12 ) United States Patent ( 10 ) Patent No. : US 10 ,430 , 263 B2 Polar Seminario (45 ) Date of Patent : Oct. 1 , 2019 ( 54 ) DEVICES, SYSTEMS AND METHODS FOR ( 56 ) References Cited VALIDATING AND UPGRADING FIRMWARE IN INTELLIGENT ELECTRONIC DEVICES U . S . PATENT DOCUMENTS (71 ) Applicant: Electro Industries /Gauge Tech , 2 ,883 , 255 A 4 / 1959 Anderson Westbury , NY (US ) 2 , 987 , 704 A 6 / 1961 Gimpel et al . ( Continued ) ( 72 ) Inventor: Jorge A . Polar Seminario , Westbury, NY (US ) FOREIGN PATENT DOCUMENTS (73 ) Assignee : Electro Industries /Gauge Tech , CN 101799681 A 8 /2010 Westbury, NY (US ) WO 2009044369 A2 4 / 2009 ( * ) Notice: Subject to any disclaimer, the term of this OTHER PUBLICATIONS patent is extended or adjusted under 35 U . S . C . 154 ( b ) by 59 days. Microsoft TechNet , Using DNS Servers with DHCP, Jan . 21, 2005 , Accessed from https: // technet. microsoft . com / en -us / library / ( 21 ) Appl. No. : 15 /421 , 573 cc787034 on Jun . 9 , 2015 ; pp . 1 - 4 . (22 ) Filed : Feb . 1, 2017 (Continued ) Primary Examiner — Charles Ehne (65 ) Prior Publication Data (74 ) Attorney , Agent, or Firm — Gerald E . Hespos ; US 2017/ 0220404 A1 Aug . 3 , 2017 Michael J . Porco ; Matthew T . Hespos Related U . S . Application Data (57 ) ABSTRACT (60 ) Provisional application No . 62 /289 , 440 , filed on Feb . Apparatuses , systems, and method for validating and 1 , 2016 . upgrading firmware in an intelligent electronic device ( IED ) (51 ) Int. Ci. are provided. In one aspect of the present disclosure , an IED G06F 11 /00 ( 2006 . 01 ) is provided including at least one processor and at least one GO6F 11/ 07 (2006 .
    [Show full text]
  • CROP: Linking Code Reviews to Source Code Changes
    CROP: Linking Code Reviews to Source Code Changes Matheus Paixao Jens Krinke University College London University College London London, United Kingdom London, United Kingdom [email protected] [email protected] Donggyun Han Mark Harman University College London Facebook and University College London London, United Kingdom London, United Kingdom [email protected] [email protected] ABSTRACT both industrial and open source software development communities. Code review has been widely adopted by both industrial and open For example, large organisations such as Google and Facebook use source software development communities. Research in code re- code review systems on a daily basis [5, 9]. view is highly dependant on real-world data, and although existing In addition to its increasing popularity among practitioners, researchers have attempted to provide code review datasets, there code review has also drawn the attention of software engineering is still no dataset that links code reviews with complete versions of researchers. There have been empirical studies on the effect of code the system’s code base mainly because reviewed versions are not review on many aspects of software engineering, including software kept in the system’s version control repository. Thus, we present quality [11, 12], review automation [2], and automated reviewer CROP, the Code Review Open Platform, the first curated code recommendation [20]. Recently, other research areas in software review repository that links review data with isolated complete engineering have leveraged the data generated during code review versions (snapshots) of the source code at the time of review. CROP to expand previously limited datasets and to perform empirical currently provides data for 8 software systems, 48,975 reviews and studies.
    [Show full text]
  • Crawling Code Review Data from Phabricator
    Friedrich-Alexander-Universit¨atErlangen-N¨urnberg Technische Fakult¨at,Department Informatik DUMITRU COTET MASTER THESIS CRAWLING CODE REVIEW DATA FROM PHABRICATOR Submitted on 4 June 2019 Supervisors: Michael Dorner, M. Sc. Prof. Dr. Dirk Riehle, M.B.A. Professur f¨urOpen-Source-Software Department Informatik, Technische Fakult¨at Friedrich-Alexander-Universit¨atErlangen-N¨urnberg Versicherung Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als der angegebenen Quellen angefertigt habe und dass die Arbeit in gleicher oder ¨ahnlicherForm noch keiner anderen Pr¨ufungsbeh¨ordevorgelegen hat und von dieser als Teil einer Pr¨ufungsleistung angenommen wurde. Alle Ausf¨uhrungen,die w¨ortlich oder sinngem¨aߨubernommenwurden, sind als solche gekennzeichnet. Nuremberg, 4 June 2019 License This work is licensed under the Creative Commons Attribution 4.0 International license (CC BY 4.0), see https://creativecommons.org/licenses/by/4.0/ Nuremberg, 4 June 2019 i Abstract Modern code review is typically supported by software tools. Researchers use data tracked by these tools to study code review practices. A popular tool in open-source and closed-source projects is Phabricator. However, there is no tool to crawl all the available code review data from Phabricator hosts. In this thesis, we develop a Python crawler named Phabry, for crawling code review data from Phabricator instances using its REST API. The tool produces minimal server and client load, reproducible crawling runs, and stores complete and genuine review data. The new tool is used to crawl the Phabricator instances of the open source projects FreeBSD, KDE and LLVM. The resulting data sets can be used by researchers.
    [Show full text]
  • Letter, If Not the Spirit, of One Or the Other Definition
    Producing Open Source Software How to Run a Successful Free Software Project Karl Fogel Producing Open Source Software: How to Run a Successful Free Software Project by Karl Fogel Copyright © 2005-2021 Karl Fogel, under the CreativeCommons Attribution-ShareAlike (4.0) license. Version: 2.3214 Home site: https://producingoss.com/ Dedication This book is dedicated to two dear friends without whom it would not have been possible: Karen Under- hill and Jim Blandy. i Table of Contents Preface ............................................................................................................................. vi Why Write This Book? ............................................................................................... vi Who Should Read This Book? ..................................................................................... vi Sources ................................................................................................................... vii Acknowledgements ................................................................................................... viii For the first edition (2005) ................................................................................ viii For the second edition (2021) .............................................................................. ix Disclaimer .............................................................................................................. xiii 1. Introduction ...................................................................................................................
    [Show full text]
  • PHP Beyond the Web Shell Scripts, Desktop Software, System Daemons and More
    PHP Beyond the web Shell scripts, desktop software, system daemons and more Rob Aley This book is for sale at http://leanpub.com/php This version was published on 2013-11-25 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. ©2012 - 2013 Rob Aley Tweet This Book! Please help Rob Aley by spreading the word about this book on Twitter! The suggested hashtag for this book is #phpbeyondtheweb. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter: https://twitter.com/search?q=#phpbeyondtheweb Contents Welcome ............................................ i About the author ...................................... i Acknowledgements ..................................... ii 1 Introduction ........................................ 1 1.1 “Use PHP? We’re not building a website, you know!”. ............... 1 1.2 Are you new to PHP? ................................. 2 1.3 Reader prerequisites. Or, what this book isn’t .................... 3 1.4 An important note for Windows and Mac users ................... 3 1.5 About the sample code ................................ 4 1.6 External resources ................................... 4 1.7 Book formats/versions available, and access to updates ............... 5 1.8 English. The Real English. .............................. 5 2 Getting away from the Web - the basics ......................... 6 2.1 PHP without a web server .............................. 6 2.2 PHP versions - what’s yours? ............................. 7 2.3 A few good reasons NOT to do it in PHP ...................... 8 2.4 Thinking about security ...............................
    [Show full text]
  • Jetbrains Upsource Comparison Upsource Is a Powerful Tool for Teams Wish- Key Benefits Ing to Improve Their Code, Projects and Pro- Cesses
    JetBrains Upsource Comparison Upsource is a powerful tool for teams wish- Key benefits ing to improve their code, projects and pro- cesses. It serves as a polyglot code review How Upsource Compares to Other Code Review Tools tool, a source of data-driven project ana- lytics, an intelligent repository browser and Accuracy of Comparison a team collaboration center. Upsource boasts in-depth knowledge of Java, PHP, JavaScript, Integration with JetBrains Tools Python, and Kotlin to increase the efcien- cy of code reviews. It continuously analyzes Sales Contacts the repository activity providing a valuable insight into potential design problems and project risks. On top of that Upsource makes team collaboration easy and enjoyable. Key benefits IDE-level code insight to help developers Automated workflow, to minimize manual tasks. Powerful search engine. understand and review code changes more efectively. Smart suggestion of suitable reviewers, revi- IDE plugins that allow developers to partici- sions, etc. based on historical data and intel- pate in code reviews right from their IDEs. Data-driven project analytics highlighting ligent progress tracking. potential design flaws such as hotspots, abandoned files and more. Unified access to all your Git, Mercurial, Secure, and scalable. Perforce or Subversion projects. To learn more about Upsource, please visit our website at jetbrains.com/upsource. How Upsource Compares to Other Code Review Tools JetBrains has extensively researched various As all the products mentioned in the docu- tools to come up with a useful comparison ment are being actively developed and their table. We tried to make it as comprehensive functionality changes on a regular basis, this and neutral as we possibly could.
    [Show full text]
  • Phabricator 538D8f2... Overview
    Institute of Computational Science Phabricator 538d8f2... overview Dmitry Mikushin (for the Bugs Course) . October 17, 2013 Dmitry Mikushin Test-drive at http://devel.kernelgen.org October 17, 2013 1 / 14 . What is Phabricator? The LAMP-based web-server + command-line client for: peer code review task management project communication And it’s open-source Dmitry Mikushin Test-drive at http://devel.kernelgen.org October 17, 2013 2 / 14 . Test drive! Browse to http://devel.kernelgen.org, login and look around Dmitry Mikushin Test-drive at http://devel.kernelgen.org October 17, 2013 3 / 14 . Key features Peer code review Integrated environment for request reviewing, tasks/bugs and versioning system - in web environment - in command line Ergonomic task interface Dmitry Mikushin Test-drive at http://devel.kernelgen.org October 17, 2013 4 / 14 . Key features Peer code review Integrated environment for request reviewing, tasks/bugs and versioning system - in web environment - in command line Ergonomic task interface Dmitry Mikushin Test-drive at http://devel.kernelgen.org October 17, 2013 5 / 14 . Peer code review: traditional 1 RFC: Developer publishes a patch with the source and tests 2 Other developers comment on the patch issues/improvements 3 After all issues are addressed, reviewers ACK patch for commit 4 Developer himself or someone with rw rights commits the patch Everything is over email Relationship with Bugs: fixes for PRs are also reviewed this way Dmitry Mikushin Test-drive at http://devel.kernelgen.org October 17, 2013 6 / 14 . Peer code review: Phabricator approach 1 Developer check-ins the patch to the Phabricator over the command line (passing lint/unit tests, if any) $ arc diff .
    [Show full text]
  • 2.3 Apache Chemistry
    UNIVERSITY OF DUBLIN TRINITY COLLEGE DISSERTATION PRESENTED TO THE UNIVERSITY OF DUBLIN,TRINITY COLLEGE IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MAGISTER IN ARTE INGENIARIA Content Interoperability and Open Source Content Management Systems An implementation of the CMIS standard as a PHP library Author: Supervisor: MATTHEW NICHOLSON DAVE LEWIS Submitted to the University of Dublin, Trinity College, May, 2015 Declaration I, Matthew Nicholson, declare that the following dissertation, except where otherwise stated, is entirely my own work; that it has not previously been submitted as an exercise for a degree, either in Trinity College Dublin, or in any other University; and that the library may lend or copy it or any part thereof on request. May 21, 2015 Matthew Nicholson i Summary This paper covers the design, implementation and evaluation of PHP li- brary to aid in use of the Content Management Interoperability Services (CMIS) standard. The standard attempts to provide a language indepen- dent and platform specific mechanisms to better allow content manage- ment systems (CM systems) work together. There is currently no PHP implementation of CMIS server framework available, at least not widely. The name given to the library is Elaphus CMIS. The implementation should remove a barrier for making PHP CM sys- tems CMIS compliant. Aswell testing how language independent the stan- dard is and look into the features of PHP programming language. The technologies that are the focus of this report are: CMIS A standard that attempts to structure the data within a wide range of CM systems and provide standardised API for interacting with this data.
    [Show full text]
  • Cloud Computing Zun¨Achst Heiter Bis Wolkig, Sp¨Ater Dauerhaft Bedeckt“ ”
    Ausgew¨ahlte Kapitel der Systemsoftware: Cloud Computing Zun¨achst heiter bis wolkig, sp¨ater dauerhaft bedeckt\ " Timo H¨onig Friedrich-Alexander-Universit¨at Erlangen-Nurnberg¨ Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.informatik.uni-erlangen.de Sommersemester 2010 Cloud Computing: Agenda Zun¨achst heiter bis wolkig, sp¨ater dauerhaft bedeckt\ " Semesterabschluss Keine Wiederholung Aktive Teilnahme erwunscht¨ Themen Ph¨anomen Cloud Computing: Ursprung und Wurzeln Prinzip der Offenheit Fallstudie Twitter HS AKSS (SoSe 10) Cloud Computing: Zun¨achst heiter bis wolkig, sp¨ater dauerhaft bedeckt\1 " Eric Schmidt (Google) Search Engine Strategies Conference, San Jose, Cloud Computing: Der Anfang. We call it cloud computing (. ) 9. August 2006 HS AKSS (SoSe 10) Cloud Computing: Zun¨achst heiter bis wolkig, sp¨ater dauerhaft bedeckt\2 " Cloud Computing: Der Anfang. We call it cloud computing (. ) Eric Schmidt (Google) Search Engine Strategies Conference, San Jose, 9. August 2006 HS AKSS (SoSe 10) Cloud Computing: Zun¨achst heiter bis wolkig, sp¨ater dauerhaft bedeckt\2 " Cloud Computing: . und seine Folgen. *) Hochrechnung Gravierende Auswirkungen des Modeworts Cloud Computing\ " Forschung Wirtschaft Cloud Computing Fokus auf Technik Cloud ^=Internet, Cloud Computing ^=Internet + ? HS AKSS (SoSe 10) Cloud Computing: Zun¨achst heiter bis wolkig, sp¨ater dauerhaft bedeckt\3 " Infrastruktur, Hard- und Software-Technologie X Datenubertragungsrate,¨ Commodity Hardware, Virtualisierung Systemsoftware, Verteilte
    [Show full text]
  • Extra Notes - React - Getting Started
    Extra Notes - React - Getting Started Dr Nick Hayward React JavaScript Library A quick introduction to React JavaScript library. Further details are available at the React website. Contents Intro Overview why use React? state changes component lifecycle a few benefits Getting started part 1 and 2 JSX benefits composite components more dynamic values conditionals non-DOM attributes reserved words data flow State stateless child components stateful parent component props vs state State - an example Minimal state Component lifecycle method groupings Additional reading &c. References Intro React began life as a port of a custom PHP framework called XHP, which was developed internally at Facebook. XHP, as a PHP framework, was designed to render the full page for each request. React developed from this concept, thereby creating a client-side implementation of loading the full page. Overview React can, therefore, be perceived as a type of state machine, thereby allowing a developer to control and manage the inherent complexity of state as it changes over time. It is able to achieve this by concentrating on a narrow scope for development, maintaining and updating the DOM responding to events React is best perceived as a view library, and has no definite requirements or restrictions on storage, data structure, routing, and so on. This allows developers the freedom to incorporate React code into a broad scope of applications and frameworks. why use React? React is often considered the V in the traditional MVC. As defined in the React docs, it was designed to solve one problem, building large applications with data that changes over time.
    [Show full text]