teleren/devto huggingface dataset:
Skip the take-home assessment
Tags: jobs, interview, career
Published: 2021-06-07 11:19:11

---
title: Skip the take-home assessment
published: true
date: 2021-06-02 00:00:00 UTC
tags: jobs,interview,career
canonical_url: https://jhall.io/archive/2021/06/02/skip-the-take-home-assessment/
---

Next time you’re applying for a tech job, and you’re asked to write a small application as part of the interview process, I want to challenge you to push back a little. Here’s some phrasing that has worked for me in the past:

> Hi **[recruiter name]**,
> 
> I enjoyed our chat.
> 
> I’ve looked over the take-home exercise, and I think it would be a more efficient use of everyone’s time, and also a much more meaningful demonstration of my coding abilities, to review some of my open-source code, which I know is actively used in by many organizations. **[link to project]** would be a good starting point.

Of course not everyone has an open-source project to share. here are some other sources of code you might offer instead:

- If you’re early in your career, consider some code used for a class assignment.
- If possible, consider some code from a previous employer. Make sure you don’t violate any NDAs, and make sure it’s code _you_ wrote.
- If you have any hobby projects, host them publicly on GitHub or similar, and offer this.
- If you have an open-source project, or one that you’ve contributed significantly to, you can use this.
- Google for a [coding kata](https://en.wikipedia.org/wiki/Kata_(programming)) that interests you, and put your code on GitHub.
- Finally, if all else fails, go ahead and do a regular coding assignment for one job application. But then offer that code to other prospective employers.

Not every recruiter or potential employer will accept your offer, but for every one that does, you may save several hours of otherwise wasted work.

* * *
_If you enjoyed this message, [subscribe](https://jhall.io/daily) to <u>The Daily Commit</u> to get future messages to your inbox._
Day 378 : Work
Tags: hiphop, code, coding, lifelongdev
Published: 2021-06-01 22:47:14

_liner notes_:
- Saturday : So I've been putting the show together closer and closer to going live. I decided that I would get a bunch of tracks prepared before the show. So that's what I did. I got like 4 shows worth of tracks put into playlists. Felt good! Had the radio show and it was a good time. The recording of this week's show is at https://kNOwBETTERHIPHOP.com

![Radio show episode image of Malcolm X smiling with the words May 29th 2021 Lawsuits](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xl3t4isgwbetjjtumryc.jpg)

- Sunday : Finished up the post radio show promo work and did my laundry. I also worked on the dashboard for my side project. I got the basic layout worked out and when you clicked the options, it would pull up placeholder text. Then I got the part that a user can view, add and delete events. I'm pretty used to Firebase so it went pretty quickly.

- Monday : It was Memorial Day, so I took it easy and did some light coding. Found out that the Timer Web Component I made did have a function to restart the countdown. Once it reached 0, that was it. One and done. haha Well, in my side project, I need to be able restart the time when a value in the database changes. Added the functionality to the Web Component and test it out in the project and worked how I wanted. Nice. Then I worked on the section that would send notifications to people who subscribed on the other section I worked on earlier. Got it working and able to send notifications. Awesome. Just need to get some more features of the notifications added. I'll have to dig more into the documentation and see what I can make happen. At least people can sign up and get notifications.

- Professional : Today was pretty much working on a blog post and doing some research.

- Personal : Happy with how the admin panel is turning out so far. Trying to keep it as simple as possible and reuse a lot of components. The last major part of the admin dashboard is also the biggest. It's the part that involves the live streaming. I've done pieces of it before so I hope I don't run into too many problems.

![A view at a clear blue sky with some clouds through palm trees](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sdu0t0wqlsngmgwehocr.jpg)

Want to see if I can get the notifications working the way I want. Then I want to start the live stream part. Really thinking I'm going to push the first show date back depending on how much I can get done.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube 0y_sVmhY7oY %}
Merge multiple CSV files and remove duplikats (e.g. Keepass)
Tags: showdev, node, csv, security
Published: 2021-06-01 22:30:23

I would like to present you a simple script which I wrote when I needed to merge the passwords database from LastPass to my current *KeepassXC* database.
 
![screenshot](https://i.imgur.com/o0DMZlH.png)

Let's start with my example, you want to migrate from LastPass but you already have existing passwords in Keepass.
You can use merge tool built in Keepass but unfortunately it adds new records without checking if there is already one, which causes duplikats in the database.

That's why I wrote this script which will merge multiple databases exported in CSV and remove duplikats automatically.
But don't worry, if even one column differs, it does not remove it but adds it as a new one. This way you will not lose any entries.

ProHint: If you are esporting a database from LastPass (or other services), add the exported CSV first to the new Keepass database and set the columns you have on your other Keepass database and export as new CSV file. This will make sure you have the same columns in the current database and the new one.

My columns look like this: 
`Group | Title | Username | Password | URL | Notes`

## Usage

To install and start the CSV database merge you can easily install from npmjs.com

```
$ npm install merge-csv-keepass -g
or
$ yarn global add merge-csv-keepass
```

It is very easy to use, after installation you have access to a new command `merge-csv-keepass` where you just need to add few arguments and you are done!

Example, we have a database db1.csv and db2.csv we want to merge them into a file merged_db.csv to do this we run the command:

```
merge-csv-keepass -source db1.csv db2.csv -output merged_db.csv
```

Done! Simple, isn't it?

> Keep in mind that the script does not check if the output file exists! If it exists it will overwrite it!

Of course you can add more databases than just two to merge, or even just one database to only remove duplikats from it.

The whole project is open source and available on Github.  

{% github skorotkiewicz/merge-csv-keepass no-readme %} 

Enjoy your merging! :)
My first big open source project with a friend
Tags: showdev, opensource, vue, cpp
Published: 2021-06-01 22:29:59

Today I wanted to make a little blog post (also my first one) about my first big open source project.

# The beginning

It started with me switching full time to Linux. (arch btw)
I was wondering if there was a soundboard for Linux and found that there were no good alternatives to the Windows counterparts.

Often when I realize something like this I think something like: "How can it be that no one really created this?".

That combined with the fact that I had been planning to get into C++ for a while, then led me to start the project.

# First functional version

After a little research I found out that it's fairly easy to implement a soundboard on Linux with PulseAudio modules.

Here is a screenshot from the first version:

![Old version](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ftmj8w60xlra1trclgcc.png)


I wrote it with C++ and Qt5 as widget toolkit. I had a little help from a friend who was still using Windows at the time and is more proficient in C++ than I am.

It used system calls to the PulseAudio CLI and another CLI program called `mpg123` to play the sounds.

# Collaboration

Then I collaborated with him and made a new version which was a major rewrite and looked like this:

![QML Version](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w1sz0553cxkmjdcwcqe3.png)

I did most of the UI work with QML and he did the backend stuff. This was also the first version to support Windows with VB-Cable.

Up until that point the logo looked like this. This was my first attempt on creating a logo using [Inkscape](https://inkscape.org/)
![Old Logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ir890uuos1pq2fj647du.png)

# Next-gen version

At some time we both agreed that we want to change the UI framework again because we were not so happy with QtWidgets and QtQuick.

When I created the first version I was more into coding with languages like Java, Kotlin and despised JavaScript a bit back then.
However, by then I was a fan of Web development and JavaScript/TypeScript frontend frameworks and we decided to use a web based UI.

He coded a webview library which uses WebView2 on Windows and Webkit2GTK on Linux. I created the new UI using Vue.js and Vuetify.

This is how the current version looks like:
![Screenshot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/82vnbkja5rsjih5jcc2b.png)
(We've come a long way 😮)

We also created a new logo using [Canva](https://www.canva.com/):
![New Logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8647o5pmz75pq6ftzyxj.png)


##### This version also introduces major new features like an integrated downloader and pass-through which can be used as a workaround to share an applications' sound on Linux.

# Closing words

Thank you for reading my post! I've never written a blog article before, so criticism is very much welcome.

# Links

* See our [current website](https://soundux.rocks/) which I created using Nuxt.js + Vuetify
* Our future plans can be found on our [GitHub issue page](https://github.com/Soundux/Soundux/issues)
Day 4
Published: 2021-06-01 22:06:28

Started the day with the program that I had sleep on yesterday. Took some time but figured it out. Then couple more programs and learning C++ input/output later in the eve. 
Honestly, all the different functions for input/output, I couldn't understand all of their differences and even in a program, "cin" worked whereas "getchar" and "scanf" didn't. Couldn't understand why. Gotta make notes on the I/O tomorrow. Overall, did something but not satisfied for today. 

Cheers!
15 FREE OPEN SOURCE IOCNS PACK FOR EVERY DESIGNER AND DEVELOPER!
Tags: design, webdev, tutorial, beginners
Published: 2021-06-01 21:16:55

after a long time of searching and trying so many resources for free icons, I created this list and I used all of these packs and wanted to share it with everyone.



1. **[Emblemicons](https://emblemicons.in/?ref=undesign) -** An open-source free to use library of 1000+ most commonly and frequently used icons.
2. **[Unicons](https://iconscout.com/unicons?ref=undesign) -** 1000+ Pixel-perfect vector icons and Iconfont for your next project.
3. **[700+ CSS Icons](https://css.gg/?ref=undesign) -** Minimalistic icon library Designed by code. Customizable & Retina-Ready icons — entirely built in CSS
4.  **[Fork awesome](https://forkaweso.me/Fork-Awesome/?ref=undesign) -** A fork of Font Awesome, the iconic font and CSS toolkit, under GPL Licence
5. **[Twemoji](https://twemoji.twitter.com/?ref=undesign) -** Twitter’s open source emoji has you covered for all your project's emoji needs. With support for the latest Unicode emoji specification, featuring 3,071 emojis, and all for free.
6. **[Remix Icon](https://remixicon.com/?ref=undesign) -** Remix Icon is a set of open-source neutral-style system symbols elaborately crafted for designers and developers.
7. **[SuperTinyIcons](https://github.com/edent/SuperTinyIcons?ref=undesign) -** Under 1KB each! Super Tiny Icons are miniscule SVG versions of your favourite website and app logos
8. **[Eva Icons](https://akveo.github.io/eva-icons/?ref=undesign) -** A pack of more than 480 beautifully crafted Open Source icons. SVG, Sketch, Web Font and Animations support.
9. **[CoreUI Icons](https://icons.coreui.io/icons/?ref=undesign) -** CoreUI Icons is an open-source icon set with more than 1500 icons in multiple formats SVG, PNG, and Webfonts.
10. **[Heroicons](https://heroicons.com/?ref=undesign) -** A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.
11. **[System UIcons](https://systemuicons.com/?ref=undesign)  -** A growing collection of simple and consistent icons specifically designed for systems and products. Use how you want, without attribution.
12. **[Boxicons](https://boxicons.com/?ref=undesign) -** Boxicons is a simple vector icons set carefully crafted for designers and developers to use in your next project
13. **[Mono icons](https://icons.mono.company/?ref=undesign) -** A simple, consistent open-source icon set designed to be used in a wide variety of digital products.
14. **[Phosphor](https://phosphoricons.com/?ref=undesign) -** Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really.
15. **[Glyphs](https://glyphs.fyi/?ref=undesign) -** Fully editable & truly open source design system
How to add a dynamically generated sitemap with rails
Published: 2021-06-01 21:16:20

---
title: How to add a dynamically generated sitemap with rails
published: true
date: 2021-06-01 21:13:18 UTC
tags: 
canonical_url: https://webdevchallenges.com/how-to-add-a-dynamically-generated-sitemap-with-rails
---

The `sitemap.xml` [file on my blog](https://webdevchallenges.com/sitemap.xml) is generated dynamically because I want it to include my latest posts in it.

The way I did that is that in a controller (in my case the `HomeController`) I added an action which is empty:

    class HomeController < ApplicationController
      def sitemap
      end
    end

The `config/routes.rb` file defines route route and explicitly sets the format:

    get 'sitemap.xml', to: 'home#sitemap', format: 'xml', as: :sitemap

The `app/views/home/sitemap.xml.builder` file then defines some static routes and also defines routes depending on database entries like posts.
These routes simply render the urls of static pages and dynamic ones (posts). Note how you can use the `.xmlschema` method on date objects which returns the correct format for sitemaps.
Also we are using the `.find_each` [method](https://apidock.com/rails/ActiveRecord/Batches/ClassMethods/find_each) because if we have a massive amount of posts later, loading them to memory with `.each`
might result in problems later.

    xml.instruct! :xml, :version=>"1.0"
    xml.tag! 'urlset', 'xmlns' => 'http://www.sitemaps.org/schemas/sitemap/0.9', 'xmlns:image' => 'http://www.google.com/schemas/sitemap-image/1.1', 'xmlns:video' => 'http://www.google.com/schemas/sitemap-video/1.1' do
      xml.url do
        xml.loc root_url
      end
      xml.url do
        xml.loc imprint_and_privacy_policy_url
      end
      xml.url do
        xml.loc impressum_und_datenschutzerklaerung_url
      end

      Post.published.find_each do |post|
        xml.url do
          xml.loc show_post_url(post.slug)
          xml.lastmod post.updated_at.xmlschema
        end
      end
    end
    
Make sure your `robots.txt` file then points to that sitemap like this for search engines to find that file correctly.
    
    Sitemap: https://webdevchallenges.com/sitemap.xml
Surviving your first months as a developer in a company
Tags: javascript, beginners, codenewbie, career
Published: 2021-06-01 21:01:18

So, you decided to start programming, done some courses, created a few projects, and you want to find your first developer job. That's great! I'm glad you survived so far, now let me tell you some stuff you don't learn in programming courses.

I was a freelance developer for a little more than a year, made some money with that, but decided to get a job in a real company in order to learn more and build up experience, and when I did get the job, I was shocked. It may or may not sound like an exaggeration, but it is, in fact, a whole new world. All of sudden you can't see your own programming patterns anymore, weird documentation, new technologies you've never used before and doesn't even know where to start, so you ask yourself: what the f***?

You're still glad you got the job but now you want to run away and embrace your dearest impostor's syndrome, but do not fear, the initial panic is part of the job.

When a company hires a junior-middle level developer, it already knows what's going to happen, and trust me, they did not hire you because they think you're a genius, so let's get this out of the way, you're surely spending your first few weeks praying to god for your own survival, and that's fine. Focus on asking questions, learning the tecnologies through observation and/or pre-planned exercises the CTO has created for this sort of situation, and try not to get too proud of yourself because at this point you probably haven't seen the company's whole structure yet. Nevertheless, do your best to stay calm, you're not supposed to become the company's next senior developer in a short period of time, what you are supposed to do is learn, and that's what you will be doing for the next years of your life, until you're finally ready to lead and create huge things from scratch. So don't worry about the pressure, talk to your supervisor, ask for help, ask all the questions you need to, even if they sound stupid. No one thinks you're dumb or ignorant, unless, of course, you refuse to learn. Your first months are pretty much like going to college, except you get paid to do it, so enjoy it while you can. Programming gets harder with time, and soon you'll be able to do way more than the average junior level programmer, which is why you'll also get paid way more for your work. Also, don't ever think becoming a better programmer means you'll be less frustrated, frustration is a necessary part of being a problem solver, so the quicker you get fond to the process of finding a problem, getting stuck in it and grinding to find solutions, the quicker you'll evolve.
I built a link shortener app with NextJS
Tags: showdev, nextjs, typescript, javascript
Published: 2021-06-01 21:00:13

Live demo: [l.ekrzeptowski.pl](https://l.ekrzeptowski.pl)

### Libraries used:
* [NextAuth.js](https://next-auth.js.org/) - authentication for Next.js
* [Prisma 2](https://www.prisma.io/) - Next-generation [ORM](https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping) for Node.js and TypeScript
	
* [React query](https://react-query.tanstack.com/) - used for fetching data and state management
	![React query data fetching](https://res.cloudinary.com/dn3ero0me/image/upload/v1618142939/blog/76TSHtdPQ5_zv8uln.gif)
* [React Hook Form](https://react-hook-form.com/) - used for URL input state management and validation
	![Form validation](https://res.cloudinary.com/dn3ero0me/image/upload/v1618142465/blog/Ve8fTNwmD0_hechm1.gif)
* [Tailwind CSS](https://tailwindcss.com/) - A CSS framework used for styling

___

I'd love to hear your feedback about this app. You can also introduce your ideas to this project by contributing to it.

Here's a link for the GitHub repo:

{% github ekrzeptowski/surl %}
Cool (online) places
Tags: webdev, css, a11y, react
Published: 2021-06-01 20:53:20

Here are 3 lists with useful and original websites to learn code or simply enjoy life.

## Pure snippets and articles

* [Oh Hello Ana](https://ohhelloana.blog/)
* [A11y with Lindsey](https://www.a11ywithlindsey.com/blog/)
* [Victoria.dev](https://victoria.dev)
* [Odd Bird](https://www.oddbird.net/blog/)
* [Modern CSS Solutions](https://moderncss.dev)
* [A list apart](https://alistapart.com/)
* [Veerle](https://veerle.duoh.com/)

## Visuals

* [DOM Events](https://domevents.dev)
* [Can I email](https://caniemail.com)
* [RunJS](https://runjs.app)
* [CSS Animation](https://cssanimation.rocks/)
* [d3js](https://d3js.org/)
* [Information is beautfiful](https://informationisbeautiful.net/)
* [viz.wtf](https://viz.wtf/)

## Beautiful galleries and #showdev

* [Lea Verou - css3 patterns](https://projects.verou.me/css3patterns/)
* [Temani Afif - legendary series](https://dev.to/afif/series)
* [useHooks.com](https://usehooks.com)
* [This was 2020](https://2020-dm.com/)
* [Bennet Feely](https://bennettfeely.com/gradients/)
* [The Hunt for Satoshi](https://www.uxsequence.io/hunt-for-satoshi/)
* [The state of CSS 2020](https://2020.stateofcss.com/en-US/awards/)
CVR
Published: 2021-06-01 20:19:04

SPECIAL INFORMATION

INEC CONTINUOUS VOTERS REGISTRATION UPDATES

Highlights from the INEC Chairman briefing on Thursday, 1st, April, 2021.

1. Monday, 28th June, 2021 would commenced the CVR (CONTINOUS VOTERS REGISTRATION) nation wide and the following set of people should be encourage to take part in the process

A. Non registered citizens who are now 18 and above

B. Any Registered Voter who has issues with accreditation during the last exercise

C. Any Registered Voter who wants to transfer his PVC to another location

D. Any registered Voter whose PVC is damaged

E. Any registered voters who wants correct their names wrongly spelt.

2. That CVR exercise will close at the 3rd Quarter of next year 2022.

3. That Anambra State will close temporarily in August, 2021 to plan for thier forthcoming Gubernatorial election later this year.

4. Within now till Monday 28th June, 2021 the following will be carried out

A. Expansion of Polling units process 11th May,2021

B. Building and testing online Registration 15th May, 2021

C. Arrival of the New IVER machines 31st May, 2021

D. Recruitment and enrollment of staff for the CVR exercise 14th June, 2021.

REMARK
 Let us mobilize our people for voters registration because this in the long run determines what you get from Government.

Please let's sensitize our people to come out during the exercise.   Aljazeera Bunza (Chairman Coalition of FCT PDP Support Groups)
[Dicas do VIM] Salvando um arquivo no VIM / NeoVIM
Tags: vim, neovim, braziliandevs
Published: 2021-06-01 19:51:13

Para salvar o arquivo no qual você está trabalhando atualmente, digite

```
:w
```

Digitando 

```
:wq
```
ou 

```
:x 
```

ou ainda pressionando **SHIFT** e **ZZ** juntos, o VIM salva e fecha o arquivo atual.