A very gentle introduction to Elm, based on personal experience. Includes steps to create a small tic-tac-toe on Elm that you publish on GitHub pages. Accompanying source on GitHub.
Merged Automation Talk - Pete Carapetyan - Feb 2016 petecarapetyan
also see video of actual presentation at https://youtu.be/4qPBPCwmZhk
Made to the Austin Devops Meetup
One of several "lightning" talks - 10 minute talks on tool focused devops.
A primeira coisa que te respondem quando você diz que trabalha com JavaScript é: "Ahh.. aquela linguagem do callback hell.. sei..".
Felizmente as Promises vieram ao resgate de diversas características e funcionalidade que perdemos ao trabalhar com procedimentos assíncronos.
Nesta palestra pretendo expor o que temos feito de errado, o que podemos fazer melhor, e como utilizar alguns patterns de Promises para ter uma melhor legibilidade e qualidade de código, tanto no FrontEnd quanto no BackEnd.
Merged Automation Talk - Pete Carapetyan - Feb 2016 petecarapetyan
also see video of actual presentation at https://youtu.be/4qPBPCwmZhk
Made to the Austin Devops Meetup
One of several "lightning" talks - 10 minute talks on tool focused devops.
A primeira coisa que te respondem quando você diz que trabalha com JavaScript é: "Ahh.. aquela linguagem do callback hell.. sei..".
Felizmente as Promises vieram ao resgate de diversas características e funcionalidade que perdemos ao trabalhar com procedimentos assíncronos.
Nesta palestra pretendo expor o que temos feito de errado, o que podemos fazer melhor, e como utilizar alguns patterns de Promises para ter uma melhor legibilidade e qualidade de código, tanto no FrontEnd quanto no BackEnd.
A short presentation of Redis Queue (python-rq.org) and integrating it with Python/Django.
Watch the presentation here: https://www.youtube.com/watch?v=-WGMgFcnolw
Deploying to DigitalOcean With GitHub ActionsDigitalOcean
Watch this Tech Talk: https://do.co/video_karanmv
Find yourself juggling between different tools in your software development & deployment workflow? Karan MV, Developer Relations Professional for GitHub India, provides tips to simplify your workflow using GitHub Actions and DigitialOcean's APIs. Watch as he concludes with a demo of running a CI/CD pipeline to deploy on DigitalOcean.
About the Presenter
Karan MV currently manages developer relations for GitHub India. When he is not working, you can find him reading books of various genres, studying filmmaking, and honing his acting and stage-anchoring skills.
New to DigitalOcean? Get US $100 in credit when you sign up: https://do.co/deploytoday
To learn more about DigitalOcean: https://www.digitalocean.com/
Follow us on Twitter: https://twitter.com/digitalocean
Like us on Facebook: https://www.facebook.com/DigitalOcean
Follow us on Instagram: https://www.instagram.com/thedigitalocean/
We're hiring: http://do.co/careers
Leiningen2 - humane build management for clojureJohn Stevenson
Managing project builds does not have to be an endless fight with XML. Using Leiningen for Clojure projects allows you to define the project in Clojure as well.
JS Fest 2018. Алексей Волков. Полезные инструменты для JS разработкиJSFestUA
Во время доклада мы рассмотрим на практическом примере широкий набор инструментов, которые призваны облегчить жизни джаваскрипт разработчика и сделать сам процесс разработки удобным, приятным и эффективным. Мы пройдемся по всем стадиям технического развития проекта: от первого коммита и настройки рабочего окружения, до документации и деплоя. Рассмотрим самые разнообразные утилиты и сервисы для генерации кода, поддержки его качества, тестирования и многое другое, что обязательно станет вашей верной помощью в работе.
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot
See how Kamil Cholewiński talks about Practical automation in Tech Talk episode 10
Visit pilot.co — World’s best engineering and design talent on demand.
YouTube: https://youtu.be/x0eQ7x7xN8o
Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm - Erik Wende...Codemotion
In times where a jungle of JavaScript frameworks wants to solve every conceivable problem in web app development, Elm offers a different approach. Elm is a functional language that compiles to JavaScript. It has a user-friendly compiler, a sound type system, built-in immutability and lots of other features that come in handy when developing large, hopefully bug-free, single-page apps. While having fun in the process! In this talk you'll see how Elm works and learn how to use it to build a web app. More importantly, you'll learn the pros and cons of using it over a JavaScript-based solution.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2J5O3XV.
Howard Chu gives tips and techniques for writing highly efficient and scalable software drawn from decades of experience. The guiding principle is a simple one, and can be applied nearly everywhere. The talk is focused on programming in C. Filmed at qconlondon.com.
Howard Chu founded Symas Corp. with 5 other partners and serves as its CTO. His work has spanned a wide range of computing topics, including most of the GNU utilities, networking protocols and tools, kernel and filesystem drivers, and focused on maximizing the useful work from a system. His current focus is database oriented, covering LDAP, LMDB, and other non-relational database technologies.
Things you should know about Node.js. An open-source, cross-platform JavaScript runtime environment for developing a diverse variety of tools and applications.
Demo files: https://github.com/bedis-elacheche/node-workshop-12.16
A short presentation of Redis Queue (python-rq.org) and integrating it with Python/Django.
Watch the presentation here: https://www.youtube.com/watch?v=-WGMgFcnolw
Deploying to DigitalOcean With GitHub ActionsDigitalOcean
Watch this Tech Talk: https://do.co/video_karanmv
Find yourself juggling between different tools in your software development & deployment workflow? Karan MV, Developer Relations Professional for GitHub India, provides tips to simplify your workflow using GitHub Actions and DigitialOcean's APIs. Watch as he concludes with a demo of running a CI/CD pipeline to deploy on DigitalOcean.
About the Presenter
Karan MV currently manages developer relations for GitHub India. When he is not working, you can find him reading books of various genres, studying filmmaking, and honing his acting and stage-anchoring skills.
New to DigitalOcean? Get US $100 in credit when you sign up: https://do.co/deploytoday
To learn more about DigitalOcean: https://www.digitalocean.com/
Follow us on Twitter: https://twitter.com/digitalocean
Like us on Facebook: https://www.facebook.com/DigitalOcean
Follow us on Instagram: https://www.instagram.com/thedigitalocean/
We're hiring: http://do.co/careers
Leiningen2 - humane build management for clojureJohn Stevenson
Managing project builds does not have to be an endless fight with XML. Using Leiningen for Clojure projects allows you to define the project in Clojure as well.
JS Fest 2018. Алексей Волков. Полезные инструменты для JS разработкиJSFestUA
Во время доклада мы рассмотрим на практическом примере широкий набор инструментов, которые призваны облегчить жизни джаваскрипт разработчика и сделать сам процесс разработки удобным, приятным и эффективным. Мы пройдемся по всем стадиям технического развития проекта: от первого коммита и настройки рабочего окружения, до документации и деплоя. Рассмотрим самые разнообразные утилиты и сервисы для генерации кода, поддержки его качества, тестирования и многое другое, что обязательно станет вашей верной помощью в работе.
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot
See how Kamil Cholewiński talks about Practical automation in Tech Talk episode 10
Visit pilot.co — World’s best engineering and design talent on demand.
YouTube: https://youtu.be/x0eQ7x7xN8o
Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm - Erik Wende...Codemotion
In times where a jungle of JavaScript frameworks wants to solve every conceivable problem in web app development, Elm offers a different approach. Elm is a functional language that compiles to JavaScript. It has a user-friendly compiler, a sound type system, built-in immutability and lots of other features that come in handy when developing large, hopefully bug-free, single-page apps. While having fun in the process! In this talk you'll see how Elm works and learn how to use it to build a web app. More importantly, you'll learn the pros and cons of using it over a JavaScript-based solution.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2J5O3XV.
Howard Chu gives tips and techniques for writing highly efficient and scalable software drawn from decades of experience. The guiding principle is a simple one, and can be applied nearly everywhere. The talk is focused on programming in C. Filmed at qconlondon.com.
Howard Chu founded Symas Corp. with 5 other partners and serves as its CTO. His work has spanned a wide range of computing topics, including most of the GNU utilities, networking protocols and tools, kernel and filesystem drivers, and focused on maximizing the useful work from a system. His current focus is database oriented, covering LDAP, LMDB, and other non-relational database technologies.
Things you should know about Node.js. An open-source, cross-platform JavaScript runtime environment for developing a diverse variety of tools and applications.
Demo files: https://github.com/bedis-elacheche/node-workshop-12.16
Concurrent Programming with Ruby and Tuple Spacesluccastera
Ruby threads are limited due to the Global Interpreter Lock. Therefore, the best way to do parallel computing with Ruby is to use multiple processes but how do you get these processes to communicate?
This session will provide some strategies for handling multi-process communication in Ruby, with a focus on the use of TupleSpaces. A TupleSpace provides a repository of tuples that can be accessed concurrently to implement a Blackboard system. Ruby ships with a built-in implementation of a TupleSpace with the Rinda library.
During the session, Luc will demonstrate how to use Rinda and will highlight other libraries/projects that facilitate interprocess communication and parallel computing in Ruby.
PHP Mega Meetup, Sep, 2020, Anti patterns in phpAhmed Abdou
PHP is one of the easiest programming languages to use ever and powers more than half of the internet.
With this ease of use, certain common patterns emerge that become harmful. This is especially true when your product or service is not expected to die soon. Some anti-patterns are coding, others are related to operating your service, especially with new docker stacks. We will go over some of the most common pitfalls with a focus on enterprise development.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
1. Briefly about Elm
Jump in and swim
– An app onGitHub pages
Your first Elm program
Per Lundholm 1
Per Lundholm Crisp
2. How many consider themselves
– Developers?
– Front end developers?
– Back end developers?
– Full stack developers?
Per Lundholm 2
Survey
3. I was happilydoing server side rendered web pages with some Ajax
Then, one day I was no longer a developer, I was a backend developer
I decided to learn some JavaScript to get backinto doing the whole
thing
Per Lundholm 3
What happened?
5. A pure functional languagefor the web
– Compiles to JavaScript
On the box it says:
– No runtime errors inpractice. No null. No undefined is not a function.
– Friendly errormessages that helpyou add features more quickly.
– Well-architected codethat stayswell-architected as your app grows.
– Automatically enforced semantic versioning for all Elm packages.
Per Lundholm 5
Elm to the rescue
6. Afterhobbyhackingandfulltimefor 5months:
– Type safe to the bone, yet lean
• No null,insteadMaybe andhandle both cases
• No exceptions
• No switchwithouthandlingallcases
– When it compiles, it works – in runtime!
• Refactoringguided bythe compiler
– All state in on place, not scattered about in components
– Nice pattern for model, view and update
– Small footprint
– Fast
Per Lundholm 6
Personally,I like
7. The nice clean world ofElm
Per Lundholm 7
Json Decode/Encode
Port
Safe
REST
JavaScript
8. Like most languageElm has
– Strings
• “Agile means good”
– Numbers
• 2 is anintegerand3.14is afloat
– Lists
• [“all”,“has”“tobe”, “same”,“type”]
– Tuples
• (“left”,godzilla,14)
Per Lundholm 11
Let’s do Elm!
9. Per Lundholm 12
Elm Records
Please note the syntax for creating a new record based on the current
10. Modules
– A module encapsulates its functions and types unless they are exposed (made
public)
– Access other modules by import.
Per Lundholm 13
Elm modules
11. Functions
– A function will always return the same result for a given input.
• Getting thetime ofdayorgenerating arandomnumberarenotfunctions.
Per Lundholm 14
Elm functions
12. Model
– Theone and only for the whole app across all your pages.
View
– Theviewis a function that takes the model and presents it.
– If usercan interact with something, it will result in a Message
Update
– Takes a Message and the Model.
– Creates the next state of the Model.
Per Lundholm 15
Structure of an Elm app
14. One ofmyfirstprograms wasa 3x3Tic-tac-
toe
– It learnt by its mistakes.
– Don’t ask me how the board was presented.
Now,let’sdo thisfortheweb!
Per Lundholm 18
Project: Tic-tac-toe
An 8-bit processor with
2K RAM and I/O. Display:
6 LED numbers.
Hexadecimal keyboard.
15. Who has a laptop?
Of those, who hasprepared their laptops according to the instructions?
– https://crispab.github.io/elm-workshop/
Who has published to GitHub pages?
Jimmy Janlén &Per Lundholm 19
Status check
16. Clone the workshop source.
– git clone https://github.com/crispab/elm-workshop
Clone your project repository.
– git clone https://github.com/<username>/<project-repository>
– cd <project-repository>
– elm init
– cp ../elm-workshop/index.html .
– cp ../elm-workshop/src/Main.elm src
– cp ../elm-workshop/*.sh .
Per Lundholm 20
Step 0
17. Run the project app and see that it works.
– sh run.sh
Publish it to GitHub pages.
– git push
Per Lundholm 21
Deploy an Elm app
33. More on the tic-tac-toe
– Determinewinner, play against computer (AI), graphical styling, sound,
arbitrary large board.
Official guide: https://guide.elm-lang.org/
Example projects that requires no backend
– Thedice gameof the book “The Goal” by Goldrath
• Showleadtime andthroughput
– Text based adventure game
• The originalfromthe 70’sis available online(see docs)
– Loan calculator
• How much canyouborrowgiven interestandexpenses?
Per Lundholm 37
Epilogue
Editor's Notes
Run.sh kräver elm-live
Look at the Elm code.
Look at the index.html
Look at the run.sh
Start off with changing the view. We get a compiler error.
Add the Flip message. Now the update function is wrong.
Fix the update. Compiles!
Let’s add a buttonValue to our model. Interesting compiler error.
Create a Model and let init be a function that returns it.
Compiles!
type defines and names a new type (which behaves like an enum with data attached), and type alias gives a name to an existing type.
type alias isn’t creating a distinct type, it is literally just giving a name to an existing type. A type alias will save you keystrokes, but do nothing more.
Noticed the little black thing in the lower right corner? Click on it.
To the left are messages and to the right is the state of the model that resulted from processing the message.
Click on them to see the different states.
Using a string for logic is error prone. Let’s introduce a type!
So to get a grip, let’s introduce type declarations for update and view functions.
We wish to show how is next in turn so we will introduce the current player concept in the model.
Let’s also make current player part of the button message.
When a player makes a move, then the next player becomes the current player.
We want a 3x3 board, how shall we represent that? There are options but we select a list of lists.
We use List.map to display the board.
The Flip message now needs to tell us which cell it was, as there are now 9 and not one.
But how do we get the row and column? We use an indexed map!
We want to update the board when someone clicks. So let’s say we have an updateBoard function.
First make a empty function. How do you replace a value in a list? We will show you one way.
But to set the value in a list of list, we first need to get the list that is the row.
Look how we do pattern matching on lists in the case statement.
Now we have both set and get so we can update the board.