Skip to content

Commit

Permalink
change blog
Browse files Browse the repository at this point in the history
  • Loading branch information
scovl committed Sep 22, 2023
1 parent 880a8a4 commit e98e36d
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 6 deletions.
4 changes: 0 additions & 4 deletions blog/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ languages:
pt:
languageName: Portugues
weight: 1
en:
languageName: English
weight: 2


markup:
highlight:
Expand Down
89 changes: 89 additions & 0 deletions blog/content/post/freebsd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
+++
title = "FreeBSD"
description = "FreeBSD for developers"
date = 2023-06-01T17:31:45-03:00
tags = ["freebsd"]
draft = false
weight = 1
author = "Vitor Lobo Ramos"
+++


# Table of Contents

* **[DEMYSTIFYING FREEBSD FOR DEVELOPERS](#demystifying-freebsd-for-developers)**
* **[SPEAKING YOUR LANGUAGE](#speaking-your-language)**
* **[SETTING UP YOUR DEV ENVIRONMENT](#setting-up-your-dev-environment)**
* **[THE ULTIMATE DEV TOOLS](#the-ultimate-dev-tools)**
* **[CONTAINERS AND VIRTUALIZATION](#containers-and-virtualization)**
* **[FREEBSD COMMUNITY](#freebsd-community)**
* **[CONCLUSION](#conclusion)**

## Demystifying FreeBSD for Developers

Every time someone drops the name FreeBSD, your mind automatically drifts to servers and Network-Attached Storage (NAS). But guess what? That's only one side of the story. FreeBSD is a robust OS, capable of meeting the needs of everyone - from system admins to, yes, software developers. Time to shatter those myths and see why FreeBSD could be your next dev playground!

## Speaking your language

Alright, first things first: Can FreeBSD undestand and work with yourt favorite programming language? The answer is a big YES!

* Mainstream Web dev? No worries! Node.js, PHP, Python... - they're got you.
* Low-level programming? C, C++, Rust, Go, Java, you name it!
* Old-school charm? clang, gcc, Java thought OpenJDK, or even C# through Mono, all available.

And here's the sweet: the native FreeBSD package manager `pkg`, often lets you install the needed compiler. Like, want pygame for Python? Just punch in:

```bash
pkg install py{27,36}-game
```

Or, if you prefer, you can use it like this:

```bash
pkg ins -y py{27,36}-game
```

## Setting up your dev environment

Nope, Unix isn't just about vim and emacs (althought they're awesome and totally available). FreeBSD has got your back with modern IDEs. Try it:

```bash
pkg search editors/
```

And boom! It's yours.

Worried your IDE doesn’t jive with FreeBSD? The Linuxulator, a Linux compatibility layer in FreeBSD, might help. Version control? All your faves are here. FreeBSD is deeply committed to the security of its applications. When installing packages, FreeBSD provides a clear summary of the actions that will be taken, ensuring you're always informed. Additionally, the OS often releases security advisories pertaining to software packages. Always ensure you're using the latest and most secure versions by regularly updating your package repository and software.

## The Ultimate Dev Tools

FreeBSD has a lot of tools to make your life easier. Here are some of my favorites:

* `DTrace` - If you haven't used it, you're missing out. This dynamic tracing framework lets you visualize and analyze your software in real-time. Imagine identifying bottlenecks in your PostgreSQL database or seeing the most frequent code paths with flame graphs (Shoutout to Brendan Gregg’s scripts!). And all of this without stopping or recompiling your software. Below how to use:

```bash
dtrace -n 'syscall:::entry { @[execname] = count(); }'
```

* `procstat` - Amazing for process info.
* `ktrace/kdump` - Like strace, but better.
* `pmccontrol and pmcstat` - For performance analysis.

## Containers and Virtualization

## FreeBSD Community

## Conclusion













7 changes: 5 additions & 2 deletions blog/content/post/learn.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ If you use any social media platform like Instagram, Twitter, Mastodon, Facebook
4. Choose the challenge and the project you'll work on.
5. Select a roadmap to guide you in the challenge.

### Organize your brain

Another good tip, or strategy to keep focus is to read any literary book that is not a technical book. This will help you to relax and keep your mind fresh. I recommend reading a book for 30 minutes before going to sleep. This will help you to sleep better and to keep your mind fresh.


## Roadmaps

There is a website called **[roadmap.sh](https://roadmap.sh/)** that has a lot of roadmaps for different areas of technology. I recommend that you choose a roadmap and follow it. If you don't like the roadmap, you can create your own. If the content provided on the roadmap isn't sufficient, you can use platforms like Youtube to search for topics related to what you want to learn.
Expand All @@ -63,8 +68,6 @@ Finished the roadmap and want to keep learning? Visite the website **[https://co
2. Now that you know how to contribute and what to focus on, go to **Issues** and look for issues you can solve. Typically, issues labelled `good first issue` are issues you can tackle without much effort. These issues are designed for beginners interested in helping to solve the project's problems.
3. Study the issue report and try to solve it based on your understanding of the project and what you've learned in the roadmap.


Another website that can help you find open-source projects is **[https://www.firsttimersonly.com/](https://www.firsttimersonly.com/)**. This website has a list of open-source projects that are friendly to beginners.


> **Note**: Avoid projects that don't have issues categorized as `good first issue`. This indicates that the project is not prepared to receive contributions from beginners. If you have no experience with open-source projects, you're likely to struggle with projects that don't have issues labelled `good first issue`.

0 comments on commit e98e36d

Please sign in to comment.