<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jamie Walker</title>
    <description>The latest articles on DEV Community by Jamie Walker (@jdw88).</description>
    <link>https://dev.to/jdw88</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F642903%2F9667f5df-b81c-4dd6-a5fb-9b950d261be2.jpeg</url>
      <title>DEV Community: Jamie Walker</title>
      <link>https://dev.to/jdw88</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jdw88"/>
    <language>en</language>
    <item>
      <title>Diving Into Amazon PartyRock: A New Era of AI-Driven Creativity</title>
      <dc:creator>Jamie Walker</dc:creator>
      <pubDate>Wed, 27 Mar 2024 21:10:19 +0000</pubDate>
      <link>https://dev.to/jdw88/diving-into-amazon-partyrock-a-new-era-of-ai-driven-creativity-5pf</link>
      <guid>https://dev.to/jdw88/diving-into-amazon-partyrock-a-new-era-of-ai-driven-creativity-5pf</guid>
      <description>&lt;p&gt;Amazon's launch of PartyRock in November 2023 is a game-changer in making generative AI development on AWS more accessible to everyone. Thanks to early access through the Community Builders Program, I got a firsthand look at its potential. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is it?&lt;/strong&gt;&lt;br&gt;
Amazon PartyRock is as a user-friendly playground for anyone eager to experiment with generative AI, regardless of their technical background. The platform is designed to empower users to bring their AI-driven projects to life with minimal friction. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Started&lt;/strong&gt; &lt;br&gt;
Log in to Amazon PartyRock using your existing Amazon, Apple, or Google account. That's right - you don't even need an AWS account to get started!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Crafting Your Idea&lt;/strong&gt; &lt;br&gt;
Once signed in, PartyRock invites you to describe the functionality of the app you want to create. It's this simple input that kickstarts the generative process, with AI taking your concepts to the next stage of development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzx3r565nsn0dezrvesbs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzx3r565nsn0dezrvesbs.png" alt="Image description" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I decided to try creating a movie recommendation app, where users describe their movie preferences and get a list of suggestions in return.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Behind the Scenes with PartyRock&lt;/strong&gt;&lt;br&gt;
Under the hood, PartyRock taps into Amazon Bedrock; a fully managed service that offers a choice of high-performing foundation models, which can be accessed via an API. In this example, my Movie Recommendations widget is encapsulating the call to the &lt;strong&gt;InvokeModel&lt;/strong&gt; API. I can customise a number of things, including which underlying model to call, and the prompt.&lt;/p&gt;

&lt;p&gt;AWS's free trial for new PartyRock users balances the introduction to generative AI with a practical look at cost, determined by input/output tokens and images generated. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, what are tokens in the context of GenerativeAI?&lt;/strong&gt;&lt;br&gt;
Tokens are the bite-sized pieces of text that AI models use to make sense of human language. They dissect everything from single characters to whole phrases, and provide a flexible way to understand the flow of language. Essentially, tokens translate our input into numerical values that the AI model can interpret, acting as a crucial bridge between the subtleties of human language and the computational logic of the models.&lt;/p&gt;

&lt;p&gt;In Amazon PartyRock, the prompts you enter dictate the input tokens that are used. A prompt is essentially a natural language instruction that asks the generative AI to carry out a specific task. This can involve creating apps using the app builder or entering text into an app widget to generate results. The output is what the foundation models within PartyRock produce in response to your input, which can include both text and images. Additionally, the choice of model plays a significant role in credit consumption, with each model varying in how much it uses. The relative consumption of each model is indicated by a scale of 1 to 3 bars next to the model in the dropdown menu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Refinement and Testing&lt;/strong&gt;&lt;br&gt;
With the skeleton of your app ready, PartyRock offers intuitive tools for tweaking and fine-tuning.&lt;/p&gt;

&lt;p&gt;This is how our app looks out of the box:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjkgqt6o2lw9a5ipwibok.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjkgqt6o2lw9a5ipwibok.png" alt="Image description" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Initially, the app simply takes a textual description from the user to suggest movies. To offer more tailored suggestions, I added widgets for language and streaming service preferences. Editing the 'Movie Recommendation' widget to include these preferences in the prompt is straightforward, thanks to the ability to reference other widgets with the '@' symbol.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiihjljqiipapm5hofyvp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiihjljqiipapm5hofyvp.png" alt="Image description" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the above example we're capturing the user input from the description, language, and platform widgets and feeding this into our prompt, to provide more tailored recommendations. In the advanced settings, we can adjust the temperature or Top P settings, which on a text generation or chatbot widget increases the randomness of the model’s response, resulting in more creative and imaginative text. Lowering the temperature or Top P results in more factual text, which is what we're aiming for in this example. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3eniuby3pst7qvjmj76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3eniuby3pst7qvjmj76.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After tweaking, the LLM has recommended three movies based on my preferences, and I think it's done a fairly decent job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Launch and Share&lt;/strong&gt; &lt;br&gt;
Once satisfied with your creation, PartyRock guides you through the final steps to deploy your app, making it accessible for the world to see and use. You also have the option of keeping the app private should you wish. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Closing thoughts&lt;/strong&gt;&lt;br&gt;
Venturing into PartyRock, I was initially skeptical about the depth of applications that could be created without a deeper understanding of LLM's or GenerativeAI. However, the platform's intuitive design and ease of use really lowers the barrier of entry into GenerativeAI. It's great to see how a simple description can evolve into a functional AI application, ready to tackle real-world tasks.&lt;/p&gt;

&lt;p&gt;Getting hands-on with PartyRock has left me eager to dive deeper into Amazon Bedrock and other AI services. The move towards democratising technology, as seen with PartyRock, is a huge step towards a more inclusive, creative, and accessible approach to AI, opening the door to innovation from users of all backgrounds.&lt;/p&gt;

</description>
      <category>genai</category>
      <category>aws</category>
    </item>
    <item>
      <title>AWS re:Invent 2022 — Evolve or Die</title>
      <dc:creator>Jamie Walker</dc:creator>
      <pubDate>Wed, 07 Dec 2022 13:10:05 +0000</pubDate>
      <link>https://dev.to/jdw88/aws-reinvent-2022-evolve-or-die-4d4c</link>
      <guid>https://dev.to/jdw88/aws-reinvent-2022-evolve-or-die-4d4c</guid>
      <description>&lt;p&gt;AWS re:Invent 2022 was reportedly attended by over 60,000 people. As a first time attendee I was completely taken aback by the sheer scale of the event, and it did not disappoint.&lt;/p&gt;

&lt;p&gt;Before I start my review, I would firstly like to express my thanks and gratitude to the many people on the ground at the various venues in Las Vegas. &lt;/p&gt;

&lt;p&gt;From catering, who ensured that everyone was well looked after throughout the week, to the guides who carefully directed us to our destinations, these people played a key role in making the event a great success.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build systems that can evolve. And the best way to make evolvable systems, is to focus on event-driven architectures&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The main theme of the week was Event-Driven Architectures. A theme which was skilfully delivered in &lt;a href="https://youtu.be/RfvL_423a-I"&gt;Dr. Werner Vogels keynote on Thursday. &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As Werner eluded to in his keynote; Event-Driven Architectures are not a new pattern. In fact, they have been a popular approach to building loosely-coupled applications for many years. Werner referenced the Distributed Computing Manifesto; a canonical &lt;a href="https://www.allthingsdistributed.com/2022/11/amazon-1998-distributed-computing-manifesto.html"&gt;document&lt;/a&gt; released in 1998, which transformed the architecture of Amazon's e-commerce platform. The document hints at things to come and provides some early examples of using events to orchestrate a distributed system. &lt;/p&gt;

&lt;p&gt;There were many noteworthy announcements this year, many of which were communicated pre:Invent. However, in this post I will focus on my personal highlights. &lt;/p&gt;

&lt;h2&gt;
  
  
  ANNOUNCEMENTS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Serverless
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Amazon EventBridge Pipes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5F__m9H1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgryiuela2t56hsr5bbz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5F__m9H1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgryiuela2t56hsr5bbz.png" alt="EventBridge Pipes" width="880" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Werner began this announcement with an introduction into the pipes command in Unix, and how to this day it remains a very powerful tool. &lt;/p&gt;

&lt;p&gt;Up until this release, a large part of developing event-driven applications on AWS was handling communication between AWS services - typically this would consist of glue code to bind AWS services together, for example; if we wanted to propagate DynamoDB table changes to an SQS queue, we would need to write a Lambda function to handle this. We would also need to understand how to interact with SQS and implement error handling, exponential back-off, retries, etc. As our projects and platforms scale, the burden of maintaining this code multiplies.&lt;/p&gt;

&lt;p&gt;EventBridge Pipes aims to take this pain away by simplifying service integrations, behaving similarly to Pipes in Unix Operating Systems, facilitating communication between AWS services in a consistent and AWS managed way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step Functions Distributed Map&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Step Functions Map states have been around for some time and provide a means to execute a set of workflow steps for each item in a dataset. This is extremely powerful, and a feature of Step Functions I have used in a number of projects. One of the major limitations of the Map state was that it only supported up to 40 concurrent iterations.&lt;/p&gt;

&lt;p&gt;Enter Distributed Map...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mnMsDPr4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1wspco6ila2vofm1prjx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mnMsDPr4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1wspco6ila2vofm1prjx.png" alt="Distributed Map" width="880" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Supporting up to 10k concurrent iterations, Distributed Map opens up a world of possibilities for large scale, parallel data processing of objects stored in S3. I can already see where this might useful for many of the customers I work with.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lambda SnapStart&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cold starts have been one of the hurdles that Java developers have faced when looking to adopt serverless, more specifically when working with Lambda. This is due to the nature of the Lambda Function Lifecycle; the process involved in spinning up your execution environment and eventually executing your code. &lt;/p&gt;

&lt;p&gt;Lambda Snapstart aims to significantly reduce cold starts by taking an immutable, encrypted snapshot of the memory and disk state, and caching it for reuse. At launch, this feature is limited to the java11 runtime, which is understandable, since for example, Lambda Functions using frameworks such as Spring Boot can suffer from cold start times of up to 10 seconds. &lt;/p&gt;

&lt;p&gt;SnapStart is going to be a game changer for Java developers looking to modernise their applications on Lambda. I'll be keeping my eyes peeled for further runtime support in the coming months, as it would offer some really positive performance gains for a number of different workloads, such as ML. &lt;/p&gt;

&lt;h3&gt;
  
  
  Developer Tools
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;AWS Application Composer (Preview)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I think it's fair to say that AWS's Console UX can be pretty awful at times. However, credit where credit is due; they have really knocked it out the park for a few services. Namely Step Functions, where we're able to visualise our workflows in an easy to navigate tool within the console. &lt;/p&gt;

&lt;p&gt;AWS Application Composer provides a very similar experience, in terms of being able to use a simple drag and drop canvas to design and build serverless architectures. App Composer aims to reduce the complexity of getting to grips with the process of stitching together serverless services, and learning IaC tooling for ongoing maintenance of such services.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8aDfziL9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zg7ciz2jbxo96tra9sfx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8aDfziL9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zg7ciz2jbxo96tra9sfx.png" alt="Application Composer" width="880" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;App Composer is flexible, in that you're able to start completely from scratch or import existing projects using SAM or CloudFormation templates. It then maintains the visual representation of your application architecture in sync with your IaC, in real time.&lt;/p&gt;

&lt;p&gt;Whether you are new to AWS Serverless or a seasoned professional; I think Application Composer will offer a lot of value to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  COMMUNITY
&lt;/h2&gt;

&lt;p&gt;As an AWS Community Builder I had the opportunity to meet and network with fellow builders and found the experience to be very inspiring. It's a brilliant program that provides access to a network of like-minded AWS enthusiasts, specialists and tools to help you on your AWS journey. For anyone wanting to learn more about the program and join the waitlist for the next application round please visit &lt;a href="https://aws.amazon.com/developer/community/community-builders/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also did some work for &lt;a href="https://www.comsum.co.uk"&gt;AWS Comsum&lt;/a&gt;; interviewing a number of AWS folks, who gave up their time to talk to us and give us some really great insights into the various announcements and sessions they were running. You can find the interviews &lt;a href="https://www.youtube.com/@awscomsum3763/videos"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That's it for the recap of my re:Invent 2022. Thanks for reading and please feel free to connect on socials. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JdS7SXg2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hn72uljjb3cnrraodv9o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JdS7SXg2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hn72uljjb3cnrraodv9o.jpg" alt="Jamie Walker" width="880" height="1644"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
