teleren/devto huggingface dataset:
CTF Challenges: Forensics
Tags: beginners, cybersecurity, forensic, cyberforensics
Published: 2023-09-13 02:10:37

**Brief Overview**

About 2 months has passed since my first post, and I guess you could say that I took a long hiatus. Firstly, the summer has now started, and I am now interning at MetaCTF, a Capture-the-flag development company where I (as an intern) create/solve different CTF problems. I'll probably write more about different things I learn as an intern, but for now, I believe I will be working as a "Content Development Intern" as well as a "Software Development Intern". Currently, there are 8 categories within the MetaCTF challenges, and today I will talk about Forensics.

**What is Forensics?**

Ok... so what is it? Forensics is the science of collecting, inspecting, interpreting, reporting, and presenting computer-related electronic evidence. To simply put, you're basically an online detective who deals with locating the data that was compromised during a cyber attack!

**Can PowerShell please join us on the stage?**

Now that we know what the category can cover, let's do some actual CTF problems to help us better understand the field.

This problem was recommended to me by my boss (shoutout Roman).

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

The problem mentions a "powershell command", and by looking at the command, it seems like it is a window's terminal command. As a beginner, I'm not particularly sure what the command does, so a quick google search won't hurt!

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

One of the first websites that pop up is... malwarebytes? I guess it is malicious huh... Anyways, it does say "[System.Convert]::FromBase64String($a)" in the post. It seems like the big string given in the problem needs to be decoded with something, so let's open up a tool that will allow us to convert it!

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

AHHHH HAAAAA!!!!!! I guess we found the flag! The first problem didn't seem too difficult... But on to the next!
Out-Of-The-Box DTO Validator
Tags: typescript, expressots, javascript, framework
Published: 2023-09-13 02:37:13

👋 Hello Developers,

If you've been on the lookout for an out-of-the-box DTO Validator, your search ends here! ExpressoTS now offers a pre-integrated DTO Validator to make your life easier. 🎉

👉 Learn More

Here's how simple it is to use:
```typescript
@httpPost("/", ValidateDTO(CreateUserDTO))
execute(@requestBody() payload: CreateUserDTO, @response() res: Response) {
  return res.status(StatusCode.Created).json(this.createUserUseCase.execute(payload));
}
```

✨ Customization Flexibility

However, if our DTO Validator doesn't quite fit your unique needs, you're free to create your own provider! We've designed our system to be extensible, allowing you to plug in your own solutions.

Here's the signature you need to implement for your custom provider:

```typescript
const yourprovider = (req: Request, res: Response, next: NextFunction) => { }
```

Add it to the endpoint decorator and voila, you've replaced `ValidateDTO` with your own solution! 🛠️

For more information read the [Official Documentation](https://doc.expresso-ts.com/docs/providers/dto-validator)

#ExpressoTS #DTOValidator #Customization #NodeJS #BackendDevelopment
Practice CSS Selectors
Tags: webdev, css
Published: 2023-09-13 02:36:55

#100DaysOfCode 
Complete 32 level of CSS Diner as part of the odin project assignment. It is really fun and effective!!! :D 

Learning CSS? Try CSS Diner, the fun way to practice selectors → http://cssdiner.com #css #cssdiner #webdev via 
@flukeout


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/apb4mbrpopxnyi398ddm.png)
What is your Why?
Tags: programming, musings
Published: 2023-09-13 02:06:27

---
title: What is your Why?
published: true
description: 
tags: #programming #musings
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ui16nir3qrzvmaaeb11.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-09-13 01:52 +0000
---
I believe we all entered the field of programming for various reasons. It could be to earn a living, pursue a sought-after career, or simply because we love building stuff. Whatever the reason, we're here.

However, if I'm being perfectly honest, while all these are good reasons, none would provide me with more than the bare minimum level of happiness at what I do almost every day for many hours.

Yet, while I had my fair share of miserable days on the job like everyone else, more often than not, I am truly eager to do my thing at work. 

So today, while I was running, I found myself in a bit of an introspective mood and wondered what is my personal Why? Why do I still love programming so much after all these years. 

I always knew it had something to do with people. Seeing someone using something I wrote and maybe even liking it never ceases to give me a kick. But I felt there was a deeper desire. 

After a little back and forth with myself I reduced it to something that felt really true for me: **to reduce the suffering of someone else**. Okay, I know it sounds a bit overly dramatic, but hear me out here for a minute. 

Our profession is riddled with sharp objects we all occasionally bump into. People much smarter than myself say that it takes [a very long](https://norvig.com/21-days.html) time to even begin to master it, there is formidable math and sophisticated algorithms lurking at every corner, then there are new languages, tools, frameworks and paradigms jumping on us every other day that threaten to undermine everything we've learned for the past however many years. 

So when I get to brighten someone's day through my work in even the smallest way, damn it it feels good. 

It could be a user that with the help of something I wrote suddenly feels much more productive, or it could be as "small" as assisting a colleague by showing them how to use some tool that I take for granted, but is life-changing for them. 

That's why I relish at the opportunity to spend that extra hour at making my API just a tiny bit simpler, or clean up and refactor some messy code, or write that extra page of documentation or test. Because someone (including myself) will experience just a tiny bit less frustration and pain down the road when they try to use it. 

And whenever I get to see it first hand it gives me the energy to wake up the next day and do it all over again. 

So now I'd like to invite you to find your personal Why, and to please share it with us.
Snowflake Vectorized Python UDTF vs Python UDFs Comparison
Tags: technology, python, data, snowflake
Published: 2023-09-14 02:26:00

---
title: Snowflake Vectorized Python UDTF vs Python UDFs Comparison
published: true
date: 2023-09-13 01:31:03 UTC
tags: technology,python,data,snowflake
canonical_url: https://blog.infostrux.com/snowflake-vectorized-python-udtf-vs-python-udfs-comparison-8ce85d958134
---

[![](https://cdn-images-1.medium.com/max/1508/1*Syi9_J0RXBsvHCVNW0KwJg.png)](https://blog.infostrux.com/snowflake-vectorized-python-udtf-vs-python-udfs-comparison-8ce85d958134?source=rss-fab031e08990------2)

A Comparison between the New Vectorized Python UDTF and a Normal Python UDF

[Continue reading on Infostrux Engineering Blog »](https://blog.infostrux.com/snowflake-vectorized-python-udtf-vs-python-udfs-comparison-8ce85d958134?source=rss-fab031e08990------2)
I block bots.
Tags: webdev, website, privacy, seo
Published: 2023-09-13 01:15:52

A couple months ago, I posted [probably my second-most-popular social post](https://indieweb.social/@ademagic/110698140239508095) ever, and it was reposting what I found was an insightful [blogpost by Jeremy Keith](https://adactio.com/journal/20315). The message was simple, but hit me deep.

> "We can rescind our invitation to Google."
>
> -- Jeremy Keith

Part of every website go-live checklist I ever completed included integrating Google Analytics, or at the very least somehow ensuring that the site was being crawled as expected. I never actually questioned it.

When I started building this site, I also looked at moving my analytics interface elsewhere. Getting another website to collect, host and display my data felt less unsavoury than Google doing it, especially because I figured Google did other things with it, in ways and at a scale that no other website could. The more I thought about it, the more intrusive it felt.

## Why

I never actually considered saying "actually don't crawl me ever" until I read Jeremy's post. I don't actually need to result on Google for my personal site _at all_.

1. I'm not monetising it or selling any ad space
2. I don't directly benefit from increased traffic
3. I don't want to compete for high positions in results lists with paid professionals who benefit from 1. and 2.
4. I don't care to teach Google stuff

Upon further consideration I decided I'd rather

1. Get organic traffic from sources and circles I'm actively involved in (and post to)
2. Leverage the SEO Pros of platforms that are incentivised to help me show up in search results
3. Be selective (or at least have control of) the content I share to 1. and 2.

And so, __I block bots__.

## How

- [my commit for blocking Google's bots, apparently](https://github.com/ademagic/site/commit/cee03ba1868807bd46906bc5e82f7448cd9751ee).
- And in case it's changed, [my robots.txt](https://miko.ademagic.com/robots.txt).

As many people have pointed out, [Google could just as easily ignore this](https://indieweb.social/@isagalaev@mastodon.social/110702761168333156), there are [probably more thorough ways to do this](https://indieweb.social/@Bju1046@mastodon.online/110702597116071796), and [even (slightly) malicious ways to protest](https://indieweb.social/@corbin@defcon.social/110701821076049607). I haven't gotten that far and am content with this for now. If you've got any other things I should be adding to my robots file, please reach out.

_This was originally posted on my personal website at [miko.ademagic.com/blog/i-block-bots](https://miko.ademagic.com/blog/i-block-bots/)_
Git Mastery: Beginner’s Guide + Cheat Sheet
Tags: gettingstartedwithgit, essentialgitcommands, branchingandmerging, git
Published: 2023-09-13 01:06:52

## Getting Started:
**Initialize a Git Repository:**
- To start tracking your project with Git, navigate to your project folder and run:

```bash
git init
```

**Configure Your Identity:**
- Set your name and email address for your Git commits:

```bash
git config - global user.name "Your Name"
git config - global user.email "your.email@example.com"
```

**Basic Workflow:**

**Check Repository Status:**
- See the current status of your repository:

```bash
git status
```

**State Changes:**
- Add changes to the staging area (preparing them for a commit):

```bash
git add filename # To stage a specific file
git add . # To stage all changes
```

**Commit Changes:**
- Create a new commit with a message:

```bash
git commit -m “Your commit message”
```

**View Commit History:**
- See a list of previous commits:

```bash
git log
```

**Branches:**

**Create a New Branch:**
— Create a new branch for your work:

```bash
git branch [branch_name]
```

**Switch to a Branch:**
- Change to a different branch:

```bash
git checkout [branch_name]
```

**Create and Switch to a New Branch:**
- Combine branch creation and checkout in one step:

```bash
git checkout -b [branch_name]
```

**List Branches:**
- View a list of all branches in your repository:

```bash
git branch
```

**Delete a Branch (Locally):**
- Remove a branch that is no longer needed:

```bash
git branch -d [branch_name]
```

**Merging:**

**Merge Changes from Another Branch:**
- Combine changes from one branch into another:

```bash
git merge [branch_name]
```

**Remote Repositories:**

**Clone a Remote Repository:**
- Start working with an existing repository hosted on a remote server:

```bash
git clone [repository_url]
```

**Add a Remote Repository:**
- Connect your local repository to a remote server:

```bash
git remote add [remote_name] [repository_url]
```

**Pull Changes from a Remote Repository:**
- Update your local repository with changes from the remote:

```bash
git pull [remote_name] [branch_name]
```

**Push Changes to a Remote Repository:**
- Share your local changes with the remote repository:

```bash
git push [remote_name] [branch_name]
```

Remember that Git offers many more features and commands, but these basics should help you get started with version control. As you become more comfortable with Git, you can explore more advanced concepts and commands.
Graph in R with Grouping Letters from the Tukey, LSD, Duncan Test, agricolae Package
Tags: r, graph, groupingletters, tukey
Published: 2023-09-13 01:01:27

Graph in R with Grouping Letters from the Tukey, LSD, Duncan Test, agricolae Package
------------------------------------------------------------------------------------

As software developers, we often find ourselves working with data and analyzing it to gain insights. R, a powerful programming language for statistical computing, provides various packages to help us visualize and understand our data. In this article, we will explore how to create graphs in R using the agricolae package to group letters from the Tukey, LSD, and Duncan tests.

The agricolae package in R offers a range of statistical methods for agricultural research. Among its features, it allows us to perform multiple comparison tests such as Tukey, LSD, and Duncan tests. These tests help us determine if there are significant differences between groups in our data.

To begin, let's assume we have a dataset containing the yields of different crops from various treatments. We want to compare the means of these treatments using the Tukey, LSD, and Duncan tests. Once we have performed the tests, we can visualize the results using a graph.

Here's an example code snippet to perform the tests and create the graph:

 

    
        # Load the agricolae package
        library(agricolae)
        
        # Perform the Tukey test
        tukey_result <- HSD.test(yields, trt.factor)
        
        # Perform the LSD test
        lsd_result <- LSD.test(yields, trt.factor)
        
        # Perform the Duncan test
        duncan_result <- Duncan.test(yields, trt.factor)
        
        # Create a graph with grouping letters
        graph <- plot(grouping_letters(tukey_result, lsd_result, duncan_result))
      

 

The `grouping_letters` function from the agricolae package takes the results of the Tukey, LSD, and Duncan tests as input and generates grouping letters for each treatment. These grouping letters indicate which treatments have significantly different means.

Once we have the graph, we can customize it further to make it more visually appealing. We can add titles, labels, legends, and even some funny phrases to make it more engaging. For example, we can add a title like "Battle of the Crops" and label the x-axis as "Treatments" and the y-axis as "Yields". We can also add a legend to explain the grouping letters.

With the graph in hand, we can easily visualize and communicate the differences between treatments in our dataset. This can help us make informed decisions and optimize our agricultural practices.

### References:

*   [agricolae package documentation](https://cran.r-project.org/web/packages/agricolae/index.html)
*   [R Project for Statistical Computing](https://www.r-project.org/)
The Growing React Ecosystem
Tags: react, career
Published: 2023-09-13 00:13:21

TLDR; React is still a wildly good bet. 

[Technology trends](https://www.techstackjobs.com/technology-trends/react/) have always been a curiosity for us devs. Why? It's a few reasons, dev experience, individual passions, and job security. We all need to know which technologies that we need to keep up with.

[React trends](https://www.techstackjobs.com/technology-trends/react/) are important to keep track of because, quite frankly Javascript is the new arena for innovation and new technologies seem to be cropping up every week.

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

## Stats
There's over 40+ [React jobs](https://www.techstackjobs.com/react-jobs/) open. The number of jobs increased from 11 last month to 28 in September 2023!

Contrased to [Ruby on Rails jobs](https://www.techstackjobs.com/ruby-on-rails-jobs/), of which I've only indexed a single job thus far. But hey, 200k is pretty good!

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

## Data Collection
So far, the jobs are indexed on YC Startups, which has been a decent index of new technological adoption. 

The jobs are segmented by date that they were indexed.
A Day in the Life of a Software Engineer
Tags: webdev, javascript, beginners, programming
Published: 2023-09-12 23:41:51


Step into a day in my life as a remote software engineer in sunny California! Join me on this journey as I share my daily routine, taking you from sunrise to bedtime. Discover the secrets behind my morning rituals and productivity hacks that keep me on top of my game. Get ready for a day in the life of a software engineer!

[Watch Video on Youtube](https://www.youtube.com/watch?v=0kB4ybmD-CY)
Starting a startup? A word on Common Lisp VS TypeScript
Tags: programming, lisp, typescript, startup
Published: 2023-09-12 22:56:21

> My  startup was CL for all backend. After  it was written, documented and tested, I almost never looked at it.

> I spent almost all my time maintaining the Typescript code , which was on strict mode. Hense had types.

> I am starting a new company. All CL, no Typescript ;D 

🤣

That's a short post, but it's too good, I want to save it somewhere^^

Their pondered following answer, giving more context, is nice to read too: https://www.reddit.com/r/lisp/comments/147x15s/common_lisp_for_large_software/jnyzku7/
Unlocking EverShop: A Journey into Open Source E-Commerce
Published: 2023-09-12 22:52:14

Greetings, folks!

I go by the name Sher Ali Khan, but you can call me Ali – it's simpler, snappier, and easier to remember. Now, you might be wondering why I've embarked on the OSD600NSA course at Seneca – well, that's a question only the curious minds among you might ask.

Open source, my friends, has always tickled my intellectual taste buds. It's like a global potluck of innovation, where brilliant minds from around the planet converge to cook up a storm of collaborative code for the greater good. Think of it as the coolest party in the tech world – transparent, exclusive (in a good way), and filled with a spirit of innovation that's positively contagious.

Contributing to an open-source gem like EverShop is like embarking on a transformational odyssey of learning. It's not just about sharpening your technical toolkit; it's about crafting your soft skills, embracing the open source ethos, and uncovering a world of development and collaboration you never knew existed. The journey is more profound than lines of code; it's about shaping your career and personal growth.

EverShop, my dear reader, isn't your run-of-the-mill e-commerce platform; it's a bustling community-driven marketplace where e-commerce dreams come to life. With transparency as its guiding star, a welcoming community, and an unwavering commitment to improvement, EverShop is like the friend who's always got your back in the world of open source e-commerce.

So, why would someone like me choose EverShop? Well, it's like a box of goodies from the open source treasure chest: the thrill of openness, the joy of customization, the comfort of a supportive community, the savings of cost-effectiveness, the adaptability of versatility, and the security of a watchful guardian. Whether you're a business maven seeking the perfect e-commerce solution or a coding whiz searching for an open source project to infuse with your brilliance, EverShop beckons as a compelling choice in the bustling e-commerce landscape.

Link: https://github.com/alikhan1998/evershop
Angular 14 Widget
Tags: angular, webdev, typescript, html
Published: 2023-09-12 22:51:31

I have an existing Angular UI widget or simple dataTable web app use as a widget by a parent web app.

I want to add a new and different Angular UI widget or simple dataTable web app but separate from the original.  Same code base but separate.

How do I separate them in the app.component.html and index.html
THE TOOLS I LEARNT — FIRST MONTH OF LEARNING PROGRAMMING
Published: 2023-09-12 22:42:44

In the early stages of my programming journey, I delved into the essentials of HTML and familiarized myself with basic command line tools. Here’s a breakdown of what I learned:

HTML (Hypertext Markup Language):
HTML serves as the backbone of web development. It allows me to structure content on a webpage using elements and tags.
2. Basic Command Line Tools:

cd (Change Directory): This command enables me to navigate through directories in the terminal or command prompt.
ls (List) or dir (Windows): I use this to list all the files and directories in the current working directory.
pwd (Print Working Directory) or echo %cd% (Windows): This command helps me identify the current directory I’m working in.
mkdir (Make Directory): I can use this to create a new directory or folder.
touch or echo > filename (Windows): This command allows me to create an empty file in the current directory.
cp (Copy) or copy (Windows): This command is essential for duplicating files and directories.
3. Basic Git Commands:

Understanding Git, a version control system, is crucial for collaborative and organized development. Here are some of the fundamental Git commands I learned:

git init: Initializes a new Git repository in the current directory.
git status: Provides an overview of the repository’s current state, including tracked and untracked files.
git add .: Stages all changes for the next commit. Alternatively, I can specify individual files to stage.
git commit -m “commit message”: Records the staged changes in the repository along with a descriptive message.
git remote add origin {repo_url}: Establishes a connection between the local repository and a remote repository.
git push -u origin master: Pushes the local commits to the remote repository, setting up tracking for the master branch.
Additional Git Commands:

In addition to the basics, I also learned some additional Git commands that are crucial for effective version control:

git clone {repository_url}: Creates a local copy of a remote Git repository.
git log: Displays a detailed history of commits, including messages, authors, and timestamps.
git branch: Lists all branches in the repository and indicates the current active branch.
These foundational HTML and command line tools, combined with Git version control, have equipped me with the necessary skills to embark on a dynamic programming journey. They form the bedrock upon which I continue to build my proficiency and tackle more complex challenges in the world of software development.

An Accountant turning to a Programmer…….


**How to add edited HTML code file to deployed project on GitHub**

git add .
git commit -m "commit message"
git status
git push -u origin master[]

(https://www.youtube.com/watch?v=Bzwlt3qf1dM)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ln63iz4883qlcmmqn8lk.jpg)
Quick Fix For Python UnicodeEncodeError When Trying To Print An Encoded Emoji
Tags: python, datascience
Published: 2023-09-12 22:35:46

If you have encoded emojis in a string, and you can't print them, do this:

```python
>>> data = "Those are emojis -> \ud83d\ude2e\ud83d\ude02\ud83d\ude02"
>>> data.encode('utf-16', 'surrogatepass').decode('utf-16')
'😮😂😂'
```

This should work with any character encoded as two 16-bit hex value.

<!--
These are cookbook recipes i know i will need to use in the future, that's why posting it.
-->