teleren/devto huggingface dataset:
2 Things I’ve learnt after over year of working as a software developer.
Tags: advice, career, motivation
Published: 2021-03-10 11:40:44

**Declaimer:** I am still at university so by working I mean part time.


### 1. It is not only alright to ask for help, but essential!
One of employers biggest fears when employing a junior dev or graduate is idea that they won’t ask for help and will instead continue to struggle alone and make no progress. 
I used to be of the frame of mind that I must do my work on my own and asking for help is evidence that I am not a good programmer. However that is far from the case.
Asking for help is great and probably one of the best ways to gain experience in software development. The amount of times I’ve asked my co-workers for help or advice would of shocked me from a year ago but with hindsight it isn’t surprising.
Plus, even experienced software developers ask for help.


### 2. Tests Tests and Tests.
Writing tests is one of the biggest pains of being a software developer but they are too necessary to ignore. 
Because with out them maintaining and improving a codebase as it grows becomes an impossible task. As software developer I’ve learnt you spend near all of your time maintaining an existing codebase. So having tests is the only way to know your modifications hasn’t broken something else before your changes is pushed to product and it then its too late and the damage is done 😭.
*These are just two key things I've learnt that stood out to me. I look forward to learning more on my software development journey.*
AI ML UAP Tracker Project
Tags: ai, machinelearning, opensource
Published: 2021-03-10 11:38:03

Sky Hub Mission: connect a network of civilian-owned sensor arrays, use machine learning to catalogue anomalous events, and share this data with researchers.

If you are interested in AL / ML open source citizen science project, please check out the repo's below.

https://gitlab.com/groups/skyhuborg/-/issues

https://gitlab.com/openskyze/openskyze

If you can provide some spare cycles / support or promotion please join the volunteer team via
https://chat.skyhub.org/home
Tic Tac Toe Game using HTML CSS & JavaScript
Tags: javascript, html, css, gamedev
Published: 2021-03-10 11:37:54

In this post we will be building the ever popular Tic Tac Toe game in JavaScript. It's a relatively simple implementation and the most complex portion is the calculation of a win scenario. If you are relatively new to JavaScript, then I highly recommend Web Design with HTML, CSS, JavaScript and jQuery as a good starting point.

I normally start with zero code written, and I don't normally use 3rd party libraries for these things. So there are no 3rd party libraries or frameworks to setup. All you will need is your favorite coding editor, like VS Code.

{% youtube YdzuLfN8VWk %}

**Name: Tic Tac Toe**
**Language: JavaScript**
Estimated Completion Time: 1 hour
The rules of the game are as follows.

In Tic Tac Toe, 2 players take turns adding their token (an X or a O) to a 3 x 3 (or N X N, for the more ambitious) grid until one player matches 3 (N) in a row in any direction.

Let's set up a few basic variables to keep track of the game settings.

**Download Code: [Click Here](https://drive.google.com/file/d/1hSPcc40rLL5DRw5PrGLpGoLzb2sy_Opr/view?usp=sharing) (google drive)**

**Watch Video Tutorial: [Click Here](https://youtu.be/YdzuLfN8VWk)( Step by Step )**
How I blundered with enum's hashCode
Tags: kotlin, rant, blunder
Published: 2021-03-10 11:31:57

I was implementing an HTTP caching for one of our APIs, [based on "ETag" and "If-None-Match"](https://en.wikipedia.org/wiki/HTTP_ETag) headers. The entity I was trying to cache — `Feed` — was simple:

``` kotlin
data class Feed(
    val deviceId: String,
    val platform: Platform,
    val items: List<FeedItem>
)

enum class Platform {
    IOS, ANDROID
}

data class FeedItem(
    val id: Int
    // Integers and strings
)
```

I decided to use `hashCode()` for ETags.

I knew that both `Integer` and `String` have a well-defined and stable hash code: [`Integer#hashCode()`](https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Integer.html#hashCode()) is equal to the primitive value represented by that `Integer` object, and [`String#hashCode()`](https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html#hashCode()) uses a known formula. [`List#hashCode()`](https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/util/List.html#hashCode()) is stable as well as long as it’s elements have stable hash codes.

![yeah, we happy](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f0dtnqfoyhv465py7a3j.gif)

Of course not, we’re not happy! I forgot to check the details about [`Enum#hashCode()`](https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Enum.html#hashCode()) method.

And here be dragons: **enum’s hash code is not stable across different JVM instances**. I assumed wrongly that it is calculated as value’s [`ordinal()`](https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Enum.html#ordinal()), which is `Integer`, which, we know, has a stable hash code, equal to itself. But it’s not. Enum’s hash code is defined in Java (Kotlin is virtually the same) as:

``` java
public final int hashCode() {
    return super.hashCode();
}
```

Here, `super` is an `Object`, and, [as we know](https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html#hashCode()), `Object`'s hash code is stable unless the object itself is changed. It’s generally the case with enums: there is only one instance of each of enum’s values per JVM and they are stable. But it’s important to emphasize, that it applies to a single JVM. **Enum’s on different JVMs will have different hash codes.**

And that’s how our ETags were broken: every time the request landed on a new server, the ETag was different, even if the objects stored in the database were the same. The situation was worsened by the fact that we were using short-lived JVMs ([AWS Lambda functions](https://aws.amazon.com/lambda)), so the caching was completely broken for a while until I tracked down this issue.

RTFM!
How to Maximize Your Productivity as a Programmer
Tags: 100daysofcode, programming, productivity
Published: 2021-03-10 11:30:23

Wouldn't it be great if you could learn faster? do more in less time and earn the high productivity badge? in this video, we are going to explore the steps to help you learn to code in less time by following these simple steps.

These work for me and I use them regularly and I hope it works for you too. ☺️

{% youtube OVaV5Ifm1sg %}

Please subscribe on YouTube if you like this sort of content:
[How to maximize your productivity as a programmer](https://youtu.be/OVaV5Ifm1sg?sub_confirmation=1)
Why you should go for a web designing course
Tags: webdev, devops, webdevelopmentcourse, intellipaat
Published: 2021-03-10 11:25:47

Web designing is an Art. It has gotten more mainstream than previously. Today everybody is making their sites for expert and individual use. Here are a few reasons and advantages of how considering a web planning course can profit your profession. 

Site planning is not difficult to be prepared. On the off chance that you are intrigued to start your profession as a web designer, you should initially go through legitimate preparation before you can dominate it. One of the best <a href="https://intellipaat.com/course-cat/website-development-courses/">web developer certification</a> providers is Intellipaat. Its courses are exceptionally simple for individuals who are new to this field without any prior designing knowledge.

Web planning isn't simply making a page to show content and pictures. First, we need to break down the prerequisite then we need to design and make the ideal site with our thought and innovativeness. 

It's an ability to make a presentation of substance in hypertext or hypermedia that is visible by an end-client through World-Wide-Web, by the method of internet browsers like Micro logging customers, RSS perusers, and Internet TV customer. In the Information Technology field, there is a solid tendency line between website composition and web advancement. 

Web composition is the assortment of visual computerization that got ready for the advancement and styling of the article. Two central points make up a site, the lovely plan and the text style of the page. A responsive plan assumes a significant part in it as it has the great idea of planning a site for all clients like portable and web. 

Advantages OF STUDYING WEB DESIGNING COURSE: 

1) You can learn in a brief timeframe. 

2) Limited abilities. 

3) You can do outsourcing projects. 

4) Start our own business. 

5) You can bring in cash in a brief timeframe. 

6) Work from home. 

7) You can begin your training Institute. 

Picking site planning as your calling is the most ideal decision that gives you a splendid and exciting future. You can go into business in the low venture and bring in cash in a brief period. Gain a web planning course from DMC and launch your vocation now!
Announcing the first StrapiConf Speakers and website
Published: 2021-03-10 11:22:55

Today we are thrilled to announce the first round of speakers for [StrapiConf (virtual)](https://conf.strapi.io) on April 22nd, 2021. We have received over 40 excellent submissions and want to thank everyone who took the time to submit proposals. You have not made it easy for the review committee to choose what talks to accept and decline. In fact, after carefully reviewing all of the amazing use cases, Strapi tips, and Jamstack best practices that you have submitted, we have decided to add a 3rd track to accommodate more sessions and lightning talks from the community. 

The first track called “Adopt” showcases a variety of use cases from companies using Strapi at scale, in production. The second track named “Build” includes best practices for customizing and extending Strapi’s core capabilities. The third track called “Integrate” covers the use of Strapi together with other JAMstack technologies and platforms such as Headless Commerce, Search, Authentification, Hosting and Monitoring. 

### Meet our amazing StrapiConf Speakers! 
This conference will include content for everyone and a lot of great sessions to choose from. We are delighted to welcome our first confirmed speakers for the conference. Follow #StrapiConf and stay tuned as we continue to announce new speakers!
### Track 1 (Adopt)
![track adopt.jpg](/uploads/track_adopt_98cab97734.jpg)

### Track 2 (Build)
![track 2.jpg](/uploads/track_2_b89d9dd9e3.jpg)

### Track 3 (Integrate)
![track3.jpg](/uploads/track3_d05b9517a6.jpg)


### Meet our awesome StrapiConf sponsors

![Capture d’écran 2021-03-03 à 11.39.57.png](/uploads/Capture_d_ecran_2021_03_03_a_11_39_57_a4cd474e61.png)

While the conference is virtual, you will still have the opportunity to stop by virtual sponsor booths and meet with our awesome sponsors to discover and discuss how their products work and integrate with Strapi. A huge thanks and shout out to the 10+ sponsors from all over the world who are contributing to making StrapiConf a success.

Interested in sponsoring StrapiConf? Check out our [sponsorship prospectus](https://docs.google.com/presentation/d/1ORDBQj9iJ8WScWnHWOdsbQAEIneNgzxkRpeeRNPaUmA/edit#slide=id.g7952030c5c_3_172) for more details. 

**bold text**
Haven't registered yet? [Register now](http://conf.strapi.io) to learn more about Strapi, the Headless and Jamstack Ecosystem.
PSTファイルをEMLに変換する簡単なソリューション
Published: 2021-03-10 11:21:15

IT部門では、電子メールは顧客または顧客と話すための重要な仕事を担っています。 PSTとEMLは、2つの異なる電子メールメッセージの配置です。たとえば、PSTはMSの観点から使用され、EML、Outlook Express、Live Mail、Thunderbirdなどによって使用されます。 MS Outlookは、多くの場合、不可欠で効果的に合理的な電子メールクライアントです。タスク、メッセージ、スケジュール、メモなど、さまざまな情報が含まれています。MSOutlookは使いにくいですが、Outlook情報クライアントのエラーや問題が原因である場合を除いてすべてです。 EML、MSG、MBOXなど。そのため、さまざまな顧客に渡す必要があります。このブログでは、OutlookPSTドキュメントデザインをEMLに変換するための簡単な手動戦略について説明します。 <b><a href="https://www.gaintools.com/pst/eml/">PSTからEMLへのコンバータソフトウェア</a></b>

PSTからEMLへの変更プロセス

戦略1：Outlook Expressを使用してPSTをEMLに変換します。

手順1：MSOutlookを開きます。ドロップダウンの選択肢から[スナップインファイル]と[開く]ボタンを選択します。

手順2：ドキュメント[視点情報を開く]をクリックします。

ステップ3：次に、PSTドキュメント領域を参照し、レコードを選択します。 OKに頼って、PSTレコードをMSOutlookに追加します。

ステップ4：PSTドキュメント情報をOutlookExpressにエクスポートする機会。次に、OutlookExpressとスナップインファイルを開きます。

ステップ5：[ドロップ]オプションから開始して、[インポート]を選択し、サブメニューから[メッセージ]を選択します。

手順6：Outlook Express Importという名前の別のウィンドウが開き、[インポート元の電子メールプログラムの選択]リストから[MicrosoftOutlook]を選択します。次のグラブをキャッチします。

ステップ7：前提条件に従って、これらから任意の選択肢を選択します。つまり、[すべてのフォルダー]または[すべてのフォルダー]を選択します。

手順8：[次へ]ボタンをクリックして、インポート手順を実行します。プロセスの導入が完了した後、賛辞メッセージが受信され、[完了]をクリックします。

ステップ9：すべてのOutlook情報がOutlook Expressに転送されたら、柔軟性をあまり与えずに、簡略化された戦略を使用してEMLに進むことができます。

テクニック2：MozillaThunderbirdを使用してPSTをEMLに変換します。

ステップ1：Thunderbirdメールクライアントを開き、スナップインツール→インポートをクリックします。

ステップ2：Importという名前の別のポップアップ。ここには、[すべてをインポート]と[インポートするマテリアルを選択]の2つのオプションが表示されます。

ステップ3：[すべてインポート]を選択し、[次へ]を選択します。

ステップ4：インポートウィザードが表示されます。ここからOutlookを選択し、[次へ]にスナップします。

ステップ5：インポート手順が開始されたら、終了するまで待ちます。この時点で、すべての送信を選択し、すぐにこれに切り替えて、[選択として保存]を選択します。今、EMLレコードをバックアップするためにエディターをチェックしてください。

一方、PSTレコードをEMLに変更する別の方法があります。つまり、PSTからEMLへのコンバーターです。この装置は使いにくいものではなく、必ず書類を運ぶようにしてください。同様に、EMLドキュメントをPSTに物理的に変換できます。また、PSTドキュメントをEMLに変換するには、以下の手順に従ってください。

ステップ1：まず、PSTからEMLへのコンバーターをダウンロードしてから、フレームで実行します。

ステップ2：下からPSTファイルを選択し、[キャプチャを開く]をクリックします。

ステージ3：情報の流れを選択できる選択肢があります。情報を選択する必要がある場合はチェックボックスを印刷し、それ以外の場合はオフのままにします。スナップコンバータファイル。

ステップ4：変換手順が完了すると、有効な変更の確認メッセージが表示されます。
Angular - quick tip of the day: External links - "target" attribute
Tags: html, angular
Published: 2021-03-10 11:14:27

Let’s say we have a link and we want to open it in either new tab or same tab, depending on the value of a variable.
Let’s assume `openInNewTab` variable is `false`:
- `[attr.target]="openInNewTab ? '_blank' : null"` - works fine, produces no `target` attribute

- `[target]="openInNewTab ? '_blank' : null"` - produces `target="null"` as an attribute, which *still opens the link in a new tab*, just the same as if you used `_blank`

TL;DR: use `[attr.target]` for best results :)
We have some issues!
Tags: webdev, github, tutorial, productivity
Published: 2021-03-10 10:56:37

I bet you have interacted with the github as a developer. Most probably you have seen the different tabs on the repository page. ![github-tabs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qrr3bgs7oh9zji3gw3n4.png) You can see in the image those tabs. Today we will look into the issues tab and try to understand what it does.
If you open a repository in your github account and move to the issues tab you can see a page like this:
![github-issues-page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jv3cemxwgku80a2eyzhk.png) Issues page is a kind of commenting system on the repository. Let's say you had your first job and you work in a company with 10 people on a project. One of your colleagues developed an about page for the project and he/she made a typo on the page. Luckily you have realized it before delivering the project to the client. You can create a new issue for it and describe the problem by clicking the `new issue` button.![add-a-new-issue](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0zsc7piw9abzd9ni7exq.png) You can give a title and add the description of the issue with the markdown editor. Let's say you think having a few more features on the application will be very beneficial to the user. You would ask for these features on the issues page.![adding-new-features](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eynd05zusdm7hs5cwg1r.png) This kind of description will create a progress bar on the issue itself. Whenever somebody creates that feature and checks the checkbox, progress bar of the issue will reflect the progress.
![issue-progress](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fxhu4te9cdcfjuubtkhs.png) You can assign somebody in the team for resolving the issue on the right panel by clicking the gear icon.![issue-assignee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xhrmflmvwenv4k3bae2.png) You can also select labels for the issue to give some extra feedback to the project owner. You can select a label from the right panel again.
![issue-labels](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r6dhvx3ufii42koehie3.png) To sum up, github issues are great way to enhance and maintain the project. And it is also a great opportunity join open source community and help them in any way. It even might be a fix to small typo. 😄 

Being in contact with the community is always a good idea and a great way to grow as a modern developer. You can follow me and ask me anything on [twitter](https://twitter.com/uguremirmustafa) about web development, HTML, CSS and React. I hope this will help you for your next project!
EML to PST Converter Software - Converts EML file into PST
Tags: emltopst, convertemltopst, emltopstconverter
Published: 2021-03-10 10:44:13

You can take help of this amazing utility <a href="https://www.regaintechnologies.com/eml-to-pst-converter.html">EML to PST</a> Converter Software that can Convert EML file into PST format without any data loss risk. It allows user to save EML file into MSG file format. You can also Convert your selected EML file to PST format without any file size issue. This software capable to Convert your multiple EML file to PST format at one time. It compatible with all the versions of MS Outlook and Windows OS.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ewix8w5lt7db6f9o69qv.png)
How it all began
Tags: watercooler, webdev, opensource, privacy
Published: 2021-03-10 10:41:48

Here's how we came to develop [Offen, a fair and open source web analytics software.](https://www.offen.dev/?utm_source=forum)

Privacy issues on the web have been a talking point for some time now. Since we have both been running websites for quite some time, this has always been a topic for us as well. Thats why the choice of which web analytics tool to use has always been a very important consideration for us.

So in 2018, while once again searching for a new analytics tool, we found that there was no offering that allowed for a really fair data transfer between website operator and website user. That got us thinking. Of course, as website operators, we had an interest in seeing what was happening on our pages. Obviously, we wanted to know how we could improve what we offer. But couldn't this be done in a fair way, treating operators and users as equal parties?

Another few months had to pass and by the end of 2018, after further in-depth research, we were convinced. Yes, of course it was possible. And if it didn't exist yet, we should build it ourselves! So we started looking for support to build our own tool. And as we dug deeper, we were amazed at how many funding sources for developing open source software exist around the world. Nevertheless, there are of course a lot of applicants. That is why we believe that one has to think carefully about one's application.

That's why we focused on one German and a few international calls for proposals. And by summer 2019, we had submitted a few applications. To our great delight, our application to the [NGI Zero Privacy & Trust Fund of the Dutch NLnet Foundation](https://nlnet.nl/PET/) was finally successful. What happened next is covered in detail [on our blog.](https://www.offen.dev/blog/?utm_source=forum) In summary, it has been a great experience that is far from over. 

Being able to secure funding for your non-commercial open source project gives you the distance you need to think more deeply about how you can create a real alternative to existing solutions. A constellation that we can only recommend to every developer out there.
Responsive Navbar Menu with html & TailwindCSS
Tags: html, css, javascript, tailwindcss
Published: 2021-03-10 10:38:49

Responsive Navbar Menu with html & TailwindCSS

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijtj6hu4lpr5nrstw5ph.png)


Outline ⏱ 
0:00 : Intro
0:11 : Result
1:05 : Header
6:07 : Mobile Nav
8:35 : Navbar CSS
9:25 : Section
9:42 : Navbar Script
10:40 : Mobile Menu Script
13:14 : Custom Scrollbar

Explain 
The video is about the responsive navbar menu with html & tailwindcss,
in which we created this fancy little navbar with tailwind css which is the best CSS framework for rapid prototyping in the CSS world, the above navbar is mobile first & very responsive.

<a href="https://youtu.be/4Rj4-1RUHBk" class="btn btn-primary">Click to watch</a>
Show off your Workspace 👩🏻‍💻💯
Tags: watercooler, discuss, productivity
Published: 2021-03-10 10:36:20

---
title: Show off your Workspace 👩🏻‍💻💯
published: true
description: Monthly Workspace Setup Show off
tags: watercooler, discuss, productivity 
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/py5bsyazzccfm3nbebva.jpg
---
After the ***["Show off Your VSCode Setup"](https://dev.to/xenoxdev/show-off-your-vscode-setup-5no)*** and ***["Show off Your terminal Setup"](https://dev.to/xenoxdev/show-off-your-terminal-setup-3c9e)***    it's time for Workspaces. This month we are back to our office. Here is a picture of my Workspace these days.
{% twitter 1369148873201963011 %}
 

I'm so excited to see your workspaces. Also, what are the gears that you use?

![](https://media.giphy.com/media/TJGuxhJebvx0Plog5e/giphy-downsized-large.gif)
EML to PST Converter for Batch EML File to PST Conversion
Tags: emltopst, convertemltopst, emltopstconverter, emltopstconversion
Published: 2021-03-10 10:34:03

This <a href="https://www.regaintechnologies.com/eml-to-pst-converter.html">EML to PST Converter</a> tool is the perfect solution for technical and Non technical users. The software is offering the safest and most prominent way to import all mailbox items of EML data into the new output PST data that you can save at desired location. It also offers a preview of all Emails items before the conversion. This Software Provide 100% Fast, Safe and secure Conversion results. You can also try free trial version at free of cost.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ummp9407euotrzjnlg4.jpg)
Stuck in fetch JS
Tags: javascript
Published: 2021-03-10 10:26:33

Hello, I'm new to Javascript and I'm stuck with my JS code.
I used fetch to reach my info and got it when I console logit but can't place the pics on my Html page. The pics are stored in an Array and I think I should use a for each code but can't manage it.
See my JS code below. If someone could give me a hint I would be very grateful.
Thanks in advance Hindrik


const button = document.querySelector("button");
const header = document.querySelector("h2");
button.addEventListener("click", () => {
    fetch("http://172.104.246.137:8083/")
        .then(result => result.json())
        .then(data => {
            console.log(data);            
        });     
          
           
        });
});
A clubhouse events search engine
Tags: elasticsearch, javascript, clubhouse, amazon
Published: 2021-03-10 10:22:13

These last few days I decided to get back to coding (a bit) and eventually ended up with a #clubhouse search engine for events.

Here are the steps I followed.

First, I needed to access the "undocumented" and non public clubhouse API.
I give it a try with this repo:
https://github.com/stypr/clubhouse-py

Although written in python, I ported the few pieces (auth and access to event list) in typescript with axios.

I coded a daemon in nodeJS to fetch the events on a regular basis (with a throttle limit in order to not get banned from calling the API). 
I then installed elasticsearch (actually hosted on elastic cloud) with Elastic builder (to be able to craft nice query) https://elastic-builder.js.org/.
This allow me to stored events on the cloud on elastic.

Deployment concerns, I had a lot of choices, I decided to give amazon elastic beanstalk a try (nothing to do with elastic search though). This is super easy to set up and deploy. (more information here: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.html)

And then, this is it. A simple express/node server deployed on Amazon Elastic beanstalk + elastic search.

Took me 3 full days (cause I'm a bit rusty).

Https://clubhouse.flint.sh