Model-Based Systems Engineering and Software Engineering Résumé: UML, Sysml, RDF/S OWL, XML, Java/Jakarta EE, C++

Total Page:16

File Type:pdf, Size:1020Kb

Model-Based Systems Engineering and Software Engineering Résumé: UML, Sysml, RDF/S OWL, XML, Java/Jakarta EE, C++ Résumé: Dr Darren R C Kelly: Model-Based Systems Engineering and Enterprise Software Engineering Post: Webel IT Australia, PO Box 1816, Bondi Junction, NSW 1355, Australia Tel: +61 (2) 9386 0090 Mobile: 0405 029 008 Model-Based Systems Engineering and Software Engineering résumé: UML, SysML, RDF/S OWL, XML, Java/Jakarta EE, C++ Dr Darren R. C. KELLY Webel IT Australia consultancy (established 2000) Version date: 23 Sep 2020 The focus of this résumé is on experience with Model-Based Systems Engineering (MBSE) and the OMG Systems Modeling Language (SysML), model-based software engineering and software architecture with the OMG Unified Modeling Language (UML), and development of database-driven web applications using Enterprise Java (Java/Jakarta EE) and XML/XML Schema – supported by graphical architectural analysis and model-based software engineering with UML and systems analysis with SysML. It also describes promotion of the above technologies through IT Training courses and online education. Experience with semantic web and ontology technologies such as RDF/S and OWL - which increasingly overlap with model- based engineering - is also included. Some R&D projects employing real-time synthesis, patch-based programming, and symbolic algebra are also described: • The latest version of this résumé is available online at: https://www.webel.com.au/resume/mbe • A database-driven listing of activities is available at: https://www.webel.com.au/view/activity • A full-career Curriculum Vitae is available as an online database at: https://www.webel.com.au/cv • Professional references will be made available on request only. Table of Contents 1) Personal details and contact information ................................................................................................................... 2 2) Software and systems engineering career profile ................................................................................................... 3 3) Record of employment, consultancy, IT Training, and R & D activities involving systems engineering and software engineering with UML, SysML, XML, Java, C++, and OWL ........................................ 5 4) Appendix: Computing and Information Technology skills ............................................................................... 12 5) Appendix: Qualifications ................................................................................................................................................. 13 6) Appendix: Professional Memberships ....................................................................................................................... 13 © Copyright 2020 Dr Darren R. C. Kelly, Webel IT Australia. All rights reserved. You are permitted to print or electronically store individual copies of this document for your personal records or for assessment as a potential employer or client. You are not permitted to distribute multiple copies of this document by any means whatsoever, electronic or otherwise. 1/13 Résumé: Dr Darren R C Kelly: Model-Based Systems Engineering and Enterprise Software Engineering Post: Webel IT Australia, PO Box 1816, Bondi Junction, NSW 1355, Australia Tel: +61 (2) 9386 0090 Mobile: 0405 029 008 1) Personal details and contact information Full name: Dr Darren Raoul Charles KELLY, BSc, PhD Birthplace: Sydney, Australia Nationality: Australian Languages: English and German Business name: Webel IT Australia (trading as WEBEL.COM.AU) Australian Business Number (ABN): 67 677 268 579 Business postal address: PO Box 1816, Bondi Junction, NSW 1355, Australia Residential address: (Available on request) Telephone: +61 (2) 9386 0090 Mobile/Cell: 0405 029 008 Email: Please visit1: https//www.webel.com.au/contact Web: https://www.webel.com.au LinkedIn: https://www.linkedin.com/in/drdarrenkelly 1 For spam prevention direct email is only provided after the initial contact because this document is also made available online. 2/13 Résumé: Dr Darren R C Kelly: Model-Based Systems Engineering and Enterprise Software Engineering Post: Webel IT Australia, PO Box 1816, Bondi Junction, NSW 1355, Australia Tel: +61 (2) 9386 0090 Mobile: 0405 029 008 2) Software and systems engineering career profile In the following description, the terms ‘model-based’ and ‘model-driven’ do not refer only to generation of computer code through forward engineering, they refer also to graphical modelling for architectural analysis and for requirements and feature engineering, as well as to reverse engineering and refactoring of existing systems. My name is Dr Darren Kelly. I specialise in applying model-based systems engineering and software engineering to tasks in information technology, industry, engineering and science. I am an advocate for the combination of graphical Unified Modeling Language (UML) with object-oriented software engineering languages such as Java and C++ and data languages like XML/XML Schema, as well as graphical systems analysis with Systems Modeling Language (SysML), where possible in combination with executable systems. History: I was originally trained in computational physics and mathematics, and I have applied scientific computing techniques to analysis, modelling, simulation and control of many complex systems including: astrophysical systems such as supernovae; scientific instruments such as radio telescopes, particle accelerators and neutron beam instruments; control systems for scientific instruments; nuclear physics; scientific data analysis; biological population dynamics; secure internet architectures and middleware; data analysis and meta-modelling; cognitive science, semantic networks, and linguistics; building modelling. I have programmed computers since I was a young teenager. I have used many low-level historical languages and command many modern object-oriented, patch-based, and symbolic computer languages. After applying computer programming to tasks in science from 1988-1999, I developed an interest in web and internet technologies, next-generation computer languages, software engineering methodologies, and web standards - in part through my exposure from 1994-1998 to early web browsers and web technologies at the Deutsches-Elektronen Synchrotron (DESY) particle accelerator institute in Hamburg, Germany, a sibling institute to the CERN particle physics institute, the “home” of the World Wide Web (WWW). At DESY I was also introduced to object-oriented software engineering with C++ and to the graphical engineering technologies and specifications of the Object Management Group (OMG) such as UML. In 2000, I established Webel IT Australia as a Scientific IT Consultancy promoting applications of modern IT to tasks in industry, engineering, commerce, science, and education. My primary object-oriented language is currently Enterprise Java (a.k.a. Jakarta EE) and I also work extensively with: XML Schema for data modelling; C++ for real-time embedded synthesis applications; and with object-oriented PHP, JavaScript, and the CSS and SASS stylesheet languages for web development (in combination with Drupal CMS). I am a graphical UML “evangelist” and have used UML together with many other software engineering technologies and for modelling web architectures and enterprise systems. As a consultant to No Magic Inc. - developers of the popular Java-based MagicDraw UML development tool - I advised industry partners and engineering customers on the use of graphical UML for software engineering, and I headed re-development of the SysML Plugin product for MagicDraw UML. I am likewise an advocate for the use of reusable Design Patterns for software engineering and architecture described in graphical UML. I am an expert in applying UML to model-based requirements analysis, systems analysis, component design, domain and data modelling, code re-factoring, and to migration of Java and XML software systems. I have reverse-engineered and graphically analysed many Java and XML Schema systems, and I am familiar with many modern enterprise architectures and web frameworks. I am the developer and promoter of the Webel Parsing Analysis recipes for UML and SysML.The UML variant is for mapping text to analysis and design elements for implementation of executable Java and XML software components through forward-engineering, and for binding software documentation extracts to reverse-engineered UML models. The SysML variant is for creation of robust SysML models of systems through traceable elicitation of model elements from text extracts from domain source documents. I have supervised strongly requirements-driven and feature-oriented Java software development projects, and I have overseen entire software development processes through analysis and design to implementation and testing, using UML for model-based Java and C++ design and refactoring, freestyle architectural analysis, project tracking, and for documentation. I am experienced with Agile Software Development practices and the JIRA issue tracking system, and I am fluent in popular software repository and versioning technologies such as Git and Subversion for collaborative team-based software development. I have experience with most major Software Development Lifecycles, and I have used graphical UML to support model-based software development. I have also lectured on software engineering practices. 3/13 Résumé: Dr Darren R C Kelly: Model-Based Systems Engineering and Enterprise Software Engineering Post: Webel IT Australia, PO Box 1816, Bondi Junction, NSW 1355, Australia Tel: +61 (2) 9386 0090 Mobile:
Recommended publications
  • Said GUERRAB
    Said GUERRAB CONTACT 404-5100 Boulevard Pie IX E-mail: [email protected] H1X 2B6 Website: www.sguerrab-developper.com Montreal (QC) Phone: 438-935-8707 SUMMARY 05 years of experience designing and developing websites. Bilingual French-English. Implementation of numerous IT projects within the school. Design and implementation of websites in PHP, MySQL, JSP, HTML5, CSS3, Sass, Less, Stylus, and JavaScript, Bootstrap, D3.js, MVC framworks (PHP Laravel), Photoshop... Web project management (specifications, deadlines, risks management...). Audio editing, video editing, and graphic design. SEO for websites Autonomous, organized, have a team spirit, available, highly motivated, adaptable to new situations, can work under pressure. TECHNICAL Operating Systems: Windows, Linux , Mac OS X SKILLS Programming Languages: Java, JSP, Ruby, Cobol, VB.NET, C++, PHP, HTML/CSS, JavaScript Markup Languages:JSON, YAML, XML CSS Preprocessors: Sass CSS, Stylus CSS, Less CSS Editors & IDEs: Eclipse, PHPStorm, NetBeans, RubyMine, Sublime Text… Version Control Systems: GIT, Github, Bitbucket, SVN Frameworks & libraries: Laravel, JQuery, Bootstrap, D3.js... CMS: Drupal, Joomla, WordPress Server management: Apache, Tomcat, Glassfish, CPanel, DNS Database: Oracle SQL, PL/SQL, SQL Server, MySQL, Access. Office Applications:Excel, Word, Powerpoint and LibreOffice suite Other software: Microsoft Project, Microsoft Visio, Oracle Forms, Oracle Reports Graphism: Photoshop, The Gimp, Illustrator, Inkscape et InDesign. Maintening:Software (installation and updating). PROFESSIONAL Identify the needs of clients. SKILLS Analyze specifications of the website. Establish a site plan with the design of each page. Choosing tools for the development of the site . Coordinate the collection and the organization of information to include on the site. Collaborate in the definition of the architecture of the site and the choice of navigation scenarios.
    [Show full text]
  • Overall Features Performance Price
    Scan this code for more info. To download a barcode app, SMS <f2k> to 56677 from a mobile phone with Internet access and camera. SMARTPHONE JOLLA Experience a different way of operating a smartphone without any home or back button — Ashok Pandey to operate, but those who are upgrading to taste the new flavor may struggle a little. At the start, it asks to setup your account and then, it guides you how to use the phone. The first screen reminded us of BB 10 OS. Since there is no Home button, you’ll have to learn a lot of gestures, shortcuts and cues. Sailfish OS sup- ports Android apps and games, and most apps run smoothly. Although there is no issue with Android apps and games on Jolla, but with third party apps like facebook you will find some functionality and notification differences, as Price: `15,490 they are not integrated with the system. Feels good and runs smooth: Jolla has 4.5-inch qHD (960x450p) display, though we were expecting a 720p display, yet screen has good viewing angles. The display is average to use in direct sunlight. It is backed by a 1.4GHz dual-core processor, 1GB RAM and 16 GB internal memory (13.7 GB available to the user) expandable via microSD card. Navigating the phone was quite easy, and launching and switching between apps was smooth. It is equipped with 8 MP rear camera with LED flash that captures quality images in day- light with decent color reproduction. The cam- here are many smartphone manufacturers era comes with several settings for the flash, and OS platforms available in the market.
    [Show full text]
  • Oracle's Commitment to the Eclipse Community
    Oracle’s Commitment to the Eclipse Community An Oracle White Paper March 2007 INTRODUCTION Eclipse has gained strong market adoption for core Java development and is adding support for other languages as well. It enjoys great popularity, in part because it’s free, but also due to its extensibility via plug-ins and the strong ecosystem around it. The advent of emerging trends and technologies like Web 2.0 and SOA amplified the need for an integrated and comprehensive Java IDE that provides pre- packaged and tested support for all major Java EE 5 and Web services standards. Oracle’s tools vision is “productivity with choice”. This means making application development for the Oracle platform as easy as possible regardless of what toolset developers employ be it Oracle JDeveloper or Eclipse. Oracle’s JDeveloper provides a great out-of-the box user experience and dramatically increases productivity for building Java Enterprise Edition (Java EE) and SOA based applications. For various reasons, some Oracle customers elect to use Eclipse for Java development. We believe those users should get similar productivity that other Oracle users are already enjoying with JDeveloper. That’s why Oracle chose to join the Eclipse Foundation as a Strategic Developer and Board Member, and contribute world class talent to lead a variety of Eclipse projects and address its customers' needs. EVOLVING REQUIREMENTS Three major enterprise computing trends are coming together to form a new platform for application development. These trends are Java EE 5, Service Oriented Architecture (SOA), and Web 2.0. Today, end users expect highly interactive user interfaces with real-time updates and desktop-like capabilities.
    [Show full text]
  • Fira Code: Monospaced Font with Programming Ligatures
    Personal Open source Business Explore Pricing Blog Support This repository Sign in Sign up tonsky / FiraCode Watch 282 Star 9,014 Fork 255 Code Issues 74 Pull requests 1 Projects 0 Wiki Pulse Graphs Monospaced font with programming ligatures 145 commits 1 branch 15 releases 32 contributors OFL-1.1 master New pull request Find file Clone or download lf- committed with tonsky Add mintty to the ligatures-unsupported list (#284) Latest commit d7dbc2d 16 days ago distr Version 1.203 (added `__`, closes #120) a month ago showcases Version 1.203 (added `__`, closes #120) a month ago .gitignore - Removed `!!!` `???` `;;;` `&&&` `|||` `=~` (closes #167) `~~~` `%%%` 3 months ago FiraCode.glyphs Version 1.203 (added `__`, closes #120) a month ago LICENSE version 0.6 a year ago README.md Add mintty to the ligatures-unsupported list (#284) 16 days ago gen_calt.clj Removed `/**` `**/` and disabled ligatures for `/*/` `*/*` sequences … 2 months ago release.sh removed Retina weight from webfonts 3 months ago README.md Fira Code: monospaced font with programming ligatures Problem Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like -> , <= or := are single logical tokens, even if they take two or three characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet. Solution Download v1.203 · How to install · News & updates Fira Code is an extension of the Fira Mono font containing a set of ligatures for common programming multi-character combinations.
    [Show full text]
  • Enabling Application Lifecycle Development in Jdeveloper
    Enabling Application Lifecycle Development in JDeveloper Susan Duncan Oracle Corporation United Kingdom Keywords: Application Lifecycle Management,ALM, JDeveloper, Team Productivity Center, SCM, Versioning Introduction Application Lifecycle Management has been defined as “The process of delivering software as a continuously repeating cycle of inter-related steps.” It can be described as the management of the lifecycle development practices (requirements, build, test, change control, defect management etc) integrated together through application of process, reporting, traceability and collaboration. The better this integration, the better the software. However, in the past many of these practices worked in isolation - in functional silos that did not lend themselves to collaboration. But collaboration has become increasingly necessary in the software development world where teams work across organizations, time zones, cultures and business functions. Oracle Fusion Middleware encompasses a number of features to facilitate this mode of distributed working where collaboration is paramount including remote deployment and debugging, a shared resource catalog, SCM system integration, built-in testing with JUnit, functional, load and test management with Oracle Application Quality Management Suite and lifecycle management of SOA composites with ClearApp. This paper concentrates on some of the practical ALM features that are available to the application developer using JDeveloper in her day-to-day working environment Versioning One of the most obvious areas of ALM is versioning or source code management. It would be obvious to say that every development team’s process includes SCM. Generally there are two main types of versioning systems: Lock – Modify – Unlock Although a very safe and reliable system this is not necessarily best suited to a distributed development team.
    [Show full text]
  • Jalopy User's Guide V. 1.9.4
    Jalopy - User’s Guide v. 1.9.4 Jalopy - User’s Guide v. 1.9.4 Copyright © 2003-2010 TRIEMAX Software Contents Acknowledgments . vii Introduction . ix PART I Core . 1 CHAPTER 1 Installation . 3 1.1 System requirements . 3 1.2 Prerequisites . 3 1.3 Wizard Installation . 4 1.3.1 Welcome . 4 1.3.2 License Agreement . 5 1.3.3 Installation Features . 5 1.3.4 Online Help System (optional) . 8 1.3.5 Settings Import (optional) . 9 1.3.6 Configure plug-in Defaults . 10 1.3.7 Confirmation . 11 1.3.8 Installation . 12 1.3.9 Finish . 13 1.4 Silent Installation . 14 1.5 Manual Installation . 16 CHAPTER 2 Configuration . 17 2.1 Overview . 17 2.1.1 Preferences GUI . 18 2.1.2 Settings files . 29 2.2 Global . 29 2.2.1 General . 29 2.2.2 Misc . 32 2.2.3 Auto . 35 2.3 File Types . 36 2.3.1 File types . 36 2.3.2 File extensions . 37 2.4 Environment . 38 2.4.1 Custom variables . 38 2.4.2 System variables . 40 2.4.3 Local variables . 41 2.4.4 Usage . 42 2.4.5 Date/Time . 44 2.5 Exclusions . 44 2.5.1 Exclusion patterns . 45 2.6 Messages . 46 2.6.1 Categories . 47 2.6.2 Logging . 48 2.6.3 Misc . 49 2.7 Repository . 49 2.7.1 Searching the repository . 50 2.7.2 Displaying info about the repository . 50 2.7.3 Adding libraries to the repository . 50 2.7.4 Removing the repository .
    [Show full text]
  • An Empirical Study on the Practice of Maintaining Object-Relational Mapping Code in Java Systems
    An Empirical Study on the Practice of Maintaining Object-Relational Mapping Code in Java Systems Tse-Hsun Chen Weiyi Shang Jinqiu Yang Queen’s University Concordia University University of Waterloo Ontario, Canada Quebec, Canada Ontario, Canada [email protected] [email protected] [email protected] Ahmed E. Hassan Michael W. Godfrey Queen’s University University of Waterloo Ontario, Canada Ontario, Canada [email protected] [email protected] Mohamed Nasser Parminder Flora BlackBerry BlackBerry Ontario, Canada Ontario, Canada ABSTRACT code. Future studies should carefully examine ORM code, Databases have become one of the most important compo- in particular given the rising use of ORM in modern software nents in modern software systems. For example, web ser- systems. vices, cloud computing systems, and online transaction pro- cessing systems all rely heavily on databases. To abstract 1. INTRODUCTION the complexity of accessing a database, developers make use Managing data consistency between source code and database of Object-Relational Mapping (ORM) frameworks. ORM is a difficult task, especially for complex large-scale systems. frameworks provide an abstraction layer between the appli- As more systems become heavily dependent on databases, it cation logic and the underlying database. Such abstraction is important to abstract the database accesses from devel- layer automatically maps objects in Object-Oriented Lan- opers. Hence, developers nowadays commonly make use of guages to database records, which significantly reduces the Object-Relation Mapping (ORM) frameworks to provide a amount of boilerplate code that needs to be written. conceptual abstraction between objects in Object-Oriented Despite the advantages of using ORM frameworks, we ob- Languages and data records in the underlying database.
    [Show full text]
  • Installation Guide for Oracle Jdeveloper 11G Release 2 (11.1.2.1.0)
    Oracle® Fusion Middleware Installation Guide for Oracle JDeveloper 11g Release 2 (11.1.2.1.0) E17074-02 September 2011 This document provides information on: ■ Section 1, "JDeveloper System Requirements" ■ Section 2, "JDeveloper Certification Information" ■ Section 3, "Installing the Oracle JDeveloper Studio Edition" ■ Section 4, "Installing the JDeveloper Java Edition" ■ Section 5, "Using JDeveloper on Windows" ■ Section 6, "Using JDeveloper on Linux and UNIX Systems" ■ Section 7, "Using JDeveloper on Mac OS X Platforms" ■ Section 8, "Migrating from a Previous Version" ■ Section 9, "Enabling JDeveloper Extensions" ■ Section 10, "Setting the User Home Directory" ■ Section 11, "Using JDeveloper in a Multiuser Environment" ■ Section 12, "Using Oracle WebLogic Server with JDeveloper" ■ Section 13, "JDeveloper Accessibility Information" ■ Section 14, "Uninstalling JDeveloper" ■ Section 15, "Oracle on the Web" ■ Section 16, "Documentation Accessibility" 1 JDeveloper System Requirements This release of Oracle JDeveloper is tested and supported on the specific versions Windows, Linux, and Mac OS X, as listed in Section 1.1, "Recommended CPU, Memory, Display, and Hard Drive Configurations". In addition, it is supported on any operating system that supports Java SE Development Kit (JDK) 6 Update 24 or later. 1.1 Recommended CPU, Memory, Display, and Hard Drive Configurations The following tables list the recommended CPU, memory, display, and hard drive requirements for the different operating systems: ■ Table 1, " Recommended CPU, Memory, Display,
    [Show full text]
  • Developers Choice
    IDE Scorecard Developers’ Choice IDE Scorecard Definitive Rankings of the Top 11 IDEs by Over 1,200 Developers June 2006 Evans Data Corp, 740 Front St, Santa Cruz, CA 95060 www.evansdata.com (800) 831 3080 IDE Scorecard I NSIDE T HIS R EPORT Overview 1 Overview Abstract and Methodology 3 Overall Usage In Spring 2006, Evans Data Corp conducted primary market research on IDEs, interviewing over 1200 developers worldwide and asking them to rate 4 Feature Rankings the top IDEs. Developers only rated the features of those IDEs that they had 5 Further Information used. They were asked to rank sixteen different features commonly found in IDEs. Each feature could be ranked as “excellent, “very good” “adequate”, “needs improvement” or “NA”. During processing, the first four rankings were assigned a numerical value according to their relative significance. The last value (“N/A”) was discarded. Values were then combined to produce a score for each element for every IDE and also for an overall total score. The top 11 IDEs ranked were: “Eclipse is well on its Adobe/Macromedia Studio 8 way to becoming one Borland Delphi of the most popular Borland JBuilder IDEs for any Eclipse language..” IBM Rational Application Developer IBM WebSphere Studio Microsoft Visual Studio .NET NetBeans Oracle JDeveloper Sun Java Studio Sybase PowerBuilder Features and capabilities rated were: Compiler/Interpreter Debugger Editor Make/Build Functions Documentation Application Modeling Tools Web Design Tools Sample Applications Profiler 1 IDE Scorecard IDE Scorecard Overview Cont’ Compiler Performance Performance of Resulting Applications Ease of Use Ability to Integrate 3rd Party Tools Availability of 3rd Party Tools Quality of Technical Support Options Size and Quality of Developer Community In addition, developers were asked to rate the IDEs based on how well suited they are for creating a particular type of application (server-centric, desktop, thin-client, rich-client, and embedded systems).
    [Show full text]
  • Oracle® Fusion Middleware 1 Oracle Jdeveloper System Requirements
    Oracle® Fusion Middleware Installation Guide for Oracle JDeveloper 11g Release 1 (11.1.1) E13666-08 January 2011 This document provides information on: ■ Section 1, "Oracle JDeveloper System Requirements" ■ Section 2, "Installing the Oracle JDeveloper Studio Edition" ■ Section 3, "Installing the Oracle JDeveloper Java Edition" ■ Section 4, "Using Oracle JDeveloper on Windows" ■ Section 5, "Using Oracle JDeveloper on Linux and UNIX Systems" ■ Section 6, "Using Oracle JDeveloper on Mac OS X Platforms" ■ Section 7, "Migrating from a Previous Version" ■ Section 8, "Enabling Oracle JDeveloper Extensions" ■ Section 9, "Installing Additional Oracle Fusion Middleware Design Time Components" ■ Section 10, "Setting the User Home Directory" ■ Section 11, "Using Oracle JDeveloper in a Multiuser Environment" ■ Section 12, "Using Oracle WebLogic Server with Oracle JDeveloper" ■ Section 13, "Oracle JDeveloper Certification Information" ■ Section 14, "Oracle JDeveloper Accessibility Information" ■ Section 15, "Uninstalling Oracle JDeveloper" ■ Section 16, "Oracle on the Web" ■ Section 17, "Documentation Accessibility" 1 Oracle JDeveloper System Requirements This release of Oracle JDeveloper is tested and supported on the specific versions Windows, Linux, and Mac OS X, as listed in Section 1.1, "Recommended CPU, Memory, Display, and Hard Drive Configurations". In addition, it is supported on any operating system that supports Sun Java SE Development Kit (JDK) 6 Update 21 or later. ORACLE CONFIDENTIAL. 1.1 Recommended CPU, Memory, Display, and Hard Drive
    [Show full text]
  • Xdebug Tutorial
    Welcome! Xdebug tutorial PHP Konferenca - Ljubljana, Slovenia Derick Rethans - [email protected] - twitter: @derickr http://derickrethans.nl/talks.html About Me Derick Rethans ● Dutchman living in London ● PHP development ● Author of the mcrypt, input_filter, dbus, translit and date/time extensions ● Author of Xdebug ● Contributor to the Apache Zeta Components Incubator project (formerly eZ Components) ● Freelancer doing PHP (internals) development I Do Not Need a Debugger ● printf(), var_dump() and echo are good enough I Do Not Need a Debugger I Do Need a Debugger ● Xdebug: An Open Source debugging tool ● About 8 years old ● Works on "every" operating system ● Version 2.1 released about three months ago This Tutorial ● Installation overview ● Downloading, compiling and configuring Xdebug ● Basic function overview ● Playing with settings, stack traces and function traces break ● Profiling ● Profiling your own code ● Code coverage ● (Setting up code-coverage with PHP Unit) break ● Debugging ● Setting up your IDE for debugging Installation The Xdebug extension ● Zend extension, and not a PHP extension ● Xdebug is very PHP-version sensitive ● Different compilers under Windows ● Debug/non-debug ● Threadsafe or not In PHP 5.1 and 5.2: zend_extension=/local/php/lib/php/extensions/no-debug-non-zts- 20090626/xdebug.so zend_extension_ts=/local/php/lib/php/extensions/debug-zts- 20090626/xdebug.so zend_extension_debug=/local/php/lib/php/extensions/debug-non-zts- 20090626/xdebug.so In PHP 5.3: zend_extension=/local/php/lib/php/extensions/no-debug-non-zts-
    [Show full text]
  • How to Communicate with Developers
    How to Communicate with Developers Employer branding, job listings, and emails that resonate with a tech audience Developers are one of the most in-demand groups of employees these days. And guess what, they noticed this as well: Countless approaches by potential employers, sometimes several messages a day through Linkedin, and a few desperate recruiters even cold calling. So those with technical talents are by no means oblivious to the talent shortage. The good news is that they don’t just use this bargaining power to simply negotiate the highest salaries and most outrageous benefits. Instead, developers are intrinsically motivated. They are looking for the right place to work. Your challenge in this noisy jobs market is to clearly communicate what defines your employer brand, what work needs doing, and, ultimately, who might be the right fit for the role. All of this is easier said than done. Because tech recruiting is a complex business, it is easy to not see the forest for the trees. This guide will help you decide where to start or what to fix next. In the first and more general part, we would like you to take a step back. Before we even think about how to package our job opening and approach a candidate with our offer, we look at what information and knowledge you should gather about your tech team and the company at large. Following that, we will take a practical look at how to write and talk about your company and the role, with a special focus on the job listings and a recruiting emails as a first introduction.
    [Show full text]