Current state of tools for developing Swift code on Linux (or on the Mac but with Xcode).
Presented to SwiftAustin on April 5th, 2017 https://www.meetup.com/SwiftAustin/events/238281895/
Better Swift from the Foundation up #tryswiftnyc17 09-06Carl Brown
Highlights of some useful Swift coding patterns and ways to avoid common sources of bugs and performance issues. These lessons learned are based on examination of Swift CoreLibs Foundation and other Open Source Swift libraries and projects, as he has contributed to helping bring Swift to the Server.
C++ Unit testing - the good, the bad & the uglyDror Helper
C++ is a powerful language when used by a seasoned developer. It is being used everywhere from operating systems and compilers to cross platform mobile apps development.
But this power comes with a cost - C++ programming is not simple nor easy – with memory leaks, stack overflows and strange exceptions, a software developer needs all of the power he can use.
By harnessing the power of unit tests a software developer can find defects quickly, avoid regression and speed up development time.
In this talk I’ll show how to use the right unit testing tools and practices available that will help you get your C++ code under control and even test legacy code which no one ever want to touch.
The Eclipse JavaScript Development Tools have reached a new level of features and usability with Eclipse Neon. Many things were implemented as part of the JSDT 2.0 release that is now available with Eclipse Neon
Test-Driven Development with TypeScript+Jasmine+AngularJSSmartOrg
A session held for students at San Jose State University. A live pair-programming session and these slides were used before that session. For the code in the live exercise, follow instructions in the slides.
Better Swift from the Foundation up #tryswiftnyc17 09-06Carl Brown
Highlights of some useful Swift coding patterns and ways to avoid common sources of bugs and performance issues. These lessons learned are based on examination of Swift CoreLibs Foundation and other Open Source Swift libraries and projects, as he has contributed to helping bring Swift to the Server.
C++ Unit testing - the good, the bad & the uglyDror Helper
C++ is a powerful language when used by a seasoned developer. It is being used everywhere from operating systems and compilers to cross platform mobile apps development.
But this power comes with a cost - C++ programming is not simple nor easy – with memory leaks, stack overflows and strange exceptions, a software developer needs all of the power he can use.
By harnessing the power of unit tests a software developer can find defects quickly, avoid regression and speed up development time.
In this talk I’ll show how to use the right unit testing tools and practices available that will help you get your C++ code under control and even test legacy code which no one ever want to touch.
The Eclipse JavaScript Development Tools have reached a new level of features and usability with Eclipse Neon. Many things were implemented as part of the JSDT 2.0 release that is now available with Eclipse Neon
Test-Driven Development with TypeScript+Jasmine+AngularJSSmartOrg
A session held for students at San Jose State University. A live pair-programming session and these slides were used before that session. For the code in the live exercise, follow instructions in the slides.
Introduction to Angular for .NET DevelopersLaurent Duveau
Technical presentation given by Laurent Duveau at the Ottawa IT Community meetup on April 24, 2017.
https://www.meetup.com/ottawaitcommunity/events/238168455/
Slide 1
TypeScript
* This presentation is to show TypeScript's major feature and the benefit that it brings to your JavaScript projects.
* Our main objective is just to spark interest especially to those not familiar with the tool.
Slide 2
- What is TypeScript
* go to next slide
Slide 3
- Is a superset of JavaScript
* it simply means an extension to JavaScript
- Use JavaScript code on TypeScript
* JS code naturally works on TypeScript
* Which also means your beloved JavaScript libraries such as JQuery, or your fancy interacive plugins would work as well.
- TypeScript compiles to plain old JavaScript
* TS code compiles to simple and clean JS.
Slide 4
- Screenshot of TS compiled to JS
* In this example, compiling a TS class code would result to a JS version, and a regular JavaScript function when compiled is basically untouched.
Slide 5
- TypeScript's Main Feature
* So what does TS provide us with? What does it actually do?
Slide 6
- Static Type Checking
* TypeScript allows us to enable type checking by defining data types to your for ex. variables, function parameters and return types.
Slide 7
- Screenshot of basic Static Type Checking
* In this example…
* What I've done here was to assign supposedly wrong values for what the variables or parameters were meant to hold
* As JavaScript is a dynamic and untyped language these expressions would either fail or be okay when you run it on your browser.
* In TypeScript by enabling static type checking these potential errors are caught earlier (see the red marks on the expressions) and wouldn't even allow you to compile unless these are resolved.
* In addition you can also type arrays and object literals
Slide 8
- Effects of Static Type Checking
* As TS code is statically type-checked a side effect of such...
- Allows IDEs to perform live error checks
- Exposes auto-completion and code hinting
Slide 9
- Screenshot of code hinting
* Say I was coding JQuery on regular JavaScript code there would be no natural way to help me identify its class properties, methods and parameters... except through reading the API documentation or a separate plugin.
* As a result of static type checking this allows IDE's to access these class members as code hints
* So if this was a 3rd party library how much more if you are just referencing your own JavaScript/TypeScript files within your project.
Slide 10
- A few of the other cool features
* That was only the basic feature of TypeScript
* A few of the other cool features are...
Slide 11
- End
TypeScript for Alfresco and CMIS - Alfresco DevCon 2012 San JoseSteve Reiner
This presentation was given during the second Lightning Talk session at the Alfresco DevCon 2012 in San Jose. This briefly covered some languages that can be translated to JavaScript (TypeScript, Dart, ActionScript, CoffeeScript) and used for developing HTML5/JS web applications and mobile web apps. TypeScript seems to be the best choice. IDEs and editors currently supporting TypeScript were listed.
My plans to support various Alfresco and CMIS things was covered: port CMIS Spaces and FlexSpaces from Flex/AS3 to TypeScript, TypeScript wrappers for AlfJS and CMIS.JS, additional Alfresco and CMIS TypeScript libraries, sample showing a Share dashlet, and a TypeScript definition file for intellisense / compile time type checking for Alfresco WebScripts.
Technical presentation given by Laurent Duveau at the House of Commons in Ottawa on April 25, 2017.
Thanks to Dan Wahlin for providing the original version of the slides. I added more content to fit in a 1h talk.
With the release of Groovy-Eclipse 2.0.1, we have produced compelling dynamic language support for Groovy in Eclipse. This tool support includes tight integration with JDT, type inferencing throughout, and extensibility for custom DSLs such as Grails.
In this talk, we will explore the power of Groovy-Eclipse in helping to create Groovy and mixed Groovy-Java projects in Eclipse. Through the use of a few simple examples. We will then discuss the internals, including JDT integration, refactoring support, and the inferencing engine. The last part of the talk will show a simple example of extensibility for custom Groovy DSLs.
This talk describes the tooling side of Groovy-Eclipse, please see our related talk "Extending the Eclipse Java Compiler to integrate support for other languages: lessons learned from Groovy Eclipse" that details our extensions to the JDT compiler for multi-language support.
An introduction to Typescript for programmers who use JavaScript.
It goes through what it is, what's it useful for, how to start using it and some things I've observed while using it.
Notes are not available but feel free to PM me if you have any question.
Presentation I presented at Codemotion 2015 in Rome.
It's about how to build and share reproducible, portable development environments with Vagrant and Docker
Introduction to Angular for .NET DevelopersLaurent Duveau
Technical presentation given by Laurent Duveau at the Ottawa IT Community meetup on April 24, 2017.
https://www.meetup.com/ottawaitcommunity/events/238168455/
Slide 1
TypeScript
* This presentation is to show TypeScript's major feature and the benefit that it brings to your JavaScript projects.
* Our main objective is just to spark interest especially to those not familiar with the tool.
Slide 2
- What is TypeScript
* go to next slide
Slide 3
- Is a superset of JavaScript
* it simply means an extension to JavaScript
- Use JavaScript code on TypeScript
* JS code naturally works on TypeScript
* Which also means your beloved JavaScript libraries such as JQuery, or your fancy interacive plugins would work as well.
- TypeScript compiles to plain old JavaScript
* TS code compiles to simple and clean JS.
Slide 4
- Screenshot of TS compiled to JS
* In this example, compiling a TS class code would result to a JS version, and a regular JavaScript function when compiled is basically untouched.
Slide 5
- TypeScript's Main Feature
* So what does TS provide us with? What does it actually do?
Slide 6
- Static Type Checking
* TypeScript allows us to enable type checking by defining data types to your for ex. variables, function parameters and return types.
Slide 7
- Screenshot of basic Static Type Checking
* In this example…
* What I've done here was to assign supposedly wrong values for what the variables or parameters were meant to hold
* As JavaScript is a dynamic and untyped language these expressions would either fail or be okay when you run it on your browser.
* In TypeScript by enabling static type checking these potential errors are caught earlier (see the red marks on the expressions) and wouldn't even allow you to compile unless these are resolved.
* In addition you can also type arrays and object literals
Slide 8
- Effects of Static Type Checking
* As TS code is statically type-checked a side effect of such...
- Allows IDEs to perform live error checks
- Exposes auto-completion and code hinting
Slide 9
- Screenshot of code hinting
* Say I was coding JQuery on regular JavaScript code there would be no natural way to help me identify its class properties, methods and parameters... except through reading the API documentation or a separate plugin.
* As a result of static type checking this allows IDE's to access these class members as code hints
* So if this was a 3rd party library how much more if you are just referencing your own JavaScript/TypeScript files within your project.
Slide 10
- A few of the other cool features
* That was only the basic feature of TypeScript
* A few of the other cool features are...
Slide 11
- End
TypeScript for Alfresco and CMIS - Alfresco DevCon 2012 San JoseSteve Reiner
This presentation was given during the second Lightning Talk session at the Alfresco DevCon 2012 in San Jose. This briefly covered some languages that can be translated to JavaScript (TypeScript, Dart, ActionScript, CoffeeScript) and used for developing HTML5/JS web applications and mobile web apps. TypeScript seems to be the best choice. IDEs and editors currently supporting TypeScript were listed.
My plans to support various Alfresco and CMIS things was covered: port CMIS Spaces and FlexSpaces from Flex/AS3 to TypeScript, TypeScript wrappers for AlfJS and CMIS.JS, additional Alfresco and CMIS TypeScript libraries, sample showing a Share dashlet, and a TypeScript definition file for intellisense / compile time type checking for Alfresco WebScripts.
Technical presentation given by Laurent Duveau at the House of Commons in Ottawa on April 25, 2017.
Thanks to Dan Wahlin for providing the original version of the slides. I added more content to fit in a 1h talk.
With the release of Groovy-Eclipse 2.0.1, we have produced compelling dynamic language support for Groovy in Eclipse. This tool support includes tight integration with JDT, type inferencing throughout, and extensibility for custom DSLs such as Grails.
In this talk, we will explore the power of Groovy-Eclipse in helping to create Groovy and mixed Groovy-Java projects in Eclipse. Through the use of a few simple examples. We will then discuss the internals, including JDT integration, refactoring support, and the inferencing engine. The last part of the talk will show a simple example of extensibility for custom Groovy DSLs.
This talk describes the tooling side of Groovy-Eclipse, please see our related talk "Extending the Eclipse Java Compiler to integrate support for other languages: lessons learned from Groovy Eclipse" that details our extensions to the JDT compiler for multi-language support.
An introduction to Typescript for programmers who use JavaScript.
It goes through what it is, what's it useful for, how to start using it and some things I've observed while using it.
Notes are not available but feel free to PM me if you have any question.
Presentation I presented at Codemotion 2015 in Rome.
It's about how to build and share reproducible, portable development environments with Vagrant and Docker
Making a Headless Android Device (Oslo Embedded Meetup 2018)Patricia Aas
This talk explores the options when trying to bing up a device using an Android Board Support Package (BSP) or AOSP. In particular the options when you don't want to ship a traditional Android device or you have an existing Embedded Linux code base, but all you have available is Android. Headless can mean both be an Android without Java and a device without a display, both are discussed.
People love Visual Studio Code for its superfast performance, lightweight nature and active open source community around it. All of these are now available for Java developers by extensions contributed by individuals and companies such as Red Hat, Microsoft, and Pivotal. By combining a couple of independent extensions, you can create a lightweight working environment just for your Java workload yet powerful enough to almost match the feature richness of existing IDEs.
This sessions shows how you can use Visual Studio Code to develop your Java application. It guides you through all the available extensions so you can later explore then base on your own needs. The session will also introduce how to easily push your Java microservices to cloud within the editor itself.
It's an introduction to using codespaces to develop web applications without any local setup. At the end, there is a link to a video explaining the slides and doing the practices mentioned in the slides.
Example Simple NodeJS Application for Docker demo
- https://gist.github.com/abtris/6aca9b2668b8b5af0208
Video
- https://www.youtube.com/watch?v=p6olO6NChno&feature=youtu.be
Managing Memory in Swift (Yes, that's a thing)Carl Brown
My talk from Swift Cloud Workshop 2 in Austin, TX on 2017-09-30 about the current state of memory management with Swift in the Cloud, and whether or not Swift on the Server is mature enough for your use-case.
Inaugural Meetup for the Swift Austin group. Introduction and how-to presentation on getting the latest (or recent) version of Swift running in a Docker or Vagrant VM under MacOS or Windows.
Swift 2.2 Design Patterns CocoaConf Austin 2016Carl Brown
Talk on Swift 2.2, adapting Cocoa/Objective-C Design Patterns to Swift, Design Patterns from other Languages that Swift has adopted, and Swift features that lend themselves to new Design Patterns.
Advanced, Composable Collection Views, From CocoaCoders meetup Austin Feb 12,...Carl Brown
Building complicated data-driven user interfaces can be difficult. Tables are one thing, but what do you do if you need to combine different types of data (with different layout needs) on the same screen?
This week we're going to discuss how to do with, using some Apple-provided sample code from WWDC 2014 as our starting point.
Writing Apps that Can See: Getting Data from CoreImage to Computer Vision - ...Carl Brown
Apps that Can See: Getting Data from CoreImage to Computer
Vision
You hear about the app that can solve a Rubik's Cube after you take pictures of
each side? How about the one that can import Sudoku puzzles by letting you take a
picture of a puzzle? Wouldn't it be cool if your apps could get information that way?
Come and learn how to integrate image processing in your apps. We'll start with
Apple's built-in CoreImage libraries, and then move on to open-source C++ libraries
that let you detect colors, shapes, letters and numbers. We'll go through quite a bit of
sample code that you can take with you to use in your apps.
We'll also talk about practical tips and experiences, like how to debug and
troubleshoot code when things aren't working the way you expected.
REST/JSON/CoreData Example Code - A TourCarl Brown
This is a talk given by Carl Brown at the 2/28/2013 CocoaCoders meeting in Austin (actually Round Rock) TX.
It describes github/carlbrown/SeismicJSON - an MIT-licensed project Carl wrote to illustrate REST JSON CoreData and NSOperations based loosely on the functionality of Apple's old SeismicXML Sample Code.
360iDev Presentation this year:
As a contract iOS programmer, I spend about 80% of my time working with other people's iOS code - either working as a part of existing teams or taking over incomplete projects from developers who are no longer around. Along the way, I've gathered a list of the common mistakes I've seen people make, the open-source libraries I've seen people misuse the most, and the really simple code changes that can make huge differences in the reliability and performance of your apps. For each mistake or anti-pattern, I'll have an explanation of the issue with it, and at least one potential remedy or remediation that could be taken.
This talk will have a lot of specific code examples on a number of different topics and technologies, so hopefully everyone will learn something. And hopefully at least something will save you some time.
Note that this will be a very opinionated talk, and I'm quite likely to step on someone's pet pattern, so there may be fireworks.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
4. Sublime
OS X only for SourceKit
Could probably be made to work
with Linux easier now
5. VS Code
SDE
Installable in VSCode
Setup scripts at https://github.com/
felix91gr/swift-linuxSetup
Vagrant setup at https://github.com/
SwiftAustin/LinuxSwiftGUISetup
OS X support tricky (see issue #33)
Development slowing down