<?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: Alana Edwards</title>
    <description>The latest articles on DEV Community by Alana Edwards (@prettyalana).</description>
    <link>https://dev.to/prettyalana</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%2F1199688%2F56f4bc01-bb26-440b-819b-70e10ec3b90d.jpeg</url>
      <title>DEV Community: Alana Edwards</title>
      <link>https://dev.to/prettyalana</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prettyalana"/>
    <language>en</language>
    <item>
      <title>Understanding The Nuance of UX Research Through a Behavioral Science Lens</title>
      <dc:creator>Alana Edwards</dc:creator>
      <pubDate>Sat, 31 Jan 2026 17:11:43 +0000</pubDate>
      <link>https://dev.to/prettyalana/understanding-the-nuance-of-ux-research-through-a-behavioral-science-lens-hcc</link>
      <guid>https://dev.to/prettyalana/understanding-the-nuance-of-ux-research-through-a-behavioral-science-lens-hcc</guid>
      <description>&lt;p&gt;&lt;em&gt;If you don't actually know what's wrong with you or that a food is causing problems, how can you change it? If you're unaware that you're destroying your health, then what can be done? How do people become aware of health issues related to their diet, that they didn’t know existed?&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;These three questions are the crux of what my research is trying to explore.&lt;/p&gt;

&lt;p&gt;Hi everyone,&lt;/p&gt;

&lt;p&gt;A little shy of two weeks ago, I posted a survey in r/foodscience originally titled “How Health Education Impacts Dietary Choices” which I later changed to “How people’s perception of health information influences dietary choices” for better clarity and was immediately met with pushback. Some commenters thought I was implying causation. Even after clarifying the purpose of my discovery-phase UX research, the post was removed and the misunderstanding was not fully cleared. I wanted to invite discussion on the nuances of UX research in the context of health and food science.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;:&lt;br&gt;
My research explores how people perceive and act on personalized health information. The inspiration came from my grandmother and myself noticing how certain foods affected our bodies, such as aches or sluggishness, and realizing that people often do not fully understand how the foods they eat interact with their health. The “How” in the title was purely observational and did not imply causation. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Research purpose&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand where people get health information&lt;/li&gt;
&lt;li&gt;Learn how people perceive and use health information&lt;/li&gt;
&lt;li&gt;Learn how they perceive the effects of foods on their body&lt;/li&gt;
&lt;li&gt;Identify pain points and benefits of existing health apps&lt;/li&gt;
&lt;li&gt;Collect behaviors and habits around diet and health&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to prove that knowledge alone improves health. Instead, I am conducting discovery-phase UX research, focused on understanding behaviors and perceptions. Insights from this survey will inform user personas and stories, which are used to design a product tailored to real user needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example of personalized feedback&lt;/strong&gt;:&lt;br&gt;
Someone with hypertension may not realize their favorite sauce contains high sodium. Personalized insights like this can influence choices, but this is observational, not causal. I do not explicitly say: “use my app and your health will improve!”. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nudging and personalized feedback&lt;/strong&gt;:&lt;br&gt;
There is something called nudging, which behavioral research has proven to be effective for some people. I am emphasizing that it is not just information alone, it is personalized, immediate feedback that outputs health facts and frames them so someone can understand how specific foods impact their health. The survey is intentionally designed to be open-ended and observational, to hear other people’s perspectives rather than inserting my own. This is to help mitigate bias.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why this matters&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;While knowledge alone is limited, habits, preferences, and other psychological factors do matter&lt;/li&gt;
&lt;li&gt;Personalized, actionable feedback (nudges) can influence behaviors for some people&lt;/li&gt;
&lt;li&gt;UX research helps us understand how people perceive, interpret, and act on information before building features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Discovery-phase approach&lt;/strong&gt;:&lt;br&gt;
I am collecting data on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Health app usage&lt;/li&gt;
&lt;li&gt;Dietary awareness and choices&lt;/li&gt;
&lt;li&gt;Lifestyle habits and health conditions&lt;/li&gt;
&lt;li&gt;Pain points with current apps&lt;/li&gt;
&lt;li&gt;User perceptions of how food affects them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would love some feedback: Are there nuances I am missing in how UX research intersects with health behavior? Could my approach be improved to better understand behavior?&lt;/p&gt;

&lt;p&gt;Thanks for taking the time to read. &lt;/p&gt;

&lt;p&gt;Feel free to take the survey here: &lt;a href="https://5qk8bersmqc.typeform.com/to/KLOcu5CV" rel="noopener noreferrer"&gt;https://5qk8bersmqc.typeform.com/to/KLOcu5CV&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ux</category>
      <category>uxdesign</category>
      <category>ui</category>
      <category>uidesign</category>
    </item>
    <item>
      <title>My Journey as a Production Engineer Fellow in the Meta x MLH Fellowship Program</title>
      <dc:creator>Alana Edwards</dc:creator>
      <pubDate>Tue, 29 Jul 2025 00:55:46 +0000</pubDate>
      <link>https://dev.to/prettyalana/my-journey-as-a-production-engineer-fellow-in-the-meta-x-mlh-fellowship-program-2adn</link>
      <guid>https://dev.to/prettyalana/my-journey-as-a-production-engineer-fellow-in-the-meta-x-mlh-fellowship-program-2adn</guid>
      <description>&lt;p&gt;I am now halfway through the fellowship and reflecting on my journey thus far. &lt;/p&gt;

&lt;p&gt;For the past six weeks I've been learning new technical skills; however, as we begin week seven, I think it's important to impart the knowledge I've gained. Today, I will take you through my journey as a Production Engineering Fellow, while highlighting the key lessons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 1:&lt;/strong&gt; For the very first time, I used &lt;strong&gt;Flask&lt;/strong&gt;, a lightweight Python library to build a portfolio website. The technologies that we were introduced to in order to complete this project were: Python virtual environments, package managers, and &lt;strong&gt;Jinja&lt;/strong&gt;, a templating engine. Additionally, I got more in depth learning about Git and version control. Another element to this project that was very exciting, was being paired with another fellow to do code reviews, I rebased my feature branch onto one consolidated branch to ensure that the history was clean and linear, making it easier for my partner to review the pull request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 2:&lt;/strong&gt; I was introduced to Linux fundamentals and for the first time ever, I set up a &lt;strong&gt;Digital Ocean Droplet&lt;/strong&gt; (VPS) and deployed my portfolio project. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 3:&lt;/strong&gt; This is where things got a little daunting. This week we were assigned bash scripting challenges, and they were indeed very challenging. This was also my first time writing bash scripts and I learned about its importance in automating tasks and how bash scripting is used in Production Engineering. As for the portfolio project, I wrote a redeployment script to automate deployment using a detached &lt;code&gt;tmux&lt;/code&gt; session. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 4:&lt;/strong&gt; We were introduced to services and the &lt;strong&gt;MySQL&lt;/strong&gt; database. For the first time ever, I configured a &lt;strong&gt;MySQL&lt;/strong&gt; database on the VPS. After configuring the database, I then created a &lt;code&gt;systemd&lt;/code&gt; service and redeployed the portfolio project on the service instead of the detached &lt;code&gt;tmux&lt;/code&gt; session. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 5:&lt;/strong&gt; We learned about Test Driven Development (TDD) and while this wasn't my first time writing unit tests, it was my first time writing tests using Python's &lt;code&gt;unittest&lt;/code&gt; framework. This week, we were again paired with another fellow to write tests for each other's portfolio projects. We cloned each other’s projects and submitted pull requests on our respective repositories where we committed the test code. After pulling the branch locally to confirm that everything was working, we finally merged the pull requests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 6:&lt;/strong&gt; Introduction to &lt;strong&gt;Docker&lt;/strong&gt;, &lt;strong&gt;Docker Compose&lt;/strong&gt;, and &lt;strong&gt;Nginx&lt;/strong&gt;. This week's learning is pivotal in DevOps and Production Engineering. Docker abstracts different capabilities and removes hardware dependencies to solve the issue of "it works on my machine". Docker effectively “cures” environment inconsistencies by running containers that work consistently across any system. I wrote my first &lt;code&gt;docker-compose.yml&lt;/code&gt; file, containerized my application, and set up an &lt;strong&gt;Nginx&lt;/strong&gt; container to act as a reverse proxy. I also configured SSL certificates using a &lt;code&gt;jonasal/nginx-certbot&lt;/code&gt; image, which helped me understand secure web traffic and &lt;strong&gt;HTTPS&lt;/strong&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TIL: Max/MSP/Jitter</title>
      <dc:creator>Alana Edwards</dc:creator>
      <pubDate>Wed, 19 Jun 2024 06:36:02 +0000</pubDate>
      <link>https://dev.to/prettyalana/til-maxmspjitter-36l2</link>
      <guid>https://dev.to/prettyalana/til-maxmspjitter-36l2</guid>
      <description>&lt;p&gt;Console.log (“Hello World!”)&lt;br&gt;
 &lt;br&gt;
It’s been a very long time since I last posted! However, I came across something so fascinating that I couldn’t resist posting about it. “What is it?” You may ask, to which my response will be “read the title of this post.” &lt;br&gt;
 &lt;br&gt;
I was perusing through Eventbrite looking for tech meetups and networking events when I came across Signals and Pixels Art &amp;amp; Tech Meetup held at Hairpin Art Studio in the Avondale neighborhood of Chicago. The most interesting part about this meetup was something called “creative coding.” As a self-proclaimed music enthusiast and crochet hobbyist, I saw both art, music, and programming come together in the most extraordinary way. &lt;br&gt;
 &lt;br&gt;
&lt;strong&gt;Today I learned&lt;/strong&gt; about a very interesting programming language called Max, also referred to as Max/MSP or Max/MSP/Jitter. Max is a visual block-based audio and multimedia programming language. &lt;br&gt;
 &lt;br&gt;
When I saw it, my first reaction was, "Scratch, is that you?” Scratch is also a visual block-based programming language; however, it isn’t strictly for music or multimedia.&lt;br&gt;
 &lt;br&gt;
Then I heard an ethereal sound that I titled “Quiescence Harmony,” created by a developer who wanted to listen to calming music while coding. Instead of finding music to listen to on Spotify, YouTube, SoundCloud, or Apple Music, he decided to create the music himself using the Max programming language. With some experimentation, or rather, when the developer added a block of code, to my dismay, the harmony quickly turned into a cacophony of sounds. It’s okay! He quickly rectified it by getting rid of that block of code and adding some additional blocks that produced a serene sound that complemented the original “Quiescence Harmony.” That wasn’t the end of it. There were visuals that accompanied and responded to the music! &lt;br&gt;
 &lt;br&gt;
If you’re a developer who loves music and art, Max might be the programming language for you. &lt;/p&gt;

</description>
      <category>todayilearned</category>
      <category>programming</category>
      <category>learning</category>
      <category>development</category>
    </item>
    <item>
      <title>TIL: Today I Learned Sinatra</title>
      <dc:creator>Alana Edwards</dc:creator>
      <pubDate>Wed, 19 Jun 2024 05:51:33 +0000</pubDate>
      <link>https://dev.to/prettyalana/til-today-i-learned-sinatra-2mjc</link>
      <guid>https://dev.to/prettyalana/til-today-i-learned-sinatra-2mjc</guid>
      <description>&lt;p&gt;So, I've been slowly but steadily making progress in learning the Ruby programming language. As a beginner, I've heard the terms "front-end development", "back-end development", and "full stack development" but what exactly do they mean? Well, I learned that Ruby is a backend language. The backend is comparable to the gears in a clock; they are essential for a clock or watch to work but the owner doesn't actually see the gears turning (depending on some watches and clocks). The only difference is, users almost never will see or access server-side data infrastructure. Why you may ask? My answer is &lt;em&gt;drum-roll please&lt;/em&gt; &lt;strong&gt;backend frameworks&lt;/strong&gt;; such as Ruby on Rails and Sinatra. Sinatra is a lightweight framework that enables developers to make small applications&lt;br&gt;
I understand that users don't actually see &lt;em&gt;routes&lt;/em&gt;, &lt;em&gt;HTTP calls&lt;/em&gt; or &lt;em&gt;api tokens&lt;/em&gt; and most users are not aware that they can change the route of an address to get to the desired content (granted the content exists and unless that user is a computer whiz or works in the tech industry). &lt;/p&gt;

</description>
      <category>programming</category>
      <category>ruby</category>
      <category>todayilearned</category>
      <category>webdev</category>
    </item>
    <item>
      <title>TIL: Today I learned Regular Expressions (Regexp)</title>
      <dc:creator>Alana Edwards</dc:creator>
      <pubDate>Sun, 26 Nov 2023 03:45:24 +0000</pubDate>
      <link>https://dev.to/prettyalana/til-today-i-learned-regular-expressions-regexp-job</link>
      <guid>https://dev.to/prettyalana/til-today-i-learned-regular-expressions-regexp-job</guid>
      <description>&lt;p&gt;So, lately I've been learning the Ruby programming language. As a complete beginner it's important to learn and apply the foundational concepts in order to succeed at programming. Therefore, I've been completing all of my module assignments in order to be best prepared for success as a full stack developer. Today, I was working on the "Character Types" assignment where I was tasked with writing a program that takes a randomly sampled &lt;em&gt;string&lt;/em&gt; and outputs the total number of letters, spaces, and digits in the given string.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;strings = [&lt;br&gt;
  "here 12 plus 25",&lt;br&gt;
  "puzzle number 04 ",&lt;br&gt;
  " "&lt;br&gt;
]&lt;br&gt;
string = strings.sample&lt;br&gt;
pp string&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;I used regular expressions (regexp), the &lt;strong&gt;.scan&lt;/strong&gt; method,  and the &lt;strong&gt;.length&lt;/strong&gt; method to make that possible.           &lt;/p&gt;

&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Regular expressions are a sequence of characters that match a string. They are very useful for extracting information from a string or when you're using the &lt;strong&gt;.gsub&lt;/strong&gt; method to replace information inside of a string. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this example:&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;letter_count = string.scan(/[A-za-z]/).length&lt;br&gt;
pp "Number of letters in the string is: #{letter_count}"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;



&lt;p&gt;&lt;code&gt;space_count = string.scan(/\s/).length&lt;br&gt;
pp "Number of spaces in the string is: #{space_count}"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;



&lt;p&gt;&lt;code&gt;digit_count = string.scan(/\d/).length&lt;br&gt;
pp "Number of digits in the string is: #{digit_count}"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I wanted to get the letter count, space count, and digit count of the randomly outputted string. So in order to do so, I used the &lt;strong&gt;.scan()&lt;/strong&gt; method to iterate through the strings and &lt;strong&gt;regular expression&lt;/strong&gt; arguments &lt;strong&gt;(/[A-za-z]/)&lt;/strong&gt; &lt;br&gt;
which matches all capital and lowercase letters, &lt;strong&gt;(/\s/)&lt;/strong&gt; which matches all spaces, and &lt;strong&gt;(/\d/)&lt;/strong&gt; which matches all digits.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>regex</category>
      <category>ruby</category>
      <category>todayilearned</category>
      <category>programming</category>
    </item>
    <item>
      <title>TIL: Today I Learned Ruby Shortcuts</title>
      <dc:creator>Alana Edwards</dc:creator>
      <pubDate>Sat, 25 Nov 2023 02:02:15 +0000</pubDate>
      <link>https://dev.to/prettyalana/til-today-i-learned-ruby-shortcuts-oe9</link>
      <guid>https://dev.to/prettyalana/til-today-i-learned-ruby-shortcuts-oe9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Shortcuts make life easier!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of course the journey is rewarding and necessary but if you can get to your destination just a little bit quicker, shortcuts can definitely help you while you're on your way. This is my personal journey towards becoming a Fullstack developer and video game developer so buckle up and enjoy the ride while I take you to the latest stop: &lt;em&gt;Shortcuts&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Today I learned two syntactic sugar Ruby methods from a TA(John) that helped me with my module assignments. One of them being the &lt;strong&gt;.keys&lt;/strong&gt; method and the other the &lt;strong&gt;.is_a?&lt;/strong&gt; method.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In this first example:&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;elsif some_random_input == { :city =&amp;gt; "Chicago", :state =&amp;gt; "IL", :zip =&amp;gt; 60654 }&lt;br&gt;
pp some_random_input.keys&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;I wanted to access and print just the keys&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;:city, :state, :zip&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;from this Hash. I was able to quickly output all of the keys in the Hash using the &lt;strong&gt;.keys&lt;/strong&gt; method. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In the second example:&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;elsif some_random_input.is_a?(Time)&lt;br&gt;
    pp some_random_input.strftime("%A").downcase&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;I wanted to print the day "Monday" in lower case from the &lt;strong&gt;Time.now&lt;/strong&gt; object. Instead of writing a longer &lt;strong&gt;if statement&lt;/strong&gt; I used the &lt;strong&gt;.is_a?&lt;/strong&gt; method which returned the correct value based on the object's class &lt;strong&gt;Time&lt;/strong&gt;. This method saves us time and condenses the code.    &lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>ruby</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>TIL: Today I Learned</title>
      <dc:creator>Alana Edwards</dc:creator>
      <pubDate>Fri, 24 Nov 2023 01:09:08 +0000</pubDate>
      <link>https://dev.to/prettyalana/til-today-i-learned-3555</link>
      <guid>https://dev.to/prettyalana/til-today-i-learned-3555</guid>
      <description>&lt;p&gt;I was (&lt;em&gt;and arguably still am&lt;/em&gt;) having difficulties grasping certain basic Ruby concepts; especially creating classes and defining methods. I consulted with a TA(John) and he really helped me understand how to define a method. Today I learned that&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;def initialize&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
 allows you to set the initial value for an object. &lt;/p&gt;

</description>
      <category>ruby</category>
      <category>programming</category>
      <category>beginners</category>
      <category>todayilearned</category>
    </item>
  </channel>
</rss>
