Presented from gdg devfair 2014 and gdg korea golang seoul meetup 2015.
Added explanation about go 1.4 official android support a little from gdg korea golang seoul meetup presentation.
Android is going to Go! Android and GolangAlmog Baku
I recently talked in Droidcon about building using Go with Android
We talked about what is Go? And why it's so awesome? And how can we use it with Android?
On this session we've learnt a little bit about Go, and how can we use it with Android- about the use cases, and the secret
tricks to use it with mobile applications.
Golang for PHP programmers: A practical introductionRichard Tuin
PHP and Golang complement each other in a great way. In this presentation you will first learn how Golang is different from PHP, then we will look at its use-cases with some examples, and finally we explore some important best practices. After this presentation you will know when Golang could be a suitable tool for the job.
Android is going to Go! Android and GolangAlmog Baku
I recently talked in Droidcon about building using Go with Android
We talked about what is Go? And why it's so awesome? And how can we use it with Android?
On this session we've learnt a little bit about Go, and how can we use it with Android- about the use cases, and the secret
tricks to use it with mobile applications.
Golang for PHP programmers: A practical introductionRichard Tuin
PHP and Golang complement each other in a great way. In this presentation you will first learn how Golang is different from PHP, then we will look at its use-cases with some examples, and finally we explore some important best practices. After this presentation you will know when Golang could be a suitable tool for the job.
Das neue Android Build System ist angetreten, um viele Probleme der Vergangenheit zu lösen. Mit Gradle als Basis, einem komplexen Plug-in speziell für Android und einer tiefen Integration in Android Studio kann man schon von einem "Next Generation" Build-System sprechen. Doch was bringt die neue Technologie in der Praxis, und wie kann ich die neuen Features in meinem Entwicklungsprozess nutzen?
Wir zeigen praktische Beispiele vom Projekt-Setup über den Build-Prozess und Konfigurationsmanagement bis hin zur CI-Integration sowie Erfahrungen mit der Migration existierender Projekte. Source Code: https://github.com/dhelleberg/androidgradlesample
A look at the versatility of flutter.io in speed and creation of highly scalable apps. In particular this presentation also looks at the comparisons between Flutter and React-Native
The jedi path is not easy, here is an example of how I had to fight against the dark side and become a groovy developer.
POC based on spring-boot, built with gradle, aimed to demonstrate WSDL versioning approach.
Gitea is a painless self-hosted Git service. It is similar to GitHub, Bitbucket or Gitlab. The initial development have been done on Gogs but we have forked it and named it Gitea. If you want to read more about the reasons why we have done that please read this blog post.
https://docs.gitea.io/en-us/
https://github.com/alvarowolfx/react-native-shakeit-demo
Introduction to React native presentation. A little history about React web, comparison with state of art of hybrid mobile development and demo to the local community.
Cross-Platform App Development with Flutter, Xamarin, React NativeKorhan Bircan
Previously, we have seen cross-platform solutions but they either compromised on performance or reaching design expectations. Google, Facebook, and Microsoft have been hard at work and I think they now have solutions that are worth taking another look. I want to explore three such popular frameworks: Flutter, Xamarin, and React Native, explain what they are, how they work, and compare them against each other with a focus on performance. My hope is that after reading this article, you are inspired enough to go check them out and know enough to formulate in your mind which technology could be the right choice for your needs.
Das neue Android Build System ist angetreten, um viele Probleme der Vergangenheit zu lösen. Mit Gradle als Basis, einem komplexen Plug-in speziell für Android und einer tiefen Integration in Android Studio kann man schon von einem "Next Generation" Build-System sprechen. Doch was bringt die neue Technologie in der Praxis, und wie kann ich die neuen Features in meinem Entwicklungsprozess nutzen?
Wir zeigen praktische Beispiele vom Projekt-Setup über den Build-Prozess und Konfigurationsmanagement bis hin zur CI-Integration sowie Erfahrungen mit der Migration existierender Projekte. Source Code: https://github.com/dhelleberg/androidgradlesample
A look at the versatility of flutter.io in speed and creation of highly scalable apps. In particular this presentation also looks at the comparisons between Flutter and React-Native
The jedi path is not easy, here is an example of how I had to fight against the dark side and become a groovy developer.
POC based on spring-boot, built with gradle, aimed to demonstrate WSDL versioning approach.
Gitea is a painless self-hosted Git service. It is similar to GitHub, Bitbucket or Gitlab. The initial development have been done on Gogs but we have forked it and named it Gitea. If you want to read more about the reasons why we have done that please read this blog post.
https://docs.gitea.io/en-us/
https://github.com/alvarowolfx/react-native-shakeit-demo
Introduction to React native presentation. A little history about React web, comparison with state of art of hybrid mobile development and demo to the local community.
Cross-Platform App Development with Flutter, Xamarin, React NativeKorhan Bircan
Previously, we have seen cross-platform solutions but they either compromised on performance or reaching design expectations. Google, Facebook, and Microsoft have been hard at work and I think they now have solutions that are worth taking another look. I want to explore three such popular frameworks: Flutter, Xamarin, and React Native, explain what they are, how they work, and compare them against each other with a focus on performance. My hope is that after reading this article, you are inspired enough to go check them out and know enough to formulate in your mind which technology could be the right choice for your needs.
Deep dark-side of git: How git works internallySeongJae Park
Describe how git works internally using small and perfect plumbing commands.
The slide have been used at GDG DevFest 2014 and SOSCON 2014.
The slide can be updated later. And, the latest version would always be provided from this page always.
I talked this presentation in GopherCon 2016.
Go Mobile (golang.org/x/mobile) is a project which shows new possibilities for mobile apps development.
Especially, for mobile games which requires high performance processing, Go can be expected to be an alternative to C and C++.
This session explains how to develop game apps using some packages such as app, event and sprite provided by Go Mobile project.
Furthermore the session introduces a way to call Android API from Go codes, and solutions for some problems which occurs when we distribute apps on Google Play.
I would like to show current capabilities and future potentials of Go Mobile.
Presented by Brian Gupta (brian.gupta@brandorr.com) and Nathan Freitas (nathan@olivercoady.com)
Learn more at http://tinyurl.com/androidfaq
Android is a fully integrated and open source bundle of software significantly lowers the current costs of developing mobile devices (currently runs on a cellphone (the HTC Dream/T-Mobile G1), and a number of unofficial "ports". It consists of an operating system, middleware, a user-friendly interface and powerful applications.
The talk will start with a review of the internal architecture of the Android platform, breaking down the various components, and examine how they work. Then we will review the latest status of the open source project, including how to get and build the source code, and how to get involved.
With the big delays in the time it takes until an iOS jailbreak is public and stable, it is often not possible to test mobile apps in the latest iOS version. Occasionally customers might also provide builds that only work in iOS versions for which no jailbreak is available. On Android the situation is better, but there can also be problems to root certain phone models. These trends make security testing of mobile apps difficult. This talk will cover approaches to defeat common security mechanisms that must be bypassed in the absence of root/jailbreak.
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentJustin James
It has never been easier to build hybrid applications by using the Ionic Framework with technology that you already know and love such as AngularJS and Html 5. You will learn to love mobile development again.
Roger Zanoni provides a detailed update of the status of the support for web applications on the AGL (Automotive Grade Linux) demo platform. The presentation includes an overview of the current Web Application Manager architecture, how to develop, customize/integrate new web applications and future plans. This presentation follows up on the ones delivered during 2022 about the work done on the AGL demo platform.
(c) Automotive Grade Linux All Member Meeting Spring 2023
March 8 - 9, 2023
Berlin
https://events.linuxfoundation.org/agl-amm/
hhttps://www.youtube.com/watch?v=al1VGZd16Kg
This presentation by Aleksandr Bulyshchenko (Consultant, Engineering, GlobalLogic, Ukraine, Kharkiv) and Maksym Prymierov (Junior Software Engineer, Engineering, Consultant, GlobalLogic, Ukraine, Kharkiv) was delivered at GlobalLogic Ukraine On Air Webinar on April 15, 2020.
Our practical experts shared their expertise and results of porting the trendy Android 10 to Orange Pi board as well as demonstrated its possible DIY applications such as the ultra-popular Android TV box.
This talk was presented at the Web Development SIG of the Greater Cleveland PC Users Group on Saturday, September 19, 2009.
There is a follow-up meeting with a more in-depth look on Google Analytics - this presentation only walks through how to set it up and get started.
Biscuit: an operating system written in goSeongJae Park
Biscuit is a monolithic operating system kernel that is written in Go. This talk introduces the kernel and demonstrate how to build, install, and analyze the code.
An Introduction to the Formalised Memory Model for Linux KernelSeongJae Park
Linux kernel provides executable and formalized memory model. These slides describe the nature of parallel programming in the Linux kernel and what memory model is and why it is necessary and important for kernel programmers. The slides were used at KOSSCON 2018 (https://kosscon.kr/).
Short introduction about vcs & git usage.
Aimed to introduce concept of version control system and git to people who didn't used git or vcs yet. Doesn't introduce deep part of git or operating policy for git. Just focus on simple introduction about main functionality and abstracted internal design.
Describe how to contribute to open source projects.
Provide example process using two hot open source project, linux and AOSP(Android Open Source Project)
Describe how Android input system designed.
Describe the ways to make input event(such as touch, key press, ...) on Android in programmatic way, not manual way.
This can be helpful for some people thinking about Android remote control or test automation.
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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.
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.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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/
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
(Live) build and run golang web server on android.avi
1. (Live) Build and run
Golang Web server on
Android.avi
SeongJae Park <sj38.park@gmail.com>
2. Nice To Meet You
SeongJae Park
sj38.park@gmail.com
golang newbie programmer
3. Disclaimer
The main part of session is live-coding. This
slide has only little information.
Inspired by camlistore and outyet
Maybe useless, *just for fun*
4. Goal Of This Session
Build and run Golang web server on Android
Live Coding
7. Web server
Processes request via HTTP protocol
Listen a socket
Receive HTTP request from the socket
Web Server Client
url: /blahblah,
method: GET
8. Web server
Processes request via HTTP protocol
Listen a socket
Receive HTTP request from the socket
Process the request
Web Server Client
url: /blahblah,
method: GET
9. Web server
Processes request via HTTP protocol
Listen a socket
Receive HTTP request from the socket
Process the request
Send HTTP response to client using the socket
Web Server Client
url: /blahblah,
method: GET
Status: OK,
Body: <p>welcome</p>
12. Golang and Android
● Golang Supports Android officially from v1.4
○ The support focus on Application; just let .so or .apk
https://blog.golang.org/gopher/gopher.png
http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Android_robot.svg/511px-Android_robot.svg.png
13. Golang and Android
● Golang Supports Android officially from v1.4
○ The support focus on Application; just let .so or .apk
○ Requires complex build process and client code
https://blog.golang.org/gopher/gopher.png
http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Android_robot.svg/511px-Android_robot.svg.png
14. Golang and Android
● Golang Supports Android officially from v1.4
○ The support focus on Application; just let .so or .apk
○ Requires complex build process and client code
○ Couldn’t be more simple, easier?
https://blog.golang.org/gopher/gopher.png
http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Android_robot.svg/511px-Android_robot.svg.png
15. Golang on Android: Background
Android is a variant of Linux system with ARM
x86 Android exist, though...
http://www.kitguru.net/wp-content/uploads/2012/03/linux-android.png
16. Golang on Android: Background
Android is a variant of Linux system with ARM
x86 Android exist, though...
Go supports ARM & Linux Officially
with static-linking
http://www.kitguru.net/wp-content/uploads/2012/03/linux-android.png
17. Golang on Android: Background
Android is a variant of Linux system with ARM
x86 Android exist, though...
Go supports ARM & Linux Officially
with static-linking
So, why not?
http://www.kitguru.net/wp-content/uploads/2012/03/linux-android.png
19. Golang on Android: Plan
1. Cross compile Go program as ARM / Linux
2. Include the binary in assets/ of Android app
20. Golang on Android: Plan
1. Cross compile Go program as ARM / Linux
2. Include the binary in assets/ of Android app
3. Copy the binary in private space of the app
21. Golang on Android: Plan
1. Cross compile Go program as ARM / Linux
2. Include the binary in assets/ of Android app
3. Copy the binary in private space of the app
4. Give execute permission to the binary
/data/data/com.example.goRunner/files # ls -al
-rwxrwxrwx u0_a55 u0_a55 4512840 2014-11-28 17:45 gobin
22. Golang on Android: Plan
1. Cross compile Go program as ARM / Linux
2. Include the binary in assets/ of Android app
3. Copy the binary in private space of the app
4. Give execute permission to the binary
5. Execute it
/data/data/com.example.goRunner/files # ls -al
-rwxrwxrwx u0_a55 u0_a55 4512840 2014-11-28 17:45 gobin
24. (Live) Golang on Android: Problem
…… Not successful
go binary runner code:
https://github.
com/sjp38/goOnAndroidFA/releases/tag/devfair
2014.gdg.kr
25. (Live) Golang on Android: Problem
…… Not successful
It has no /etc/hosts
CA Certs path is different with pure Linux
/system/etc/security/cacerts
26. (Live) Golang on Android: Problem
…… Not successful
It has no /etc/hosts
CA Certs path is different with pure Linux
/system/etc/security/cacerts
Android is a variant of, not pure Linux
GOOS=android has same problem, too :’(
27. (Live) Golang on Android: Solution
It has no /etc/hosts
Get IP manually
Certifications path is different
Use those certifications
32. Summary
Golang program can run on Android
Officially as .so or .apk file
Or, as elf binary with unofficial, little hack
33. Summary
Golang program can run on Android
Officially as .so or .apk file
Or, as elf binary with unofficial, little hack
Some features don’t work on Android, yet
Still need some hacks
34. Final Source Code
go web server: https://github.
com/sjp38/linuxOutYet/releases/tag/devfair201
4.gdg.kr
go program runner(Android app): https://github.
com/sjp38/goOnAndroidFA/releases/tag/devfair
2014.gdg.kr
35. This slide has been used for
GDG Korea DevFair 2014
GDG Korea Golang Seoul Meetup
36. This work by SeongJae Park is licensed under the
Creative Commons Attribution-ShareAlike 3.0 Unported
License. To view a copy of this license, visit http:
//creativecommons.org/licenses/by-sa/3.0/.