A whirlwind tour of the benefits of functional programming languages and how you can put them to work in your web application's architecture. Learn how to make the most of a rich type system, immutable data structures, and other features of languages like Scala, Erlang, Haskell, and OCaml. Find out where to get started with functional languages, and how they stack up when it comes to web app development.
Modern Programming Languages - An overviewAyman Mahfouz
An overview of modern programming languages, with Kotlin as an example. We examine features of these languages including Groovy, Swift, and Go to point the trend in these languages.
C++ Tail Recursion Using 64-bit variablesPVS-Studio
I want to share with you a problem I run into comparing iterative and recursive functions in C++. There are several differences between recursion and iteration, this article explains the topic nicely if you want to know more. In general languages like Java, C, and Python, recursion is fairly expensive compared to iteration because it requires the allocation of a new stack frame. It is possible to eliminate this overhead in C/C++ enabling compiler optimization to perform tail recursion, which transforms certain types of recursion (actually, certain types of tail calls) into jumps instead of function calls. To let the compiler performs this optimization it is necessary that the last thing a function does before it returns is call another function (in this case itself). In this scenario it should be safe to jump to the start of the second routine. Main disadvantage of Recursion in imperative languages is the fact that not always is possible to have tail calls, which means an allocation of the function address (and relative variables, like structs for instance) onto the stack at each call. For deep recursive function this can cause a stack-overflow exception because of a limit to the maximum size of the stack, which is typically less than the size of RAM by quite a few orders of magnitude.
Molly Holzschlag - How HTML 5 is Going to Completely Change your Web AppCarsonified Team
The HTML 5 spec was originally called "Web Applications 1.0". Most of the attention has been on the new markup elements, but we'll look further at the applications side of the spec, including: 1. Dynamic images and graphs with canvas 2. Eliminating forms validation with webforms 2.0 3. Local storage for saving your data 4. Geolocation 5. Building toolbars and menus
Modern Programming Languages - An overviewAyman Mahfouz
An overview of modern programming languages, with Kotlin as an example. We examine features of these languages including Groovy, Swift, and Go to point the trend in these languages.
C++ Tail Recursion Using 64-bit variablesPVS-Studio
I want to share with you a problem I run into comparing iterative and recursive functions in C++. There are several differences between recursion and iteration, this article explains the topic nicely if you want to know more. In general languages like Java, C, and Python, recursion is fairly expensive compared to iteration because it requires the allocation of a new stack frame. It is possible to eliminate this overhead in C/C++ enabling compiler optimization to perform tail recursion, which transforms certain types of recursion (actually, certain types of tail calls) into jumps instead of function calls. To let the compiler performs this optimization it is necessary that the last thing a function does before it returns is call another function (in this case itself). In this scenario it should be safe to jump to the start of the second routine. Main disadvantage of Recursion in imperative languages is the fact that not always is possible to have tail calls, which means an allocation of the function address (and relative variables, like structs for instance) onto the stack at each call. For deep recursive function this can cause a stack-overflow exception because of a limit to the maximum size of the stack, which is typically less than the size of RAM by quite a few orders of magnitude.
Molly Holzschlag - How HTML 5 is Going to Completely Change your Web AppCarsonified Team
The HTML 5 spec was originally called "Web Applications 1.0". Most of the attention has been on the new markup elements, but we'll look further at the applications side of the spec, including: 1. Dynamic images and graphs with canvas 2. Eliminating forms validation with webforms 2.0 3. Local storage for saving your data 4. Geolocation 5. Building toolbars and menus
Tara Hunt - Your Social Media Strategy Wont Save YouCarsonified Team
Being friendly and helpful on Facebook and Twitter won't make your app succeed. In this valuable session, Tara will explain how to think 'customer centrically', put user happiness first, reward enthusiasts, learn not launch and raise whuffie. She'll also explain the difference between 'Influencers' and 'Enthusiasts' and why it's important to reach the latter. Don't miss it!
Dion Almaer & Ben Galbraith - Build Once, Deploy EverywhereCarsonified Team
The Web is becoming the common operating system across all devices, both mobile and desktop. In this talk Dion will explain the technology that you need to understand to make sure your app is ready for the next era where all web apps will need to be mobile. This is going to give web developers a HUGE advantage and opportunity to deploy their apps to multiple devices, and it's vital to understand what's coming down the pipeline. Dion will explain exactly that, and prepare you for what's coming. Exciting!
Steve Huffman - Lessons learned while at reddit.comCarsonified Team
Neil will teach you five advanced website traffic statistics that you NEED to be measuring, but probably aren't. It isn't good enough anymore to just measure click-through and conversion rates to your signup page. You need MUCH more detail and Neil will explain how to get it and make decisions accordingly. You'll be amazed at the increase in valuable sign-ups and revenue increases you can achieve.
Neil Patel - What You Need to be Measuring and How to Do ItCarsonified Team
Neil will teach you five advanced website traffic statistics that you NEED to be measuring, but probably aren't. It isn't good enough anymore to just measure click-through and conversion rates to your signup page. You need MUCH more detail and Neil will explain how to get it and make decisions accordingly. You'll be amazed at the increase in valuable sign-ups and revenue increases you can achieve.
Mike Mcderment - Marketing Metrics and the Systems You Need to Measure ThemCarsonified Team
Mike has grown FreshBooks from a one-man startup to a 30-person Web app company. He's going to teach you six essential terms that you need to understand in order to succeed with your app: 'Lifetime Value', 'Average Revenue per User', 'Churn', 'Gross Cost per Acquisition', 'Sales Funnel' and 'Customer Vintages'. He's then going to give an example with a real-life case study. This is one you can't afford to miss.
Fred Wilson - The 10 Golden Principles for Successful Web AppsCarsonified Team
In this session, Fred will share 10 vital principles that anyone working on a web app should know. His experience with Twitter, FeedBurner, Etsy, Delicious, Tumblr, Boxee, FourSquare, Meetup and more will prove invaluable to everyone attending.
Aaron Patzer - How to Take Your Start-up to the Next LevelCarsonified Team
Aaron successfully grew Mint.com from a small bootstrapped team to a large team that was acquired for $170M. In this session Aaron shared how he knew it was time to raise venture capital and grow his team aggressively. He also shared important lessons he's learned which you can directly apply to your business, whether you're raising venture capital or not.
Taking your Site from One to One Million Users by Kevin RoseCarsonified Team
At The Future of Web Apps London, Kevin shares the secrets to digg.com and wefollow.com's explosive user growth. He covers ten unique strategies that turn passive users into passionate advocates.
You'll learn:
1. How to encourage users to tweet about your app
2. The concept of "The Circle of Life" in web apps and how it affects you
3. Growing your userbase: What worked and what didn't for digg, WeFollow and Pownce
4. And more ...
Future of Web Apps Tour Edinburgh & Leeds presents "Lessons Learned from Selling Dropsend and other Web App Stories" by Ryan Carson, founder of Carsonified
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Tara Hunt - Your Social Media Strategy Wont Save YouCarsonified Team
Being friendly and helpful on Facebook and Twitter won't make your app succeed. In this valuable session, Tara will explain how to think 'customer centrically', put user happiness first, reward enthusiasts, learn not launch and raise whuffie. She'll also explain the difference between 'Influencers' and 'Enthusiasts' and why it's important to reach the latter. Don't miss it!
Dion Almaer & Ben Galbraith - Build Once, Deploy EverywhereCarsonified Team
The Web is becoming the common operating system across all devices, both mobile and desktop. In this talk Dion will explain the technology that you need to understand to make sure your app is ready for the next era where all web apps will need to be mobile. This is going to give web developers a HUGE advantage and opportunity to deploy their apps to multiple devices, and it's vital to understand what's coming down the pipeline. Dion will explain exactly that, and prepare you for what's coming. Exciting!
Steve Huffman - Lessons learned while at reddit.comCarsonified Team
Neil will teach you five advanced website traffic statistics that you NEED to be measuring, but probably aren't. It isn't good enough anymore to just measure click-through and conversion rates to your signup page. You need MUCH more detail and Neil will explain how to get it and make decisions accordingly. You'll be amazed at the increase in valuable sign-ups and revenue increases you can achieve.
Neil Patel - What You Need to be Measuring and How to Do ItCarsonified Team
Neil will teach you five advanced website traffic statistics that you NEED to be measuring, but probably aren't. It isn't good enough anymore to just measure click-through and conversion rates to your signup page. You need MUCH more detail and Neil will explain how to get it and make decisions accordingly. You'll be amazed at the increase in valuable sign-ups and revenue increases you can achieve.
Mike Mcderment - Marketing Metrics and the Systems You Need to Measure ThemCarsonified Team
Mike has grown FreshBooks from a one-man startup to a 30-person Web app company. He's going to teach you six essential terms that you need to understand in order to succeed with your app: 'Lifetime Value', 'Average Revenue per User', 'Churn', 'Gross Cost per Acquisition', 'Sales Funnel' and 'Customer Vintages'. He's then going to give an example with a real-life case study. This is one you can't afford to miss.
Fred Wilson - The 10 Golden Principles for Successful Web AppsCarsonified Team
In this session, Fred will share 10 vital principles that anyone working on a web app should know. His experience with Twitter, FeedBurner, Etsy, Delicious, Tumblr, Boxee, FourSquare, Meetup and more will prove invaluable to everyone attending.
Aaron Patzer - How to Take Your Start-up to the Next LevelCarsonified Team
Aaron successfully grew Mint.com from a small bootstrapped team to a large team that was acquired for $170M. In this session Aaron shared how he knew it was time to raise venture capital and grow his team aggressively. He also shared important lessons he's learned which you can directly apply to your business, whether you're raising venture capital or not.
Taking your Site from One to One Million Users by Kevin RoseCarsonified Team
At The Future of Web Apps London, Kevin shares the secrets to digg.com and wefollow.com's explosive user growth. He covers ten unique strategies that turn passive users into passionate advocates.
You'll learn:
1. How to encourage users to tweet about your app
2. The concept of "The Circle of Life" in web apps and how it affects you
3. Growing your userbase: What worked and what didn't for digg, WeFollow and Pownce
4. And more ...
Future of Web Apps Tour Edinburgh & Leeds presents "Lessons Learned from Selling Dropsend and other Web App Stories" by Ryan Carson, founder of Carsonified
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
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/
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
We’ve been building the Web for almost twenty years. In that time, we’ve seen tools come and go: Perl and CGI scripts, Cold Fusion, the popularity of building websites in Java, PHP, the rise of Ruby on Rails and dynamic languages.
We go from job to job and site to site, from language to language and framework to framework. But these tools are mostly incremental improvements on the tools that came before them. Take the best practices of the last generation, roll them up, call it a new tool. But what if there was a new tool, something strange but valuable, something that would transform the way you work, the way you solve problems?
I have a challenge for you. It’s early in 2010. It’s only February. By the end of the year, incorporate a functional programming language somewhere in your stack. If you do, I will guarantee that it benefits what you do.
Today, we’re going to talk about why I’m so sure that functional programming is going to be beneficial to you.
Object-oriented programming is a bit like making a film. You have your classes, they’re archetypes. Your actors are instances of those classes. You give them a script and you set your actors in motion. Once you know how to do it, it’s easy to make more films. But there’s always a lot that can go wrong when making one.
Lots of ways to describe FP. A couple favorites:
I think of FP as a bit like sitting down to do an equation at a chalkboard. Your program is an equation, and it all has to balance out. But once it does, you can be pretty sure that it’s correct.
A general definition.
Getting more specific.
Getting at the heart of the matter.
I want to talk about where functional languages fit best. There’s certain places where we have good tools. For example, JavaScript is a great tool for making things happen on a web page that’s been delivered to a browser. C is a great tool when you need direct access to hardware and explicit control of memory management. But there are plenty of places where you might need a new tool in your toolbox.
There are lots of numbers out there, but the fact is that every app has its own performance characteristics and concerns. The generalization I can make is that all the languages I’m going to talk about today have reasonable performance, often competitive with or better than the dynamic languages you’re probably working in. Some are even competitive with Java, C++, and pure C in some scenarios.
I can tell you from personal experience that it’s nice to be working in a language where speed isn’t a concern 90% of the time.
We’ve found that functional languages are great for building core infrastructure. We happen to use Scala, which has a robust type system, and the compiler helps us catch a lot of problems before we ever go into production. But type system aside, a functional approach also means we have more confidence that even highly concurrent systems are doing what they should be. We can reuse high-level functional components and know that they’re going to be reliable in other systems, too.
There’s a reason why the NSA goes to Galois, a Haskell and OCaml shop, to build provably correct implementations of cryptosystems. The combination of robust type systems and FP techniques make it possible to model complex interactions within a system, but guarantee that they all work together correctly. The emphasis in functional programming on limiting mutation of state makes it harder to put the wrong data in the wrong place. FP can give you tools to model capabilities easily and explicitly.
It’s not a magic security silver bullet – nothing is – but FP is a nice thing to have in your security toolbox.
This is the big slide of company logos that tells you you’re not crazy and alone.
These are just some well-known web companies working with functional languages. If you get into financial services, defense, and other mission-critical fields, you find an even higher penetration of FP.
When it comes to typing disciplines, there’s a nice variety of functional languages to choose from. And, of course, I’m leaving some perfectly lovely functional languages out and focusing on languages that have a fair bit of momentum in the web app world right now.
Another way to pick a language is based on its runtime.
Personally, my money is on languages like Scala, Clojure, and F# that build on and interface with mature, widely deployed platforms like the JVM and the .NET CLR. I think they have the best blend of practicality and FP goodness.
Still a third way to pick your functional language of choice is by age. Some of these languages are quite new, like Clojure. Some of them go back decades. There are advantages and disadvantages on both counts.
There are plenty of great web frameworks out there for functional languages. If you like frameworks, you’re starting from the ground up, and you want to dive into FP, this path is for you.
Another way to introduce FP at your organization is to build new pieces of core infrastructure. This is nice because it isolates the problem and largely frees you up from worrying how to get this newfangled thing to talk to the rest of your system. You just pick an integration point – a database, a message queue, an RPC layer like Thrift – and go from there.
So why am I up here telling you to learn a functional language? Because I’m probably a user of your products, or I’m going to be. I want your application to be faster. I want your site to be up. I want your site to be resilient to attacks.
That’s the point of all this. Anyone who’s done it will tell you that functional programming makes you a better programmer, that it helps you see problems differently. But I’m interested in a new narrative, one in which functional languages are synonymous with successful companies.
So learn a functional language in 2010. Be successful. And spread the word.