teleren/devto huggingface dataset:
Tailwind CSS is pretty cool
Published: 2020-07-18 08:24:00


I am a backend developer with usually only limited love for frontend stuff. Bootstrap did make frontend bearable for me - use the column based layout, stick to the components like tables, cards, buttons, etc and you will be OK. I still sometimes spend hours trying to center something and then using the `<center>` tag still not understanding why this marvellous tag was deprecacted for some puristic reasons but you don't care because it's just HTML.

Anyway, that was my background. I did fiddle with raw CSS before but never came too far with that, it was a too step learning curve and I shot myself constantly in the foot. But now, just one week ago, I started using this Tailwind CSS. It's amazing! It is more low level than Bootstrap and you are not stuck to the given compontents. I can do buttons with different styles instead of just choosing from different colors. Yes, you can overwrite things in bootstrap too, but it feels kind of fighting against it. Development with Tailwind CSS is slower than Bootstrap at first, but you are compensated with the freedom of doing things how you actually want them and achieving something that does not cry "I am made with Bootstrap". It also forced me to finally comprehend new things about CSS instead of just hitting against it until it makes what I want. In any case, use it :-). At least I am happy with it and can recommend :-D

That is the landing page I did: https://simple-web-analytics.com
I MADE A GAME IN 48 HOURS
Tags: gamedev, unity3d, gamejam, indiegames
Published: 2020-07-18 08:09:59

I made a game in 48 hours for GMTK Game Jam 2020. This video is just about the making of that game. I tried to make the video as broad as possible so that anyone seeing the video can be entertained even if he doesn't know much about gamedev.

Watch the video - https://www.youtube.com/watch?v=9uHq1a2_MAg

Play the game - https://sashbros.itch.io/perfect-speed
20+ Free Admin Dashboards - LIVE on PH
Tags: webdev, appseed, dashboards
Published: 2020-07-18 08:02:09

---
title: 20+ Free Admin Dashboards - LIVE on PH
published: true
description: A collection with open-source admin dashboards coded in Flask and Django, actively supported by AppSeed.
tags: webdev, appseed, dashboards
cover_image: https://raw.githubusercontent.com/app-generator/flask-black-dashboard/master/media/flask-black-dashboard-screen.png
---
Hello coders, 

The 20+ **[open-source admin-dashboards](https://appseed.us/admin-dashboards/open-source?ref=dev)** collection, provided by the [AppSeed](https://appseed.us?ref=dev) platform is now LIVE on PH: 

### [20+ Free Admin Dashboards](https://www.producthunt.com/posts/20-free-admin-dashboards) 

This open-source bundle contains production-ready dashboards coded in Flask and Django with a basic set of modules, features and deployment scripts, on top of iconic, beautiful UI Kits. 

---

> Thank you! **Content provided by [AppSeed - App Generator](https://appseed.us)**.

---

- Demo [AdminLTE](https://flask-dashboard-adminlte.appseed.us/) - coded in Flask and Django
- Demo [CoreUI](https://flask-dashboard-coreui.appseed.us/) - coded in Flask and Django
- Demo [Black Dashboard](https://flask-dashboard-black.appseed.us/), by Creative-Tim, coded in Flask & Django
- Demo [Material Dashboard](https://flask-dashboard-material.appseed.us/) by Creative-Tim, coded in Flask & Django
- Demo [DattaAbble](https://flask-dashboard-dattaable.appseed.us/) (Free Version) - UI crafted by CodedThemes
- Demo [Corona Dark](https://flask-dashboard-corona-dark.appseed.us/) - designed by BootstrapDash 

Just a few screenshots, below: 
 
--- 

## [Black Dashboard Design](https://appseed.us/admin-dashboards/flask-dashboard-black)

![Flask Dashboard - Black Design](https://raw.githubusercontent.com/app-generator/flask-black-dashboard/master/media/flask-black-dashboard-screen.png)

---

## [AdminLTE](https://appseed.us/admin-dashboards/flask-dashboard-adminlte)

![Flask Dashboard AdminLTE - Template project provided by AppSeed.](https://raw.githubusercontent.com/app-generator/flask-dashboard-adminlte/master/media/flask-dashboard-adminlte-screen.png)

--- 

## [Adminator Design](https://appseed.us/admin-dashboards/flask-dashboard-adminator)

![Flask Dashboard Adminator - Starter project coded in Flask.](https://raw.githubusercontent.com/app-generator/flask-dashboard-adminator/master/media/flask-dashboard-adminator-screen.png)

---

## [CoreUI Design](https://appseed.us/admin-dashboards/flask-dashboard-coreui)

![Flask Dashboard CoreUI - Template project provided by AppSeed.](https://raw.githubusercontent.com/app-generator/flask-dashboard-coreui/master/media/flask-dashboard-coreui-screen.png)

---

## [Corona Dark Design](https://appseed.us/admin-dashboards/flask-dashboard-corona-dark)

![Flask Dashboard Corona Dark - Open-Source template project provided by AppSeed.](https://raw.githubusercontent.com/app-generator/flask-dashboard-corona-dark/master/media/flask-dashboard-corona-dark-screen.png)

---

> Thank you!
Introducing Bhasha - A transcoder
Tags: python, cpp
Published: 2020-07-18 07:54:06

We all speak different languages, the computers do so too. But from a programming perspective, it sometimes becomes a bit tedious to keep shifting from one language to the other as the use case keeps changing. For example, for data science purposes, we all commonly use Python, for desktop applications, we require Java, C++, and so on. For some, the task of learning so many different languages can lead to a turndown for exploring the different avenues of applying CS. 

But what if we can write code in one language and it gets completely transformed to code in an another language, which produces the same output as before?

That is what I am trying to do with **_'bhasha'_**. ('bhasha' means language in Hindi)

At the moment it supports Python to C++ transcoding, with support for python print statements, and comments.

Instead of using AI, I am taking more of a hard-coded and algorithmic approach.

*Bhasha* implements a text extraction engine which extracts the required text (let it be the text enclosed in 'print()' or the comments), using regex, and then a generate_code() function which creates a new C++ file with the same functionality.

And the best part, while running the code, it is so simple, it requires only 3 lines!

Check out the code: {% github ekdnam/bhasha %}

(Check the different branches)

If we can perhaps create a community to take the project forward, it'd be amazing!

Your thoughts and comments are deeply appreciated!
Sensitive data in bash scripts
Tags: bash
Published: 2020-07-18 07:47:37

#Problem

Sensitive data (passwords etc.) should not be placed directly in the  configuration files. 
Quite common approach is to use environment variables to do the trick: we assign sensitive data to the environment variables and use these variables later on in our configuration/scripts/code.
But this raises another question: how we should make assignment itself? Should we use for that just another script in which sensitive data is stored in plain text?  

Below is the approach that I've been talking.

#Solution

There is a really nice script out there - [encpass.sh](https://github.com/plyint/encpass.sh)

What it allows to do is to store a secret in a **reasonably safe** way and retrieve it easily in a bash script.

But why only in a reasonably safe way? 
Well, secrets are encrypted using symmetric keys and both values (secret + password) are stored in a hidden directory that can only be accessed by the user who run the script. It obviously doesn't protect from situations in which attacker has an access to the user's hidden directory (for example if an attacker has a root access).
This risk can be mitigated by securing access to the keys with an additional password. In such a case, before using the secret, user is asked to provide the password. Although it works good for manual use cases, can become cumbersome in case when automation is used (we get back to the original problem - how to store password in a secure way?).

#Quick demo

After setting up secrets using *encpass.sh* we can have a configuration file named *configuration.sh*, that looks like this:

```bash
#!/bin/sh

configuration_param1=data1 # not sensitive data

source encpass.sh
configuration_param2=$(get_secret bucket_name secret_name)
```

Then, in our script we use it like this:

```bash
#!/bin/sh

source configuration.sh

echo configuration_param1
echo configuration_param2
```
<br/>
BTW: This approach can also be used with other languages, for example recently I've used it with Go - there is a script in bash which uses *encpass.sh* to decrypt the secrets and then exports them. Afterwards I can access environment variables from my Go code.
Twitter announces new API
Tags: news, api, twitter
Published: 2020-07-18 07:25:03

{% twitter 1283795257075744768 %}
### Twitter API V2
> The new API is built on a completely new foundation — rebuilt for the first time since 2012 — and includes new features so you can get more out of the public conversation

* A set of new access levels
* New product tracks
* New developer portal

The new road map for future development: [Twitter Trello board](https://trello.com/b/myf7rKwV/twitter-developer-platform-roadmap)


### Designed for newbies
The standard track’s *basic access level* will always be **free**, and is designed for developers just starting out.

credits: Twitter
![](https://cdn.cms-twdigitalassets.com/content/dam/blog-twitter/developer/en_us/tools/2020/develooperblogimage1.png.img.fullhd.medium.png)

> All API features we’re releasing first will be available in our new – always free – Basic access level. For most developers, Basic access will provide everything you need to get started and build something awesome.  - Twitter

**Everything in this first release is ready to be used in production**

credits: TechCrunch
{% youtube nwWWKpacdvg %}

Get your developer account here: https://developer.twitter.com/en/application/use-case
I accidentally wiped off files from /etc/yum.repos.d in my Centos 7.
Tags: linux
Published: 2020-07-18 07:01:53

In this post, I will explain how I restored .repo files which I accidentally wiped off.

Some basics,
# What is yum ?
Yum is the package manager in Centos, Fedora and Rhel. It actually goes through the .repo file in /etc/yum.repos.d . Yum downloads and install the packages.

# What is present in /etc/yum.repos.d directory?
It contains yum configuration files with .repo extension. These .repo files contains the URL to the servers where to fetch the packages. Not only remote(HTTP,FTP..) but also can contain local(ie., local packages in your disk) repositories.

Okay, that's the basics. 

# How I restored those .repo files ?

I copied those files over ssh from similar system running.

It's a simple command.

```
sudo su -
scp /etc/yum.repos.d/* user1@192.168.43.92:/etc/yum.repos.d 
```
Syntax
```
scp source_username@source_ip:filename destination_username@destination_ip:filename
```
Pre-requsite: Both the systems must be connected over SSH before copying.
Tiny alternative to electron
Tags: showdev, electron, node
Published: 2020-07-18 06:59:32

---
title: Tiny alternative to electron
published: true
description: 
tags: showdev, electron, nodejs
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/s0rihr35t9klvkxjk1k1.jpg
---

I wanted to build a small desktop app for my own usage but using electron felt like an overkill (since I won't be using most of the API electron provides). So I wrote a really tiny alternative to electron.

you can easily use it as follows

```javascript
const Tiny = require("tinytron")

const window = new Tiny();
window.setSize(500, 600);
window.setTitle("Your app");

// When using your own app use express to run the server and pass the url
window.navigate("http://dev.to/");
window.run();
window.destroy()
```

But unlike electron it does not come with node packed in so you may need to use something like [pgk](https://www.npmjs.com/package/pkg) to generate binary that user can use

here is the [link](https://github.com/rafi993/tiny) to the repo.
TURN YOUR CODE INTO DIGITAL DEVELOPER PROFILE
Tags: job, codenewbie, career
Published: 2020-07-18 06:57:35


 Turn Your Code Into Your Digital Developer Profile & Get Hired Faster!  <a href="https://bit.ly/2NbSVLS" target="_blank">Join CodersRank Now </a> And Let Your Work Speak For Itself, CodersRank is a Developer-Focused Job Platform, where Companies Apply to You!
CodersRank helps you find your dream job and grow as professional!
Doing the Port Myself
Tags: npm, node, computerscience
Published: 2020-07-18 06:52:57

Part of the catalog software that I mentioned in my previous post will take a disk image, validate it, and get a listing of the files on the disk as well as a few other details (disk name, blocks free).

As I also mentioned previously, there's already software out there that does this called `c1541` that's part of the VICE emulator. It was done and seemed that it would be easy to use (it's easy to use on a local machine), but this meant that I would need to use google run. Not that I mind that, but it meant building docker a container to have google, well, run.

Starting to get my docker VM running, it ALSO reported that it was out of space (it would appear that 10GB allocations of fixed disks isn't a very good idea). So instead of going through the whole process like I did last time, I went a different direction that I had planned to do later regardless: port `c1541` to JavaScript myself. I looked to see if there was anything that already existed and nothing really hit the mark that I needed.

Loading a file is pretty easy in node.js. I just used [fs.readFileSync](https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options) since I really didn't need async and there wasn't much point in wrapping everything else in a promise. From there it was just jumping around the buffer.

I found [two](http://petlibrary.tripod.com/D64.HTM) different [sources](http://unusedino.de/ec64/technical/formats/d64.html) that had almost identical information about the bytes of a .d64 file that appeared to both copy from roughtly the same place. It was fun to see that tripod is still around. I remember them from many years ago.

Using these sources, I was able to navigate a bit around the file buffer to get the parts that I needed. It was so simple since you can seek a node.js buffer just like it's an array. So `disk[0x16500]` gives me the byte at 0x16500. Pretty spiffy!

I'll probably write more about the actual code soon, but in the meantime you can take a look at the [github project](https://github.com/mich-cook/d64-utils) and/or play with the [npm package](https://www.npmjs.com/package/@mich-cook/d64-utils).
1943 - Deep Learnings inception & visual history.
Tags: datascience, machinelearning, deeplearning
Published: 2020-07-18 06:47:04

The modern world fancy tech stack Deep Learning seems to be gaining popularity day by day nowadays. But is this tech new to the world ? hold ON ! 

The reality is deep learning existed for over 60 years now. 

The main reason why deep learning flourished in recent years is :
1 : Availability of data.
2 : Modern techniques to store the big data.
3 : Modern computers to process the data with speed. 

Given below is the short history of Deep Learning since inception. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/9mj3zjk8z1yqir5tp4ei.jpeg)

Thanks for reading !
Remote Work Best Practices For First Time Remote Employees
Published: 2020-07-18 06:35:33

Remote work is creating quite a buzz these days. Every employee today is either requesting or doing work from home. But this concept of working from the comfort of your couch or adopting to <a href="https://blog.telebu.com/8-remote-work-best-practices-for-first-time-remote-employees/">remote work best practices</a> is not something new.

How to succeed at remote work?

Create a dedicated space for work at home

This is one of the most common productivity tips for telecommuters and most of them fail here. Working from your kitchen or your bedroom can prove to be very unproductive. When you’re sitting on your bed and typing out an email, you’re not going to be able to have that seriousness. Instead, dedicate a space in your house to your work. You should have a desk, and preferably a door to shut out the noise. You could also use some essential oils like peppermint or rosemary to help you focus better, or use incense sticks to center yourself. 
Monitor the time you spend on phone and web 
Working from home tests your discipline in many ways. How much time you spend looking at social media or making non-work related calls is going to tell you how focused you can be while telecommuting. So, make sure that you spend very little time on Facebook, Instagram and the like. If you think you lack that discipline, technology is at your beck and call. Apps like Focus Me and Temptation Blocker help you monitor time spent on social media. 
 
Read more : https://blog.telebu.com/8-remote-work-best-practices-for-first-time-remote-employees/
Edge serving using S3 and Cloudfront
Tags: webdev, javascript, aws, serverless
Published: 2020-07-18 06:08:50

**Storing and Delivering your Content with Speed and Scale.**

To serve your static content of the webpage includes images, videos, music, scripts, stylesheets, etc., we can use amazon's **CloudFront**, a content delivery network.

###What is content delivery network(CDN)?
It is the system of distributed servers, serves the content on it to the users based on their locations. For example, a user from California accessing content on CDN, the content will be served from the user's nearest server, which in the sense speed in delivering the content.

`s3 - Simple Storage service`

Amazon Cloudfront helps to serve the content through its worldwide network of data centers. It's simple to set up the CloudFront along with s3 storage. 

You can also serve your static content through s3, but CloudFront allows us to serve the content from all its edge locations.

####Follow the steps along with me,

> Create an Amazon(AWS) account if you do not have one. It has a free tier to start with.

> Search and select s3 from the list of services.

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

> Create a bucket with the name of your choice.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/15sj0x2dfzhafuwebcme.png)

> Upload your static content.
_I  used my HTML file here_

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

{% user sasidharan %}

> After uploading, enable **Use this bucket to host a website** in Properties section.

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

> Now head to Cloudfront by selecting in services and create a distribution by selecting the web.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8n49p4c46n7y5hf2vygr.png)

> Select your bucket name in the origin domain name and you can also specify **Origin Path** if you want to serve a subfolder in the bucket. You can also restrict the bucket access as in the image,

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

> In distribution settings, specify the **Default Root Object** like index.html, you can also set alternative domain names for your CloudFront using certificate manager. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/666xz1hgv6p91kw3k19k.png)

{% user sasidharan %}

> You can leave other information as it is or you can change as per your need. Now create your distribution.

Your distribution takes some time to deploy. After that, you can see the deployed indicator.

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

You can now see your content uploaded in s3 using the CloudFront URL.(something similar to this http://d1b31rrh6oyllb5.cloudfront.net/)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7rj5kxt8vs9kgcfy06ye.png)

{% user sasidharan %}

Hope now you can create your own distribution using s3 and Cloudfront.

Comments below!
Tips to Find a Good CPA
Published: 2020-07-18 06:08:01

CPAs are good at tax code and they help you in maximizing the savings of tax. Besides, they can represent even before the Internal Revenue Service (IRS) to deal with collections, audits and tests.

Let’s know the tips to for selecting the best Certified Public Accountant (CPA) for your taxes:


Verify the CPA’s identification number  
Enquire the specialization
Look up the license
Confirm the willingness to sign
Ask for advice
Consider the experience
Determine their fee

Verify the CPA’s identification number:
The Internal Revenue Service (IRS) requires the Certified Public Accountants (CPAs) to have a (PTIN) Preparer Tax Identification Number. Search the official directory of IRS return for the verification of CPA with PTIN.

Enquire the specialization:
As we know, CPAs specialize in some of the accounting areas, which include government, business, tax preparation and forensic accounting. For filing and preparing the personal taxes, one must have to find the Certified Public Accountant who is specialized in income tax returns.

Look up the license:
Before hiring a CPA, one must have to search the records of that particular CPA with the state board of accountancy. Many states can offer the databases of CPA which allows them to search with name and can find out essential information on the license status of that CPA, suspensions, issues and expiration dates.

Confirm the willingness to sign:
It would help if you verified that whether your CPA will represent and sign you before the Internal Service Return (IRS) related to the return. If not, then find another CPA.

Ask for advice:
A good CPA can also file your return besides preparing the file for the current annual tax. But, he/she should also offer a tax planning year-round which can maximize the tax savings. Besides, to become a good Certified Public Accountant one must have to take the <a href="https://simandhareducation.com/course/cpa/">best CPA training</a>. 

Consider the experience:
If CPAs are before the offering services with many years of relevant experience likely to be successful Certified Public Accountant in a deeper understanding of the tax returns. Ex: TurboTax live.

Determine their fee:
After knowing all the details and requirements of the CPA, you should be aware of what to pay for their responsibilities. Actually, the CPAs charge by flat fee, by the hour and other payments options based on the tax complexities and supporting forms. Make sure to have their fee, including the state returns and federal returns.

Conclusion:
Hope you got the useful tips to find a good CPA. Still, you have any queries, feel free to comment in the below section. Happy Learning!