teleren/devto huggingface dataset:
My First Year of University - My Classes
Tags: computerscience, beginners, discuss, career
Published: 2019-06-02 20:17:29

I was asked in this comment on my first [post](https://dev.to/natonathan/my-first-year-of-university-3c62) in this series to expand on what classes or courses I took this year.
{% devcomment bd1h %}
I thought this answer was better placed as a post in its own right rather than a comment reply.

This year, I had to do a foundation year in engineering and technology as didn’t have the [UCAS](https://en.wikipedia.org/wiki/UCAS) tariff points need for direct entry on to the Computer Science course. Because I dropped out of sixth-form my second year, so I had no A levels qualifications.
The foundation year course was made up of 5 units. These units were Engineering Mathematics, Engineering Design, and Materials, Electrical Engineering, Engineering Principles, and finally Intro to Use of Computers.

Engineering Mathematics was one of the most intriguing units of the year, and arguably one of the most important for computer science. I was under pressure to do well in this unit as the Computer Science course requires a pass of 60% for this unit. I did, however, find most of the material easy to get to grips with. Despite most of the content being new but lucky, it built on my knowledge of maths from high school.

Engineering Design and Materials was the one I need to do a retake for. as this was the most challenging as the first haft was Engineering drawing, and I can't really draw that well. The second part of the unit was engineering materials, which was easier to understand but still quite challenging due to a lack of interest in the subject.

The Electrical Engineering unit was another exciting unit. It covered both digital and analog electronics. I did, however, find the analog side of this more challenging than the digital stuff. That said the whole unit was made easy as I have had previous experience this many of the concepts introduced during the unit as either in my previous study of computer science at high school or stuff I learned my self playing with electronics as a bit of a hobby. The exam for this unit is tomorrow.

The content in the Engineering Principles unit was new but easy to understand partly due to the lecture slide on the principles. This was an enjoyable unit as well; I like physics a lot anyway. I even picked physics as a backup course to Computer Science if I fail to gain the 60% grade in maths.

The last unit, Intro to Use of Computers, was by far the easiest as I have a lot of experience using computers. But did get an [ECDL](https://en.wikipedia.org/wiki/European_Computer_Driving_Licence) out if it.

---
I'm working on more post's and projects, including a computer science podcast with my friend [Henry](https://dev.to/badrecordlength). To stay informed sign up to my email list [here](https://mailchi.mp/8dc9d35d15cb/nathantamez)
[suggestion] 3 choses à maîtriser en tant que développeur Joomla!
Tags: suggestion, tips, joomla, champion
Published: 2019-07-28 22:01:25

---
title: [suggestion] 3 choses à maîtriser en tant que développeur Joomla!
published: true
tags: suggestion,tips,joomla,champion
canonical_url: 
---

Salut les joomlers de l'extrême!

Voici, en tant que développeur Joomla!, à mon humble avis, 3 choses à maîtriser:

1. Les conventions
2. Les formulaires (champs personnalisés)
3. Les surcharges (layout et template)

A bientôt pour de nouvelles astuces!

Joomla! un jour, Joomla! toujours!
Switching Lab Topology Diagram
Published: 2020-03-08 00:41:38

---
title: Switching Lab Topology Diagram
published: true
date: 2019-06-02 19:35:00 UTC
tags: 
canonical_url: 
---

Here's the example topology used in the Spine-and-Leaf labs: ([YAML](https://raw.githubusercontent.com/ngschmidt/labfabric-diagram/master/lab-fabric-layer1.yml))

[![](https://1.bp.blogspot.com/-WgOkZcyabM0/XPQlBb_7ivI/AAAAAAAAAoE/1bGkzkjiXkQu77_PCWBRuNp99pUN_-oJgCLcBGAs/s640/Home%2BLab%2BFabric%2B%25282%2529.png)](https://1.bp.blogspot.com/-WgOkZcyabM0/XPQlBb_7ivI/AAAAAAAAAoE/1bGkzkjiXkQu77_PCWBRuNp99pUN_-oJgCLcBGAs/s1600/Home%2BLab%2BFabric%2B%25282%2529.png)
Engineering at Remote Teams
Tags: remotework, remotejobs, workingremotely
Published: 2019-06-02 19:32:45

---
title: Engineering at Remote Teams
published: true
description: I asked remote companies to share their engineering culture.
tags: remote work, remote jobs, working remotely
---

![](https://remotehub.io/images/about/engineering.png)

I asked remote companies to share their engineering culture. 

Check it out here:
https://remotehub.io/engineering-in-remote-teams
A fun little video about Security concepts for beginners
Tags: security, beginners, explainlikeimfive
Published: 2019-06-02 19:25:27

---
title: A fun little video about Security concepts for beginners
published: true
description: 
tags: #security, #beginners, #explainlikeimfive
---

 
A while ago, I made a video about security concepts for beginners: 

{% youtube Y7a0HXLswrA %}

Here's the transcript:

I have been working on the Security docs for [CockroachDB](https://www.cockroachlabs.com/) and learned that CockroachDB provides authentication, encryption, authorization, and audit logging features to deploy secure clusters. But what do these terms mean?

Let’s consider an analogy to understand these terms:

## Authentication

Imagine that you work at an office that is located in an office building with a security system in place.

On the first day at the job, you were given an ID card with identifying information about you, like your photograph, your name, and the name of the company you work for, and it was signed by the security officer who’s in charge of the security of the entire office building.

Now every time you enter the building, you present the identity card to the security guard at the entrance.

The security guard doesn’t know you, and so has no reason to trust you and let you in. 

They also might not personally know the security officer who signed your card, so they can’t trust the signature either.

However, they have the security officer’s signature stored in a system that they do trust.

They check the signature on your card against the signature that they have in their system and find that the signatures match.

Now they trust that the information on your ID card is valid. So they let you enter the building. 

This is *authentication* - your signed ID card serves as a way to “authenticate” your identity.

## Authorization

Once you enter the building, you realize that the building has offices of several companies.

Each company has their own access systems, and you have access only to your office. So even though you have able to enter the building, you are authorized to access only a part of it.

This is *authorization*, or *access control*.

## Encryption

Now suppose that you are in the lobby with a coworker, discussing a confidential issue, when another person walks in.

You don’t want to abruptly stop your conversation, but you also don’t want this other person to know what you’re talking about.

Thankfully, both you and your coworker have a pre-established code language that only the two of you know about.

You continue the conversation in the code language, thereby having an uninterrupted discussion while also maintaining the confidentiality of the matter.

This is *encryption* - a secured communication using a code or encryption system that only the communicating parties know about.

## Audit log

Finally, the security person maintains a “log” of employees and visitors entering and leaving the building. In case something goes wrong, they can track down who was in the building at what time.
This is *Audit Logging*.
I Just Finished My First Year of BSc Computer Science at University, Ask Me Anything!
Tags: ama, computerscience
Published: 2019-06-02 19:11:49

---
title: I Just Finished My First Year of BSc Computer Science at University, Ask Me Anything!
published: true
tags: #ama, #computerscience
---
Hi, just finished my first year about a week ago, if anyone's starting after the summer or wants to compare experiences, ask away!
THE ART OF CROWDFUNDING
Tags: coding, funding, career
Published: 2019-06-02 18:44:03

---
title: THE ART OF CROWDFUNDING
published: true
description: 
tags: coding,funding, career
---

May I start with a slight disclaimer that indeed the above title might not be fully painted based on the below content, I mean it's just a tiny individual exploring his mind - achievements so far.

Not sure where to start but here we go. Fast forward four months ago I did wake up after what I'd confidently term as careful consideration to make a switch. Even thou I knew this would come out of my desire to be a coder, never did I imagine that the idea would tear me apart this much. See, the then career was purely supposed to be the bridge into coding but again fate has it's own way of overturning our dear desires.

With a good chunk of savings, I initiated the thoughts powered by the need to invest in the hardware before the final move, bootcamp. As if luck had gave up on me, that same period it struck home. No more of what was thought to being 'enough' for the Prep. 

**Man down!**

It's time to yell and ask for help. This was not anywhere close to the plan but again it turned itself in. So the minds are supposed to work around what is to be a successful crowdfund and mark you that's after two months with no single donation made. There's a lot to this and I feel like more time still need be considered before the final draft, a sit stands now, The Art of Crowdfunding will be served shortly by yours truly -Aspiring Full-stack Developer with a side eye on Blockchain.


Until then, here I am still trying to come into terms from which direction the funds will come or get donated from.
Magento PHPStorm conditional debugging
Tags: magento, php, debug
Published: 2019-06-02 15:38:03

Conditional debugging is an useful feature in PHPStorm. 
This can become very handy when you would want your breakpoint to fire-up  when a certain condition is met for instance - in an iteration.

I was debugging `vendor/magento/module-customer/Model/Customer/DataProvider.php::getAttributesMeta()`. But I really didn't want the debugger to stop on every single customer attributes in the following code:

``foreach ($attributes as $attribute) {
     $this->processFrontendInput($attribute, $meta);
     $code = $attribute->getAttributeCode();
....``

Instead, all I wanted is, something like - hey debugger, when `$code == "group_id"`, show me what's happening at that point. 

To, achieve this, I set a condition on the breakpoint on line `$code = $attribute->getAttributeCode();` like below:

![PHPStorm Conditional Debugging](https://thepracticaldev.s3.amazonaws.com/i/zsfshw810kg9m0wydspp.png)

And that's it, now my debugger fires up only when attribute code is `group_id`.
Search your favorite PS4 games from Playstation Store using the Command Line
Tags: go, ps4, commandline, webscraping
Published: 2019-06-02 16:58:23

---
title: Search your favorite PS4 games from Playstation Store using the Command Line
published: true
description: Search your favorite PS4 games from Playstation Store using the Command Line
tags: 
- go
- ps4
- commandline
- webscraping
---

# Go PS4

> Search the Playstation Store for your favorite PS4 games using the command line.

- Free [open source](https://github.com/lucasepe/go-ps4) software
- Works on [Linux](https://github.com/lucasepe/go-ps4/releases/download/v1.0.0/ps4-linux-amd64), [Mac OSX](https://github.com/lucasepe/go-ps4/releases/download/v1.0.0/ps4-darwin-amd64), [Windows](https://github.com/lucasepe/go-ps4/releases/download/v1.0.0/ps4-windows-amd64.exe)
- Just a single portable binary file


## How to use

### List available options

```shell
$ ps4 -h
PS Store CLI
Usage: go-ps4 [OPTIONS] [Game Title]
  -addons
        show also extra contents
  -free
        show only free titles
  -lang string
        language (it, en) (default "it")
  -weekly-deals
        show only weekly deals titles
```

### Search only for free games

```shell
$ ps4 -free
3on3 Freestyle...................................................... Gratuito
AirMech® Arena...................................................... Gratuito
A KING'S TALE: FINAL FANTASY XV..................................... Gratuito
anywhereVR.......................................................... Gratuito
APB Reloaded........................................................ Gratuito
...(more games)....
```

### Search for a specific game

```shell
$ ps4 "division 2"
Tom Clancy's The Division® 2 - Standard Edition..................... €69,99
Tom Clancy’s The Division®2 - Pacchetto di benvenuto................ €14,99
Pacchetto Valuta premium 500 per Tom Clancy's The Division®2........ €4,99
Pacchetto Valuta premium 1050 per Tom Clancy's The Division®2....... €9,99
Tom Clancy's The Division® 2 - Ultimate Edition..................... €119,99
Pacchetto Valuta premium 6500 per Tom Clancy's The Division®2....... €49,99
```

### Show only weekly deals

```shell
$ ps4 -weekly-deals
```
What kinds of apps or products do you wish existed?
Tags: apps, personal, productivity, discuss
Published: 2019-06-02 16:39:47

---
title: What kinds of apps or products do you wish existed?
published: true
description: Have you ever had a personal itch you wanted to scratch? Did you find a suitable solution out there in the market-place? If not, did you manage to build it yourself, or do you have plans to do so? Let me know!
tags: #apps #personal #productivity #discuss
cover_image: https://thepracticaldev.s3.amazonaws.com/i/seqh2kcvp3lppfd5mk0h.jpg
---

I want to find out what kinds of apps/tools people personally wish existed, so that they (and maybe even friends or family) could use them and enjoy them.

Personally, around late 2017, I had three itches I wanted to scratch, and I managed to scratch them all within 1 year, thanks to the power and ease of the Web and React platforms.

* **Fast emoji lookup by keyword**, which to this day iOS, Android and Windows don't seem to support (though MacOS definitely has it) – this turned into [Emojipedia²](http://emojipedia2.org)

* **Integrated calorie and cost tracking app** (I wanted to lose weight while saving money) - this turned into [EatPayLove](http://epl.conwy.co), which I use to this day.

* **An easier way of sending quick "canned" replies to people who sent me texts or emails** – this turned into [Pasta](http://pasta.conwy.co), which I use occasionally, but really need to improve and make more usable before I can enjoy it and use it regularly.

I have several other ideas on my wish-list, and I'm looking to incrementally improve the above three as well.

The neat thing about scratching your own itch is that, even if it doesn't take off and get popular, you still feel like you achieved something, so you can keep up the motivation and momentum.

So... what's **your** personal itch? What app do **you** wish existed? 

And are you going to make it happen one day, or maybe even today?

Leave your thoughts!!!
Wich Linux distro am I running?
Tags: linux, begginers
Published: 2019-06-12 19:00:30

---
title: Wich Linux distro am I running?
published: true
tags: linux, begginers
canonical_url: https://lautarolobo.xyz/blog/which-linux-distro-am-I-running/
description: This are many ways to get to know wich Linux distro those nerds installed on your PC.
---

Once I was a Linux Newbie too, and I struggled my self to answer such a frivolous question, so here I have put all these lines of code together, so you won’t need to open 7 tabs and try to figure out which one has the key to get that coveted knowledge. This are many methods, so I can asure you that at least one will work on your PC.

Let’s jump right into the code:

```
hostnamectl
```
```
gcc --version
```
```
uname -a
```
```
lsb_release -a
```
```
lsb_release -irc
```
```
lsb_release -ds
```
```
cat /etc/issue*
```
```
cat /proc/version
```
```
cat /etc/*-release
```

* * *
Well, I hope that this has helped to let you know which Linux distro are you running. Remember that you can approach me [by email](mailto:contact@lautarolobo.xyz) or [through Telegram](https://t.me/LautaroLobo). Keep learning kiddo!
Highly Opinionated Software Are Better!!!
Tags: opinion, software
Published: 2019-06-02 16:00:18

---
title: Highly Opinionated Software Are Better!!!
published: true
description: opinion about software design
tags: #opinion #software
---
I used to be a developer for Web and Android and Windows Desktop. In my Tech journey with all the software and hardware I used and practiced on I got a notice! a WEIRD NOTICE! This weird notice is that the opinionated tech things are always better than the alternative general ones.Yeah.. it's weird!

When something built with a specific defined philosophy in mind, everything will be coherent, smooth, great to use. This philosophy behind the product made the great deal between the client/customer and the product/service.

This type of products or services are called **HIGHLY OPINIONATED** things. I love those highly opinionated software because they are great for the people who have the same opinion/philosophy/goals as the creator of the product/service.

When I am looking for a product to buy, I look around for all opinionated manufactured things. Then I think about the opinion or philosophy behind that product. If I am into that philosophy/opinion, I buy that product immediately.

Google Search Engine is a highly opinionated service. Google defines how the search results rank for a keyword (search term). The ranking factor are opinionated to give the user the most relevant results. Google search is better than any other search engine out there!

There are too many opinionated products such as iPhone, iPad, iMac (Mac OS X in general), Angular Framework, [Go Programming Language](https://dev.to/devabanoub/why-i-love-go-h3c), [Ubuntu Linux](https://dev.to/devabanoub/why-i-chose-ubuntu-as-my-operating-system-of-choice-252l), Elementary OS, .. and so on.

You do not need to agree with all opinionated products or services. But when you agree with one opinionated product or service, you should definitely buy that product or subscribe to that service. You'll enjoy it.

I write posts every week about programming and my opinions. If you want to get my new posts, keep in touch with me on [ValueInBrief blog](https://www.valueinbrief.com).
AWS Keys exposed on URL from photos on my heroku site
Tags: help, aws, simplestorageservice
Published: 2019-06-02 15:52:18

I have 2 Django sites deployed on Heroku and I noticed that AWSAccessKeyId and Signature is exposed on both site's photo URL when I open the image on a new tab.

![](https://thepracticaldev.s3.amazonaws.com/i/6fnrrpntpa5qovaa2xdj.png)

I don't think this is normal since I know those keys should be kept on the environment.
Why I Prefer Start Application Menu Over The Menu Screen?
Tags: opinion, design, elementaryos, windows
Published: 2019-06-02 15:42:41

---
title: Why I Prefer Start Application Menu Over The Menu Screen?
published: true
description: my opinion about application menu designs
tags: #opinion #design #elementaryos #windows
cover_image: https://thepracticaldev.s3.amazonaws.com/i/fvtaii4wgz5z159cs9cf.jpg
---

I used Windows with its start menu which occupy some part of the screen on the left side not the whole screen. I used also Mac OS X with its menu screen which occupy the whole screen, and used Ubuntu and other GNOME desktop environment Linux distros whose menu occupy all the screen. Finally I used Elementary OS which has a menu w/ search and categorized apps on the left top bar. It is great. The Elementary OS Start Menu is the best implementation of the menu, so I prefer it.

One of the main advantages of the desktop / laptop computers is the ability to do multitasking easily without any compromise. But the whole screen menu is a REAL awful compromise. I love the start menu of the Elementary OS (pantheon desktop environment) and the Windows OS start menu. They are great.

I can search and/or open another app while seeing the current apps on the screen. It is really focusing on getting all things done. When I use smartphone or tablet, I prefer whole screen menu. But on laptop or desktop computers, I prefer the start menu not that huge unnecessary all screen menu!

I was happy when Microsoft changed their menu on Windows 10 to be similar to Windows 7 not Windows 8.1 because in Windows 8.1 they made it a whole screen menu. I love when you revert back to your wise decisions. I hope Ubuntu create a menu similar to elementary OS menu which will be great.

This blog post is one of my own opinions on design concepts for all software I use. See you [next blog post](https://www.valueinbrief.com).
Write Code for Your Replacement, Not Your Future Self
Tags: codequality, maintainability
Published: 2019-06-02 15:34:55

There are many articles you have surely read about maintainable code. Most of them make the point that you will have to come back at some future time and read your own code, so you should write your code in a way that you will be able to understand. *This is wrong.*

The problem with writing code for your future self or some other current team members is that you will be coming at the problem in the future with some domain knowledge. You may have been away from the code for months or years, but you haven't lost the knowledge you had when you first set out to solve the problem. Thinking in this manner will lead you to leave out crucial details that you assume everyone working on the code will already understand.

Instead, you should write your code, documentation, and design docs with the idea in your head that you will no longer be at the company, or will at least have been promoted, and that the next person touching the code will be a complete newcomer with little to no domain knowledge. Your replacement should be able to understand the concepts through the design docs and understand the logic through your code and documentation without having to call you to ask any questions.

This leads you to write better code and better comments. Your code comments should be limited to explaining the *why* of the logic (what is supposed to happen), the code should be expressive about the *how*. The exception is when it is unavoidable to write some difficult-to-parse code (it *does* happen), in which case you should write thorough code comments explaining why you chose to code it this way in addition to the normal "what is supposed to happen" comments.

Keep in mind that maintainable code doesn't mean code that *you* can maintain. If your goal is to move forward in your career, then you are hoping to not be the one maintaining that code in the future. Always write as if you are not going to be there tomorrow and you will thank yourself later.