teleren/devto huggingface dataset:
Get your #Hacktoberfest shirt without writing a lick of code
Tags: hacktoberfest, opensource, github, podcast
Published: 2018-10-01 17:09:33

---
title: Get your #Hacktoberfest shirt without writing a lick of code
published: true
description: We have two repos where your contribution is functionally equivalent to hitting the Hacktoberfest Easy Button
canonical_url: https://changelog.com/posts/get-your-hacktoberfest-shirt-without-writing-a-lick-of-code
tags: hacktoberfest, opensource, github, podcasts
---

[Hacktoberfest](https://hacktoberfest.digitalocean.com) is here once again, and we devs will do _just about anything_ for a free shirt. 

However, there's a war inside us. The _Acquire Free Swag_ inclination is at odds with the _Be Super Lazy_ inclination, leaving many wondering... **"What's the absolute easiest route to that sweet, sweet swag?!"**

![Good news, everyone!](https://thepracticaldev.s3.amazonaws.com/i/reh4m9wd9ptr51rne52r.jpg)

We have _two_ repos where your contribution is functionally equivalent to hitting the Hacktoberfest Easy Button:

{% github thechangelog/transcripts %}
{% github thechangelog/show-notes %}

Both are Markdown-based, so there's no coding required. They're also [integrated directly](https://github.com/thechangelog/changelog.com/blob/master/lib/changelog/github/puller.ex) in to [our open source CMS](https://github.com/thechangelog/changelog.com), so merged improvements go live on [changelog.com](https://changelog.com) immediately.

All you have to do is [pick an episode](https://changelog.com/master), have a listen, and improve its [transcript|notes]. You'll be contributing back to the community, earning a free shirt, and hardly working at all. That's a [win/win/win](http://quotegeek.com/television-quotes/the-office-u-s/10245/).

Oh, and did I mention we have one of the quickest merge buttons in The 'Verse? What are you waiting for...

![Do it DO IT](https://thepracticaldev.s3.amazonaws.com/i/ja7a4nzqu6h473305cpq.gif)
Feedback On My Portfolio Site
Tags: help, feedback, portfolio, critique
Published: 2018-10-01 16:43:11

---
title: Feedback On My Portfolio Site
published: true
description: Hoping to get some feedback on my new portfolio site
tags: help, feedback, portfolio, critique
---

![Screenshot](https://github.com/quangogage/Portfolio-App/raw/master/screenshots/1.png?raw=true)

Hello everyone! I've been working on my portfolio site and it is now live. I'm still making tweaks and edits, but I was hoping to get some feedback on it!

Just a quick note: I'm still pretty unhappy with the mobile version, any ideas or critique on that would be greatly appreciated!

Website - http://gagehenderson.com/
Github Repo - https://github.com/quangogage/Portfolio-App
Why you should not use “ContinueWith” in your async code
Tags: asynchronous, async, csharp, dotnet
Published: 2020-04-18 13:01:17

---
title: Why you should not use “ContinueWith” in your async code
published: true
tags: asynchronous,async,csharp,dotnet
canonical_url: https://medium.com/@joni2nja/why-you-should-not-use-continuewith-in-your-async-code-c9eaf6087e64
---
This post originally appeared on [Medium](https://medium.com/@joni2nja/why-you-should-not-use-continuewith-in-your-async-code-c9eaf6087e64)

#### Are you using ContinueWith in your async code?

For my future reference, this post is a quick summary of ASP.NET Core Architect David Fowler’s tweets:

{% tweet 1044847039929028608 %}

So, here we go.

- Async state machines, though they have creation overhead are easier to debug. They can and will be further optimized in the future (on the runtime side).
- They execute synchronously if the task is already complete, something that `ContinueWith` doesn’t do this unless you specify the right set of flags.
- Calling `ContinueWith` allocates another task per operation (it wraps your delegate in a task object) instead of re-using the state machine instance as the continuation. So you’re static callback is then wrapped in a ContinuationTask object. That then also gets wrapped in another continuation object and attached to the list of Task continuations…. Task itself is also is optimized for async/await over everything else.

For example:

```cs
if (!task.IsCompleted)
{
  return FinishAsync(task);
}

private async Task FinishAsync(Task task)
{
  try
  {
    await task;
  }
  catch (Exception ex)
  {
    Log(.....)
  }
}
```

- `ContinueWith` allocates more than using async await. In fact, in .NET Core Task is very optimized for async await code paths and allocates less than `ContinueWith`.
- The state machine’s overhead is a concern when you finish synchronously, not asynchronously.
- If you take into account _the whole “cost,” including the state machine generation_, async/await is still _lighter_ than just using `ContinueWith` in this situation. At least on .NET Core it is.
- `ContinueWith` needs to capture the execution context. That’s going to mean at least an object that has both your callback **_and_** _ _options.
- In the async await case, the state machine starts off as a `struct` and once you go async it is then **boxed** into an object, that boxing allocation is basically reused for **_everything_**.

Last but not least, also worth to check tweet thread:

{% tweet 1045096041266249728 %}

Check out this [Async Guidance from David Fowler ✨](https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md)

### Summary

Use async/await.
PyQt5 tutorial
Tags: python, tutorial, beginners
Published: 2018-10-01 15:59:03

---
title: PyQt5 tutorial
published: true
description: 
tags: #python #tutorial #beginners
---

1 Install PyQt5
1.1 Using pip
1.2 Using source (On Linux)
1.3 Using source (On Windows)
2 Install PyQt5 designer
2.1 Where is PyQt5 designer?
3 How to use PyQt5 designer
4 Difference between QDialog, QMainWindow, and QWidget
5 Load .ui VS convert .ui to .py
5.1 Loading the .ui file in your Python code
5.2 Converting the .ui file to a .py file using pyuic5
6 QLabel widget
6.1 Change Font
6.2 Change size
6.3 Change text
7 QLineEdit widget
7.1 The setStyleSheet() method
8 QPushButton Widget
9 Visual signal/slot editor
10 How to emit a signal
10.1 How to use a signal
11 QComboBox widget
11.1 Get all items
11.2 Select an item
12 QTableWidget
12.1 Clear QtableWidget content
12.2 Populate QTableWidget by code
12.3 Make QTableWidget not editable (read-only)
12.4 Set QTableWidget column (header) name
12.5 How to sort QTableWidget
12.6 Add QComboBox in QTableWidget


https://likegeeks.com/pyqt5-tutorial/

I hope you like the tutorial.
Best Regards,
Module Monday 15: Scroll magic, Animated tiles, Team diamond & more
Tags: showdev, opensource, webdev, javascript
Published: 2018-10-01 15:53:55

---
title: Module Monday 15: Scroll magic, Animated tiles, Team diamond & more
published: true
description: Module Monday 15
tags: showdev, opensource, webdev, javascript
cover_image: https://res.cloudinary.com/component/image/upload/b_rgb:f6f6f6,c_pad,h_370,w_880/v1538267842/scroll-magic_50_nzvmdg.gif
canonical_url: https://guide.anymod.com/v1/module-mondays/2018-10.html#Module-Monday-15
---

## Weekly web modules you can use anywhere

Everything below is open source and free to use on any website, web app, or anywhere else. [Anymod](https://anymod.com) lets you quickly add features like these.

Click a mod to see it along with its source code.

### Scroll Magic B
Sections that pan and zoom as you scroll.
<a class="button" href="https://anymod.com/mod/nbkdn?v=20">View mod</a>
<a href="https://anymod.com/mod/nbkdn?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1538267842/scroll-magic_50_nzvmdg.gif"/>
</a>

### Animated Content Tiles
Add basic info with a click to learn more.
<a class="button" href="https://anymod.com/mod/kodkb?h1=50&h2=100&v=20">View mod</a>
<a href="https://anymod.com/mod/kodkb?h1=50&h2=100&v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1538267842/tiles_zfofc5.gif"/>
</a>

### Contact section
Simple, responsive section for your contact info.
<a class="button" href="https://anymod.com/mod/rbaaa?v=20">View mod</a>
<a href="https://anymod.com/mod/rbaaa?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1538267841/contact_cw0c0b.png"/>
</a>

### Team Diamonds
Diamond layout to showcase your team.
<a class="button" href="https://anymod.com/mod/lmlbm?v=20">View mod</a>
<a href="https://anymod.com/mod/lmlbm?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1538267842/team_50_vhl1an.gif"/>
</a>

### Instagram Post
Embed your Insta posts anywhere you want.
<a class="button" href="https://anymod.com/mod/oorra?v=20">View mod</a>
<a href="https://anymod.com/mod/oorra?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1538267842/instagram_qtnj0p.png"/>
</a>

<hr>

I post new mods [here](https://dev.to/tyrw) every (Module) Monday -- I hope you find them useful!

Happy coding ✌️
Rewrote my portfolio in React, feedback appreciated.
Tags: showdev, beginners, career
Published: 2018-10-01 15:19:12

---
title: Rewrote my portfolio in React, feedback appreciated.
published: true
description: I am a beginner, and looking for some feedback after recreating my portfolio with React.
tags: #showDev, #beginners, #career
---

I recently updated my portfolio site [portfolio site](https://jbull.co) with with react. I was supersized how quickly I was able to get things going and got to get my feet wet with styled components and CSS Grid, which made life pretty easy. 

I am using cloudflare and have noticed that there might be some caching issues so I am hoping to track that down.

Thanks much for checking it out.
Participating in #Hacktoberfest? devSwag helps you keep an eye on everything that's on the table!
Tags: opensource, beginners, git, hacktoberfest
Published: 2018-10-01 15:01:35

---
title: Participating in #Hacktoberfest? devSwag helps you keep an eye on everything that's on the table!
published: true
description: Participating in #Hacktoberfest? devSwag helps you keep an eye on everything that's on the table!
tags: opensource, beginners, git, hacktoberfest
cover_image: https://partners.npmjs.com/weekly/weekly30/socks-1100x.jpg
---
It's that time of the year again... Hacktoberfest is back for the 5th year!

As a developer, nothing piques my interest more than developer swag! I made devSwag to scratch my own itch by starting a simple list on a GitHub repository (swag-for-dev). I’m excited to share devSwag, THE place to get notified about any new swag opportunities for developers. This would be quite useful this month as Hacktoberfest comes back for the 5th year.

`TL;DR` Are you participating in `#Hacktoberfest`? If yes, this might be of interest to you: https://www.producthunt.com/posts/devswag-2
If you have any questions or ideas, let me know.
Started enjoying spring-boot-startup-bench
Tags: springboot, java
Published: 2018-10-01 14:47:50

---
title: Started enjoying spring-boot-startup-bench
published: true
description: 
tags: #springboot #java
---

Following s1p tweets, I found an interesting one this morning.

{% twitter 1045333296555732992 %}

That’s why I enjoyed this repository today.
https://github.com/dsyer/spring-boot-startup-bench

## Build failed

When I tried to build it with `$ ./mvnw clean install`, it failed. Reading the error message, I modified one line and the build succeeded.

https://github.com/bufferings/spring-boot-startup-bench/commit/4218301f4139274abe489ddaeb09058039184da7

![](https://thepracticaldev.s3.amazonaws.com/i/5h00ihnlfsdi9t8wkqs7.png)

## Strange Result

Then I ran the benchmark with `$ (cd benchmarks/; java -jar target/benchmarks.jar)`. But it showed a strange result.

![](https://thepracticaldev.s3.amazonaws.com/i/ye67dpui9lki23or1wgb.png)

The `petclinicLatest(Precompute)Thin` results were too slow.

## Thin?

I didn’t know what the `Thin` means. Then I reached to https://github.com/dsyer/spring-boot-thin-launcher and understood it’s an experimental library to make the jar file thin and download jars when it starts for the first time.

I read the source code of the benchmark module to know how it runs the target, and added `--thin.debug=true` to see the debug output.

```sh
java -Xmx128m -Djava.security.egd=file:/dev/./urandom \
  -XX:TieredStopAtLevel=1 \
  -jar petclinic-latest/target/petclinic-latest-1.4.2-thin.jar \
  --thin.debug=true \
  --server.port=0
```

## SNAPSHOT?

I forgot to take a memo, but it showed jar resolution log. I noticed the petclinic-latest loaded some SNAPSHOT version libraries.

{% twitter 1046075993134444549 %}

I guess every time it would check the SNAPSHOT version of the maven repository. So I modified the pom file to use RELEASE version.

https://github.com/bufferings/spring-boot-startup-bench/commit/17fb6be5511a928ebf26cc49d6044ce6ffdcd73d

![](https://thepracticaldev.s3.amazonaws.com/i/i85av2lyzmjy9xpch7ho.png)

## Then…

{% twitter 1046081515870965760 %}

![](https://thepracticaldev.s3.amazonaws.com/i/8ld8241ii8jsh1u7y3ui.png)

Though it would be different from the original aim to compare the SNAPSHOT version speed, I enjoyed the repository, and I would like to understand the details of this repository especially Flux benchmarks which is on the tweet picture.
Dumb Breakthrough moment: JSON Object Array Access
Tags: beginners, javascript, json
Published: 2018-10-01 14:19:19

---
title: Dumb Breakthrough moment: JSON Object Array Access
published: true
description: Sharing this so you won't make the same mistake.
tags: beginner, Javascript, JSON
---

After being stuck on this for half an hour a friend takes a look at my Vue and server code.

"You're not actually accessing the arrays, you're only receiving the response as an object."

*Seinfeld music plays*

This is what I saw when I `console.log`-ed `this.response.data`

![JSON response object from call to a Google Sheets endpoint. This object included an array of row objects, which contained arrays of info about cats that I couldn't access and thus iterate through in a v-for loop](https://thepracticaldev.s3.amazonaws.com/i/to3vmvhaaa7x1fe6gjfz.png)

This is what I should see if I want to iterate through arrays of row objects: `this.response.data.rows`

![JSON response object targetting its arrays of row-objects by dot-notation](https://thepracticaldev.s3.amazonaws.com/i/5eg24as1z4ef62rep7r2.png)

Thanks to Conan Lai for clearing that up.
What's your bio? One paragraph describing your personal/professional life
Tags: discuss, bio, conference
Published: 2018-10-01 13:54:52

---
title: What's your bio? One paragraph describing your personal/professional life
published: true
tags: discuss, bio, conference
---

![](https://media.giphy.com/media/4bjIn0rsYmutZRFKmQ/giphy.gif) 

I'm supposed to come up with a bio for a conference, and I wanted to get a gage on what the communities bios are like. Looking for thoughts and ideas on what a good one paragraph biography should be. Should this be first person or third person?

Update:
@rdumais provided a great bio template to check out. Here's what I have now, what do you think?

Christine is from Omaha, Nebraska where she works as a full stack Ruby on Rails engineer at Flywheel, WordPress hosting for creatives. She has 12 years experience as a Java software engineer with a focus on APIs and micro-services and took the plunge into Ruby just this May. In her spare time she is an avid long form reader, lover of all true-crime podcasts and is attempting to work through the primary Ashtanga yoga series.
Do you copy and paste code from Stack Overflow?
Tags: discuss
Published: 2018-10-01 13:02:25

---
title: Do you copy and paste code from Stack Overflow?
published: true
description: Copypasta? Copypasta.
tags: discuss
---

I always hear about developers running into trouble because they blindly copy-paste code in from places like Stack Overflow answers without understanding what the code is doing.

For instance, it's brought up most recently in an article here called [How to Improve Your Debugging Skills](https://dev.to/theoutlander/how-to-improve-your-debugging-skills-3j5p). It's a good article, go read it.

But I'm curious now. When I find an answer to something that had me stumped, I learn from it, understand it, and implement it in my own way. The idea of copying and pasting code straight into my own work seems alien. If nothing else, it would at least need to be refactored to use my variable naming conventions or put into a class or method or something instead of being bare code.

I'm using Stack Overflow as the biggest example, but I don't really mean to limit my question to that one site.

Have you ever pasted anything in like that? If so, are you new to development or an old hand - and has your attitude changed over time?
Who's looking for open source contributors? (October 1st edition)
Tags: discuss, opensource, hacktoberfest
Published: 2018-10-01 12:38:36

It's [#hacktoberfest](/t/hacktoberfest), so several folks have spun up similar threads. Follow that tag to keep up with contribution opportunities from the community.

Anyway, regarding this thread:

Find something to work on or promote your project here.

Please shamelessly promote your project. Everyone who posted in previous weeks is welcome back this week, as always. 😄

Happy coding!
To be a software engineer or developer, do you still need a degree?
Tags: discuss
Published: 2018-10-01 12:27:46

---
title: To be a software engineer or developer, do you still need a degree?
published: true
tags: discuss
---
Many companies and organisations are starting to relax their hiring criteria and don't require employees to have degrees - yet some are still very strict on this. Do you think that a degree is **still** needed to make it as a software engineer or a developer? Discuss.
Awesome projects under 1000 stars (2) - Gridland
Tags: javascript, github, opensource
Published: 2018-10-01 11:43:52

---
title: Awesome projects under 1000 stars (2) - Gridland
published: true
description: Every month, discover an awesome under-appreciated web project.
cover_image: https://thepracticaldev.s3.amazonaws.com/i/qp4b737pvxuyyzvfpmjh.jpg
series: awesome-project-under-1000-stars
tags: javascript, github, opensource
---

# [Gridland](https://github.com/doublespeakgames/gridland)

This month, I wanted to do thing a little differently. I mean, I never said this thread have to be serious and that's my post after all.
So this time, I present you GridLand. A very addictive and fun time waster game.

![Quiet start](https://thepracticaldev.s3.amazonaws.com/i/qm33nqtwk6hs51g783jo.png)

Wrapped around a simple "match 3" game, Gridland allow you to build and upgrade buildings in order to improve your abilities.
Each time you match enough squares, you earn a new resources to be spend on your camp. With enough resources, you little avatar will grow your camp.

But don't match loosely, indeed, each moves make time pass a little and when night comes ... like most games ... monsters are unleashed.
At night, your grid of resources turn into a grid of monsters and defenses.
Game-play change a bit too. The careful "match as many as day last" turn into a frantic "give me a freakin' sword instead of spawning dozens of monsters !".

![yeah, I know there's a sword match on the left ...](https://thepracticaldev.s3.amazonaws.com/i/3whgsbbp6zmg9ly5lcri.gif)

Of course, if I'm showing this today, it's not just because the game is fun. It's because the whole game's code is open-sourced on github.
Like many projects, there's a huge lack in documentation 🙄. However, the code is very well formatted and architectured.
You can find (and learn from) every game development traditional parts: event-manager, game-state save, localisation, audio, entities ...
It's all basic Javascript, so even if you're not a master developer, you can understand and pick good bits from the code.

Start by playing around a little before diving into code.
First it will reduce spoilers. Then You will have an idea on how the game works and what to expect from each files.

Here some advice :
 - Matching more than 3 tiles has a great bonus, try to do it as much as possible
 - Don't use magic to turn night into day, you need that XP from fights
 - You can prioritize building by clicking on them

And some dev tips :
 - The event-manager is simple, but very useful
 - the [gamestate.js](https://github.com/doublespeakgames/gridland/blob/master/www/js/app/gamestate.js) file handle saving, which is pain to do right
 - Check [Require.js](https://requirejs.org/) for those strange `define(['...', '...'], function(`


See you all next month.


ps: The next game from DoubleSpeak studio called "[a dark room](https://github.com/doublespeakgames/adarkroom)" is amazing. Try it as well.
Need a little help here. 
Tags: node, help, mssql, beginners
Published: 2018-10-01 08:48:32

---
title: Need a little help here. 
published: true
description: 
tags: #node #help #mssql #beginners 
---


I've been wondering how to setup my Rest API with node express , to retrieve data from MS SQL database.
From my research so far , i see that a popular approach is to use tedious and mssql packs for node , to establish a connection between the API and the database.
Can you suggest any less painful and easy to use approach ?
I don't really have much experience consuming data from ms sql via node , 
so i will appreciate any help :)
Simple golang jobber with ttl
Tags: go, timer, ttl, jobber
Published: 2018-09-30 16:43:12

---
title: Simple golang jobber with ttl
published: true
description: Simple time-limited jobber on Golang
tags: golang, timer, ttl, jobber
---

There are some points where you need TTL to do something, i.e. API Request or some other restrictions. In golang you could do it in very simple way using goroutines and standart time package.

The basics to solve the task are looked something like this.

```golang
// First of all you need a channel to interract with the request
c := make(chan int, 1)

// start anonymous routine with the some function call
go func() {
    result := someFunc()
    c <- result
    close(c)
}()

// start timer
timer := time.NewTimer(<timeout>)
defer timer.Stop()

var result int
var err error
select {
    case result = <-c:
	// do nothing, break select
    case <-timer.C:
	err = fmt.Errorf("time exceeded")
}
// handle error and use the result in the code
```

And as an example there is a net.LookupIP fuction call from the standart package with a TTL


```golang


func main() {
	ips, err := lookupIPs("https://dev.to", time.Second)
	if err != nil {
		// check the error
	}
	// do something with the list of ips
}

type lookupIP struct {
	ips []net.IP
	err error
}

func lookupIPs(url string, timeout time.Duration) ([]net.IP, error) {
	c := make(chan lookupIP, 1)

	go func() {
		ips, err := net.LookupIP(url)
		c <- lookupIP{ips, err}
		close(c)
	}()

	timer := time.NewTimer(timeout)
	defer timer.Stop()

	var lIP lookupIP
	select {
	case lIP = <-c:
		// do nothing, break select
	case <-timer.C:
		lIP.err = fmt.Errorf("lookup ip: time exceeded")
	}
	if lIP.err != nil {
		return nil, lIP.err
	}
	return lIP.ips, nil
}
```