Copass + Ruby on Rails = <3 - From Simplicity to ComplexityAugustin Riedinger
Presentation made at le Wagon (http://www.lewagon.org) to give tips and learnings from the experience of building Copass (http://copass.org) with Ruby on Rails.
Interesting gems, dangerous ones, tips and readings, to get started with good practices on Rails at 3 steps of a project:
- Bootstrapping
- Going on production
- Scaling
Web Performance tuning presentation given at http://www.chippewavalleycodecamp.com/
Covers basic http flow, measuring performance, common changes to improve performance now, and several tools and techniques you can use now.
An Overview of the Javascript Ecosystem in 2015. Slides from this talk given at San Diego Javascript on June 2: https://www.youtube.com/watch?v=CGkPsNyI07A
the third class of the spring 2017 untangling the web series
with a guest presentation by Chris Hawkins of Authentic business solutions https://authenticlab.ca/
Copass + Ruby on Rails = <3 - From Simplicity to ComplexityAugustin Riedinger
Presentation made at le Wagon (http://www.lewagon.org) to give tips and learnings from the experience of building Copass (http://copass.org) with Ruby on Rails.
Interesting gems, dangerous ones, tips and readings, to get started with good practices on Rails at 3 steps of a project:
- Bootstrapping
- Going on production
- Scaling
Web Performance tuning presentation given at http://www.chippewavalleycodecamp.com/
Covers basic http flow, measuring performance, common changes to improve performance now, and several tools and techniques you can use now.
An Overview of the Javascript Ecosystem in 2015. Slides from this talk given at San Diego Javascript on June 2: https://www.youtube.com/watch?v=CGkPsNyI07A
the third class of the spring 2017 untangling the web series
with a guest presentation by Chris Hawkins of Authentic business solutions https://authenticlab.ca/
What's New In Microsoft System Center 2016 & OMSAsaf Nakash
In this presentation, we will cover the latest feature of Microsoft System Center 2016 as well as cover the operation management suite and how connecting it to the organization will help you having insight in your environment.
Best Practices for Reaching and Engaging Your Mobile AudienceOrigami Logic
How Top Brands Measure and Optimize Mobile Ads Campaigns:
Today’s marketers have embraced mobile advertising, and the landscape continues to evolve at a rapid pace. Changes in human behavior, and the explosion of mobile-specific technologies, audience targeting techniques, and mobile content channels have made it difficult for brands to build an effective mobile strategy.
Join Origami Logic and Tim Hayden to learn how to:
- Boost Customer Engagement: Ensure that your mobile web and app are cohesive and user-friendly, with built-in capabilities to track performance and high value customer attributes.
- Succeed with Mobile Advertising: Use mobile audience insights and the newest mobile advertising technologies to augment your cross-channel campaigns.
- Measure Mobile Performance: Build a comprehensive view across paid, owned and earned mobile efforts to act on mobile opportunities quickly and effectively.
About Tim Hayden
Tim has two decades of experience in leading high growth technology firms and marketing agencies. Before Brain+Trust Partners, he was head of marketing at Zignal Labs, head of the Mobile program at Edelman Digital in North America, and has been a founder of agencies and technology ventures serving as a catalyst for transformational change in some of the world’s leading brands.
Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...Amazon Web Services
If you’re running a MySQL database at scale, there’s a good chance you’re sharding your database deployment. Sharding is a useful way to increase the scale of your deployment, but it has drawbacks like higher costs, high administration overheard and lower elasticity. It’s harder to grow or shrink a sharded database deployment to match your traffic patterns. In this session, we will discuss and demonstrate how to use AWS Database Migration Service to consolidate multiple MySQL shards into an Amazon Aurora cluster to reduce cost, improve elasticity and make it easier to manage your database.
Learning Objectives:
Learn how to scale your MySQL database at reduced cost and higher elasticity, by consolidating multiple shards into one Amazon Aurora cluster.
Tracxn Research - Chatbots Landscape, February 2017Tracxn
Deal volume and total dollars invested in the chatbots landscape rose by 108% and 129% respectively in 2016, with 192 chatbot startups setting up shop in 2016.
Database continuous integration, unit test and functional testHarry Zheng
Discuss continuous integration for database projects, including building project, deploying project to database, and executing unit tests and functional tests.
This presentation will also discuss database test standards, tips and tricks.
A beginner's guide to setting up your development environment to build a very basic "Hello World" web part using the SharePoint Framework and resources on how to keep learning more about it.
Drupal upgrades and migrations. BAD Camp 2013 versionDavid Lanier
Originally presented at PNW Drupal Summit 2013. Revised for BADCamp 2013.
You have an aging Drupal 6 or even a Drupal 5 site. You know it's time to move up to Drupal 7. Now, how? There are two main ways to get there. You can perform a traditional upgrade, or you can migrate the data from the old site to a brand new site. In this session I will show how you can use these methods and discuss their benefits and drawbacks, including a thought process to go through when evaluating these options, drawing from some recent projects.
The options for hosting ruby web application are plentiful, all with different advantages and disadvantages, options, limitations. How to start, how to grow, what are the pitfalls?
With this talk I’d first like to give a short overview of several cloud hosting alternatives such as plain VPS, AWS, EngineYard, Heroku, and provide some insights based on my experience with them – beyond just somehow getting it to run, but also how to handle continuous deployment, how to maintain and scale them.
While Rails already comes with many best practices build in, there are still plenty enough traps for you. We definitely had our fair share, and I’d like to share some of them for your entertainment and learning.
Dapper: the microORM that will change your lifeDavide Mauri
ORM or Stored Procedures? Code First or Database First? Ad-Hoc Queries? Impedance Mismatch? If you're a developer or you are a DBA working with developers you have heard all this terms at least once in your life…and usually in the middle of a strong discussion, debating about one or the other. Well, thanks to StackOverflow's Dapper, all these fights are finished. Dapper is a blazing fast microORM that allows developers to map SQL queries to classes automatically, leaving (and encouraging) the usage of stored procedures, parameterized statements and all the good stuff that SQL Server offers (JSON and TVP are supported too!) In this session I'll show how to use Dapper in your projects from the very basis to some more complex usages that will help you to create *really fast* applications without the burden of huge and complex ORMs. The days of Impedance Mismatch are finally over!
Slides for GUUG FFG2018 talk on rsyslog and containers. Describes the initial steps the rsyslog project took towards containers, uses cases seen by the team, problems we have seen and use of docker inside rsyslog's CI.
(This is the version of the session given at ICON UK, 13/9/18).
Domino v10 development will bring us Node.js integration in the form of the “NERD” stack - Node, Express, React and Domino. Using Node and React programming skills developers will be able to access Domino data via a Domino module running under Node. BUT WHAT IS NODE? In this session Tim explains what Node is, how to work with it, and how Domino developers will be be able to take advantage of this new platform.
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
OpenNTF presents Water Cooler Talks, an irregular new series of webinars to provide a stage for individuals sharing their stories, experiences and best practices with their peers.
This month's topic is all about developers' workbenches. As developers we all have tools and routines we use to develop, collaborate and test our applications. We have experienced lots of issues and made mistakes and have a workflow that does the job, but may not be ideal. Are there better ways to do our jobs? Come learn from your fellow developers in this webinar that looks at the typical toolbox and workflow routines of several OpenNTF Board members and how they develop apps, manage tasks, track bugs, handle versioning and more.
Howard Greenberg develops Notes/Domino/XPages applications for a variety of clients. Come learn how he uses source control in Domino Designer along with SourceTree and BitBucket to collaborate with his clients and maintain a history of all changes.
Jesse Gallagher develops XPages and webapp projects that target Domino. He will present his development environment and discuss using Maven and Jenkins to automate builds and delivery.
Serdar Basegmez utilizes Domino to create RESTful APIs for his clients. He will present his development environment and share some tips on Eclipse configuration, deployment and testing Domino plugins.
View the video at https://youtu.be/AMbQ5H4dEvw
SynapseIndia Drupal development
SynapseIndia Ecommerce development
SynapseIndia Sharepoint development
SynapseIndia PHP development
SynapseIndia Dotnet development
SynapseIndia Magento development
SynapseIndia MS Dynamic CRM
SynapseIndia Complaints
SynapseIndia Reviews
IBM Connections – Managing Growth and ExpansionLetsConnect
You are lucky, your Connections platform is experiencing rapid growth – now what? How to you determine when you have grown to where you need to build out the service? How do you grow WebSphere or the File Service Space? How do you add additional Web Servers or is it better to add a proxy server? Learn how to judge and decide what you need to change – and how to then implement it.
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014datafundamentals
Hadoop Demystified + Automation Smackdown!
You want to learn hadoop, we cover that. But then we also cover that automation process, so you can compare approaches. Includes code and references.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
2. AGENDA
• Server setup – a runthrough of the whole process
• Databases
• EJS and html templates
• Local build environments
• Homework
3. HOMEWORK 8 REVIEW
• Some folks are having a hard time with this one
• I am not looking for the database to populate the map markers,
but only the UI to do so
• Ignore the problem of when you refresh the page the database
markers do not appear
• I suggest working on everything but the map first
4. NEW SERVER FOR THE THIRD PROJECT
• The cspubl server you have been using has been great. The
webserver serves your page and you don’t need to sorry about
it.
• Now we want a server, though, so I’ve stood up a new machine.
This is on Digital Ocean (if we have time we’ll talk about that
process)
• You’ll need to log onto that machine using the same type of
SSH approach we have been using
5. NODEJS
• We’ve talked about this some in relation to the video we
watched a couple weeks ago.
• Our setup is WAY simpler, just those things you need
• NPM install
• Node [filename]
6. FIRST, GET THE PROJECT
• I’m going to ask you to fork my sample project this time
• You do this when you know you’ll be making changes that
don’t go back into the base project
• So fork https://github.com/derekja/simpleNode into your
github account
only one of you need do this per group, but it’s fine if more than one do
for now
I’d advise doing the same as for project 2 where one person forks and
gives commit permissions to the others
7. CLONE LOCALLY, MODIFY THE PROJECT
• Make sure you change it to use your database permissions and
your port number
• Then git add, commit, and push
8. LOG ONTO YOUR SERVER AND CLONE THE
PROJECT
• You can just do this from your home directory on this server,
no need to be in public_html anymore
• Can use the default name as we’ve been doing, but you can
also clone multiple forks and change the name of the directory
the go in. For instance:
• Git clone https://github.com/derekja/simpleNode.git
anotherSimpleNode
• This would clone into the “anotherSimpleNode” directory rather than
“simpleNode”
9. INSTALL THE DEPENDENCIES
• Because we are now using node, we have access to a wide array
of node extensions
• These all appear in the node_modules directory, but on your
newly cloned system that doesn’t exist yet so install it
• npm install
• (btw. There is a file in the project called .gitignore which lists
that files in the node_modules directory don’t get stored in
github. Why?)
10. TRY RUNNING IT
• Navigate into your directory on the server and type “node
express.js”
• The website will launch and will tell you what server port it is
using
• Make sure that this is your server port for your group! Edit it first, if not
• Now navigate to the site, for instance
• http://159.203.42.111:4001/ if you were running on port 4001
11. THE MORE COMPLEX EXAMPLES
• Stop the node.js server (cntrol-c) and then edit the other
examples to use your connection information and try firing
them up
• Only one server can run on each port at any time, so if multiple
people in your group are trying this make sure you coordinate!
• Try sql_ejs_example.js, although there are parts in there that
we haven’t talked about yet
13. DATABASE TO USE + MYSQL WORKBENCH
• Please don’t modify the testDB database, just leave it so
everyone’s samples can run
• You’ll want to create your own database for your project
• You’ll use MySQL Workbench for this
• Install that on your local machine from
https://dev.mysql.com/downloads/workbench/
14. CREATE A CONNECTION TO THE DATABASE
• This is on 206.12.96.242 (our cspubl server) and use the
default port of 3306
• In the email instructions I gave you a bit more complicated way
of connecting, but you can ignore that and just connect to the
port directly
• Use the username and password I sent each group in email!
15.
16.
17. 1) Select a default
database (double click
on testDB)
2) Enter your query
statement
3) Press the lightning bolt
button
18. USE MYSQL WORKBENCH TO CREATE A NEW
DATABASE
• You’ll need to do this for your project group, but let’s just re-
create the employees database for now
• Open a new query window
• Create a new database (name it something unique, maybe use
your group name)
• drop database if exists group0DB;
• create database group0DB;
19. ADD A TABLE AND POPULATE IT
• Select the new database as the default
• DROP TABLE IF EXISTS employees;
• CREATE TABLE employees( id integer, name text,
• designation text, manager integer,
• hired_on date, salary integer,
• commission float, dept integer);
•
• INSERT INTO employees VALUES (1,'JOHNSON','ADMIN',6,'1990-12-17',18000,NULL,4);
• INSERT INTO employees VALUES (2,'HARDING','MANAGER',9,'1998-02-02',52000,300,3);
20. RUN A TEST QUERY
• Select * from employees
• (or whatever other modifiers you want to run on your query)
21. MODIFY YOUR PROJECT TO USE THE NEW
DATABASE
• Edit on your machine, git add, commit, push
• Git pull on the server
• Run it again “node sql_ejs_example.js”
22. EJS TEMPLATES
• Why can’t we just use client side javascript?
• Everything goes to the client, including your database server credentials
• There’s no access to filesystems, etc.
• So we need some server side code from node.js, how do we get
that to the client?
• Lots of ways – react, angular, etc.
• But a relatively simple way is EJS – Embedded JavaScript
• http://www.embeddedjs.com/getting_started.html
24. A BIT MORE ON DATABASES
• I’ve only shown you the basic forEach loop over data from a
select statement. You can do much more than that and make
much more complex queries.
• Here is a good resource: https://www.sitepoint.com/using-
node-mysql-javascript-client/
• https://github.com/mysqljs/mysql
• http://www.w3resource.com/node.js/nodejs-mysql.php
26. SCREEN
• Since the webserver only runs when you have a console open,
how do you get it to keep running?
• Best option for our use is a tool called screeen
• https://www.digitalocean.com/community/tutorials/how-to-
install-and-use-screen-on-an-ubuntu-cloud-server
• https://www.rackaid.com/blog/linux-screen-tutorial-and-
how-to/
27. LOCAL DEVELOPMENT ENVIRONMENT
• The main thing missing is just nodejs
• https://nodejs.org/en/
• You’ll want to make sure that it works from your git bash
window so that you can use node and git from the same
window. The workaround if you can’t figure that out is just to
use node and git from separate windows. Ask on slack if you
have problems.
28. MY DEVELOPMENT PROCESS
• Work locally in a visual studio code window
• Have one git bash window open that is just for running the
node server
• Have another git bash window open where I check in and do
anything else in the shell I need to do
• Go back and forth between editing and viewing in a browser
• Checkin and push to the server when things are working the
way I want them
• Or when I want to take a risky development path and want to make sure
I can get back
29. HOMEWORK 10
• Due by class time on March 22, can be done as a project group but submission must
name each person who contributed
• Take my simpleNode example and fork it
• Modify it to point to your own database and so that the database reflects your project
data structure (need not be final)
• Modify the sql_ejs_example.js to output from your database (make sure to use your own
port number as described in the email)
• Use a more complicated query to get a subset of the records (only pull from the database
for this exercise, there is no need to write back to the database right now.)
• Send me your github link and your website, along with the names of each person who
contributed