teleren/devto huggingface dataset:
Best Practices for Building Responsive User Interfaces(UIs) with Flutter
Tags: flutter, beginners, ui
Published: 2023-07-23 15:41:55

A **Responsive UI** is one that adapts to different screen sizes and orientations, providing an optimal user experience on any device. Responsive UIs are important because they ensure that your app looks and functions well regardless of the device it's being used on. A responsive UI can also improve user engagement and retention by providing a consistent and enjoyable experience

Best Practices for Building Responsive UIs with Flutter
Here are some best practices for building responsive UIs with Flutter:

**1. Use Flutter's built-in layout widgets**
Flutter provides a variety of built-in layout widgets that can help you create responsive UIs. These widgets include Row, Column, Expanded, and Flexible, among others. By using these widgets, you can create UIs that adapt to different screen sizes and orientations.

**2. Use MediaQuery to get device information**
Flutter's MediaQuery class provides information about the device your app is running on, such as the screen size, orientation, and pixel density. You can use this information to create UIs that are optimized for the device.

**3. Use constraints to create flexible UIs**
Flutter's BoxConstraints class allows you to define constraints for your UI elements. By using constraints, you can create UIs that are flexible and adapt to different screen sizes and orientations.

**4. Use breakpoints to create adaptive UIs**
Breakpoints are specific screen widths at which your UI should change. By using breakpoints, you can create adaptive UIs that are optimized for different screen sizes. For example, you might use a different layout for phones than for tablets.

**5. Test your UI on different devices**
To ensure that your UI is truly responsive, you should test it on different devices with different screen sizes and orientations. By doing so, you can identify any issues and make the necessary adjustments.

**Conclusion**

Building responsive UIs is crucial for mobile app development. By following these best practices, you can create UIs that adapt to different screen sizes and orientations, providing an optimal user experience on any device. With Flutter's built-in layout widgets, MediaQuery, BoxConstraints, and breakpoints, creating responsive UIs is easier than ever. Be sure to test your UI on different devices to ensure that it's truly responsive.
What I have learned at Codecademy HTML/CSS course
Published: 2023-07-23 15:11:54

As a not complete beginner, I embarked on an exciting adventure with Codecademy's HTML/CSS course, eager to unlock the secrets of web development. The course offered a user-friendly experience, breaking down complex concepts into simple terms, perfect for even not newcomers like me.

Step by step, I learned to create and structure web pages using HTML, the backbone of any site. I grasped the art of styling through CSS, adding colors, fonts, and layouts with ease. Practical exercises and interactive quizzes boosted my understanding, making the learning process engaging and enjoyable.

Today, I proudly call myself a confident coder(even though HTML and CSS is not really coding), ready to take on new challenges in the vast world of web development. Codecademy has been an invaluable companion on my coding journey!
Usando a gem Foreman
Tags: braziliandevs, ruby, rails, tutorial
Published: 2023-07-23 15:02:45

Fala minha tropa, suavidade? No último artiguinho, no fim dele eu comentei sobre a gem **Foreman**, pra não ficar no ar, resolvi escrever esse artiguinho curto sobre como utilizar essa *gem* que pode ser um adianto em muitos projetos para desenvolvimento local.

## Sobre o Foreman

O **Foreman** é uma *gem* que facilita a nossa vida quando se trata de vários processos de uma aplicação que necessitam ser executados. Um exemplo, aqui na firma tem um legadão que ele tem uma série de processos para além do **rails s.** Quando tentei executar a aplicação pela primeira vez, era meio cabaço, aí abri um três terminais só pra fazer funcionar. Só que aí, ela integrava com outro legadão que tinha outros 2 processos, e aí lá vai eu abrir mais dois terminais.

Bom, se eu tivesse usado o **Foreman**, teria usado apenas um terminal pra primeira app, e outro terminal pra segunda app, uma vez que eu consigo colocar dentro do arquivo de config do **Foreman** os vários serviços que necessito que estejam em execução apenas uma vez, sem precisar abrir vários terminais.

## Usando a gem

Primeiro passo, é você adicionar no seu projeto a gem do foreman

```ruby
gem 'foreman'
```

Depois disso, rode o comandinho mais famoso dos rubistas:

```ruby
bundle install
```

Aí na raiz do seu projeto, você precisará criar um arquivinho chamado ***Procfile***, onde você pode botar os processos que necessite, por exemplo:

```ruby
web:    rails s -p 3001
worker: bundle exec sidekiq
service: bin/./bunny_consumer.rb
```

Veja que sem o **Foreman**, eu teria que abrir três sessões do terminal para conseguir subir por completo minha app e seus serviços; já com a *gem*, para executar esses três carinhas basta no terminal eu rodar o seguinte comando pra mágica acontecer:

```ruby
foreman start
```

A carinha dele quando está em execução:


![Imagem do terminal com o Foreman em execução](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m69hr0ll5sj4rirk4sqi.jpeg)

## Conclusões

O **Foreman** ajuda muito a gente no ambiente de desenvolvimento, e acredito que seja uma mão na roda para quando chega devs novos no time, sobretudo os de nível júnior. Além disso, acho massa a questão do ***Procfile*** por funcionar meio como uma documentação do que é necessário pra app funcionar. Já peguei legados que tinha que ser meio Mãe Diná pra descobrir o que precisava rodar para aplicação funcionar. O **Foreman** também tem algumas paradas maneiras de exportação em produção, que ele cria uns serviços no **/etc/init** que pode ser uma mão na roda para gerenciar os serviços das aplicações no servidor. Ele também tem uma breve explicação sobre a questão de concorrência que pode ocorrer. Além dele, tem outros carinhas também, eu cheguei a mexer um cadinho com o **Overmind**, que é em *Golang*, e achei bem massa também. Mas me conta aí, que outro gerenciador de processos você conhece?

## Fontes

https://github.com/ddollar/foreman

http://blog.daviddollar.org/2011/05/06/introducing-foreman.html
Second day
Published: 2023-07-23 14:38:40

20th July 2023 

Technical information is any information e.g., scientific information, research development, engineering =, production, research development, operation, and use of machines processes and materials used in industry, transport and communications 
##Skills needed to become a technical writer 

Communication skills- to be able to convey technical information clearly and concisely to audiences. They should possess clarity, purpose, coherence, openness and confidence. 

Technical skills- technical knowledge of subject matter of interest and hat poof the company. 

Reasearch skills- must have clear understanding of the subject. 

Tool skills- a technical writer must have exemptional, skill and knowledge of technical writing tools. They include;  

Publishing tools-Adobe FrameMaker, document 360 rob help. 

Spell check tools- Grammarly, autocrat, prewriting aid, google docs 

Image editing tools-adobe photoshop, Canva, pick monkey, pixel 

Authoring tools- MS word, google docs, markdown editors 

Screen capture tools- TechSmith Snagit, fire shot  

Editing tools – must be very good at proofreading, reviewing, spelling and punctuation, structure and tone of voice. 

Design skills-  

Teamwork- you should be able to collaborate with everyone on your team irrespective of the difference in backgrounds and area of knowledge.
Why I chose Python
Tags: python, firstpost, programming, career
Published: 2023-07-23 14:37:31


A few time ago, I thought that Python was just for scientists who want to handle data or for geeks who want to automate things.

But Python is powerful !

Python is really everywhere

**That’s the most popular language for just over a year according to PYPL (PopularitY of Programming Languages), or the TIOBE index.**

Python syntax is quite simple, even if you’re not a programmer, you can easily understand what a function do.

---


## Python: A Matter Of Style (PEP8)

No bracket, just indentation!

Each programmer needs to respect this syntax to see his code work.

By the way, PEP8 is a style guide, a set of rules to get style standardization.

---

## Python: From School To Cinema, And Even For The Web 

Python has replaced BASIC language in the students scientific calculator.

It’s used into scripts of Industrial Light & Magic, special effects company of George Lucas, since 1996.

We find Python in 3D modelling software as Blender.

In CAD (conception aided design) live FreeCAD Project Association.

Or with Django in websites like Instagram, Pinterest, Mozilla.

We can do all we want with Python : scripts, web, ML…!

And maybe, it will replace JavaScript directly in our Apps thanks to the <py-script> tag. Not ready for production but It’s an Anaconda project.

---

## Why I Chose Python?

I think that, as programmers, we should develop severals skills, discover new things to follow what drives us and create our dreaming job.

Me, my dream is to do freelance jobs linked to data science, machine learning and AI.

This job, will allow me to resolve my customer’s problems giving us the value I have learnt and what I’m continuously learning.

That’s my vision of a developer!

And you? What’s your vision?

What’s your dreaming job?

---

*This article was inspired by an article in a French magazine named « Programmez », if you understand french, it’s a good resource to read.*
Technical Writing course
Tags: python
Published: 2023-07-23 14:31:10


Hello everyone, I just started my course in Technical writing.

Technical Writing course 
19th July 2023 
##Introduction 
Technical writing is a great way to break into the tech if you have a passion for writing and teaching. 

Technical writing is a writing style where the author writes about a particular complex subject that requires direction, instruction or explanation. Technical writing is simply writing for a purpose. 

So, what is the core purpose of technical writing? 

To make complex concepts easier to understand 

Give prior knowledge of a subject 

As a technical writer, knowing your purpose determines the kind of structures and grammar required in your documentation.
.gitignore for an OCaml project
Tags: 100daystooffload, ocaml, git, beginners
Published: 2023-07-23 14:29:19

As a newcomer to the language [OCaml](https://ocaml.org/) I would like to know how a typical (or initial) [git ignore](https://git-scm.com/docs/gitignore) file should look like.

I only found one resource, [OCamlverse](http://ocamlverse.net/content/quickstart_ocaml_project_dune.html#using-git), that mention what to ignore in an OCaml project.

The summary is that we want to ignore following directories in the _.gitignore_-file.
```sh
# Ignore the artifacts from building the project
_build/
# Ignore the _opam directory which is acts as
# a cache for the opam
_opam/
```
nanos make neeto better 👌
Tags: softwareengineering, coding, product
Published: 2023-07-23 14:12:47

Learn how we break down the features into the lowest level of business components that can be plugged into any product. We call this style of breaking feature a "nano".

See the different nanos we have built at neeto and how different neeto products are using them.

🔗 Read more: https://substack.com/inbox/post/115843678
How To Create A Linux Virtual Machine on Azure and Access It On Your Local Windows Machine.
Tags: azure, linux, windows, cloud
Published: 2023-07-23 14:11:42

Introduction-
In Sub-Saharan Africa, the most ubiquitous computer systems most people come in contact with are the Windows Operating System made and marketed by Microsoft Corporation Redmond Washington United States of America. Due to the all pervading presence of Windows in Nigeria and else where in Africa, some people do not know there is another computer systems on which much of the internet is built on called the Linux/Unix System completely different from the usual Windows system known to most people in Nigeria and Africa. To know more about Linux click on this link-https://www.linux.com/what-is-linux/

It is possible to create a Linux VM on Azure and access same on your local machine via the following steps-
1.
 Go to Azure portal and click on create virtual machine-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ciu5n1ddyqxth8t85tz.png)
2.
 Choose Ubuntu- a distribution of Linux.
3. 
Fill the necessary fields and click on create as shown here-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7faq7vkgovl5gispb0t6.png)
4. 
Go to the created VM on azure portal and click on connect-(ensure the ssh private/public key is downloaded during creation of VM)as shown here-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jg7y47ihqxc20bbalsf4.png)
5.
Go to resources and Click on connect shown here-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jbdkyw7mwqtv1d6h4uzi.png)
6.
Follow the instruction on this page as shown here(you must ensure you have already downloaded and installed WSL-Windows Subsystem for Linux-on your local machine- to download WSL on your local machine go to-https://learn.microsoft.com/en-us/windows/wsl/install. Make sure your local machine is enabled for virtualization in your system BIOS)-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0b9vqkwz1auen3gwpqd5.png)

7. 
Open the WSl terminal as shown here-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2bbgz58gcncpkrtgea7s.png)
8.
input these commands on the WSL command line interface- make sure the .PEM is in the root folder-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/30vt41rfrt3dwvnmx4qe.png)
9.
Input the commands and connect as shown-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dcg4bv0vxewwdedh2u35.png)

Conclusion- The above steps encapsulate how to connect to a Linux Virtual Machine created on Azure on a local windows machine running at least Windows 10.
Time Picker Module in Vanilla JS
Tags: timepicker, vanillatimepick, module, javascript
Published: 2023-07-23 14:08:17

I have faced time-picking issues in designing web-based apps. Several types of Time and Date pickers are available on the internet and open-sourced but not found anything vanilla js and zero dependency package. All packages are required NPM dependency. So I decided to create a new module. It's completely customized to your design. 

### 💥 usage in your HTML file

```html
    <input type="text" id="timePick" value="08:06:04">

    <input type="text" class="timePicker"/>
    <input type="text" class="timePicker"/>
    <input type="text" class="timePicker"/>
    
    <script src="./time-pick.js"></script>
    <script>
        var timepicker = new TimePick('#timePick');
        var timepickerz = new TimePick('.timePicker');
    </script> 
```

I'll attach the GitHub repository link. If you like use it. Mostly welcome your suggestion and contributions. 

[Github Repo: https://github.com/Katheesh/TimePick.js](https://github.com/Katheesh/TimePick.js)  

If you're a web designer/developer, now you don't need this just bookmark it or star it. It will use for you!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7yggx8b7vtb5kq0mey8g.png)

### 😍 Have a good day.
Microsoft’s Email Breach: Implications for Cloud Security
Tags: cloud, devops, linux, security
Published: 2023-07-23 14:03:20

Hey, fellow developers! 👋 Are you as passionate about cybersecurity as I am? 

Recently, I stumbled upon some intriguing findings that shed light on a critical cloud security issue. 

As a security-conscious developer, I felt the need to delve deeper into this topic and share this with the community.

As developers and technology enthusiasts, this incident should serve as a wake-up call to prioritize security best practices within our projects.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j0cwtbok8t5ovge8eta1.png)

 Cybersecurity is no longer just the responsibility of security teams; it is a collective effort that each one of us must embrace. 

The breach, carried out by a Chinese hacking group named Storm-0558, granted unauthorized access to the email systems of various US government agencies. The implications of this breach are profound, extending beyond email accounts to potentially compromise other critical Microsoft services. You can get more details here.

[https://www.howtouselinux.com/post/microsofts-email-breach-implications-for-cloud-security](https://www.howtouselinux.com/post/microsofts-email-breach-implications-for-cloud-security)
VS code extensions I use
Published: 2023-07-23 14:03:00

[https://marketplace.visualstudio.com/items?itemName=sravanth.fullstack-essentials](https://marketplace.visualstudio.com/items?itemName=sravanth.fullstack-essentials)

I have created an extension pack that contains all the extensions I use. Installing this one extension pack allows you to install all the extensions which are under it. I will be updating the extensions regularly.

***

This post was originally published on [blogs.sravanth.co.uk](https://blogs.sravanth.co.uk/vs-code-extensions-i-use). Reposted automatically with [Reposted.io](https://reposted.io?utm_source=postFooter).
Writing a NES game day 11, Fire!
Tags: nes, assembly, 6502, blog
Published: 2023-07-23 14:01:31

Now that I have my first version of the character, and he can move, I need to make him so something else. Remember that you can check the status of the code in my [github repo](https://github.com/Draculinio/rindelia1). 
I created a simple sprite for bullet which is a 2 colors circle (redoing sprites into something better is a problem for future me) and created 3 variables for this: sx (shoot in x axis), sy (shoot in y axis) for the position of the shoot every frame and a shootStatus to see if it is actually firing something or not (maybe in the future I can delete this variable and use a special value in sx and clean 1 byte?)
For making this work, I added the shoot behaviour to button B in the engine sector:

```
bButton:
    CMP #%01000000
    BNE bDone
    LDA #$01
    STA shootStatus
    LDA p2x
    STA sx
    LDA p1y
    STA sy
bDone:

```

After that, I see if the shooting is active and I jump to a shooting "function"

```
;Shooting update
LDA #$01
CMP shootStatus
BNE :+
JMP shoot
:
```
And then the shoot part:

```
shoot:
    ;for now it will only shoot to the right.
    LDA sx
    CLC
    ADC #01
    STA sx
    RTS
```

As you can see I place a lot of comments, the code in assembly is not that "self readable" as other languages.

Now, I have to update the sprites refresh to make all this visible.

```
LDA sy
    STA $0210
    LDA sx
    STA $0213
    LDA #$00
    STA $0212
    LDA #$01
    CMP shootStatus
    BEQ isShooting
    LDA #$FC
    STA $0211
    JMP shootDone
    isShooting:
    LDA #$30
    STA $0211
    shootDone:
```

As it is a one tile sprite, I only need 4 positions in memory, so I assigned it the $0210 to $0213 space.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7gioozl2506x6fkudnv4.PNG)

(tomorrow we will talk about the other thing that appears on the screen)

On the other hand, to keep me MORE motivated I am playing some nes games lately.  Not only Final Fantasy in japanese to learn, but I started Rockman (Megaman)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ep7hf3zgs3mwbz694lsz.PNG)

If you have a child that loves video games, show them the old Nintendo games, for them this all will be in nightmare level.
Endpoint Confidence — Get It Fast With HURL
Published: 2023-07-23 13:46:06

When making changes or refactoring code, it’s important to have confidence in the changes we make. One way to gain protection and confidence is through API testing.

Although testing is essential, many developers do not enjoy writing tests due to the complexity and slowness of testing tools in the past. But what if there was a tool that made testing quicker and easier? That’s where Hurl comes in.

[Hurl](https://github.com/Orange-OpenSource/hurl) is a command line tool that can run HTTP requests defined in a simple plain text format. It’s versatile and can be used for both fetching data and testing HTTP sessions.
With Hurl, you can chain requests, capture values, and evaluate queries on headers and response bodies.
Hurl makes it easy to work with HTML content, REST/SOAP/GraphQL APIs, or any other XML/JSON-based APIs.
Hurl is an open source of Orange corporate.

It’s a single binary that’s easy to install. Plus, it’s written in Rust, making it a lightweight and very fast.

To use Hurl, simply create a text file with your requests and run it via terminal. You can see in the screenshot below how easy it is and what you’ll see on the terminal when you run it.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sk9atv4yzfun1cm3e4v7.png)


So why not give Hurl a try and see how it can help you gain confidence in your code and speed up your testing process? With its simple format, versatility, and ease of use, it just might become your go-to testing tool 🤝.