teleren/devto huggingface dataset:
December goals
Tags: productivity, beginners, programming, opensource
Published: 2022-12-04 08:08:09

Attaining mastery of any skill means we need to learn, practice, fail, and iterate in the learning process many times. I can say the same for my open-source development journey. Being able to contribute to open-source projects has been a highlight of this year and in the last month of 2022, I plan on continuing my open-source development to keep up the momentum I built over the last two months. I have a few goals outlined for this month that I would like to accomplish by the end of the year. 

> Improve on code reviews: 

Earlier I wrote a blog about my code-reviewing process and how it did not go too well.  I want to practice doing some more code reviews throughout this month and get better at giving constructive and effective feedback. 

> More open-source project contributions: 

Honestly, I should have started this task a couple of days ago, however, life happened and I got into a late start. I found a couple of potential repositories I would like to contribute to over the next week: 

 - [My Photohub](https://github.com/humphd/my-photohub): I have already contributed to this project a few weeks ago where I created the UI of the progressive web app (PWA) using React. I plan on working on the other issues filed for this project and try to get closer to the finished product of this project. 

 - [Intel/cve-bin-tool](https://github.com/intel/cve-bin-tool/blob/main/cve_bin_tool/checkers/README.md): There are several issues in this repository that are interesting to me, particularly the ones about creating checkers. I would say it is not very coding-heavy, but it needs a lot of research before doing it. 

 - Some other interesting repositories I came across while looking for some projects were: 
	 - [d3](https://github.com/d3/d3)
	 - [FreeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp)
	 - [Vue](https://github.com/vuejs/vue)
	 - [React](https://github.com/facebook/react)
	 - [Bokeh](https://github.com/bokeh/bokeh)

> Refactor, improve and package [palpatine](https://github.com/batunpc/palpatine)

I have been working on building my static site generator [palpatine](https://github.com/batunpc/palpatine) for the last two months. However, I have not had the chance yet to package it up to create my first release yet. When I attempted to package it up a few days ago, I ended up with a lot of errors and bugs that would require lots of time to debug. I plan on sitting with it next week again. 

> Solve Advent of Code problems 

This year, I am also challenging myself to keep up with solving the Advent of Code challenges! 

> Try out Advent of Cyber 

I also found out about this amazing challenge from a classmate and would love to give it a try! 

Fun fact: This year my classmates and I started building a browser based cybersecurity game with three.js 
When I found out about Advent of Cyber, I knew I had to give the challenges a try to learn different cybersecurity concepts in a fun and engaging way.
This year, I am also challenging myself to keep up with solving the Advent of Code challenges!
5 Tips for Tech Career Shifters
Tags: career, beginners, programming, tutorial
Published: 2022-12-04 08:01:24

Shifting to an IT career can be an exciting and rewarding experience. The industry is growing exponentially, offering a wide variety of job opportunities and specializations. As technology becomes increasingly integral to the way businesses operate, the demand for qualified IT professionals is rising. An IT career can be a great way to earn a comfortable living, acquire new skills, and stay on top of the latest industry trends.

However, making the switch to an IT career can be a daunting prospect, especially if you don’t have any prior experience in the field. Fortunately, there are a number of paths you can take to enter the IT industry without going through formal schooling. Here are some tips on how to make the transition successfully:

1. Research the IT industry and the types of job roles available. Before making a career switch, it’s important to understand the scope of the industry and the various job roles that are available. Research various IT job roles and the qualifications and skills they require. This will help you narrow down the field and decide which role is the best fit for you.

2. Develop your skills. Once you’ve identified an area of IT you’d like to pursue, start working to develop the necessary skills. Take online courses, read books and articles, and attend workshops and conferences to learn more about the field. Ask colleagues and friends if they know anyone who could mentor you and provide guidance.

3. Network. Networking is essential in the IT industry. Attend industry events and meetups, join LinkedIn groups, and seek out mentors. This will help you get to know the industry better and make valuable connections that could lead to job openings.

4. Take on entry-level projects. Once you’ve gained some knowledge and skills, start taking on entry-level projects. This will help you gain hands-on experience and build confidence in your abilities. Consider interning or volunteering at a company in your chosen field.

5. Start a portfolio. Building a portfolio is a great way to showcase your skills and experience. Include projects you’ve completed, certifications you’ve earned, and any other relevant information that will make you stand out from other job candidates.

Making the switch to an IT career can be a challenging journey, but with the right preparation and dedication, it can also be a rewarding one. By taking the time to research the industry, develop your skills, network, and build a portfolio, you can move into the IT industry without attending formal schooling.

[https://www.linkedin.com/in/trinmar/](https://www.linkedin.com/in/trinmar/)
A Quick 10-Second Programming Joke For Today
Tags: jokes, dailydeveloperjokes
Published: 2022-12-04 08:00:11

---
title: "A Quick 10-Second Programming Joke For Today"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1258a87ad7e.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
___!false___

It's funny 'cause it's true.
 -->
5 steps to succeeding in a new job role
Tags: webdev, career, beginners, programming
Published: 2022-12-04 07:50:57

Here are five steps you can take to succeed in a new job role:

1. Set clear goals and objectives for yourself. This will help you to understand what is expected of you in your new role, and will provide a roadmap for how to achieve success.
2. Learn as much as you can about your new job, the company you're working for, and the industry you're in. This will help you to understand your responsibilities and the challenges you'll face, and will give you the knowledge and skills you need to be successful.
3. Communicate effectively with your coworkers, managers, and other stakeholders. This will help you to build relationships, solve problems, and get the support you need to succeed in your new role.
4. Be proactive and take initiative. Look for opportunities to add value and make a positive impact, and don't be afraid to try new things and take risks.
5. Seek feedback and support. Ask for feedback on your performance, and be open to constructive criticism. Also, seek out mentors and other supportive individuals who can help you to grow and develop in your new role.

Overall, succeeding in a new job role requires a combination of hard work, learning, and effective communication. By following these steps, you can set yourself up for success and make a positive impact in your new job.
What is the Internet of Things?
Published: 2022-11-05 19:04:44

In the broadest sense, the term IoT encompasses everything connected to the internet, but it is increasingly being used to define objects that "talk" to each other. "Simply, the Internet of Things is made up of devices – from simple sensors to smartphones and wearables – connected together," Matthew Evans, the IoT programme head at techUK, says.

By combining these connected devices with automated systems, it is possible to "gather information, analyse it and create an action" to help someone with a particular task, or learn from a process. In reality, this ranges from smart mirrors to beacons in shops and beyond.

"It's about networks, it's about devices, and it's about data," Caroline Gorski, the head of IoT at Digital Catapult explains. IoT allows devices on closed private internet connections to communicate with others and "the Internet of Things brings those networks together. It gives the opportunity for devices to communicate not only within close silos but across different networking types and creates a much more connected world."
Advent of Code: Day 1
Tags: adventofcode, java, programming, beginners
Published: 2022-12-04 07:35:49


- **Question [here](https://adventofcode.com/2022/day/1)**
- **Input [here](https://adventofcode.com/2022/day/1/input)**

For this puzzle we can make use of a max-heap to store the sum of calories carried by the elves in a descending order.

for part 1 of the problem we can peek the max-heap for the maximum calories

and for part 2 we can loop over the max-heap and find the sum of max-3 calories carried.

We can make use of a `PriorityQueue` in reverse order to make a max-head in `java`

```java
import java.io.File;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.Scanner;

public class Day1 {
    public static void main(String[] args) throws Exception {
        String path = "D:\\projects\\AdventOfCode\\src\\input.txt";
        File input = new File(path);
        Scanner sc = new Scanner(input);
        var pq = new PriorityQueue<Integer>(Collections.reverseOrder()); // max-heap
        int calories = 0;

        while (sc.hasNextLine()) {
            String calorie = sc.nextLine();
            // reset for new elf
            if (calorie.equals("")) {
                pq.offer(calories);
                calories = 0;
                continue;
            }

            calories += Integer.parseInt(calorie);
        }

        System.out.println("Result part 1 : " + pq.peek());

        int res = 0;
        for (int i = 0; i < 3; i++) {
            res += pq.poll();
        }

        System.out.println("Result part 2 : " + res);
        sc.close();
    }
}
```
Posh2K - A universal prompt for power users 💪🌈
Tags: opensource, showdev, linux, powerfuldevs
Published: 2022-12-04 07:27:53

## What is this

[Posh2K](https://github.com/2kabhishek/Posh2K) is a prompt for [oh-my-posh](https://ohmyposh.dev/), it works on all shells, has multiple segments with aesthetically pleasing colors.

## Inspiration

Most of my workflow is based on the command line, recently I had to use a Windows system for some work and was really displeased by the CLI experience.

So, I needed a prompt that can work across shells and has support for different segments and Posh2K was born.

## Prerequisites

Before you begin, ensure you have met the following requirements:

- You have installed the latest version of [oh-my-posh](https://ohmyposh.dev/docs/installation/linux)

## Getting Posh2K

To get Posh2K, follow these steps:

```bash
git clone https://github.com/2kabhishek/Posh2K

# for Powershell, add this to $Profile
oh-my-posh init pwsh --config ~/PATH_TO_DIR/Posh2K/posh2k.omp.json | Invoke-Expression

# for Zsh, add this to ~/.zshrc
eval "$(oh-my-posh init zsh --config ~/PATH_TO_DIR/Posh2K/posh2k.omp.json)"

# for Bash, add this to ~/.bashrc
eval "$(oh-my-posh init bash --config ~/PATH_TO_DIR/Posh2K/posh2k.omp.json)"

# for Fish, add this to ~/config/fish/config.fish
oh-my-posh init fish --config ~/PATH_TO_DIR/Posh2K/posh2k.omp.json | source

# for nu shell, run
oh-my-posh init nu --config ~/PATH_TO_DIR/Posh2K/posh2k.omp.json
source ~/oh-my-posh.nu

# for cmd, install Clink, then add this
load(io.popen('oh-my-posh init cmd --config ~/PATH_TO_DIR/Posh2K/posh2k.omp.json'):read("*a"))()

```

## Repo

{%embed https://github.com/2kabhishek/Posh2K %}

Hit the ️❤️ button if you found this useful.

Follow me on [Twitter](https://twitter.com/2kabhishek) | [Linkedin](https://linkedin.com/in/2kabhishek) | [Instagram](https://instagram.com/2kabhishek) to stay in touch.
How to Make Responsive Landing Page Using Html CSS
Tags: webdev, html, css, beginners
Published: 2022-12-04 07:25:28

{% youtube fNpSVbzmpdE  %}


**How to Make Responsive Landing Page Using Html CSS**

This video will show you how to How to Make Responsive Landing Page Using Html CSS 


HI 👋
I'm Daily Web Design
In this channel, I make videos about the Complete Responsive website.
You can check out my channel 👇


📺 My Channel : https://www.youtube.com/@dailywebdesign
🔔 Subscribe: https://www.youtube.com/@dailywebdesign


🔗 Essential links
-----------------------------
✅ How TO Learn to Code: https://youtube.com/playlist?list=PLP1xU0duo6-jA8B-UCe-Cv5Vn0H-37CLZ
✅ CSS Project : https://youtube.com/playlist?list=PLP1xU0duo6-gSt54DxihbSzvxhISEbgJd
✅ JavaScript Project : https://youtube.com/playlist?list=PLP1xU0duo6-gFYT8Cn-8nJFklS4TkM8j2
✅ Completely Responsive Web Design : https://youtube.com/playlist?list=PLP1xU0duo6-jhNWX9geGXak3I_I22PL6C


⏱️ Timestamps
-----------------------------
00:00 Responsive Website Landing Page Design - Only Using CSS & HTML
02:07 custom link for CDN font awesome
02:13  header html css responsive
03:35 add media icons in html
04:20 h Responsive Website Landing Page 
05:24  link the STYLE.CSS in HTML
11:18  input the checkbox in html
11:24  add label on HTML
12:39  Responsive Media queries in CSS
16:27 Responsive Website Landing Page Design - Only Using CSS & HTML


💜 Like & Subscribe
-----------------------------
  @dailywebdesign  


⚠️ Disclaimer
-----------------------------
video is for educational purpose only. Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use
Space Website With Background Image Slider | Space Landing Page Design
Tags: webdev, javascript, html, css
Published: 2022-12-04 07:22:27

{% youtube bBIUVkRdre4  %}

**In this video, you will learn how to design a responsive space website design with a background Image slider using HTML CSS and JavaScript**


HI 👋
I'm Daily Web Design
In this channel, I make videos about the Complete Responsive website.
You can check out my channel 👇


📺 My Channel : https://www.youtube.com/@dailywebdesign
🔔 Subscribe: https://www.youtube.com/@dailywebdesign


🔗 Essential links
-----------------------------
✅ How TO Learn to Code: https://youtube.com/playlist?list=PLP1xU0duo6-jA8B-UCe-Cv5Vn0H-37CLZ
✅ CSS Project : https://youtube.com/playlist?list=PLP1xU0duo6-gSt54DxihbSzvxhISEbgJd
✅ JavaScript Project : https://youtube.com/playlist?list=PLP1xU0duo6-gFYT8Cn-8nJFklS4TkM8j2
✅ Completely Responsive Web Design : https://youtube.com/playlist?list=PLP1xU0duo6-jhNWX9geGXak3I_I22PL6C


💜 Like & Subscribe
-----------------------------
  @dailywebdesign   


⚠️ Disclaimer
-----------------------------
video is for educational purpose only. Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use
Search in Rotated Sorted Array
Tags: javascript, leetcode
Published: 2022-12-04 07:07:41

[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/)

```js
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
 */
var search = function (arr, target) {
  let low = 0;
  let high = arr.length - 1;

  while (low <= high) {
    let mid = parseInt((low + high) / 2);

    if (arr[mid] === target) {
      return mid;
    }

    // check search in first Half & as low  < mid mean it is sorted
    if (arr[low] <= arr[mid]) {
      if (target <= arr[mid] && target >= arr[low]) {
        high = mid - 1;
      } else {
        low = mid + 1;
      }
    }
    // search in upperHalf
    else {
      if (target <= arr[high] && target >= arr[mid]) {
        low = mid + 1;
      } else {
        high = mid - 1;
      }
    }
  }

  return -1;
};


```
Guess Number Higher or Lower
Tags: javascript, leetcode
Published: 2022-12-04 07:00:15

[Guess Number Higher or Lower](https://leetcode.com/problems/guess-number-higher-or-lower/)

```js
/** 
 * Forward declaration of guess API.
 * @param {number} num   your guess
 * @return 	     -1 if num is higher than the picked number
 *			      1 if num is lower than the picked number
 *               otherwise return 0
 * var guess = function(num) {}
 */

/**
 * @param {number} n
 * @return {number}
 */
var guessNumber = function(n) {
     var start = 1;
    var end = n;   
    while(start <= end){
        var num = Math.floor((start + end)/2);
        var ask = guess(num);
        if(ask == 0) return num;
        else if(ask == -1) end = num - 1;
        else if(ask == 1) start = num + 1;
    }
    return start;
};

```
MongoDB vs DynamoDB for your (side) project
Published: 2022-12-20 09:05:36

---
title: MongoDB vs DynamoDB for your (side) project
published: true
date: 2022-12-04 06:45:25 UTC
tags: 
canonical_url: https://blog.amr-hassan.xyz/mongodb-vs-dynamodb-for-your-side-project
---

So here I'm wanting to create an MVP for a side project of mine and look for the cheapest DB aka cheapest data provider to use and let my baby see the daylight with the possibility of scaling and paying less money of course, but before boring you with the comparison I need to tell you more about my use case.

## Data access layer (Functional)

I need to list my data accessing pattern first which were:

- Insert schemaless data (obviously)

- Update the last seen of a record

- Query the last 5 elements

In the future queries:

- How many updated records per week, month, year

_Going to ignore the non-functional, come on it's a side project don't judge me_

## Data ETA

Assuming that most of the data types going to be text/string with a maximum size of 100KB per record.

How many records going to store per week or month?

10 in the day, 70 in the week, 300 records per month per user

Assuming that we want to support 100 users as a start

100 users \* 300 records => 30K per month with the size of 30k \* 100KB => 3GB per month

## DynamoDB vs MongoDB

|  | DynamoDB | MongoDB |
| --- | --- | --- |
| storage free tier | **Free 25 GB of storage** [AWS Free Tier](https://aws.amazon.com/dynamodb/pricing/?loc=ft#Free_tier) | 512MB to 5GB of storage Shared RAM Upgrade to dedicated clusters for full functionality No credit card required to start |
| vendor lock-in | amazon specific svc | could use it on your side or Atlas's side |
| monitoring | provisioning, monitoring, and keeping servers running (not to mention making backups). | none unless you are using Atlas and would have limited feat compared to a dynamo |
| security | better | meh |
| record size | 400kb | 16 MB. |
| query | basic key-value lookup without the elastic map reduce | better querying framework |
| data types | number, string, and binary | int, long, date, timestamp, geospatial, floating-point, and decimal128 |
| consistency | eventual data consistency No data validation - must be handled in application ACID transactions apply to table data only, not to indexes or backups Maximum of 25 writes per transaction | strong data consistency Native schema governance and data validation ACID transactions apply to documents, indexes, and backups 1,000 operations per transaction (executing within 60 seconds by default) |
| connections | HTTPS - kinda unlimited | TCP - M0/M2 cluster tier is 500 per node |
| indexing | Limited / Complex to manage Indexes are sized, billed & provisioned separately from data | Robust / Easy to develop against No extra cost to index your data |

For my use case dynamo fail on the querying side which is important for me compared to the storage and scale for now at least.

Someday will have a use case to abuse dynamodb with but for now, my rational mind says no, for now, how about you would you do the same?
The Fullstack buzzword
Tags: fullstack, webdev, ai, career
Published: 2022-12-04 06:35:30

[facebook.com/Trinwhocode](https://www.facebook.com/Trinwhocode)

The concept of fullstack has become a popular buzzword in the last few years. It is used to describe a developer capable of both front-end and back-end development, as well as other skills such as DevOps and/or design. However, the whole myth creates a false sense of security and career growth.

Fullstack is a myth because it implies that one person can do everything, but in reality, no one can be an expert in every area of ​​development. There are too many elements to be an expert in each. Additionally, becoming a fullstack developer requires knowing how to work with different technologies, programming languages, and tools. It's not just a matter of knowing a language or framework. You also need to understand how different technologies and frameworks interact with each other to be successful.

The fullstack myth also creates a sense of servitude to career growth. This causes many developers to think that they need to know all the latest technologies and frameworks to be successful. This often leads to burnout and frustration as developers try to keep up with the ever-changing technology landscape.

On top of this, the fullstack myth creates a false sense of security. Many developers think that because they are fullstack dev, they can get any job they want. This is not true. Companies are looking for developers with experience in specific technologies and in specific roles. Being a fullstack developer does not guarantee you will get any job.

To truly create a healthy IT workforce, we must abandon the entire myth. We must recognize that no one person can be an expert in all aspects of development. Instead, developers should focus on developing expertise in certain areas of the stack and then use that expertise to create value for their companies.

In addition, we need to create a culture of career growth that is more realistic and sustainable. Instead of chasing the latest technologies, developers should focus on learning the basics and building a solid foundation. This will create a healthier and more sustainable career path.

being a fullstack developer does not guarantee success. Companies are looking for specific skills and experience and no one person can get them all. We must remember that true success comes from hard work and dedication, not from chasing the latest trends.

The fullstack myth creates a workforce that is stressed and struggles with mental health issues. We must abandon this myth and create a healthier and more sustainable IT workforce. We need to recognize that no one can do it all, and focus on developing skills in certain areas. We also need to create a culture of career growth that is more realistic and sustainable. By doing these things, we can create a healthier, more productive IT workforce.

[linkedin.com/in/trinmar/](https://www.linkedin.com/in/trinmar/)