A Robust Open-source GEDCOM Parser presented by Dallan Quass and Ryan Knight at RootsTech 2012
Parses GEDCOM files into a "de facto" object model; includes round-tripping for the vast majority of GEDCOM files.
Code Collaboration With Git & Stash (and Bamboo)Sven Peters
油
This document discusses code collaboration using Git and Stash with Bamboo for continuous integration. It promotes using pull requests and branches for code changes with review and approval processes. Simple workflows are shown using pull requests, branches and merges with no specific roles. Additional features discussed include repository permissions, security, and development speed. Custom hooks and addons are presented as ways to further protect code and enforce processes. The overall message is how these tools can help teams code together effectively.
Hands on React Native: From Zero to HeroDmitry Vinnik
油
Abstract:
So many platforms, so little time. How do we write an app for the web, Android, iOS, and other OS without spending all our time and money? Cross-platform can be your answer!
You probably heard about React Native before, a framework that allows you to create native Android and iOS apps using React. But how do you get started with the framework? Whether you are an advanced iOS developer or a beginner React dev, this talk will help you get started with React Native.
In this session, we explore React Native and its main concepts. Then, we will build a demo app from scratch for Android and iOS to show the power of cross-platform that the framework brings to the table!
Link: https://dvinnik.dev/talks/mobile/hands-on-react-native/
With code examples from the real world that could give you a stroke.
The slides I used on my talk at t3chFest Madrid 2014.
A talk about Code Quality, Clean Code, and good and bad practices when writing code. A fun walk through the experiences from the real world with some advices and introducing some principles that will help you to write better code.
Over the past few years, Gradle has become a popular build tool in the JVM space. This is not surprising, considering the power and the features it brings, compared with its competitors. However, one thing Gradle lacks is history and the collective knowledge at the same level of other alternatives: how does one organize a Gradle project in an idiomatic fashion?
We feel that weve put together a decent build pipeline for each of our microservices over the years, and each one starts with their build.gradle file(s). Wed like to share it, although were not sure if its the correct way.
In this talk, well walk through a sample project structure and build process. Well discuss the various checks and tools we use (e.g. Sonar, CodeNarc, Jenkins) at each step of the build. Well explain how each of the components in the process work for us, and share samples of our Groovy scripts. Most importantly, though, wed like to hear what the audience are using in their builds!
With the move to CakePHP 2.x, it has been a bit harder to find quality open source code that can be integrated with your application. If it is a generic feature, it is very likely that you are duplicating effort, or missing out on a feature because you didn't know quite how to implement it. In this talk we will go over where to locate, assess and embrace/extinguish open source CakePHP code. We will also be covering a few of the more useful and popular CakePHP plugins available.
Jenkins data mining on the command line - Jenkins User Conference NYC 2012Noah Sussman
油
UPDATED: watch the video of this talk, here: http://www.youtube.com/watch?v=t6IJu3uLZOs
Emergent questions arise in the course of running a CI system. Is this test flaky? How often does that message come up in the console log? Which change sets were in the builds that ran between 8pm and midnight?
To find correlations between arbitrary events it becomes necessary to look beyond the information provided by the Jenkins UI. I will explain how to use command line tools to discover, analyze and graph patterns in Jenkins data.
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)John Collins
油
More and more companies are striving for a friendly tone with their content. Many of those same companies are taking their content to other cultures with localized content. Those two content goals seem to be at odds.
This slideshow, presented at Information Development World in October of 2014, looks at how to accomplish both goals.
This document summarizes the key lessons learned from a one year experience with a DevOps team. It discusses mixing developers and operations teams, how building high performance applications requires DevOps, and how taking multiple viewpoints is necessary to fix all problems. The document also provides background on the speaker, their company Allegro Group, and links to additional resources.
The document discusses continuous integration and deployment practices. It begins by describing environments like local, development, test, and production. It then discusses manual deployment processes and the teams involved, including developers, DBAs, sysadmins, and QA. The presentation advocates automating deployments through pipelines that build, run metrics and tests, package, and deploy code. It emphasizes making the code environment-agnostic and managing dependencies. Overall, the document promotes practices for continuous integration and deployment that help software work reliably through faster feedback and deployment.
Putting Out Fires with Content Strategy (InfoDevDC meetup)John Collins
油
The document discusses the role of content strategy in software development and how it is similar to firefighting. Content strategists are like "pump operators" who ensure the right content gets to the right users. The document outlines the skills and knowledge needed for a content strategy role, including an understanding of software development, information architecture, user experience, and localization. It emphasizes the importance of collaborating with other teams and using data and analytics to continually improve content strategies.
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...XebiaLabs
油
Andrew Phillips from XebiaLabs gave a presentation on preparing for enterprise continuous delivery at the 2013 Jenkins User Conference in Palo Alto. He outlined 5 critical steps - having a complete delivery artifact, defining pipeline stages, managing work in manageable units, ensuring scalable capacity, and emphasizing automation. He also discussed related topics like maturity models, common automation stacks, and the benefits of continuous delivery.
This document discusses 12 tricks hackers use to compromise continuous integration and continuous delivery (CI/CD) systems. It outlines attacks such as installing malware via libraries, leaking secrets, executing malicious code in pipelines, consuming cloud services to cause outages, zip bombs, memory bombs, fork bombs, and compromising APIs. The document emphasizes the importance of limiting permissions, monitoring systems, and assuming insider attackers when hardening CI/CD pipelines and infrastructure.
33degree Krzysztof Debski - Let's build a solid base for a scaleKrzysztof Debski
油
The document discusses building a new service-oriented architecture at Allegro Group. It describes initial efforts to break the monolithic Allegro application into microservices using technologies like Spring, Jetty, Swagger, ZooKeeper and Docker. It outlines an approach of developing independent, discoverable services that communicate over REST APIs. The document also discusses improving the new architecture over time with features like authentication, monitoring, patching support and simplified annotations. Overall, it proposes building on modern tools and standards to scale Allegro's application and engage developers in the process.
Getting started with Go - Florin Patan - Codemotion Rome 2017Codemotion
油
This talk focuses on people which are interested the Go programming language and want to learn it. In it I will present the various resources new gophers have to learn Go, what are the usual pitfalls and how to get help when they are stuck.
This document discusses security concerns related to continuous integration and continuous delivery (CI/CD) pipelines. It begins by defining key CI/CD concepts like continuous integration, continuous delivery, pipelines, DevOps, and DevSecOps. It then details several security risks that can occur at different stages of the CI/CD process, including in source code, during building, in deployment, and within infrastructure. Specific attacks mentioned include sensitive information leaks, trojanized artifacts, zip bombs, memory bombs, and more. The document emphasizes the importance of monitoring, limiting permissions, and network isolation to help secure CI/CD systems.
This document discusses monitoring a Jenkins continuous integration (CI) system using cloud services. It begins by outlining some common issues that can occur in Jenkins like compilation or test failures. It then evaluates the default Jenkins monitoring capabilities and proposes designing a custom monitoring system using events, FluentD for processing, and InfluxDB for storage. Examples are provided of plugins developed to analyze build failures and improve node utilization. The presentation concludes with a discussion of dashboards used for daily monitoring of the Jenkins CI system.
Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017Codemotion
油
This document discusses domain specific languages (DSLs) and their implementation in Go. It begins with examples of common DSLs like HTML, SQL, and Dockerfile. It then defines internal and external DSLs and gives the Ginkgo testing framework and a Makefile as examples. Next, it covers lexical analyzers, parser generators, and the Backus-Naur Form for defining language grammars. Finally, it notes that Go has its own yacc implementation called goyacc and encourages questions from the audience.
The Blameless Cloud: Bringing Actionable Retrospectives to SalesforceJ. Paul Reed
油
DevOps Enterprise Summit 2015 presentation with Kevina Finn-Braun, Director of SRE Management at Salesforce: this is the story of my months-long journey with Kevina and her team to identify the specifics of what made reliability retrospectives difficult to have, why actionable takeaways were often lacking, and how the feedback loops within the companys operations organization werent serving Salesforces needs.
We then ran a series of experiments together, putting the SRE team on a road to improving their ability to respond, react, remediate, and reincorporate learnings from failure into the organization.
Technical Product Owner or How to build technical backing for servicesKrzysztof Debski
油
The document discusses the technical architecture at Allegro Group, including the transition from older technologies like PHP and MySQL to newer technologies like Groovy, Java, Scala, and JRuby. It describes common tools used like Gradle and Axion. Key components discussed include the Hermes event processing system for publishing and consuming events, and monitoring systems for Hermes, Kafka, and latency. The presentation emphasizes that open source tools can be improved by involving contributors.
Talk on the GitLab Commit 2020: Join us to learn how we helped one of the largest financial services institutions in the world shape their cloud strategy using GitLab and Terraform. Starting on a cloud journey brings so many questions around resource provisioning & management, security, compliance, how to enable the team with easy access to definitions, and keep everyone updated. As we know, the most reliable source of truth is the code, so the use of infrastructure as code paired with an inner-source process is a solid foundation.
On the development and distribution of R packagesTom Mens
油
In this presentation at IWSECO-WEA 2015 (Dubrovnik, Croatia, 8 September 2015) we present the ecosystem of software packages for R, one of the most popular environments for statistical computing today. We empirically study how R packages are developed and distributed on different repositories: CRAN, BioConductor, R-Forge and GitHub. We also explore the role and size of each repository, the inter-repository dependencies, and how these repositories grow over time. With this analysis, we provide a deeper insight into the extent and the evolution of the R package ecosystem.
TDD on android. Why and How? (Coding Serbia 2019)Danny Preussler
油
The document discusses test-driven development (TDD) on Android. It covers:
- The history and principles of TDD, including writing failing tests first and then only producing code to pass those tests.
- How TDD works in practice using the "red-green-refactor" process of writing a failing test, passing code, then refactoring.
- Benefits of TDD like fewer bugs, easier refactoring, and faster long-term development.
- Considerations for testing Android code, such as using mockable classes and avoiding direct testing of activities/fragments.
The document appears to be a slide deck for a presentation on DevOps and container orchestration with Kubernetes. Some key points covered include: defining DevOps and containers, demonstrating Kubernetes and Helm for release automation, discussing container benefits and architecture, and showing a full CI/CD pipeline with GitHub Actions and Kubernetes. The presentation aims to get attendees thinking about DevOps possibilities and provide resources for learning more.
The document provides instructions for how to use WeRelate.org, the world's largest genealogy wiki. It describes wiki etiquette, searching for and creating pages to store genealogical information about people, families, sources, and other topics. It also explains how to import genealogy data from a GEDCOM file, navigate the wiki, connect and collaborate with other users, and get help when needed. The goal is to build a unified global family tree by encouraging contributions from all users.
The FamilySearch Reference Client is an open-source implementation of the Family Tree user interface that was developed to:
1) Make it easy for partners to access the FamilySearch tree using an extensible framework
2) Provide reusable components for partners to use
3) Demonstrate how to access the FamilySearch Tree using the Javascript SDK
Why share your genealogy content on WeRelate.org (2009)Dallan Quass
油
This document discusses WeRelate.org, a genealogy wiki where users can share and collaborate on family trees and genealogical research. It provides five reasons for sharing genealogy research on WeRelate, including helping to create a free and well-documented source of genealogical information, becoming a better researcher, connecting with others, getting family members involved, and leaving a legacy. The document outlines how WeRelate works as a wiki, allowing open collaboration, and describes features like GEDCOM import, source citations, and change notifications. Overall, it promotes WeRelate as a place for open sharing of family histories and genealogical data.
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)John Collins
油
More and more companies are striving for a friendly tone with their content. Many of those same companies are taking their content to other cultures with localized content. Those two content goals seem to be at odds.
This slideshow, presented at Information Development World in October of 2014, looks at how to accomplish both goals.
This document summarizes the key lessons learned from a one year experience with a DevOps team. It discusses mixing developers and operations teams, how building high performance applications requires DevOps, and how taking multiple viewpoints is necessary to fix all problems. The document also provides background on the speaker, their company Allegro Group, and links to additional resources.
The document discusses continuous integration and deployment practices. It begins by describing environments like local, development, test, and production. It then discusses manual deployment processes and the teams involved, including developers, DBAs, sysadmins, and QA. The presentation advocates automating deployments through pipelines that build, run metrics and tests, package, and deploy code. It emphasizes making the code environment-agnostic and managing dependencies. Overall, the document promotes practices for continuous integration and deployment that help software work reliably through faster feedback and deployment.
Putting Out Fires with Content Strategy (InfoDevDC meetup)John Collins
油
The document discusses the role of content strategy in software development and how it is similar to firefighting. Content strategists are like "pump operators" who ensure the right content gets to the right users. The document outlines the skills and knowledge needed for a content strategy role, including an understanding of software development, information architecture, user experience, and localization. It emphasizes the importance of collaborating with other teams and using data and analytics to continually improve content strategies.
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...XebiaLabs
油
Andrew Phillips from XebiaLabs gave a presentation on preparing for enterprise continuous delivery at the 2013 Jenkins User Conference in Palo Alto. He outlined 5 critical steps - having a complete delivery artifact, defining pipeline stages, managing work in manageable units, ensuring scalable capacity, and emphasizing automation. He also discussed related topics like maturity models, common automation stacks, and the benefits of continuous delivery.
This document discusses 12 tricks hackers use to compromise continuous integration and continuous delivery (CI/CD) systems. It outlines attacks such as installing malware via libraries, leaking secrets, executing malicious code in pipelines, consuming cloud services to cause outages, zip bombs, memory bombs, fork bombs, and compromising APIs. The document emphasizes the importance of limiting permissions, monitoring systems, and assuming insider attackers when hardening CI/CD pipelines and infrastructure.
33degree Krzysztof Debski - Let's build a solid base for a scaleKrzysztof Debski
油
The document discusses building a new service-oriented architecture at Allegro Group. It describes initial efforts to break the monolithic Allegro application into microservices using technologies like Spring, Jetty, Swagger, ZooKeeper and Docker. It outlines an approach of developing independent, discoverable services that communicate over REST APIs. The document also discusses improving the new architecture over time with features like authentication, monitoring, patching support and simplified annotations. Overall, it proposes building on modern tools and standards to scale Allegro's application and engage developers in the process.
Getting started with Go - Florin Patan - Codemotion Rome 2017Codemotion
油
This talk focuses on people which are interested the Go programming language and want to learn it. In it I will present the various resources new gophers have to learn Go, what are the usual pitfalls and how to get help when they are stuck.
This document discusses security concerns related to continuous integration and continuous delivery (CI/CD) pipelines. It begins by defining key CI/CD concepts like continuous integration, continuous delivery, pipelines, DevOps, and DevSecOps. It then details several security risks that can occur at different stages of the CI/CD process, including in source code, during building, in deployment, and within infrastructure. Specific attacks mentioned include sensitive information leaks, trojanized artifacts, zip bombs, memory bombs, and more. The document emphasizes the importance of monitoring, limiting permissions, and network isolation to help secure CI/CD systems.
This document discusses monitoring a Jenkins continuous integration (CI) system using cloud services. It begins by outlining some common issues that can occur in Jenkins like compilation or test failures. It then evaluates the default Jenkins monitoring capabilities and proposes designing a custom monitoring system using events, FluentD for processing, and InfluxDB for storage. Examples are provided of plugins developed to analyze build failures and improve node utilization. The presentation concludes with a discussion of dashboards used for daily monitoring of the Jenkins CI system.
Golang and Domain Specific Languages - Lorenzo Fontana - Codemotion Rome 2017Codemotion
油
This document discusses domain specific languages (DSLs) and their implementation in Go. It begins with examples of common DSLs like HTML, SQL, and Dockerfile. It then defines internal and external DSLs and gives the Ginkgo testing framework and a Makefile as examples. Next, it covers lexical analyzers, parser generators, and the Backus-Naur Form for defining language grammars. Finally, it notes that Go has its own yacc implementation called goyacc and encourages questions from the audience.
The Blameless Cloud: Bringing Actionable Retrospectives to SalesforceJ. Paul Reed
油
DevOps Enterprise Summit 2015 presentation with Kevina Finn-Braun, Director of SRE Management at Salesforce: this is the story of my months-long journey with Kevina and her team to identify the specifics of what made reliability retrospectives difficult to have, why actionable takeaways were often lacking, and how the feedback loops within the companys operations organization werent serving Salesforces needs.
We then ran a series of experiments together, putting the SRE team on a road to improving their ability to respond, react, remediate, and reincorporate learnings from failure into the organization.
Technical Product Owner or How to build technical backing for servicesKrzysztof Debski
油
The document discusses the technical architecture at Allegro Group, including the transition from older technologies like PHP and MySQL to newer technologies like Groovy, Java, Scala, and JRuby. It describes common tools used like Gradle and Axion. Key components discussed include the Hermes event processing system for publishing and consuming events, and monitoring systems for Hermes, Kafka, and latency. The presentation emphasizes that open source tools can be improved by involving contributors.
Talk on the GitLab Commit 2020: Join us to learn how we helped one of the largest financial services institutions in the world shape their cloud strategy using GitLab and Terraform. Starting on a cloud journey brings so many questions around resource provisioning & management, security, compliance, how to enable the team with easy access to definitions, and keep everyone updated. As we know, the most reliable source of truth is the code, so the use of infrastructure as code paired with an inner-source process is a solid foundation.
On the development and distribution of R packagesTom Mens
油
In this presentation at IWSECO-WEA 2015 (Dubrovnik, Croatia, 8 September 2015) we present the ecosystem of software packages for R, one of the most popular environments for statistical computing today. We empirically study how R packages are developed and distributed on different repositories: CRAN, BioConductor, R-Forge and GitHub. We also explore the role and size of each repository, the inter-repository dependencies, and how these repositories grow over time. With this analysis, we provide a deeper insight into the extent and the evolution of the R package ecosystem.
TDD on android. Why and How? (Coding Serbia 2019)Danny Preussler
油
The document discusses test-driven development (TDD) on Android. It covers:
- The history and principles of TDD, including writing failing tests first and then only producing code to pass those tests.
- How TDD works in practice using the "red-green-refactor" process of writing a failing test, passing code, then refactoring.
- Benefits of TDD like fewer bugs, easier refactoring, and faster long-term development.
- Considerations for testing Android code, such as using mockable classes and avoiding direct testing of activities/fragments.
The document appears to be a slide deck for a presentation on DevOps and container orchestration with Kubernetes. Some key points covered include: defining DevOps and containers, demonstrating Kubernetes and Helm for release automation, discussing container benefits and architecture, and showing a full CI/CD pipeline with GitHub Actions and Kubernetes. The presentation aims to get attendees thinking about DevOps possibilities and provide resources for learning more.
The document provides instructions for how to use WeRelate.org, the world's largest genealogy wiki. It describes wiki etiquette, searching for and creating pages to store genealogical information about people, families, sources, and other topics. It also explains how to import genealogy data from a GEDCOM file, navigate the wiki, connect and collaborate with other users, and get help when needed. The goal is to build a unified global family tree by encouraging contributions from all users.
The FamilySearch Reference Client is an open-source implementation of the Family Tree user interface that was developed to:
1) Make it easy for partners to access the FamilySearch tree using an extensible framework
2) Provide reusable components for partners to use
3) Demonstrate how to access the FamilySearch Tree using the Javascript SDK
Why share your genealogy content on WeRelate.org (2009)Dallan Quass
油
This document discusses WeRelate.org, a genealogy wiki where users can share and collaborate on family trees and genealogical research. It provides five reasons for sharing genealogy research on WeRelate, including helping to create a free and well-documented source of genealogical information, becoming a better researcher, connecting with others, getting family members involved, and leaving a legacy. The document outlines how WeRelate works as a wiki, allowing open collaboration, and describes features like GEDCOM import, source citations, and change notifications. Overall, it promotes WeRelate as a place for open sharing of family histories and genealogical data.
This document discusses various front-end tooling that can help developers work smarter and more efficiently. It recommends embracing tools like terminal shells and customizing browsers with developer tools. Popular tools are also mentioned like Sublime Text, which can be extended with plugins, packages and themes. Automating workflows with build tools like Grunt and package managers like Bower is also recommended to avoid tedious and repetitive tasks. Overall the document promotes maximizing productivity by leveraging the power of front-end tools.
This document discusses how web design firms can compete with internal GIS teams by providing web-based GIS (WebGIS) applications. It notes that WebGIS requires learning new tools like JavaScript, AJAX, and RESTful services. To protect their work, internal GIS teams need to learn these new web technologies and prioritize usability over features to create responsive applications. The document advocates for an iterative development process with a focus on performance and usability testing.
This document discusses RDSTK, an R package wrapper for the Data Science Toolkit (DSTK) API. It provides functions to interface with DSTK in R, such as street2coordinates() and text2people(). The document also discusses building R packages and includes examples of using DSTK functions. It concludes by acknowledging contributors to the R community and tools that helped develop RDSTK.
Styleguide-Driven Development: The New Web DevelopmentJohn Albin Wilkins
油
The session was originally titled "Managing Complex Projects with Design Components, but the training I took to become a certified ScrumMaster blew my mind.
Integrating agile development with web development is actually very simple. It's called Styleguide-Driven Development.
In this session, we will discuss the two requirements for Style Guide Driven Development: component-based design and automated style guides.
CODE GIST: https://gist.github.com/tyndyll/cce72c16dc112cbe7ffac44dbb1dc5e8
A high level introduction to the Go programming language, including a sample Hello World web server
The document discusses techniques for auditing software projects to identify issues and opportunities for improvement. It outlines a process for conducting a high-level code review using various tools to analyze code quality, complexity, dependencies, duplication, and history. This includes visualizing class dependencies, checking for dead code, analyzing complexity trends over time, and mining version control data to detect hotspots and architectural problems. The goals are to find crucial issues quickly, gain insights efficiently, and identify changes that provide the most value.
Version Control in Machine Learning + AI (Stanford)Anand Sampat
油
Starting with outlining the history of conventional version control before diving into explaining QoDs (Quantitative Oriented Developers) and the unique problems their ML systems pose from an operations perspective (MLOps). With the only status quo solutions being proprietary in-house pipelines (exclusive to Uber, Google, Facebook) and manual tracking/fragile "glue" code for everyone else.
Datmo works to solve this issue by empowering QoDs in two ways: making MLOps manageable and simple (rather than completely abstracted away) as well as reducing the amount of glue code so to ensure more robust end-to-end pipelines.
This goes through a simple example of using Datmo with an Iris classification dataset. Later workshops will expand to show how Datmo can work with other data pipelining tools.
Automate Application Quality Detection. Use Key Application Quality Metrics (# of SQL, Memory Allocated, CPU & GC Times, ...) captured during Automated Test Executions.
Let these Metrics act as Quality Gates. Leads to better quality software reaching the end of the Pipeline
The document outlines four pains experienced by developers when using traditional .NET development approaches: 1) Reliance on "magic" frameworks that can cause unexpected errors, 2) Builds that fail due to unpredictable dependencies, 3) Long edit-compile-test cycles, and 4) Rapid obsolescence of skills as technologies change. It proposes four guiding principles to address these pains: 1) Using direct queries over ORM "magic", 2) Ensuring predictable, reproducible builds and environments, 3) Shortening feedback loops through techniques like hot reloading, and 4) Focusing on reusable skills rather than specific technologies. The overall message is that prioritizing business needs over technical wizardry and automation can help developers work more efficiently
This document discusses how to scale Jenkins jobs as the number of jobs grows very large. It describes moving from individual Jenkins jobs to defining pipelines as code. The key steps are: 1) defining pipelines using a Job DSL plugin; 2) refactoring duplicated DSL code into reusable libraries; and 3) configuring pipelines through property files instead of code. This allows generating and securing pipelines for multiple projects through a seed job that is triggered by source code management hooks. The end result is "automation of automation" through self-service, secure, simple and extensible pipeline management.
JDD2015: Forgetting Java: Why Java Should Die in Flames and Take its Develope...PROIDEA
油
FORGETTING JAVA: WHY JAVA SHOULD DIE IN FLAMES AND TAKE ITS DEVELOPERS ALONG
Java is old. Java is verbose. Java is ugly. Java is mocked and ridiculed but everyone and their dog. Hell, Java is dead. Well it's not but I'm preaching to the choir. Or am I? However convenient to say so, it's not exclusively Oracle to blame for Java's current state of the art. Java developers are guilty of laziness (the wrong kind), not questioning the tools they use (wrong again), following patterns (pretty much the right kind) they believe are blessed upon them yadda yadda yadda. Yet the communities around languages we find to be even lesser than Java offer world of a difference. The talk shows the tools, experiences and mindset we lack in the Java world. The virtues present elsewhere but needed here for Java to wipe the "enterprise-grade" solutions off the face of the world. Let's do this people. Let's do the right thing and get rid of the "enterprise" Java developers.
This document discusses why Gradle is a useful build tool. It provides automation, repeatability, and efficiency for software builds. Gradle models builds as a directed acyclic graph (DAG) of tasks, allowing any build process to be represented. It handles common conventions but also allows custom tasks when needed. Gradle aims to fully automate builds, make them repeatable across environments, and only re-execute tasks when necessary to improve efficiency.
Supercharge your Code to get optimal Database Performancegvenzl
油
The document appears to be a slide deck presentation about optimizing database performance. It discusses key database performance concepts like latency and throughput. It also covers important Oracle Database performance statistics and wait events that can provide insight into where a database is spending its time and potential areas for improvement. The presentation emphasizes the importance of commits for ensuring data is safely stored to disk through the redo log and buffer cache.
The Duck Teaches Learn to debug from the masters. Local to production- kill ...ShaiAlmog1
油
The document outlines an agenda for a workshop on debugging techniques. The workshop covers installing tools, flow and breakpoints debugging, watching variables, Kubernetes debugging, and developer observability. Key techniques discussed include tracepoints, memory debugging, exception breakpoints, object marking, and logs, snapshots, and metrics for observability. The goal is to teach practical debugging skills that can be applied at scale in production environments like Kubernetes.
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProCodefresh
油
>>Watch the full presentation, demo, and live Q&A here: https://codefresh.io/saucelabs-lp
The traditional "staging" model is getting in the way of adequately testing our applications. With the power of Kubernetes, Helm, Saucelabs, and Codefresh we can dramatically speed up and improve the quality of integration testing using short-lived environments.
Join Kubernaut Dan Garfield as he shows you how to:
- Create Automated short-lived environments for every commit/branch,
- run integration tests in a scalable way, and
- use Helm, Kubernetes, Codefresh, and Saucelabs integrations
Sign up for a FREE Codefresh account today: https://codefresh.io/codefresh-signup/
How to Set Up Esri Geoportal Server 1.2.2 on WindowsEsri
油
This document provides instructions for setting up Esri Geoportal Server 1.2.2 on Windows. The steps include:
1. Downloading and installing required software like PostgreSQL, Java, and Apache Tomcat.
2. Configuring the PostgreSQL database and creating a geoportal user.
3. Populating the geoportal schema in PostgreSQL with tables.
4. Deploying the geoportal web application on Tomcat and configuring related files.
5. Logging into the geoportal and registering an ArcGIS for Server service.
This document summarizes 10 ways to improve code based on a presentation by Neal Ford. The techniques discussed include composing methods to perform single tasks, test-driven development to design through tests, using static analysis tools to find bugs, avoiding singletons, applying the YAGNI principle to only build what is needed, questioning conventions, embracing polyglot programming, learning Java nuances, enforcing the single level of abstraction principle, and considering "anti-objects" that go against object-oriented design. Questions from the audience are then addressed.
This document provides information about an upcoming Box Guy event, including sponsors, speakers and sessions. On the first day, there will be a presentation on FusionReactor at 12:30pm and a podcast at 6:30pm. The second day will feature a lunch with Pete Freitag at 12:30pm. Attendees can enter raffles by tweeting with #intothebox. The event also promotes Ortus' consulting services and modernization approach for CFML applications.
The Document Object Model (DOM) is a standard for representing and interacting with objects in HTML, XML and SVG documents. It defines the logical structure of documents and the way a document is accessed and manipulated. The DOM represents the document as nodes and objects, which can be manipulated programmatically by JavaScript to change the document structure, style and content. It allows dynamic access to and manipulation of page content that is useful for building interactive web applications. The DOM specification is developed by the W3C and provides a platform- and language-neutral interface that can be used across different web technologies.
1. A Robust Open-source GEDCOM Parser Dallan Quass [email_address] Ryan Knight [email_address]
2. What's a GEDCOM? 0 HEAD 1 SOUR PAF 2 NAME Personal Ancestral File 2 VERS 5.2.18.0 2 CORP The Church of Jesus Christ of Latter-day Saints 3 ADDR 50 East North Temple Street 4 CONT Salt Lake City, UT 84150 4 CONT USA 1 DEST Other 1 DATE 9 Aug 2006 2 TIME 19:57:47 1 FILE temp-paf.ged 1 GEDC 2 VERS 5.5 2 FORM LINEAGE-LINKED 1 CHAR UTF-8 1 LANG English 1 SUBM @SUB1@ 0 @SUB1@ SUBM 1 NAME Dallan Quass 0 @I1@ INDI 1 NAME Dallan /Quass/ 2 SURN Quass 2 GIVN Dallan If this looks unfamiliar to you, you may not get a lot out of this talk On the other hand, the purpose of this project is to handle this for you, so you can develop cool projects in genealogy and let this be unfamiliar to you!
4. Challenge #1 Character set detection 0 HEAD 1 SOUR PAF 2 NAME Personal Ancestral File 2 VERS 5.2.18.0 2 CORP The Church of Jesus Christ of Latter-day Saints 3 ADDR 50 East North Temple Street 4 CONT Salt Lake City, UT 84150 4 CONT USA 1 DEST Other 1 DATE 9 Aug 2006 2 TIME 19:57:47 1 FILE temp-paf.ged 1 GEDC 2 VERS 5.5 2 FORM LINEAGE-LINKED 1 CHAR UTF-8 1 LANG English 1 SUBM @SUB1@ 0 @SUB1@ SUBM 1 NAME Dallan Quass 0 @I1@ INDI 1 NAME Dallan /Quass/ 2 SURN Quass 2 GIVN Dallan Should be easy, except...
5. Challenge #1 Character set detection GeneWeb ASCII -> ANSI Geni.com ANSEL -> UTF8 Geni.com UNICODE -> UTF8 GENJ UNICODE -> UTF8 All others UNICODE -> UTF16 ASCII/MacOS Roman -> x-MacRoman
12. DATA 2 SOUR @S2149874917@ 3 DATA 4 DATE 11 Sep 1924 3 NOTE ... 3 DATA 4 TEXT ... 2 SOUR @S99@ 3 DATA 4 TEXT William Donald ... 4 DATE 1 Sep 1997 2 SOUR @S28@ 3 PAGE Indian Prarie... 3 QUAY 3 3 DATE 28 Feb 2005
17. Goal #1 Parse GEDCOMs into a de facto object model De Facto: In fact or in practice; in actual use or existence, regardless of official or legal status. Wictionary.org Model should be straightforward, easy to use and understand
18. Goal #2 Round-trip From GEDCOM To Object Model Back to GEDCOM without information loss
26. GedML Originally by Michael Kay http://users.breathe.com/mhkay/gedml/ Enhanced by Lynn Monson http://lmonson.com/blog/?page_id=64 Further enhanced by Nathan Powell & Dallan Quass part of this project GEDCOM -> SAX events ANSEL reader & writer
27. Parser Written in Java ~1500 LoC for parser + ~4000 LoC for POJOs Handles SAX events emitted by GedML Separate functions called to handle each tag Maintains a stack of model objects Attach unexpected tags to model objects as extensions Fast Easily extendible Tree parser also available
31. Do we need a radically-different data-exchange model for genealogy?
32. I don't know A new proposed object model could use this project to migrate existing GEDCOMs to the de facto model, then translate the de facto model objects to the new model
37. Demonstration of Gedcom Server Demonstrates GEDCOM -> model -> json -> model -> GEDCOM Built with Play 1.2.4 - A Java Web framework Allows for rapid development of web applications with a fully integrated stack Deployed to Heroku Cloud Application Platform Heroku allows one step deployment with git
40. Conclusion Images appearing on these slides are copyrighted by the contributors to http://commons.wikimedia.org and are used under license Parsing GEDCOMs is hard it's like parsing HTML in the 1990's But getting it right is pretty important especially if you want to retain existing information Open source algorithm is now freely available http://github.com/DallanQ/Gedcom simple object model with extensions, 94% round-trip Hopefully others will benefit from this effort