teleren/devto huggingface dataset:
I am the developer behind labforum, a PHP forum engine. 
Tags: showdev, php, mysql, codenewbie
Published: 2020-09-15 13:41:22

I know that it is a bit late and I can't classified myself into a newbee but still I would like to tell my story. Let me introduce you to the labforum, the latest, lightest forum engine ever written on PHP. This was my first ever open-sourced PHP project that started my career of programming. 
It's first used as a community forum in https://labstry.com, now includes an installer, and opens to the public for installing on their servers. 😝

##My repo
{% github labstry-opensource/labforum %}

##Why I started/revamped my project?
I have used many existing forum engine and I saw lots of forums is not quite user-friendly. You can't customise your layout because the data given are fixed and tied to the system core such as the layout and the pages, which means that you are unable to design your layout. 

Besides, many existing forums in the market didn't have a WYSIWYG interface for thread composing. 

I was in the uni and I saw a tutorial online showing people how to create a forum from scratch. Then I followed that tutorial for interest, as an extra-curriculum activity that helps me to learn things that the lecturer didn't teach. Then I came up with an idea, that is: instead of using an existing software to roll out my own community, I thought of using the existing code that I used in my tutorial lesson, change that a little bit, and make the code more useful.

Then I did what I thought, in which I found myself into the programming world. As time passes, I am getting more and more active into the development of the labforum.


## Features

**Frontend backend separation** 
The software uses json to send all the thread data. The advantages is that users have no restrictions on their design of the layout. Whether you want to deploy a simple page as the layout or a dynamic one, all up to you.  

**WYSIWYG Editor (Quill.js) included as default** ✎ 
You can use the pre-included WYSIWYG editor available. You can also roll your own post editor page with your own editor.

**Loads faster**
Thanks to the technology of ajax, all pages are loaded asynchronously with data.


## What will be coming in the next revamp
- We will include pagination by introducing `LIMITED` queries inside mysql.
- We will migrate to Medoo query framework so that it is compatible with other databases like mssql or oracle db.


## What we currently need
We need new members to participate in the project. Please help us to spread the words. ☺️

Thanks for your time. Hope that you can support my project. 🤕
Time to get back to my work now
Witch one is batter for building E-Commerce website Asp.net core or Laravel
Tags: laravel, csharp, react, redux
Published: 2020-09-15 13:34:01

Hi, I am confused I don't know to choose what framework is better for my project.
I want to build E-Commerce website With Custom features fit our country so I am confused between `Asp.net core` and `Laravel`, the project will be growing with the time, if its grow too much later on, I am going to use `Microservice Architecture`.
**so which one is the best laravel or Asp.net core?**
**NOTE: I am familure with C# but i want to choose the best, and the UI going to be `React`.**
Making a product launch video in 2 hours
Tags: startup, video, productlaunch
Published: 2020-09-15 13:09:57

---
title: Making a product launch video in 2 hours
published: true
description: Along with the million things we do when we launch our products, many of us might want to make a launch video. I made mine in 2 hours. Here's how I did it.
tags: startups, video, ProductLaunch
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/zpyabdinkjbdjhgo7oi8.png
canonical_url: https://2.flexiple.com/newsletter/making-a-launch-video-in-2-hours
---

Hey Everyone,

Along with the million things we do when we launch our products, many of us might want to make a launch video. They are honestly super costly if we go to agencies.

So, when I wanted to launch [Scale](https://2.flexiple.com/scale/all-illustrations), I decided to make one myself, quickly.

From ideation to finish it took me about 2 hours.

In this article, I will share:
- Process
- Actual video
- Results

## Process
Here's how I went about it.

1. I looked through online video editing software, but couldn't zero in on one that really suited the product video that I was trying to make.

2. Thereon, I looked at iMovie and was thinking of writing a proper script and then shooting relevant video pieces accordingly.

3. While doing so, I chanced upon iMovie trailers. They were quite funny and were almost like hollywood spoofs. I also wanted to make something that was funny rather than one that focused on the quality of the video made (which wasn't going to be top-level).

4. The good & bad about iMovie trailers is that they are highly-constrained. So, you can't change the script too much. That worked out well for me, as I then thought of the content (video and text) in accordance to that. It also meant that video editing would be very minimal.

5. I quickly wrote text in the said places and started cutting & adding video clips. And soon, I had the video!


## The video

You can watch the video here:

 [![Recreating The Office Wedding Dance](https://ucarecdn.com/ea0fc7e7-1539-4dd1-b2b0-e0bc81db895f/)](https://dms.licdn.com/playlist/C5605AQH5I8shSoC-0A/mp4-720p-30fp-crf28/0?e=1600261200&v=beta&t=NJ6A3e9oTygDvjGTjNkAGr2vH1sLcOV_qm3u7FO6vbg)


## Video vs. text
Videos do better than text almost every time. Even social media platforms promote media more than text. 

Sure, my video is clearly not a "professional-quality" video, but I felt it was fine.

- I got about 2000 views on [LinkedIn](https://www.linkedin.com/posts/karthiksridharan1_startup-entrepreneurship-design-activity-6707591823998767104-egZC)

- Around 700 impressions (only 120 views on the video) on [Twitter](https://twitter.com/KarthikS2206/status/1301833598799028225). But my follower count also increased by 10 (small wins :P).


## Parting thoughts

Have you worked on any video for your launch? Do share in the comments below :)
Author a book on Typescript 4.0?
Tags: typescript
Published: 2020-09-15 12:59:59

I am a Product Manager at Packt Publishing, a developer skills platform. We have published nearly 4000 books and videos so far, providing IT professionals with the actionable knowledge they need to get the job done.

We are planning to come up with a book on Typescript 4.0. Covering just the basics of the latest features wouldn't add a much value and hence are thinking of making it a Typescript 4 Design Patterns and Best Practices book. I'd be happy to know your thoughts since you all are closely associated with TS. If this is something that interests you, I'd be happy to have you on board, author this book for us :) 

Let me know and we can discuss this further.
Current states of IoT development
Tags: iot, discuss
Published: 2020-09-15 12:59:21

---
canonical_url: https://drsensor.hashnode.dev/current-states-of-iot-development
---

> In the current state, you can build Web Apps in 5 days alone but you can't build a simple IoT solution in 1 week.

The current state doing web development is easy not only because there is many content/tutorial for that but also many great tooling that exists in the ecosystem (thanks to many Open Source project). Let's list what we have now in the Web Dev ecosystem.

Now in Front-End or Mobile development we have:

- some framework that decent and have mature enough based on Component Design Pattern
- hot [module](https://webpack.js.org/concepts/hot-module-replacement/)/[reload](https://flutter.dev/docs/development/tools/hot-reload). Change a small portion of code and the result will be shown in less than seconds regardless of how big/complex your codebase.
- Static, dynamic, or duck typing language. Choose what suits you well
- development can be framework and language agnostic thanks to [WebComponent](https://developer.mozilla.org/en-US/docs/Web/Web_Components) & [WebAssembly](https://developer.mozilla.org/en-US/docs/WebAssembly)
- thousand library and hundred UI Components ready to use in many frameworks
- rich debugging tools, you can even do time travel debugging, event there is built in the debugger in any popular browser now
- rise of [micro front-end](https://micro-frontends.org/) architecture  

and Back End development we have:

- some backend framework has *hot reload* alike. (it's called [Hot Code Swap](https://en.wikipedia.org/wiki/Hot_swapping#Software))
- many backend frameworks/libs became database agnostic
- thanks to microservice pattern and docker, backend code can be written in any language
- many tools for documenting, building, and inspecting API and data. ([Swagger](https://swagger.io/), [GraphiQL](https://graphql.org/), etc)
- Design Pattern agnostic. (some depends on the language that you use)
- advanced logging system

while in Embedded development (especially µC) we have:

- language agnostic but depend on specific devices. ([microphyton](https://micropython.org/), [nodejs johnyfive](http://johnny-five.io/), STM32F4DISC, etc)
- device agnostic but depend on language and abstraction layer. ([EC++](https://en.wikipedia.org/wiki/Embedded_C%2B%2B), [Arduino][])
- nearly *write once run anywhere* can only be achieved using [Arduino][]
- low productivity because no live/hot reload thing. (exception if using [Zephyr OS](https://www.zephyrproject.org/))
- mostly concurrent programming can only be achieved if using [RTOS](https://en.wikipedia.org/wiki/Real-time_operating_system) by sacrificing significant memory

However, IoT development is not only about hardware. It's a combination of those three that makes IoT solution valuable. So, how to glue them together and avoid silos mistake?
[Arduino]: https://www.arduino.cc/
Writing Zenlike Python (Talk)
Tags: python, beginners
Published: 2020-09-15 12:55:55

There's a profound gap between working code and Pythonic code. To the developer whose first language is NOT Python, the distinction can appear blurry, even arbitrary. What is this "one obvious way" all those Python nerds are going on about?

Most of us are familiar with the "Zen of Python", Tim Peters's legendary, if tongue-in-cheek, set of guiding principles for the Python language. But can they actually inform Pythonic code?

In "Writing Zenlike Python", my talk from EuroPython 2020 Online, I unpack how the twenty principles (including the unwritten rule) of the Zen can guide you to write beautiful, maintainable code, by treating Python AS Python!

{% youtube ZHY5SCBckwg %}
Put variable in Start-up Scripts using Terraform
Published: 2020-09-15 12:47:03

Terraform has gained immense popularity in terms of managing the infrastructure in the GitOps way.
 
When spinning up virtual machines in AWS or GCP, we have an option to pass a startup script. The startup script gets executed when the VM starts up. We can use this functionality for various tasks, like installing some software, registering the node somewhere, etc.

Sometimes, we need to dynamically populate some variables in the startup scripts, such as dynamically generate and use some credentials. We can use Terraform's template function to render the script, replacing the variables with their actual value.

Here's how it's done.

### Define a variable
```
variable "my_var" {
    type = string
    default = "Hello"
}
```

### Rander your startup script

```
data "template_file" "startup_script" {
  template = file("${path.module}/startup.sh")
  vars = {
    some_var = var.my_var 
    //you can use any variable directly here
  }
}
```

Example Startup script
```bash
#!/bin/bash

export TEST_VARIABLE=${some_var}
```

### Finally, use the rendered template

```
...
user_data = data.template_file.startup_script.rendered
...
```

Cheers. The "userdata" will have the actual values of the variables.

Further reading: https://spacelift.io/blog/terraform-templates
Learn how JavaScript advances DateTime with proposal-temporal
Tags: github, opensource, javascript
Published: 2020-09-15 12:44:13

---
series: [open-source-friday]
---

There comes a time in every developer's life where they need to parse a string representation of a date. I had the pleasure of talking with Maggie Pint about a new feature currently in stage 2 with the tc39 committee, temporals.

## Learn how to contribute to the next version of JavaScript first issue.

This proposal allows a JavaScript programmer the ability to write code for finding out the current timezone difference between their's and another time zone. 

```js
const { Temporal } = require('proposal-temporal')

let londonTz = Temporal.TimeZone.from('Asia/Shanghai');

console.log(now.toString(londonTz));
```

A complete polyfill can be found [here](https://github.com/tc39/proposal-temporal/blob/main/polyfill). Feel to test it out today and experiment with the polyfill, but keep in mind it is not production ready yet. 

{% github https://github.com/tc39/proposal-temporal %}
 
I share only one feature from the proposal, I encourage you to [read more info in the spec]( https://blogs.igalia.com/compilers/2020/06/23/dates-and-times-in-javascript/) and test it out today in consoles.

## Join us live for Open Source Fridays

If you’re looking for a deep dive into contributing to open-source projects like this, join us on Fridays on Twitch. You can find the future schedule on [GitHub Virtual Meetup page](https://www.meetup.com/GitHub-Virtual-Meetup/).

If you missed our previous OSF stream, or want to rewatch, you can find the full video over on our YouTube.

{% youtube DyccvgiCo1c %}
Published my first Chrome extension - Github Marker
Tags: productivity, sideprojects, extension, showdev
Published: 2020-09-15 12:38:16

I have bookmarked various `awesome-*` repos on **Github** (ex., [Awesome React](https://github.com/enaqx/awesome-react), [Awesome for Begineers](https://github.com/MunGell/awesome-for-beginners), etc). These repositories mainly contain a `readme.md` file which lists all the awesome links to articles, videos, tutorials, etc.

A few days after, I went through some of the links, I was confused if I had read/visited that link earlier. I had to check that link and then I would realize. 

## **BOOM** 

Got an idea to make a `chrome extension` about it.



I made an extension which helps in marking the links. There are 3 options available: 
1. **checkbox** - It can be used to know if that link was read or not.
2. **heart** - Mark the link as favorite.
3. **bookmark** - In case, you need to read it later.

Below is the preview of the extension:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/9vm7ldqpb6t5bczqzvjb.gif)

### **Screenshot**

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

It's a simple extension which stores the state in **chrome memory**

### Download it [here](https://chrome.google.com/webstore/detail/github-marker/imjdbnnpnohgcdbpgnidgolnamoghpoo/related?hl=en). Its open-source too, check it [here](https://github.com/318097/github-marker)

Hope it's of some use...

---

**Thanks for reading 💙**  
Follow **@codedrops.tech** for daily posts.  
[Instagram](https://www.instagram.com/codedrops.tech/) ● [Twitter](https://twitter.com/codedrops_tech) ● [Facebook](https://www.facebook.com/codedrops.tech/)

Micro-Learning ● Web Development ● Javascript ● MERN stack ● Javascript  
**[codedrops.tech](https://www.codedrops.tech/)**
Note to Self: Handling Exception on Nest JS and Interceptor
Tags: typescript, beginners, discuss, node
Published: 2020-09-15 12:37:06

How do you handle exceptions from the service provider? For example, I have this service "UserService.ts": 

```typescript
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { User } from './users.entity';
import * as bcrypt from 'bcrypt';
import { CreateUserDto } from './dto/create-user.dto';
import { AuthenticateUserDto } from './dto/authenticate-user.dto'

@Injectable()
export class UsersService {
    constructor(
        @InjectRepository(User)
        private readonly userRepository: Repository<User>,
    ) {}

    async register(createUserDto: CreateUserDto): Promise<User | undefined> {
        const user = new User();
        const saltRounds = 10;

        user.username = createUserDto.username;
        user.email = createUserDto.email; 
        user.password = bcrypt.hashSync(createUserDto.password, saltRounds)

        return this.userRepository.save(user);
    }
}

```


How do I handle exceptions generated from "register" method? For example, if there is an exception caused by unique constraint when I insert a value. 

Currently I am using [Interceptor Exception Mapping](https://docs.nestjs.com/interceptors#exception-mapping) on the controller method, but  I feel it is not quite intuitive yet for me. 

_Cover Image: [Glenn Carstens-Peters](https://unsplash.com/@glenncarstenspeters)_
I'm not back, I'm rebooting myself.
Tags: 100daysofcode, career
Published: 2020-09-15 12:34:28

So a few months a go I went for 100days of code challenge and failed, as I have failed in most of my projects, ideas and objectives. Why?

Simple, although I knew my mental health was in shambles for years I did little about it, only recently I went looking for professional help. For years I underestimated my abilities and felt I couldn't achieve anything, and whit that mentality I kept failing repeatedly.

I studied Arts and Multimedia but after finishing I just got random jobs anywhere, and kept quitting and finding another, these last +2 years I kept destroying myself with jobs in things I don't like or I can't stand anymore.

I made a decision to pursue a future in coding, something that I always wanted, for now I'm going to start in web dev, since I have basic knowledge of it and will keep improving my skills. I will also start to try game dev in a hobbyist way and maybe one day...

Since I'm not seen as a recent graduate anymore due to +2 years had passed since I finished my studies, getting a job in any multimedia related position is going to be hard.

But now I can let myself fail before even really trying. So for today I will start to build a portfolio doing projects that showcase my abilities and hosting them on GitHub or CodePen or both.
Anonymous ESP APK Tool for Android
Published: 2020-09-15 12:30:27

 https://apkprofit.com/anonymous-esp-apk-tool-for-android/Unknown ESP APK Do you love to play the android games on your android cell phone? on the off chance that indeed, at that point we need to bring an incredible application particularly for the game darling who continually playing the game on a smartphone.PUBG is the most top moving game in the market everybody needs to play the game on an android cell phone, at the underlying stage playing the web based game isn't simple for each new player, in light of the fact that the player doesn't have the ability to play the game, 

the genius player has reasonable gaming capacity because of which new player can,t play the game in a simple way.due to the expanding request of the game sweetheart we need to apparatus that can tackle your gaming issue in a simple manner, Anonymous ESP APK  is the best instrument for PUBG darling, player of the PUBG is expanding step by step since it has the sensible highlights where player get the gigantic delight during the playing of the PUBG. 

On the off chance that you are playing the PUBG on your cell phone, at that point you have the great educated about the security highlights of the PUBG the designer of the PUBG included the hared security framework it, due its security framework is somewhat difficult to hack the game, however you don't have to stressed over it, since we have appetency to our client to keep them glad unequaled, you can undoubtedly hack the game with the assistance of the Anonymous ESP APK.it has many the hack for the PUBG player, Desi APK is the apparatus that records all the hack mostly  PUBG isn't totally supportive of root, cheerful you can introduce the application on your cell phone with no sort of the mistake I have tried this application on my telephone you account it safe since it has hostile to boycott assurance you didn't stressed over it feel free on download this application on your cell phone.
How I do Git version control - locally (List of commands)
Tags: git, tutorial, versioncontrol
Published: 2020-09-15 12:26:43


<h3>Hi guys, I wanted to share with you how I do version control locally. </h3>

<h4><strong>Git</strong> can help you track the changes on your project. At anytime you can go back and check out a previous version. It allows you to create new branches of your app so you can try out new things, and if you don't like how the new features turned out, you don't have to commit those changes to the master branch. </h4>
<hr>

First install Git on your computer. Create a project folder. Open <strong>Git Bash</strong>, type the path to the project folder. (I'm sure there are other ways to do it, this is just how I like to do it) 

<pre><code>$ cd Desktop/tutorial/ </pre></code>

- To initialize an empty Git repo in that folder 

<pre><code>$ git init</pre></code>

- Create a file in the repo

<pre><code>$ touch index.html</pre></code>

- Add a file that should be tracked

<pre><code>$ git add index.html</pre></code>

You can also add multiple files, just type

<pre><code>$ git add .</pre></code>

And it will start tracking all the files in the folder. 

- To check the files in the folder

<pre><code>$ ls -a</pre></code>

- Check the status of the files in the repo. To see which files have been modified

<pre><code>$ git status</pre></code>

- Commit the changes

<pre><code>$ git commit-m "Commit message"</pre></code> 


- To see all the commits(previous versions of the app). 

<pre><code>$ git log</pre></code>

You'll see something like this

<pre><code>commit f65881c0e1a7866b15da23576ccf176a184561234 (HEAD -> master)
Author:Your name
Date: Date of the commit
    commit message
</pre></code>

You see this long "number"? It's called <strong>hash</strong>

- To go back to a previous version type

<pre><code>$ git checkout f65881c0e1a7866b15da23576ccf176a184561234</pre></code>

- Now if we want to create a new branch to see how pink background  would look like in our app. We can just create a new branch.

<pre><code>$ git branch pinkbg</pre></code>


- Switch to the pinkbg branch and start coding

<pre><code>$ git checkout pinkbg </pre></code>


- See all the branches 

<pre><code>$ git branch</pre></code>

- Merge branch with master 

<pre><code>$ git merge pinkbg</pre></code>

<h3>And that's it for now! :) </h3>