Working with the Linux Community

Total Page:16

File Type:pdf, Size:1020Kb

Working with the Linux Community Working with the Linux Community A Guest Lecture for CS 378 class at the University of Texas at Austin Khoa Huynh, Ph.D. IBM Linux Technology Center Austin, TX Linux Technology Center TopicsTopics Open source software development Open source licences Common risks Working with the Linux community General advices & tips Submitting your work to Linux kernel community Source code control Bug tracking Submitting your work to Linux distributors Linux debug tools Linux Technology Center OpenOpen SourceSource SoftwareSoftware (OSS)(OSS) Freely available software in source code format Often distributed via Internet or CD (e.g., Red Hat) Redistribution cannot be prohibited or royalty imposed Often developed in a collaborative community effort OSS community very sensitive about meaning & use of term "open source" For the current definition, see: http://www.opensource.org/osd/ Not "Public Domain" Copyright law gives author rights author determines appropriate uses of a work e.g. you can't reproduce or modify a work without author's permission author may grant permission via a license which can impose obligations Linux Technology Center OpenOpen SourceSource LicensesLicenses There are many open source licenses e.g. GPL, LGPL, CPL, IPL, BSD, Apache, etc. Some common features Governs use, modification and distribution of code Grant of rights (e.g. modification, redistribution, etc.) Obligations (e.g. attribution, redistribution, etc.) Different licenses have different objectives GPL = "General Public License" LGPL = "Lesser/Library Public License" CPL/IPL = "Common/IBM Public License" BSD = "Berkeley Software Delivery" Others Some licenses make source code available but should not be confused with OSS licenses (e.g. Sun Linux Technology Community Source License) Center OpenOpen SourceSource LicensesLicenses (cont'd)(cont'd) Many projects are under GPL (e.g., Linux kernel, GNU tools, Gnome) GPL often referred to as "Copyleft" Author: Free Software Foundation Software available freely Free availability of all source code and modifications No restriction on what others may do with the code Common risks No warranty (provided "as is") Viral effect (or contamination) between proprietary and open source software Intermingling of objects Cutting & pasting source code Linking to libraries (static or dynamic) Possible relinquishing of patent rights More info on OS licenses Linux Technology http://www.opensource.org/licenses/ Center WorkingWorking withwith LinuxLinux CommunityCommunity Submit your work to the community Match the patch to the code Use multiple patches Submit early, submit often Stakeholders and Decision Makers Linux Technology Center MatchMatch PatchPatch toto thethe CodeCode If the patch is to existing code, make sure the patch matches the surrounding code From a style perspective match indentation styles match function/variable naming From a design perspective use a similar functional breakdown. your code should be at least as portable as the surrounding code make sure your changes don't interfere with the maintainer/author's long-term vision for the code Linux Technology Center UseUse MultipleMultiple PatchesPatches Small patches are accepted more easily than big patches Each patch should make a single functional change That way the maintainer can accept a subset of your patches, if he/she wishes Patches can be submitted as a set or separately Document what they do & pre-requisites Linux Technology Center SubmitSubmit Early,Early, SubmitSubmit OftenOften In general, there is no penalty if you submit a patch and it is rejected The rejection often contains good constructive criticism Even if the patch is not ready to be merged into the mainline, post the patch for comments Open source development Improvements suggested by the community Extra testing by the community Linux Technology Center SubmissionSubmission CriteriaCriteria As soon as minimal functionality is present Doesn't have to be feature-complete Doesn't have to be tuned for performance Passes the smoke test --- obvious bugs have been fixed Overall design completed (recommended) Linux Technology Center StakeholdersStakeholders andand DecisionDecision MakersMakers Identify who the stake holders and who the decision makers are They are not necessarily the same! Consult with the stake holders Satisfy the decision maker Avoid falling into the trap of spending too much time trying to achieve 100% approval from stake holders For the Linux kernel: Stake holders: LKML, individual developers, subsystem maintainers, etc. Decision maker: Linus Torvalds Linux Technology Center SubmittingSubmitting toto thethe LinuxLinux KernelKernel Key considerations Source control: BitKeeper Bug tracking: Kernel Bug Tracker (new) Trivial Patch Monkey (for small patches) Types of kernel patches Linux Technology Center SourceSource Control:Control: BitKeeperBitKeeper Preferred form for large submissions to Linus Send e-mail to Linus with URL to BK tree, and description of the change Make sure the change sets (patches) will apply cleanly to the current BK tree BitKeeper http://www.bitkeeper.com Scalable through replication Change sets == Patches Powerful merging tools Repositories as branches allows controlled development Each person has his/her own personal repositories Repositories are compressed to reduce disk space and increase performance Multi-protocol (FS/RSH/SSH/HTTP/BKD/SMTP) connectivity Linux Technology Center UsingUsing BitKeeperBitKeeper File names revisioned and propagated just like contents Graphical interfaces provided for merging, browsing, and creating changes Change sets One or more changes to one or more files (i.e., patches) Built-in configuration management Creation of a change set saves the entire state of the repository (both what changed and what didn't) Open Logging Required for BitKeeper Open License (free use) Not required for paying customers Centralized change logs (everyone can see) Trading privacy loss for money Linux Technology Center UsingUsing TrivialTrivial PatchPatch MonkeyMonkey Preferred form for small patches Rusty Russell reviews & bundles small patches into a large submission to the mainline kernel source tree E-mail address of this patch system: [email protected] More details on how to submit trivial patches to this system http://www.uwsg.iu.edu/hypermail/linux/kernel/0205.3/1019.html. Linux Technology Center TypesTypes ofof KernelKernel PatchesPatches New subsystem Infrastructural patches Replacing / rewriting existing code Linux Technology Center NewNew SubsystemSubsystem Examples: New filesystem (JFS, CIFS) New subsystem (EVMS, SCTP) New device driver Most changes are in a self-contained file or directory Minimal changes needed to the rest of the kernel (config.in, Configure.help, makefiles) Small changes to kernel code are acceptable, but should be minimized Linux Technology Center SubmittingSubmitting AA NewNew SubsystemSubsystem Since it represents new functionality, Linus is much more forgiving Stylistic guidelines not as important If any infrastructure changes are required: Package them separately Submit at the same time as the new subsystem Create a Bitkeeper tree, and send e-mail to Linus with the Bitkeeper URL Include description/diffs of code changes to the core kernel in the e-mail Linux Technology Center InfrastructureInfrastructure PatchesPatches Example: Read-Copy-Update Patch should include at least one or two uses of the new interfaces Should demonstrate why new interface is needed API should be simple Underlying implementation can be complicated (as needed) Community support is much more important for infrastructure patches Because the community will be using the interface Submit early, submit often Linux Technology Center ReplacingReplacing // RewritingRewriting ExistingExisting CodeCode Acceptance from existing maintainer is critical Must provide noticeable improvements to community Linux Technology Center BugBug Tracking:Tracking: KernelKernel BugBug TrackerTracker Bug tracking system for Linux kernel community http://bugme.osdl.org Currently for 2.5 kernel bug tracking only (will likely extend for 2.6) Introduced by IBM Linux Technology Center (Khoa Huynh, Martin Bligh, Jon Tollefson) Why? Discussions, bugs, patches, announcements, etc., were all communicated via the Linux Kernel Mailing List (LKML) BitMover's Bug Manager is still under development Key characteristics Based on Mozilla.org's Bugzilla bug tracking system Web-based user interface Accessible via many popular network protocols (HTTP, SMTP, etc.) Automatic e-mail change notification MySQL database technology Linux Technology File attachments (testcases, patches, etc.) Center LifeLife ofof AA BugBug inin KernelKernel BugBug TrackerTracker Fix (patch) NOT OK Bug Owner Assigned ASSIGNED NEW Fix (patch) Available RESOLVED Patch Already Available Patch Reviewed & Accepted By Kernel DEFERRED Community Will Fix Later REJECTED VERIFIED Not A Valid Bug Duplicate Unreproducible Documented Bug Reopened Insufficient Data Patch Included In An Official Kernel Release Will Not Fix CLOSED Linux Technology Center SubmittingSubmitting CodeCode toto LinuxLinux DistributorsDistributors Patches should be against current, official codebase of the project Patches should not lead to potential binary incompatible APIs with future official versions of the kernel and libraries Coding style should follow the coding style of the project Quality of patches should be in such a way that the officia maintainers could accept them Tests are always welcome Information on importance and relevance of the
Recommended publications
  • IBM Websphere Studio Application Developer for Windows, Version 4.0 Helps Java Developers to Build, Test, and Deploy J2EE-Based E-Business Applications
    Software Announcement November 6, 2001 IBM WebSphere Studio Application Developer for Windows, Version 4.0 Helps Java Developers To Build, Test, and Deploy J2EE-based e-business Applications Overview flexible source control management, pluggable At a Glance Introducing IBM′s premier Java repositories, as well as adapters development environment for for Concurrent Versioning System WebSphere Studio Application professional developers, the first (CVS) and for Rational ClearCase Developer for Windows, V4.0 product in the WebSphere Studio LT (CCLT) (Application Developer) provides product suite, WebSphere Studio • A comprehensive visual XML an advanced development Application Developer for development environment, environment for J2EE application Windows , V4.0 (Application including components for building development. Developer). DTDs, XML Schemas, XML files, and XSL style sheets Application Developer offers the Application Developer is built on the • Built-in WebSphere test following key functions: WebSphere Studio Workbench, an environment • integrated platform designed to A powerful Java development provide a common set of services Application Developer is next environment, that includes and frameworks unparalleled generation technology for support for JDK 1.3, a development tool integration and VisualAge for Java Enterprise configurable runtime, tool construction. Edition. It combines many popular incremental compilation, features of VisualAge for Java scrapbook, dynamic debugging, Application Developer includes the Enterprise Edition and WebSphere and a Java text editor • following functions: Studio Advanced Edition integrated Advanced Web, Java, and XML development environments • on top of WebSphere Studio An advanced development Workbench. designed to J2SE and J2EE environment for J2EE application specifications development that meets J2SE and Application Developer is focused on • A Relational Schema Center J2EE specifications and EJB optimizing J2EE application (RSC) focused on relational development and deployment and development.
    [Show full text]
  • Distributed Configuration Management: Mercurial CSCI 5828 Spring 2012 Mark Grebe Configuration Management
    Distributed Configuration Management: Mercurial CSCI 5828 Spring 2012 Mark Grebe Configuration Management Configuration Management (CM) systems are used to store code and other artifacts in Software Engineering projects. Since the early 70’s, there has been a progression of CM systems used for Software CM, starting with SCCS, and continuing through RCS, CVS, and Subversion. All of these systems used a single, centralized repository structure. Distributed Configuration Management As opposed to traditional CM systems, Distributed Configuration Management Systems are ones where there does not have to be a central repository. Each developer has a copy of the entire repository and history. A central repository may be optionally used, but it is equal to all of the other developer repositories. Advantages of Distributed Configuration Management Distributed tools are faster than centralized ones since metadata is stored locally. Can use tool to manage changes locally while not connected to the network where server resides. Scales more easily, since all of the load is not on a central server. Allows private work that is controlled, but not released to the larger community. Distributed systems are normally designed to make merges easy, since they are done more often. Mercurial Introduction Mercurial is a cross-platform, distributed configuration management application. In runs on most modern OS platforms, including Windows, Linux, Solaris, FreeBSD, and Mac OSX. Mercurial is written 95% in Python, with the remainder written in C for speed. Mercurial is available as a command line tool on all of the platforms, and with GUI support programs on many of the platforms. Mercurial is customizable with extensions, hooks, and output templates.
    [Show full text]
  • Steve French IBM – Linux Technology Center
    IBM Server & Technology Group Linux Kernel Clients: A Year in Review “Man-Eating Seals of Antiquity” to “Sheep on Meth” Steve French IBM – Linux Technology Center Linux Technology Center © 2010 IBM Corporation SNIA SDC 2010 Legal Statement –This work represents the views of the author(s) and does not necessarily reflect the views of IBM Corporation –A full list of U.S. trademarks owned by IBM may be found at http://www.ibm.com/legal/copytrade.shtml. –Linux is a registered trademark of Linus Torvalds. –Other company, product, and service names may be trademarks or service marks of others. 2 IBM Linux Technology Center © 2010 IBM Corporation SNIA SDC 2010 Who am I? –Steve French ([email protected] or [email protected]) –Author and maintainer of Linux cifs vfs (for accessing Samba, Windows and various SMB/CIFS based NAS appliances) –Wrote initial SMB2 kernel client prototype –Member of the Samba team, coauthor of CIFS Technical Reference and former SNIA CIFS Working Group chair –Architect: Filesystems/NFS/Samba for IBM LTC IBM Linux Technology Center © 2010 IBM Corporation SNIA SDC 2010 • Last September Kernel version 2.6.31: • [Since 2.6.34] Now we have • “Man-Eating Seals of Antiquity” 2.6.36-rc4 – 2.6.31 came out on September 9th, 2009 • “Sheep on Meth” 4 IBM Linux Technology Center © 2010 IBM Corporation SNIA SDC 2010 Development on Linux kernel clients is very active • 187 kernel changesets for cifs since 2.6.31 (typical year) • But … improvements to related tools have accelerated dramatically: in a few month period early this year 100+ changesets in mount helper and related utilities were merged • And smb2 development accelerated … – A month after SambaXP last year, public git tree for smb2 development created on kernel.org – More than 130 kernel changesets for smb2 since January – SMB2 module now close to full function but 30% smaller (17188 lines of code, CIFS is now 24447 LOC).
    [Show full text]
  • Technical Support Services for Linux from IBM Robust Linux Support Solutions from an Industry Leader
    IBM Technical Support Services Technical Support Services for Linux from IBM Robust Linux support solutions from an industry leader IBM Technical Support Services (TSS) — Highlights Linux Support Summary • IBM’s Operational Support Services — Support Line for Linux is IBM Technical Support Services offers comprehensive, flexible support for Linux a remotely delivered support service designed to answer how-to and environments across all IBM hardware diagnostic questions. Services include: platforms as well as OEM Intel. – Assistance for Linux installation, configuration, usage, Business Impact technical questions, and code-related defects • Helps maximize the return on your Linux – Standard problem determination/resolution investment through increased reliability – Defect support and change team for emergency fixes • Designed to increase IT staff productivity with installation, configuration and – Call-back response from technicians in specialist area within how-to support 2 hours prime shift and 4 hours off shift • Leverage IBM skills and infrastructure to help – Per environment support based on total server count lower your overall Linux operational costs – Support for all IBM hardware platforms and OEM Intel IBM Value – Red Hat or SUSE Linux, IBM Director, VMware and US • Unmatched breadth, depth, reach Citizens support available • Unparalleled speed to resolution – Linux subscription options available • Access to relevant OEM vendors and IBM Linux Technology Center • Enhanced Services (i.e. Account Advocate, Enhanced Technical Support,
    [Show full text]
  • New York Software Symposium New York Information Technology Center June 24 - 25, 2011
    New York Software Symposium New York Information Technology Center June 24 - 25, 2011 Fri, Jun. 24, 2011 Room 2 Room 3 Room 4 Room 5 Room 6 8:00 - 9:00 AM REGISTRATION/BREAKFAST/WELCOME 9:00 - 10:30 AM Slimmed Down Software: Busy Java Developer's Sonar: Code Quality Programming HTML5 Concurrency without A Lean Approach Guide to Java 7 Metrics Made Easy Tim Berglund pain in pure Java Hamlet D`Arcy Ted Neward Matthew McCullough Venkat Subramaniam 10:30 - 11:00 AM BREAK 11:00 - 12:30 PM New Ideas for Old Code Busy Java Developer's Open Source Debugging NoSQL Smackdown! Collections for Concurrency Hamlet D`Arcy Guide to Games Tools for Java Tim Berglund Venkat Subramaniam Ted Neward Matthew McCullough 12:30 - 2:30 PM LUNCH & KEYNOTE 2:30 - 4:00 PM Pragmatic Architecture Java Boilerplate Busters Cascading through Hadoop: A Getting Started with Grails Programming in Functional Style Ted Neward Hamlet D`Arcy DSL for Simpler MapReduce Tim Berglund Venkat Subramaniam Matthew McCullough 4:00 - 4:30 PM BREAK 4:30 - 6:00 PM How to Select and Architectural Kata Workshop Resource-Oriented Cassandra: Radical Scala for the Intrigued Adopt a Technology Ted Neward Architectures : REST I NoSQL Scalability Venkat Subramaniam Peter Bell Brian Sletten Tim Berglund New York Software Symposium New York Information Technology Center June 24 - 25, 2011 Sat, Jun. 25, 2011 Room 2 Room 3 Room 4 Room 5 Room 6 8:00 - 9:00 AM BREAKFAST 9:00 - 10:30 AM Cryptography on the Resource-Oriented Integrating JVM Languages Complexity Theory and Busy Java Developer's
    [Show full text]
  • Git Basics Git Expertise
    Overview Git basics Git expertise Git A GNU Alternative to Bitkeeper Mohamed Barakat University of Kaiserslautern ITWM Kaiserslautern, January 2010 Mohamed Barakat Git Overview Git basics Git expertise 1 Git basics The Git configuration file Create a Git-repository Using a Git-repository 2 Git expertise Branching Pulling Merging and Cherry-Picking Mohamed Barakat Git Overview The Git configuration file Git basics Create a Git-repository Git expertise Using a Git-repository Overview 1 Git basics The Git configuration file Create a Git-repository Using a Git-repository 2 Git expertise Branching Pulling Merging and Cherry-Picking Mohamed Barakat Git Overview The Git configuration file Git basics Create a Git-repository Git expertise Using a Git-repository Git working copy and Git-repsoitory Git is a distributed SCM Git is a distributed Source Code Management system (SCM), i.e. each Git working copy sits on top of its own local Git repository located in a single top-level subdirectory .git. SVN is in contrast to Git a centralized SCM system, i.e. the SVN-repository is on exactly one server. Git allows you to commit, checkout, reset, etc. without contacting a server! Mohamed Barakat Git Overview The Git configuration file Git basics Create a Git-repository Git expertise Using a Git-repository The configuration file ˜/.gitconfig Create a Git configuration file vi ˜/.gitconfig [svn] authorsfile = .git/info/svn-authors [color] diff = auto status = auto branch = auto [user] name = Firstname Lastname email = [email protected] Mohamed Barakat Git Overview The Git configuration file Git basics Create a Git-repository Git expertise Using a Git-repository Create a Git-repository (quick version) init, add, commit Create a Git-repository in the directory XY: 1 cd XY 2 git init 3 git add .
    [Show full text]
  • An Introduction to Linux and Open Source
    IBM Systems and Technology Group An Introduction to Linux and Open Source Jim Elliott Consulting Sales Specialist – System z Product Manager – System z Operating Systems IBM Canada Ltd. 1 SHARE 109 - Session 9200 2007-08-13 © 2007 IBM Corporation IBM Systems and Technology Group 9200 – An Introduction to Linux and Open Source Linux and Open Source continue to see substantial growth around the world This session will provide an overview of Open Source and an introduction to Linux (including concepts and terminology) Jim will also provide an overview of Novell's SUSE Linux Enterprise (SLE) 10 and Red Hat Enterprise Linux (RHEL) 5 2 SHARE 109 - Session 9200 2007-08-13 IBM Systems and Technology Group Topics Introduction to Open Source Introduction to Linux Novell SUSE Linux Enterprise 10 Red Hat Enterprise Linux 5 Linux and Open Source on the Web at IBM 3 SHARE 109 - Session 9200 2007-08-13 IBM Systems and Technology Group Linux user presentations on Wednesday All sessions on the 3rd floor, Ford A&B Session Speaker Title 9215 Marcy Cortes – Penguins Board the Stagecoach 1:30pm Wells Fargo for the Linux Frontier: A User Experience with Linux on zSeries 9230 Alain Leclerc – How to Rise Above the Challenges 3:00pm CSPQ and of Deploying z/VM and Linux on David Kreuter – the Mainframe and Thrive VM Resources 9231 Alain Leclerc – Building a Strong z/VM and Linux 4:30pm CSPQ and Architecture on the Mainframe David Kreuter – VM Resources 4 SHARE 109 - Session 9200 2007-08-13 IBM Systems and Technology Group Linux user presentations on Thursday
    [Show full text]
  • Introducing... the IBM Toolbox for Javatm
    Session Number: 403552 Introducing... The IBM Toolbox for Java TM Jeff Lee ([email protected]) © 2010 IBM Corporation IBM Power Systems IBM Toolbox for Java™ What is the Toolbox/JTOpen? A set of Java classes and utilities which provide access to IBM i® data and resources class { Integer id; String name; String address; BigDecimal balance; String ccnumber; String expdate; } 2 © 2010 IBM Corporation 1 IBM Power Systems IBM Toolbox for Java The big picture - Client/Server Your Java TM program IBM Toolbox for Java Java Virtual Machine TCP/IP IBM i Access for Windows is not required! TCP/IP IBM i Host Servers *PGM IFS IBM i data and resources DB2/400 *CMD 3 © 2010 IBM Corporation IBM Power Systems IBM Toolbox for Java The big picture - Toolbox and data on same IBM i Your JavaTM program IBM Toolbox for Java TCP/IP JNI IBM i Host Servers IFS *PGM IBM i data and resources DB2/400 *CMD 4 © 2010 IBM Corporation 2 IBM Power Systems IBM Toolbox for Java Using the Toolbox in client/server applications • Toolbox installed on client • Java application runs on client • IBM i Access for Windows is not required • The same Java application runs on any client with a Java-compatible JVM! TCP/IP • Server running IBM i • Uses existing IBM i host servers • IBM i Java Virtual Machine (JVM) is not required on the server 5 © 2010 IBM Corporation IBM Power Systems IBM Toolbox for Java Using the Toolbox in server applications • Toolbox installed on IBM i • Java application runs on IBM i • Use Toolbox instead of JNI • "Local" sockets used to communicate between Toolbox
    [Show full text]
  • FOSS Philosophy 6 the FOSS Development Method 7
    1 Published by the United Nations Development Programme’s Asia-Pacific Development Information Programme (UNDP-APDIP) Kuala Lumpur, Malaysia www.apdip.net Email: [email protected] © UNDP-APDIP 2004 The material in this book may be reproduced, republished and incorporated into further works provided acknowledgement is given to UNDP-APDIP. For full details on the license governing this publication, please see the relevant Annex. ISBN: 983-3094-00-7 Design, layout and cover illustrations by: Rezonanze www.rezonanze.com PREFACE 6 INTRODUCTION 6 What is Free/Open Source Software? 6 The FOSS philosophy 6 The FOSS development method 7 What is the history of FOSS? 8 A Brief History of Free/Open Source Software Movement 8 WHY FOSS? 10 Is FOSS free? 10 How large are the savings from FOSS? 10 Direct Cost Savings - An Example 11 What are the benefits of using FOSS? 12 Security 13 Reliability/Stability 14 Open standards and vendor independence 14 Reduced reliance on imports 15 Developing local software capacity 15 Piracy, IPR, and the WTO 16 Localization 16 What are the shortcomings of FOSS? 17 Lack of business applications 17 Interoperability with proprietary systems 17 Documentation and “polish” 18 FOSS SUCCESS STORIES 19 What are governments doing with FOSS? 19 Europe 19 Americas 20 Brazil 21 Asia Pacific 22 Other Regions 24 What are some successful FOSS projects? 25 BIND (DNS Server) 25 Apache (Web Server) 25 Sendmail (Email Server) 25 OpenSSH (Secure Network Administration Tool) 26 Open Office (Office Productivity Suite) 26 LINUX 27 What is Linux?
    [Show full text]
  • Open Source Software 101
    What Every Attorney Needs to Know About Open Source Licenses and Their Obligations: Open Source Software 101 2020 Edition LawPracticeCLE Unlimited All Courses. All Formats. All Year. ABOUT US LawPracticeCLE is a national continuing legal education company designed to provide education on current, trending issues in the legal world to judges, attorneys, paralegals, and other interested business professionals. New to the playing eld, LawPracticeCLE is a major contender with its oerings of Live Webinars, On-Demand Videos, and In-per- son Seminars. LawPracticeCLE believes in quality education, exceptional customer service, long-lasting relationships, and networking beyond the classroom. We cater to the needs of three divisions within the legal realm: pre-law and law students, paralegals and other support sta, and attorneys. WHY WORK WITH US? At LawPracticeCLE, we partner with experienced attorneys and legal professionals from all over the country to bring hot topics and current content that are relevant in legal practice. We are always looking to welcome dynamic and accomplished lawyers to share their knowledge! As a LawPracticeCLE speaker, you receive a variety of benets. In addition to CLE teaching credit attorneys earn for presenting, our presenters also receive complimentary tuition on LawPracticeCLE’s entire library of webinars and self-study courses. LawPracticeCLE also aords expert professors unparalleled exposure on a national stage in addition to being featured in our Speakers catalog with your name, headshot, biography, and link back to your personal website. Many of our courses accrue thousands of views, giving our speakers the chance to network with attorneys across the country. We also oer a host of ways for our team of speakers to promote their programs, including highlight clips, emails, and much more! If you are interested in teaching for LawPracticeCLE, we want to hear from you! Please email our Directior of Operations at [email protected] with your information.
    [Show full text]
  • Collaboration Tools in Software Engineering Stepan Bolotnikov Me
    Collaboration Tools in Software Engineering Stepan Bolotnikov Me ● Stepan Bolotnikov ● Software Engineer at Guardtime ● MSc in Software Engineering from UT, 2018 ● [email protected] You Mostly BSc students in Computer Science ● Software developers / QA engineers ● CS researchers ● Project managers / team leads In any case connected to software projects, sharing knowledge and resources Course ● History and working principles of version control systems (VCS) ● Git distributed VCS ● Issue tracking ● Theoretical knowledge + practical hands-on exercises ● 8 sessions ● Every 2nd Friday ● Lecture + practice ● Non-differentiated (pass/fail) Schedule ● 22. Feb - Introduction, history of VCS ● 08. Mar - Introduction to Git, setting up the first repository, basic Git usage ● 22. Mar - Common Git commands ● 05. Apr - Branching in Git, common branching models ● 19. Apr - Troubleshooting common Git issues ● 03. May - Github; Issue tracking ● 17. May - Advanced Git usage; git hooks and CI ● 31. May - Guest lecture, preparation for exam ● 07. June - Exam 1 ● 14. June - Exam 2 Sessions ● 4h ● Lecture part ● Practical part Final exam ● 7th or 17th June ● Individual practical tasks ● “Poor”, “Satisfactory” or “Good” ● “Satisfactory” and “Good” - passing In order to pass the course ● Active participation in at least 6 out of 8 sessions ○ Complete the practical tasks ● “Satisfactory” or “Good” on the final exam Communication Course website http://courses.cs.ut.ee/2019/cse Course Slack Click Lecture 1: Introduction to course, History of Version
    [Show full text]
  • Experten-Dossier 2019
    Experten-Dossier 2019 Über 80 Seiten mit praxisorientiertem Wissen für .NET-Entwickler rund um .NET Core, Azure DevOps, TypeScript, Cosmos DB, ML.NET, Git und Azure! bastacon www.basta.net Inhalt Agile & DevOps Die DevOps-Challenge 4 DevOps-Fallstricke und wie man ihnen entkommen kann von Kevin Gerndt Microservices & APIs Warum einfach? Es geht auch komplex! 10 Entwicklung von Microservices mit Microsoft .NET von Dr. Felix Nendzig Go Git! 16 Git erobert die Entwicklerwelt von Uwe Baumann Des Kaisers neue Kleider 21 Aus VSTS wird Azure DevOps – mehr als nur ein neuer Name? von Nico Orschel und Thomas Rümmler .NET Framework & C# R. I. P .NET „Core“ 29 .NET Framework, .NET Core und Mono sind tot – lang lebe .NET 5.0! von Dr. Holger Schwichtenberg Machine Learning für die Zukunft 33 Hintergrund und Einstieg in ML mit .NET von Kevin Gerndt Architektur Kolumne: Stropek as a Service 40 Zehn Hausaufgaben für die Cloud-Architektur – Eine gute Softwarearchitektur setzt klare Ziele voraus von Rainer Stropek Große Business-Apps mit Angular meistern 43 Nachhaltige Angular-Architekturen mit Nx und Strategic Design von Manfred Steyer Inhalt Sicherheit Du kommst hier nicht rein 48 API Authorization in ASP.NET Core 3.0 mit IdentityServer von Sebastian Gingter Wasm – Ist das sicher oder kann das weg? 53 Neue Besen kehren gut, sagt man. Aber sind sie auch sicher? von Carsten Eilers HTML5 & JavaScript Das Beste aus zwei Welten 59 Mit ASP.NET Core und Angular eine Webanwendung erstellen von Fabian Gosebrink Injections für echte TypeScript-Junkies 70 Dependency
    [Show full text]