Open main menu

CDOT Wiki β

Changes

DPS909 and OSD600 Fall 2014 Notes

9,795 bytes added, 11:29, 24 November 2014
Week 12, 13, 14
** [http://sixrevisions.com/resources/git-tutorials-beginners/ Overview of Git Tutorials (many good ones)]
** Videos
*** [http://git-scm.com/videos Intro to Git]
*** [http://www.youtube.com/watch?v=OFkgSjRnay4&feature=related Scott Chacon's more advanced tutorial of git]
*** [http://www.youtube.com/watch?v=4XpnKHJAok8 Linus Torvalds at Google discussing git's distributed nature]
*** [http://help.github.com/ Github documentation]
** [https://lkml.org/lkml/2004/12/20/255 Linus on the value of small patches]. Learning to use git well requires learning to work in small units of work, and adding them up over time.
* '''TODO'''
** Learn git!: '''Watch''' video tutorials and '''Read''' chapter 3 of [http://git-scm.com/book Pro Git], etc.
** Work on your 0.1 release. See the [[DPS909 and OSD600 0.1 Release 2014|instructions on submitting]]. == Weeks 5,6 == * Continuing with Git** branches** remotes** workflows * Connecting with Communities on irc** Moznet (irc.mozilla.org)** Freenode** irccloud - https://www.irccloud.com/** Recommended Channels*** #filer (moznet)*** #makedrive (moznet)*** #appmaker (moznet)*** #brackets (freenode) * Guest Lecture on Wednesday with Mozilla's Kate Hudson [https://twitter.com/k88hudson @k88hudson]** Discussion of [https://github.com/mozillafordevelopment Webmaker Mobile projects]** How to get started setting it up, contributing, finding good bugs** How she got started in open source, and what it's like to work full time** IRC usernames for Webmaker on the board:*** k88hudson*** thisandagain * Starting Release 0.2** Picking a bug** Suggested Projects:*** [https://github.com/mozillafordevelopment/webmaker-app/issues Webmaker Mobile], [http://www.economist.com/news/international/21620221-translating-technological-terms-throws-up-some-peculiar-challenges-cookies-caches-and-cows Economist Article about significance of Firefox OS]*** [https://github.com/mozilla-appmaker/appmaker/issues Appmaker]*** [https://github.com/filerjs/filer/issues Filer]** Advanced Projects:*** [https://github.com/mozilla/makedrive/issues MakeDrive]*** [https://github.com/adobe/brackets/issues Brackets]*** [http://mozilla-cordova.github.io/status/ Cordova + Firefox OS] '''TODO'''* Continue blogging at least once per week, write about your work on your bugs, things you're learning, issues you have, etc.* Pick a project and find bug(s) to work on for release 0.2* Join the irc channel(s) for the project you'll be joining* Read the [http://ericsink.com/vcbe/html/git_example.html chapter on git] in "Version Control by Example." Continue to build your knowledge of, and experience with git.* Find a bug to work on for Release 0.2 and blog about the bug. What is it? How will you approach fixing it? What do you need to learn? == Week 7 == * Discussion of 0.2 issues and questions (due Friday)* Preparing for [http://fsoss.ca FSOSS], [[FSOSS 2014 Report]] (next week, due Oct 31)* [http://www.programmableweb.com/news/minecraft-server-software-and-modding-plug-ins-facing-uncertain-future/analysis/2014/09/24 Licences, DMCA, Minecraft, Microsoft]* JavaScript Books and Videos** [https://www.youtube.com/playlist?list=PL7664379246A246CB Crockford on JavaScript (video series)]** [http://eloquentjavascript.net/ Eloquent JavaScript]** [http://read.humanjavascript.com/ Human JavaScript]** [http://chimera.labs.oreilly.com/books/1234000001808/index.html Node: Up and Running] '''TODO'''* Release 0.2 due Friday - '''blog post''' with details about your bug, how you fixed it, link to your '''pull request''', etc.* Start reading more deeply about JS == Week 8, 9 == * [http://thenextweb.com/apps/2014/10/23/mozillas-webmaker-app-will-make-easy-anyone-create-web-apps-smartphone/ Media coverage of Mobile Webmaker App preview at MozFest]* [http://readwrite.com/2014/10/24/open-source-recruiting-facebook-netflix-twitter Open Source as Recruiting Tool]** "Web companies like Netflix, Twitter and Facebook understand that open source can be more: a powerful weapon for recruiting and retaining top engineering talent."** [http://opensource.com/business/14/10/head-of-open-source-facebook-oscon Open Source at Facebook]** [http://www.slideshare.net/caniszczyk/open-source-craft-at-twitter Open Source at Twitter]* FSOSS Discussion** Guest - Abhijit AM from Puna, India* More on JavaScript** [http://bonsaiden.github.io/JavaScript-Garden/ The JavaScript Garden]*** [http://bonsaiden.github.io/JavaScript-Garden/#function Anonymous Functions (lambdas)]*** [http://underscorejs.org/docs/underscore.html Self-executing anonymous functions]*** [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array Functional programming with Arrays], [https://github.com/adobe/brackets/blob/6affa7907fdc820f7b9083bc0ff7c9fb87fb3e57/src/language/HTMLInstrumentation.js#L93-L123 example]*** [https://github.com/adobe/brackets/blob/ae17456a596965a1247b79ddb82c6e1518bc6e5e/src/utils/UrlParams.js Constructor functions and the prototype], [https://github.com/mozillafordevelopment/webmaker-app/blob/bfa6377bf49d14c16868dd3a4ae7b8f9fbcfcaea/lib/model.js another example]*** [https://github.com/adobe/brackets/blob/791bcc436155cbd8e8e73429af4ca3fde0881703/src/utils/Compatibility.js Extending native prototypes]*** [https://github.com/filerjs/filer/blob/develop/src/errors.js Dynamic property access]** [https://github.com/google/open-location-code Google's Open Location Code] repo* Let's fix a JS bug in Brackets** https://github.com/adobe/brackets/issues/9529 - UI fix** https://github.com/adobe/brackets/issues/8190 - Crash fix * Open Source across Companies** [http://blog.endpoint.com/2010/01/state-of-postgres-project.html Open Source, MySQL, Postgres, Oracle]** [http://opensource.apple.com/release/os-x-1010/ Open Source in 10.10] '''TODO'''* Read the various articles linked in the class notes, '''blog about your reaction''' to what you're reading.* [[FSOSS 2014 Report]] due this '''Friday, Oct 31'''* Start work on your '''0.3 release'''.* Read [https://github.com/adobe/brackets/issues/9529 Brackets Issue 9529] for Wednesday == Week 10 == * JavaScript outside the browser* [http://nodejs.org/ node.js]** [http://nodejs.org/api/ API docs]** [https://github.com/joyent/node source code]** [http://nodejs.org/api/modules.html#modules_modules require, module.exports]** node's callback pattern: <code>function(err, result) {...}</code>** [https://www.npmjs.org/ npm]** [https://www.npmjs.org/doc/files/package.json.html package.json] * Microsoft Open Sources .NET** [http://news.microsoft.com/2014/11/12/microsoft-takes-net-open-source-and-cross-platform-adds-new-development-capabilities-with-visual-studio-2015-net-2015-and-visual-studio-online/ Microsoft's press release]** [http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSourceNETonMacandLinuxandVisualStudioCommunity.aspx Microsoft's employee reaction]** [http://tirania.org/blog/archive/2014/Nov-12.html Mono lead developer's reaction]** Source Code (on Github no less):*** https://github.com/Microsoft/referencesource*** https://github.com/dotnet * Node.js and Joyent** [http://dtrejo.com/why-is-node-being-forked.html Forking node?]** http://readwrite.com/2014/11/12/node-js-joyent-possible-fork-schism** [https://github.com/joyent/nodejs-advisory-board Advisory Board]** [http://fantasai.inkedblade.net/weblog/2014/non-volunteer-agreement/ Non-volunteer agreement] * [https://nodebug.me/ nodebug.me] and Community Triage** https://twitter.com/brianleroux/status/530983249515134976 '''TODO'''* Work on release 0.3, due November 14th. == Week 11 == * Designing for Participation** Question: "How to build a software production pipeline that can strategically benefit from a vibrant open source community?"** Tension between growing capacity vs increasing cost** Schedule driven, client-requirements driven, and open involvement** The role of partnerships, shared ownership, distributed control and responsibility * [http://ben.balter.com/2014/11/06/rules-of-communicating-at-github/ Rules for Communicating at Github] '''TODO''' * Start scoping your 0.4 release. Pick your bugs, follow up on review comments from previous bugs, etc.* Pay attention to your blogging. Remember, a blog post per week is what is expected. It can be about any of your work. == Week 12, 13, 14 == * [https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290 Initial Git Commit] * The :9090 problem: '''"Convert :9090 into http://localhost:9090 automatically"'''** https://twitter.com/brianloveswords/status/531865386527248384** Let's try and change web browsers to do this** Browser vendors probably won't take the change, but it's a great way to learn** Platform Change vs. Extensions** A clue http://christian.legnitto.com/blog/2014/05/05/firefox-29s-best-feature/ * Open Source Browsers** Firefox*** [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions Build Instructions]*** [https://blog.mozilla.org/addons/2014/06/05/how-to-develop-firefox-extension/ Writing Extensions]*** [http://dxr.mozilla.org/mozilla-central/source/ Source Code Browser (DXR)]** Chromium/Chrome*** [https://chromium.googlesource.com/chromium/src.git Source Code]*** [http://www.chromium.org/developers/how-tos Dev Docs]*** [http://www.chromium.org/developers/how-tos/build-instructions-windows Building on Windows with VS]*** [http://dev.chromium.org/developers/how-tos/get-the-code Getting the Code]*** [https://developer.chrome.com/extensions/getstarted Building Chrome Extensions]** WebKit*** [https://www.webkit.org/ Main project page]*** [https://www.webkit.org/building/checkout.html Getting the code]*** [https://www.webkit.org/building/build.html Building the code]** [https://konqueror.org/Konqueror Konqueror]*** [https://konqueror.org/investigatebug/ Fixing bugs]*** [https://konqueror.org/getthesource/ Source Code]** [http://en.wikipedia.org/wiki/Lynx_%28web_browser%29 Lynx]*** [http://lynx.isc.org/ Main site]*** [http://lynx.isc.org/current/lynx_help/lynx_url_support.html URL Support in Lynx] '''TODO'''* Pick a browser to work on* Get the code, setup a dev environment, build it* Write a blog post about the experience, with a screenshot of the build running