teleren/devto huggingface dataset:
Managing a Game Studio of Students Remotely
Tags: projectmanagement, gamedev
Published: 2020-04-02 17:36:40

Wooden H Studio is currently working on a Spyro clone. Unfortunately due to the current virus outbreak, our project start was a little rough. This post will describe some of the issues we have come across with the transition to remote-only work and how we plan on mitigating those issues.

# Issues
The biggest issue is that we have a hard time communicating with each other, and there is a lot of us. Not only is this our first project of this scale, but this is also a studio made entirely of students, so that adds some additional challenge because we also have to balance the workload from this project with other classes that are struggling with the migration to online education. There are some big issues with the dev team because we can't pair program as easily and debugging on the console doesn't translate well in a remote environment.

# Mitigation
The way we kind of handle the communication issue is by handling personnel by the department. The dev lead stays in touch with the dev team and the art lead stays in touch with the art team and then each department does internal daily check-ins and the dev lead and art lead keep in touch with the producer and each other and that is how we reduce the amount of communication overhead. This seems to work as we are all busy people and don't have a lot of time to waste, so we keep info on a need to know basis. We also doing public daily standups in discord so everyone knows what everyone else is working on and have a chance to offer and ask for help or information if/ when needed. As for the debugging and pair programming, we pair program over zoom and fortunately, we are developing for Xbox One and can still debug natively on windows, so that was a big help. This is still one of our biggest issues though as our build reviews will be awkward.

Overall I feel like we're doing fine and will eventually get into the rhythm of working remotely. Until we do we will be losing some productivity, but we will still get things done and eventually ship.

By Joseph Whittington
Angular 6|7|8|9 Tutorials | Angular NgModule
Tags: angular, angular7, angular8
Published: 2020-04-02 19:47:23

---
title: Angular 6|7|8|9 Tutorials | Angular NgModule
published: true
date: 2020-04-02 17:21:52 UTC
tags: Angular,angular,angular7,angular8
canonical_url: https://codesquery.com/angular-ngmodules-tutorials/
---

Introduction To Angular 6|7|8|9 Modules Now Angular 9 released and it comes with few new features which make your web application development more interesting using the Angular 9. In this article, we are going to learn about the angular 9 NgModule and how to use its metadata. We all know that angular is based on [...]

The post [Angular 6|7|8|9 Tutorials | Angular NgModule](https://codesquery.com/angular-ngmodules-tutorials/) appeared first on [CodesQuery](https://codesquery.com).
GitHub Squash commits on your branch
Tags: github, productivity, javascript, angular
Published: 2020-04-02 17:21:40

---
title: GitHub Squash commits on your branch
published: true
description: Easy 4 steps to squash commits
tags: #github #productivity #javascript #angular
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/x2yjk4cemu8zojg3to3n.png
---

##Squash all your commits on a branch?

- Get a complete history of commits by running:

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

- Now, run the below command to squash the commits on your branch, Number of commits = commits you would like to squash.

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

- After you run the previous command you now need to `pick` the commits you would like to squash, personally I use `f` to pick the commits. So instead of `pick` INSERT `f` (replace pick with f) expect for the first commit. 

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

ESC, :x to exit VIM. 

- Verify in git log and your commits should be squashed.
Best Twitter utility bots, reminders, downloaders, thread savers and more.
Tags: twitter, bots, collection
Published: 2020-04-02 17:20:26

#Into
Bots have a bad name on twitter, they can be Russian propaganda bots, fake AI bots, and others malicious players. 
 
There are also just a ton of content bots, like the always surprising [@year_progress](https://twitter.com/year_progress) bot that will come into your feed and upset you with how fast time moves. 
{% twitter 1245320004389736450 %} 

# Utility bots FTW

I found that there are many utility bots, that are just awesome, that expand the use of twitter significantly, supplementing Twitter with new features. 

I've decided to quickly jot down some helpful twitter bots, mostly for myself to remember, but also for you dear reader. Yes, for you. 

# Thread help 
There are two bots, [@threadreaderapp](https://twitter.com/threadreaderapp) and [@threader](https://twitter.com/threader_app) 
Both of them allow you to reply to a long thread of tweets, and they will compile that thread into a blog post pretty much. 

They work the same but with a different keyword, and sometimes one is faster than the other. Usage below: 

```
@threader_app compile
```
and 
```
@threadreaderapp unroll
```
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/2ad71jbl9mxao6psdx43.gif)

# Remind yourself
Ever saw someone make a stupid prediction and wanted to come back to see it? There's tons of reminder bots for this. [@remindmetweets](https://twitter.com/remindmetweets) specifically also takes a screenshot of the the context tweet, so if the author deleted it, it will still be available as a screenshot! Super useful.

{% twitter 1146352743386234881 %}

# Save videos and gifs

One of the most annoying things about Facebook and Twitter feud, is that there's barely any crossposting, and sharing that funny meme tweet that you found is really hard. 
[DownloaderBot](https://twitter.com/DownloaderBot) to the rescue

{% twitter 1060169685625380865 %} 

# More? 
I swear I had more twitter bots when I decided to jot this down, so I will treat this as a continuously updating resource. 
Feel free to comment with helpful utility twitter bots and I'll add them to this list.
I built an entire monitoring service while being in Covid-19 quarantine 📈🚀
Tags: showdev, webdev, javascript, react
Published: 2020-04-02 17:17:07

After reading posts here for several years now, I decided to write my first one too. 😀 I hope everyone is doing fine in the current situation. For my part, I've been in quarantine for around two and a half weeks now. To use my time productively, I decided to create an app called LOGGY that monitors different kinds of web services and catches errors in production.

There are already several monitoring services, but I wanted to see what I can come up with within just two weeks. My goal was to create a highly scalable and flexible service that is easy to deploy. I decided to write the backend in Go to learn the language a bit better. I also believe that Go is quite a powerful tool for these type of applications. The frontend is written in React.

![services](https://dev-to-uploads.s3.amazonaws.com/i/59je18letmbnq6ms3w1z.png)

To get started there needs to be at least one service. A service can be anything like an Express server, a mobile app or your frontend. All services belong to an organization. Admins of that organization are able to invite and remove additional users to their organization. There are also adapters that can be installed on the service, to automatically catch and report errors. It also gives you the flexibility to write your own adapter and error reporting logic in whatever language you prefer.

![errors](https://dev-to-uploads.s3.amazonaws.com/i/4z862r6vnrwymk081xy2.png)

When selecting a service, it shows all the errors that were reported by that particular service with a couple of details. Each service has a so-called ticket, which is used to assign the reported event to the service.

![header](https://dev-to-uploads.s3.amazonaws.com/i/y3fqxoux15a7n8pvvdoc.png)

You can click on an error for further insights. It is also possible to add custom information to the event, which can be handy if you, for example, run your service in different clusters and want to add the name of the cluster to the event.

![evolution](https://dev-to-uploads.s3.amazonaws.com/i/40dmiyjjj821jwjtheaq.png)

It will also give you detailed information when and how often the error was reported.

![stacktrace](https://dev-to-uploads.s3.amazonaws.com/i/9hmdmwmt2bjpqn5lj5gb.png)

Besides the raw stack trace, it will show clearly where the error occurred. Furthermore, you will see previous console logs and information about the adapter.

If you want to check it out, you can create your own organization on a demo instance I deployed [here](https://loggy-demo.web.app/auth/setup) and give it a try. Currently, there is a NodeJS adapter available and I'm already working on an adapter for common frontend frameworks. In the repositories, you will find information on how to create an adapter in any other language or host the service yourself.

[🚀 Backend](https://github.com/jz222/loggy)

[💻 Dashboard](https://github.com/jz222/loggy-client)

[📡 NodeJS Adapter](https://github.com/jz222/loggy-adapter-nodejs)

[✨ Demo](https://loggy-demo.web.app/auth/setup)

Thanks for reading 🙏🏼
iOS: Started building example app showcasing how to work with calendar and events
Tags: showdev, ios, swift
Published: 2020-04-02 17:13:00

It is some time since I first needed to save event to user's calendar in iOS and realized that while iOS offers pretty good frameworks `EventKit` and `EventKitUI` there are not a lot of resources, tutorials or example code available online. Especially for modern versions of iOS and Swift.

I have recently written shorter post focused on parts of `EvenKitUI` _(links at the bottom of this post)_ and now I am building open source example app. 🙂

📅 The current version lists events for the next week, allows to select calendars to display events from, has option to create new events, edit existing ones and delete events with swipe gesture.

Working with calendar is far for just building custom calendar apps. You can give user super simple way to save event from your app, or maybe display today's events in their to-do list like Things 3 does.

Check out the example app on [GitHub](https://github.com/nemecek-filip/EKEventKit.Example)!

![Example app screenshot](https://dev-to-uploads.s3.amazonaws.com/i/jdr5upp6u2l2576fo7gq.png)

Thanks for reading. Here are the previous tutorials.

{% link https://dev.to/nemecek_f/how-to-use-ekcalendarchooser-in-swift-to-let-user-select-calendar-in-ios-4al5 %}

{% link https://dev.to/nemecek_f/how-to-use-ekeventeditviewcontroller-in-swift-to-let-user-save-event-to-ios-calendar-d8 %}
We are Wooden H Studio
Tags: gamedev
Published: 2020-04-02 16:45:18

## Who we are
Wooden H Studio is a "Game Studio" of 11 Full Sail University students and one student from Rock Mountain College of Art & Design from various disciplines that got together to make a Spyro clone game for the Xbox One on Actus Dei, a custom game engine being developed by our dev team.

## Our team
Currently, we have a team of 5 developers, 4 artists, a composer, a producer, & a graphic designer. Here is a breakdown of our team by the department:
### Production
**Verdayne Graham** - Producer
### Art, Animation & Music
**Ashton Ritzel** - Art Lead/ Environment Artist/ Level Designer
**Nicole Zedan** - Environment Artist
**Saish Thakur** - Character Rigger/ Character Animator
**Nate Burghart** - Character Modeller
**Elizabeth Kidwell** - Composer
**Darion Ramkissoon** - Graphic Designer/ UI designer
### Programming
**Joseph Whittington** - Dev Lead/ Graphics Programmer/ Engine Programmer/ Tools Programmer/ Technical Artist
**Daniel Hayward** - AI Programmer/ UI Programmer/ Generalist
**Gage Dietz** - Physics Programmer/ Engine Programmer/ Graphics Programmer
**Moises Carmona** - Graphics Programmer/ Engine Programmer/ Generalist
**Taylor Addington** - Gameplay Programmer/ Engine Programmer/ Generalist

## The Game
We are currently developing a Spyro clone for Xbox One. This game is the remains of a former collaboration project between the dev lead and the art lead, similar games were attempted twice before but the project always fell through due to scheduling issues, but it seems the third time is the charm, fingers crossed. It's going to be pretty similar to Spyro gameplay, we are trying our best to recreate the feel of Spyro with this game. However, this project is only going to be a simple demo, not a full game.

## The Studio Name
Why Wooden H? The name Wooden H Studio is a reference to a hilarious interaction between the dev lead, Joseph Whittington and the Computer Graphics professor at Full Sail University, Lari Norri. There was a small competition to meet performance requirements with a software rasterizer and the Dev Lead lost and the professor made a wooden letter h for humility and awarded Whittington with the wooden h during a lecture as a token of humility. We have decided to embrace the Wooden H and use that as the studio name. The wooden h can be seen in the cover image with the two software rasterizers running together right beside it.

By Joseph Whittington
!! NEW PRODUCT!! 🎉🤗 THETEALPICKLE APP
Tags: ios, swiftui, mobile, app
Published: 2020-04-02 16:40:56

---
title: !! NEW PRODUCT!! 🎉🤗⁠THETEALPICKLE APP
published: true
description: the key to @thetealpickle universe
tags: #iOS #swiftui #mobile #app
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/2ga61deu02n9u13520cs.JPG
---
<h1>THETEALPICKLE is on the App Store!! <a href="https://apps.apple.com/us/app/thetealpickle/id1478766318?ls=1" >Currently available for iOS</a></h1>
<h2><b>v1.0.1</b></h2>
<h4><b>with @thetealpickle content you can [resources like code snippets, view videos, read articles, listen to podcast episodes]</b></h4>
<img src="https://dev-to-uploads.s3.amazonaws.com/i/x428ipfuzdhqxnmsek6q.jpg"/>
<h4><b>with @thetealpickle projects you can [view projects, get insight, access project links]</b></h4>
<img src="https://dev-to-uploads.s3.amazonaws.com/i/hyu7qu07yow3f9erdf24.jpg"/>
<h4><b>ANDDDDDD stay up to date with the latest in @thetealpickle universe. 😬</b></h4>⠀
<img src="https://dev-to-uploads.s3.amazonaws.com/i/fkotehsd9wmukcij92pk.jpg"/>

🔨 <b>Continuing to build out the experience, adding NEW features, and fixing bugs. Download and follow the journey!!!⁠⠀
Every aspect of this app experience created by @thetealpickle 🥴⁠⠀</b>
On .NET Episode: Tips on public speaking from Andres, Phil, Scott, and Cecil
Tags: speaking, community, beginners, leadership
Published: 2020-04-02 16:40:36

It's common for attendees at conferences to ask the speakers about what it's like to give a talk on stage. How do they prepare? How do they create the story? How do they handle equipment failures?

While we were at the Caribbean developers conference, we put together a panel of speakers to share some of their thoughts and experiences with you  on  public speaking.

Leave a comment below and let us know your experience with public speak!

{% youtube f1f-nRaVymA %}

If you liked this video and would like to see some more of our .NET content, please subscribe to our [.NET Developers YouTube Channel](https://www.youtube.com/channel/UCvtT19MZW8dq5Wwfu6B0oxw).


## Useful Links
* [.NET Meetups and User groups](https://dotnetfoundation.org/get-involved)
* [Become a social Developer](https://getinvolved.hanselman.com/)
* [Caribbean Developers Conference](https://cdc.dev/)
Thank you for your support!
Tags: android, thankyou, followers
Published: 2020-04-02 16:37:28

Thank you all the followers and the community. Especial thanks to @tsmrgrg for being my `100`th follower. It is both humbling and motivating to receive such support from the community. 
In the days to come, I will do my best to contribute more and be of help however way possible.

Thank you!
How to use function with Python
Tags: replit, python
Published: 2020-04-02 16:18:09

This is just Basic Syntax:

A function is a block of organized, reusable code that is used to perform a single, related action. Functions provide better modularity for your application and a high degree of code reusing. As you already know, Python gives you many built-in functions like print(), etc. but you can also create your own functions.

Please if you have more questions or comments let me know or click here to see more info: 
https://www.tutorialspoint.com/python/python_functions.htm



{% replit @AndresHaro1/Basic-Syntax-Function %}
Dynamic Reducer - Python
Tags: replit, python
Published: 2020-04-02 16:14:19

The reducer is a pure function that takes the current state and an action and returns the next state. Note that the state is accumulated as each action on the collection is applied to change this state. So given a collection of actions, the reducer is applied to each value of the collection (from left-to-right).

At this point, this is an example of how to do a dynamic reducer by using the following libraries  "operator & reduce."




{% replit @AndresHaro1/Dynamic-Reducer %}
Validate signature สำหรับ LINE webhook
Tags: elixir, line
Published: 2020-04-02 16:05:26

LINE webhook api มีสิ่งขั้นตอนนึงที่ต้องทำคือการ validate signature เพื่อยืนยันว่า request ที่เข้ามานั้นมาจาก Official Account ของเราจริงๆ ซึ่งถ้าใช้ภาษาที่ official LINE support แล้วละก็จะมีจะ function ให้ใช้งานอย่าง line-bot-sdk-go ที่มี [ParseRequest(*http.Request)](https://github.com/line/line-bot-sdk-go/blob/master/linebot/webhook.go#L32) ให้ใช้งานก็จะ validate signature จาก request header ให้อัตโนมัติ

ถ้าลองลอกการทำงานของ validate signature เพื่อนำมาทำ webhook ใน​​ Elixir น่าจะได้ประมาณนี้

ขั้นตอนแรกสร้าง hash ด้วย HMAC-SHA256 โดยใช้ key เป็น ​channel secret และ data เป็น request body ที่ LINE ส่งเข้ามา function จะได้หน้าตาประมาณนี้

```
defp sign_signature(channel_secret, body) do
  :crypto.hmac(:sha256, channel_secret, body)
end
```

จากนั้น encode ด้วย base64 จะได้ signature ที่ LINE ส่งมาทาง request header ซึ่งใช้ pipe operator pipe ตัว hash ที่เราสร้างเข้าไป Base.encode เลยจะง่ายกว่า 

```
defp sign_signature(channel_secret, body) do
  :crypto.hmac(:sha256, channel_secret, body) |> Base.encode64()
end
```

จากนั้นเอา signature ที่ได้ไป compare กับ signature จาก request header

```
def validate(signature, body, channel_secret) do
  validate(signature, sign_signature(channel_secret, body))
end

defp validate(signature, signature), do: :ok
defp validate(_, _), do: :invalid_signature
```

ผมสร้าง validate/3 เพื่อรับ signature จาก request header แล้วส่งเข้าไปที่ validate/2 เพื่อใช้ pattern matching ดูว่าเป็น signature เดียวกันก็จะตอบ `:ok` ไปเลยส่วน case อื่นก็ถือว่า `:invalid_signature` ไป 

ปล. จริงๆ จะใช้ `case <> do ... end` ก็ได้ไม่ว่ากัน เพราะความตั้งใจผมคือต้องการแยกเคสให้อ่านง่าย

ผมลองสร้างตัวอย่างโดย port มาจาก echo_bot ที่อยู่ใน line-bot-sdk-go [ที่นี่](https://github.com/wingyplus/echo_bot/)ลองดูหรือ discuss กันได้ครับ :)

**ข้อควรระวัง**

LINE จะ sign signature โดยรวม space ใน request body กรณีนี้จะเจอตอนที่ LINE ส่ง body แบบ indent JSON มาให้​ซึ่งหากเราใช้ Plug.Parsers แล้วมาดูจาก conn.body_params  อาจจะผิดได้ (เคสนี้ผมเจอตอน verify webhook หาอยู่พักนึงถึงเข้าใจ)
Twilio Hackathon Help Thread
Tags: twiliohackathon
Published: 2020-04-02 16:03:07

---
title: Twilio Hackathon Help Thread
published: true
description: A place to connect with the Twilio team and your fellow participants.
tags: twiliohackathon
---

The awesome [Twilio team](/twilio) will be making themselves available to help people who runs into issues or have questions related to their products as part of the [Twilio Community Hackathon](/t/twiliohackathon).

You are encouraged to comment in this thread for asynchronous assistance.  We've also set up a dedicated DEV Connect group channel for more synchronous help.  To join the Connect group, **just leave a comment in this thread asking to be added**.

Twilio will be hosting office hours in Connect during the following times:
- Mondays: 3-6pm EDT
- Tuesdays: 3-6pm UTC
- Wednesdays: 3-6pm AEDT 
- Thursdays: 3-6pm PDT
- Fridays: 3-6pm EDT

Additionally, Twilio will be hosting a weekly office hours session on https://twitch.tv/twilio, starting on April 2 at 4-6pm PDT.

If you'd like to share more general progress that you're making on your project, you can do so in the [community update thread](https://dev.to/thepracticaldev/your-twilio-hackathon-updates-172k)!
Your Twilio Hackathon Updates!
Tags: twiliohackathon
Published: 2020-04-02 16:03:05

---
title: Your Twilio Hackathon Updates!
published: true
description: A place to share progress as you continue working on your Twilio Hackathon project.
tags: twiliohackathon
---

Are you making progress on your submission for the [Twilio Community Hackathon](/t/twiliohackathon)?  Let us know what you’re building and how far you’ve gotten!

This thread is for sharing ideas, gathering feedback, and generally just a place for you to get to know your fellow devs.

If you have a big update or just worked through a tough problem, we encourage you to publish a standalone post, but don’t forget to add the [#twiliohackathon](/t/twiliohackathon) tag so we can read all about it!

And if you need help with a specific problem, check out our [dedicated help thread](https://dev.to/thepracticaldev/twilio-hackathon-help-thread-1jno) where the Twilio team is standing by to answer your questions :)
Rethinking the onboarding experience
Tags: vscode, showdev, tools, productivity
Published: 2020-04-02 15:47:53


Onboarding can be tough. It's hard to know when to ask questions or who to ask, when everyone is so busy. There's a lot of tribal knowledge and scattered docs so a lot of teams rely on knowledge transfer sessions.

A [1000-person survey conducted by BambooHR](https://www.shrm.org/resourcesandtools/hr-topics/talent-acquisition/pages/onboarding-key-retaining-engaging-talent.aspx) suggests that 90% of employees decide whether to leave or stay at the company, within their first six months. Respondents have said that “receiving clear guidelines to what my responsibilities were” and “more effective training” would have influenced their decision. 

We created CodeTour to improve the experience of onboarding and sharing knowledge within a team. It's an evolving knowledgebase walking through different parts of the codebase.

Here are a few ways that CodeTour addresses onboarding challenges: 

**Important information never leaves the codebase.**

Any dev can record important information inside the codebase.

Mentors won’t repeat the same brain dump sessions to each new dev who joins the team. Instead, new devs will get the fundamentals from walking through a code tour at their own pace. 

![CodeTour](https://dev-to-uploads.s3.amazonaws.com/i/br1so09of8d9vhw8jk6f.png)
 

**New devs will come to mentors with specific, scoped questions.**

They will already have background knowledge about the codebase, from the code tours.

There will be fewer questions that feel “stupid.” 

![CodeTour Onboarding](https://dev-to-uploads.s3.amazonaws.com/i/om74bi2ujeg8imoko4xw.png)
 

**Learn what you need to know, at your own pace.**

When we’re told to “explore the codebase,” we don’t know where to start. Code tours give a solid starting point and guide you step-by-step throughout the codebase. 

![CodeTour Onboarding](https://dev-to-uploads.s3.amazonaws.com/i/6k37f8n2kmiwydqy4cdp.png)
 

[Here is the CodeTour prototype](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.codetour). 

We envision that tours will move beyond onboarding, into code reviews or other areas. I have spoken with hundreds of devs to research onboarding and knowledge sharing to understand the different challenges.

What are your thoughts? What are your challenges to onboarding new devs or onboarding into a codebase?