teleren/devto huggingface dataset:
What is Dart Programming Language and Why Should You Learn it?
Tags: dart, dartlanguage, dartinflutter
Published: 2023-12-20 00:58:24


![Dart Programming Language](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2low733c2rj578hffy6.png)

JavaScript has lots of pros. But it also has cons. Massive code bases and difficult scaling, to name a few. To address these issues, Google decided to create the Dart programming language in 2011. Dart is open-source, an object-oriented language that makes web programming scalable and structured.

One amazing feature of Dart is that it combines some great features of other programming languages as well. Its syntax is also one of the cleanest and easiest to read.

Further, in Dart, you can work on both the client and server side. This means you can create amazing web, mobile, and desktop apps by working on Dart's client side. It also has a garbage collector that manages memory.

Moreover, when Dart was released in 2011. It didn't gain much traction. But then Flutter was released in 2018 and that's when Dart's popularity also rose. That's because Flutter uses Dart programming language. But why did Flutter choose Dart? 

Well, that's because Dart's layout is declarative and programmatic. This means developers can read and visualize Dart easily. There's no need for a declarative layout like XML. Further, it also has a Just-in-time (JIT) and Ahead-of-time (AOT) compilation. JIT compilers help in fast iterations and hot reloading. Consequently, highly optimized and standalone executables are created.

They also provide ahead-of-time compilations. This means it compiles code in a format that native machines can read. This way, faster UI rendering in browsers is also enabled. Dart also highlights errors in the code without even running it.

But then the question is: What should you learn first? Dart or Flutter? Well, as per the Flutter community, Dart is easy.. That's why you should learn Flutter first and then Dart. 

Now, apart from all the above features of Dart. What I personally like about Dart is it supports asynchronous programming. This means I as a developer can pen down codes that also perform tasks without even preventing code from execution. And this is really helpful when it comes to network requests, file operations, etc. 

Further, due to Dart's built-in libraries, development processes can also be quickened! I don't have to write on multiple operating systems. Just write once and deploy on whatever operating system I like! 

Now, I'm sure till now you might have understood the importance of Dart. But, still, let me be explicit one more time. Even in 2024, Dart is still worth learning! First, because Flutter uses Dart programming language. And as long as Flutter is popular, Dart language will also be popular.
What Tech-Related DIY Project Do You Recommend?
Tags: discuss, codenewbie, beginner
Published: 2023-12-20 00:00:00

---
published_at : 2023-12-20 00:00 +0000
---
Recommend a tech-related DIY project for the holiday season.
<br>
Follow the [CodeNewbie Org](https://dev.to/codenewbieteam) and [#codenewbie](https://dev.to/t/codenewbie) for more discussions and online camaraderie!
*{% embed* https://dev.to/codenewbieteam *%}*
character arcs
Tags: gamedev, writing
Published: 2023-12-24 16:22:23

---
title: character arcs
published: true
date: 2023-12-20 00:00:00 UTC
tags: [ 'gamedev', 'writing' ]
canonical_url: https://onwriting.games/daily/20231220-953-character-arcs/
---

A tool to ensure **consistency** in our story is _character arcs_.

In traditional narrative, we usually design a single arc, and our characters evolve with it throughout the story.

Something we can do to facilitate the design of our interactive story is to define **a manageable number of character arcs**.

Then, we can define a set of variables that serve as **decision-makers** for the character arcs and design the options we give the player to modify these variables.

In this way, we ensure:

1. Agency: we are giving the player the concrete possibility of modifying the world in an important way.
2. Consistency: if the options modify the variables in a coherent way, the reaction of our characters and their arcs will be consistent.
3. Variety: it is easy to realize if the amount of variations is varied enough or not. If we see that different arcs are very similar, we can work on differentiating them more.

Undoubtedly, writing multiple character arcs is a challenge, which is why it is best to start with two or three, and gradually increase the possibilities **as the game requires it** while playtesting.
Big Clock 2.0
Published: 2023-12-19 22:55:12

 Joining the ranks of Clock and Timer, our brand new Stopwatch feature brings precise time tracking to your fingertips.

**Clock:**
Immerse yourself in the elegant display of the current time. Big Clock lets you customize themes, toggle date visibility, and explore different time zones effortlessly.

**Timer:**
Set countdowns with unmatched precision using Timer mode. From short breaks to cooking timers, Big Clock ensures you stay on schedule.

**Stopwatch:**
Introducing the star of the show—the Stopwatch! Need to track time with unparalleled accuracy? Start, stop, and reset at your convenience. It's the perfect tool for tasks that demand precise timing, from workouts to productivity sprints.

**Seamless Transitions:**
Enjoy a fluid experience as you effortlessly switch between Clock, Timer, and Stopwatch modes. The user-friendly interface remains customizable, allowing you to choose between dark and light themes.

This update is not just about tracking time; it's about making every moment count. Download Big Clock 2.0 now and elevate your time management game!
Tech Hype Unwrapped: Overrated Holiday Gadgets? 🤔🎁
Tags: discuss
Published: 2023-12-20 00:00:00

---
published_at : 2023-12-20 00:00 +0000
---
What tech gadget that is being promoted for the holiday is just hype?<br>
Follow the DEVteam for more discussions and online camaraderie!
<br>
{% embed https://dev.to/devteam %}
How Brainstory follows management principles
Tags: management, communication, organizational, psychology
Published: 2023-12-20 22:38:50

---
title: How Brainstory follows management principles
published: true
date: 2023-12-20 00:00:00 UTC
tags: management, communication, organizational, psychology
canonical_url: https://blog.brainstory.ai/blog/brainstory-management-principles/
---

This blog post is inspired by the following tweet from [Will Robbins](https://willrobbins.org/), GP at Contrary Capital. ![Tweet from investor Will Robbins](https://blog.brainstory.ai/blogimages/willtweet.png)

## Thinking is fundamentally done alone

When you start a new Brainstory, you’re fundamentally starting a solitary thought. Brainstory provides a reflective surface so that you can do this thinking deeper and faster than if you were truly alone. Unlike thinking with others, Brainstory never tries to give you advice or suggestions, so you can have your best thoughts.

## Communication is fundamentally done 1:1

When you share your Brainstory with someone else, they are fundamentally responding to your thought in a dedicated 1:1 manner. They are opted-in, by default, to addressing all of your points. Both parties are given the opportunity to understand the set of facts, then add their opinion.

## Inspiration is fundamentally done in groups

When you share your Brainstory in a group, feedback is aggregated and holes are discovered. **This is where inspiration is born!**

## Are you reading this in December 2023?

Join our [giveaway](https://brainstory.ai/giveaway) and win awesome cash prizes! See you in the Discord!
Clean Code functions
Tags: cleancode, functions, programming, productivity
Published: 2023-12-19 23:56:53

I'm currently reading the "Clean Code" book, and I'm exploring the importance of good functions in software programming. In the beginning, when our code is concise, it's easy to understand both for ourselves and our team members. However, as we add more functionalities/code, our functions may grow, incorporating numerous lines of code. **THIS IS NOT IDEAL**

Here are some tips on functions that might prove helpful in your daily code.

#### Keep functions under 100 lines:
If a functions exceeds a hundred lines of code, consider breaking it down into smaller, more manageable functions.

#### Limit line length to 150 characters.
Shorter lines are easier to understand and facilitating quicker comprehension.

#### Focus on one thing.
Sometimes functions may have multiple tasks, try to break them down into smaller functions with distinct levels.

#### Ident level maximun of one or two.
Excessive information, sometimes referred to as "hadouken", arise when there are multple if/else levels in the code.

By following these guidelines, your code will become more readable and maintainable, making it easier for all (you and your team ;).
Deciding Between On-Prem & The Cloud
Published: 2023-12-19 23:37:33

For organizations with existing on-prem workloads, deciding what to move to the cloud can be tricky.  This decision tree will help bring clarity to the question:



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zd6rezq3cj24jk7g1kdc.png)
Github Actions output to if expression
Tags: ci
Published: 2023-12-19 22:55:02

---
title: Github Actions output to if expression
published: true
description: ...and how to test it
tags: CI
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nscynuaj4f7yw7g60f8m.jpeg
# Use a ratio of 100:42 for best results.
# published_at: 2023-12-19 17:07 +0000
---

Cover photo by <a href="https://unsplash.com/@wimarys?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Wim Arys</a> on <a href="https://unsplash.com/photos/a-very-large-group-of-stone-structures-in-a-park-gDlpMyInsak?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a>

---

I wanted a CI pipeline job to fail if some numeric output was larger than 0.

The pipeline is set up in Github Actions and the job has a step which has a numeric output. I just had to give an `id` to the step to be able to reference it's outputs with Github Action contexts like:

`${{ steps.stepId.outputs.outputName }}`

The next step would check the output value, compare it to 0 and `exit 1` if it is larger. Then I remembered steps (as well as jobs) have an `if` section which takes in an expression. I knowe you no longer have to put `${{` & `}}` around the expression but I wasn't sure if it would work simply like this:

`if: steps.myStep.outputs.myOutput > 0`

When I'm not sure of something, I like to test it. I often test pieces of Github Actions by making a new workflow, pushing it to `master` and trying it out on Github.

Here is my workflow for testing how can a job's step output be used in an `if` expression of a subsequent step:

{% embed https://gist.github.com/mbjelac/8e7dd5c548fc18041062f0e174245034 %}

I wanted to test it with different values so I used `workflow_dispatch`'s inputs to give my workflow a custom parameter for testing.

I ran the workflow with several numbers and confirmed it works.

I also found [the answer](https://github.com/orgs/community/discussions/25871) on the Github forum, but it would have been nice if Github Actions documentation had some easy-to-reach example for this.

I could have also probably gotten the answer even faster from an LLM prompt.

In any case, it is nice to be able to test your code, wherever you got it from.

*Edit:* When you have your test workflow, no need to push it to `master` & test it on Github. You can use [act](https://github.com/nektos/act?tab=readme-ov-file#overview----) to test Github Action workflows locally.
Elevate Your Mario Game: New Features Unleashed
Published: 2023-12-19 22:52:14

Embark on an exciting journey as we elevate the classic Mario game with thrilling new features! This enhanced code brings a fresh dimension to the iconic platformer, ensuring an immersive and challenging gaming experience.

**Power-Ups:**
Discover the power of the Super Mushroom! This game-changer temporarily boosts Mario's jump force, providing an extra edge in navigating the levels.

**More Enemies, More Thrills:**
Introducing the Goomba—a simple yet formidable adversary with horizontal movement. Brace yourself for heightened excitement and strategic gameplay as you encounter new challenges and threats.

**Time Pressure:**
Feel the adrenaline rush with our built-in timer, counting down from 120 seconds. The race against time adds a thrilling element, intensifying the gameplay and requiring swift decision-making.

**Hidden Areas, Unveil Secrets:**
Unleash the explorer in you! Seek out hidden blocks throughout the levels ('h') to uncover surprises, trigger events, or gain valuable bonuses. Every discovery adds a layer of mystery and rewards to the Mario adventure.

Our code enhancements aim to transform your Mario gaming experience, blending nostalgia with innovation. Dive into the world of Super Mario with these features, and elevate your gaming escapades to a whole new level!
Mi camino hacia el backend - El lado oscuro de la fuerza
Tags: webdev, beginners, career, learning
Published: 2023-12-19 22:35:35

🚀 Este año, he dedicado mucho tiempo a la búsqueda de empleo, enfocándome en encontrar oportunidades como programador, ya sea en el backend o frontend. Agradezco a Dios que, después de la primera mitad del año, logré asegurar un empleo como Team Leader en Maybach International Group LLC , donde me siento muy cómodo con mi equipo de trabajo.

👨‍💻 Sin embargo, mi objetivo siempre ha sido convertirme en programador, y es por eso que para el 2024, estoy trazando un plan para fortalecer mis habilidades en el área de backend. ¿Por qué el backend? Considero que ya poseo un buen conocimiento en el frontend, pero encontrar trabajo como junior frontend se ha vuelto desafiante debido al gran número de aspirantes.

Por ello, he decidido adentrarme en el lado oscuro de la fuerza.

💡 Aquí están algunas de las cosas que he decidido aprender en el 2024 en mi camino hacia el backend:

- Aprender PHP
- Arquitectura de Software: Explorar modelos como MVC, MVP, MVVM, Clean Architecture, Hexagonal Architecture, Event-Driven Architecture, y Microservices, entre otros.
- Patrones de Diseño: Estudiar y comprender diversos patrones de diseño.
- Programación Funcional: Adquirir conocimientos en programación funcional.
- Programación Orientada a Objetos: Dominar los principios y prácticas de la programación orientada a objetos.
- Microservicios: Comprender y aplicar los conceptos de programación basada en microservicios.
- Seguridad: Familiarizarse con conceptos básicos como autenticación, autorización, encriptación, hashing, firewalls, ataques DDoS, inyección SQL, cross-site scripting, etc.
- Testing: Entender los fundamentos de las pruebas, incluyendo pruebas unitarias, pruebas de integración, pruebas de aceptación, pruebas de carga, pruebas de estrés, etc.
- Despliegue (Docker): Explorar los conceptos básicos de despliegue, incluyendo servidores web, servidores de aplicaciones, contenedores, orquestadores de contenedores, plataformas como servicio (PaaS), infraestructura como servicio (IaaS), etc.

¡Emocionado por este viaje de aprendizaje y crecimiento profesional! 🌐✨ #DesarrolladorBackend #Meta2024 #CrecimientoProfesional
Master Prompt Engineering with OpenAI 🧠
Tags: opensource, ai, devops, news
Published: 2023-12-19 22:09:33


![meme](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ey8l9ynuvnmw33mgl6z.png)


"Prompt Engineering" sometimes feels like persuasive penmanship in the guise of yet another phrase in the generative AI lexicon.

But last week, OpenAI dropped their [official Prompt Engineering Guide](https://platform.openai.com/docs/guides/prompt-engineering/six-strategies-for-ge) and it's been quite the hit with developers experimenting with generative AI. 

Prompt engineering isn't just about throwing words into the AI abyss and waiting for wisdom to echo back. It's about unlocking the potential of these very, very powerful AI models. It's nuanced, technical, and absolutely critical.

Why does it matter? Because the right prompt can mean the difference between gibberish and genius. It's the difference between a model spitting out a generic response and one that tailors its knowledge to your specific needs.

OpenAI's Six Strategies:

1. Write clear instructions
2. Provide reference text
3. Split complex tasks into simpler subtasks
4. Give the model time to "think"
5. Use external tools
6. Test changes systematically

Okay, so maybe these seem generic but the guide actually does an extensive job with multiple tactics and examples for each strategy. 

So how do you apply these strategies out-of-the-box?

Our team at [LastMile AI](https://lastmileai.dev/) built a Streamlit app powered by AIConfig that lets you experiment with OpenAI's strategies on your prompts.

![streamlit](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/up7ks3jby1rj5aqro7ye.png)

🔗 Streamlit App: https://openai-prompt-guide.streamlit.app/

**We've created prompt templates for each strategy and stored them in an AIConfig.** 

This config isn't just supported for one model; it's set up to handle a stable of models: Gemini, GPT-4, GPT-3.5-turbo, and PaLM. And while the Streamlit app currently leverages GPT-3.5-turbo, the AIConfig can work with any of these models and more.

🔗 [Prompt Templates (AIConfig)](https://github.com/tanya-rai-lm/streamlit_apps/blob/main/prompt-engineering-guide/openai_prompt_guide.aiconfig.json)
🔗 [AIConfig Repo](https://github.com/lastmile-ai/aiconfig)

So, why AIConfig? 

Because it's about more than just managing prompts. It's about creating a reproducible, shareable, and systematic approach to prompt engineering. It's about making sure that when you find that perfect prompt, you can come back to it, time and time again, without sifting through the digital detritus of your past attempts.

⭐️ Ready to take control of your prompts? Check out AIConfig. 

Please give our AIConfig repo a star to support the project! https://github.com/lastmile-ai/aiconfig
10 lessons that I learned in 2023, apply for life and work
Tags: softwaredevelopment, life, productivity
Published: 2023-12-19 21:53:07

Hello!

This year, was a very challenging year for me.

I wrote these lessons in one sentence to reflect on what you can improve in your daily life.

This lesson applies as well to your job.

Have a bright 2024!

**1.**  Love with passion!
**2.**  Do not complicate things!
**3.**  Clean mind to make decisions.
**4.**  Rely on data to make your decisions.
**5.**  Break the requirements into one sentence.
**6.**  Learn from those who want to teach you something.
**7.**  Simple systems, process the most complex problems.
**8.**  You will find the solution after doing a lot of research.
**9.** Do not jump to conclusions before having enough information.
**10.**  Find the details about something that I don’t know, details are important.
Advance & Free Website Templates For Budding HTML Developers
Tags: html, templates, beginners, developers
Published: 2023-12-19 21:46:42

In my last post, I shared [45 Practical Webpage Templates For Budding HTML Developers](https://dev.to/linuxguist/45-practical-webpage-templates-for-budding-html-developers-1b4l)

Here, in this post, I will share "Advance & Free Website Templates For Budding HTML Developers", which will help in 2 ways:

1. Create a Complete Website for various specific purposes, by quickly editing these Templates

2. Also, anyone can isolate / copy a specific useful section of any of these Templates and Paste them into their own HTML files

> ** Pro Tip : ** For point 2 above, just Right Click the index.html Webpage, on your Internet Browser and then Choose "View Source". Copy the `<link>` tags, `<style>` tags, `<script src="" >` tags, `<script>` tags and your desired complete section, from the Source Page, into your own newly designed Webpage. That is all.

Some Hints for working with these templates:

1. Although, you can edit the index.html webpage in these Templates, with the simple Notepad Program, i would suggest getting a specialised Text / Code Editor like "Sublime Text" (Just Google For It. It's almost Free for all Operating Systems, only Occassionally Reminding you to Buy a License, while Saving.)

2. Extract these ZIP files first, and then view the index.html Webpage, both on the Internet Browser and also on the Text Editor

Let me now take you to the list of these useful templates. Just Right Click each of these Links, to Open Them in New Tab and then Locate & Click the free Download Button in these Webpages, to get a ZIP archive, Extract it and then Work with their Files, as mentioned above.

---

** 1. Business Website : https://bootstrapmade.com/bizpage-bootstrap-business-template/ **

** 2. Professional Website : https://bootstrapmade.com/free-html-bootstrap-template-lonely/ **

** 3. Educators Website : https://bootstrapmade.com/mentor-free-education-bootstrap-theme/ **

** 4. Hospital Website : https://bootstrapmade.com/medilab-free-medical-bootstrap-theme/ **

** 5. Restaurant / Cafeteria Website : https://bootstrapmade.com/restaurantly-restaurant-template/ **

** 6. Constructions Website : https://bootstrapmade.com/upconstruction-bootstrap-construction-website-template/ **

** 7. Real Estate : https://bootstrapmade.com/real-estate-agency-bootstrap-template/ **

** 8. Event Planners : https://bootstrapmade.com/theevent-conference-event-bootstrap-template/ **

** 9. BEAUTIFUL_RESPONSIVE_WEBSITE_TEMPLATES ( w3css & others ): https://sourceforge.net/projects/beautiful-responsive-websites/ **

** 10. All HTML Form Widgets With Top Examples : https://sourceforge.net/projects/all-html-form-widgets-with-eg/ **

---

I have chosen these templates above, specially for their Unique Value ( i.e. Merit ).

Hope you find it useful ! Also, Share them with your friends & contacts, as you see fit.
Cloud Account creation details ( AWS, Azure,GCP, Oracle)
Tags: aws, azure, google, oracle
Published: 2023-12-19 21:45:50


**1.How to create AWS Free Tier Account** :
Follow the link http://bit.ly/3toLYzI and click on Create Free Tier Account , follow the steps required to create, it will ask you to enter your credit/debit card and it will deduct 1 Re/1$/1£ based on the currency your providing then amount will be refunded.
Try to use the free Tier Account services for the practise

**AWS Cloud Access**:

Please refer to the document https://bit.ly/3GPAfNH for the AWS Cloud basics and following points discussed in the document and create IAM User, don't use the Root account as a best practise.

- AWS Global Infrastructure 
- IAM - Identity Access management 
- AWS CLI
- AWS SDK


**2. Azure Cloud Account creation** :
Click on the link https://bit.ly/3Ru4SgK to create azure free tier account 
- Popular services free for 12 months
- Starts with 200$ Azure credits and which is valid to use with in 30 days.
- After 30 days your card will be charged based as PAY AS YOU GO model.

**3. Google Cloud Account creation** :
Click on the link https://bit.ly/3GSiOMG to create Google cloud free tier account

-  Give access to lot of free tier services
-  Gives 300$ credits for each account created and you can explore the services using 300$ credits


**4. Oracle Cloud Account creation**:
Click on the link https://bit.ly/48rGnHY to create Oracle cloud free tier account

- Starts with 300$ cloud credits to use with in 30 days
- Always Free services, Two Oracle Autonomous Databases with powerful tools like Oracle APEX and Oracle SQL Developer