teleren/devto huggingface dataset:
Resources for learning graphics programming.
Tags: discuss, beginners
Published: 2018-06-18 23:11:20

---
title: Resources for learning graphics programming.
published: true
description: Resources for learning graphics programming    
tags: #discuss  #beginners
---

I hope everybody has been having a good past few weeks. In this post, I plan on talking about where you guys can begin finding resources for graphics programming.
I had made a few comments from my last post so I figure I would just consolidate it all into one. 

So let's begin with the biggest part of learning graphics programming. That is math if you do not have a strong math background. Here are the resources I bought to get started my self. 


3D Math Primer for Graphics and Game Development, 2nd Edition 2nd Edition
by Fletcher Dunn  

Differential Geometry (Dover Books on Mathematics)
Erwin Kreyszig

Linear Algebra For Dummies
Sterling, Mary Jane

Calculus II For Dummies
Mark Zegarelli

Pre-Calculus For Dummies
Kuang, Yang

Trigonometry For Dummies
Sterling, Mary Jane

Geometry For Dummies
Ryan, Mark

Algebra II For Dummies
Sterling, Mary Jane

Algebra I For Dummies (For Dummies (Math & Science))
Sterling, Mary Jane


Now let's get into where to begin finding resources to begin learning the programming side of things.

Starting with this medium blog post. https://medium.com/vrtigo/resources-for-beginning-graphics-programming-c0da724381bc

Next, as I do not want to make this a list of books check out the image I took here for some of the resources I own for the graphics side of the subject. https://www.instagram.com/p/BgzW64thWn5/?hl=en. 

And here are a few extra resources that I own as well.


Graphics: Principles and Practice
John F. Hughes, Morgan McGuire, Andries Van Dam
Kindle Edition

Game Physics
David H. Eberly
Kindle Edition
Sold by: Amazon Digital Services, Inc.

Physics for Game Developers: Science, math, and code for realistic effects
David M Bourg, Bryan Bywalec
Kindle Edition
Sold by: Amazon Digital Services, Inc.

Ray Tracing: the Next Week (Ray Tracing Minibooks Book 2)
Peter Shirley
Kindle Edition
Sold by: Amazon Digital Services, Inc.

Ray Tracing: The Rest Of Your Life (Ray Tracing Minibooks Book 3)
Peter Shirley
Kindle Edition
Sold by: Amazon Digital Services, Inc.

Ray Tracing in One Weekend (Ray Tracing Minibooks Book 1)
Peter Shirley
Kindle Edition
Sold by: Amazon Digital Services, Inc.

And then for c++ I have been reading. I have a few other books on c++ but I found this one to be the best one for starting out.

C++ in One Hour a Day, Sams Teach Yourself
Siddhartha Rao
Kindle Edition
Sold by: Amazon Digital Services, Inc.

Now I also wanted to add in a few people that you may want to follow. 

@TheAnimator

@CasualEffects ‏

I hope this helps anyone looking to get started on the same path. Feel free to ask me any questions. I can hopefully point you in the right direction. I hope you all have a good week. 

Also you can see my latest project here:
{% github gwartney21/CompleteTheSquare %}
How do you imagine Joel Test 2019 ?
Tags: discuss, work
Published: 2018-06-18 20:27:46

---
title: How do you imagine Joel Test 2019 ?
published: true
description: What are the most important step in tech companies?
tags: #discuss #work
---

One day, Joel Spolsky defined the "12 step to better code". [It's Joel Test](https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/). It was writted in August 2000, a long time ago when "CVS was fine" :) There is the list:

 - Do you use source control?
 - Can you make a build in one step?
 - Do you make daily builds?
 - Do you have a bug database?
 - Do you fix bugs before writing new code?
 - Do you have an up-to-date schedule?
 - Do you have a spec?
 - Do programmers have quiet working conditions?
 - Do you use the best tools money can buy?
 - Do you have testers?
 - Do new candidates write code during their interview?
 - Do you do hallway usability testing?

So, what do you suggest for the Joel Test 2019 edition ?

Here is mine:
 - Do programmers have quiet working conditions?
 - Do you make daily builds?
 - Can you make a build in one step? (include tests and deployment)

 - Do you use decentralized source control?
 - Do you have a wiki?
 - Do you use tools chosen by the team? (include OS & IDE)
 - Do you have time allocated to improve internal tools or process?
 - Do you have time allocated to learn something new? (Not just lunch & learn)
 - Can you do remote-work one day in the week?/Can you choose your work-hours?
 - Can you sleep or make sport during lunch time? (Quiet room/shower available)
 - Can you meet or talk with your final users? (best feedback and empathy source :) )
 - Do you use any agile methodology?

(In my opinion the agile methodology is not something perfect, it could be something like "Can the team refuse the chief assignment/work/idea ?", something about hierarchy, humans interractions, democracy in the team, I'm a little bit fuzzy about this step).

Please, feel free to share your "Must-have" ideas :)
Thanks for reading, enjoy your day !
Introducing AsyncResolver.js: Resolve async subscribed decisions
Tags: javascript, opensource, webdev, node
Published: 2018-06-18 19:39:33

---
title: Introducing AsyncResolver.js: Resolve async subscribed decisions
published: true
description: "Asynchronously resolve subscribed decisions in pub-sub architecture in pure JS"
tags: #javascript #opensource #webdev #node
---

> PubSub architecture implements a disjointed paradigm where subscribers just listen when an event is published. There are situations where we want to maintain multiple listeners/subscribers of an event, though want to act on the basis of how subscribers react.

### Example
Let's consider a case where there are several components on a webpage, whose state can be changed by the user and we make every component to subscribe as listener to listen to a page transition so that we can check if a user is trying to move without saving data.

Now, when a user clicks on a link, we publish an event mentioning of the transition of user from the page, though we want to ask every listener (or component) if user has made any changes to their state and is moving without saving them. 

In case there are any unsaved changes in any of the component, then we cancel the transition and instead display an information dialog to the user asking him to save information before proceeding further. 

![AsyncResolver.js Asynchronously resolve subscribed decisions](https://thepracticaldev.s3.amazonaws.com/i/972g7aw2yqoo34qvrgzq.png "AsyncResolver.js Asynchronously resolve subscribed decisions")

**AsyncResolver.js** is the solution for this need, it's an amalgamation of pub sub architecture and promises to provide decision making capability in asynchronous environment.

### Install

```sh
### NPM
npm install async-resolver

### Yarn
yarn add async-resolver
```

### Usage

```js
const AsyncResolver = require('async-resolver');

let resolver = new AsyncResolver();
resolver.subscribe('locationChange', () => Promise.resolve());
resolver.subscribe('locationChange', () => Promise.reject());

resolver
	.publish('locationChange', {
		promiseMethod: 'any'
	})
	.then(() => console.log('location change allowed'))
	.catch(() => console.log('location change denied'))
```

---

For details, checkout [AsyncResolver.js repo on Github](https://github.com/ApoorvSaxena/async-resolver)
Node.js Top 10 Articles — June 2018
Tags: node, javascript, webdev, tech
Published: 2018-06-18 19:10:47

---
title: Node.js Top 10 Articles — June 2018
published: True
description: What’s trending in Node.js? 
tags: #node.js, #Javascript, #webdev, #tech 
---

It's such a good feeling to know that the content I've been publishing is appreciated and helping the community. :) My article got featured in the "Node.js Top 10 Articles" for June 2018 in techbursts.io! Thanks for your feedback! Excited to continue publishing more articles! 

{https://techburst.io/node-js-top-10-articles-june-2018-153ee2d673c1}
Google Support and “Legit” Phishing
Tags: phishing
Published: 2019-06-20 09:32:40

---
title: Google Support and “Legit” Phishing
published: true
tags: phishing
canonical_url: 
---

Has [@Google](http://twitter.com/Google) gone mad? Legit support page asks to upload a photo of my Government-Issued ID and a photo of my credit card! To Google Cloud?? to “Verify” the Cloud account?? Cybercriminals will be thanking Google for this #phishing gift!

![](https://cdn-images-1.medium.com/max/1024/1*L26fWqTd34RxxRWsEocoqA.png)

Here is the link if you want to try this yourself (real Google Support page, not phishing):

[Verify payment information to continue](https://support.google.com/cloud/contact/verify?cloud_account_id=12A3BC-4DE56F-789GHI&billing_customer_number=1111)

Of course the problem with this approach is that we have been teaching users in security awareness courses for two decades now that a legit website will never use such behaviour do that to “verify” he account, that’s what phishing website do…
How state maganagement pattern like Redux or Vuex, work in big-enterprise apps?
Tags: redux, discuss, state, vuex
Published: 2018-06-18 16:43:23

---
title: How state maganagement pattern like Redux or Vuex, work in big-enterprise apps?
published: true
description: How to define the store and access the data?
tags: #redux, discuss, #state, #vuex
---

Hello everyone, how y'all doing? Enjoying the World Cup (I'm not)?

It's been sometime since I first read about stores and state management pattern. Apparently the pattern solve big problems and is designed for large and complex systems, but I can't imagine how that actually works in a real world scenario, like Airbnb.

Do they have a giant javascript file that stores the user, the experiences, the houses and stuff like that? Or is it separated into several pieces?

It would be really good to comprehend how state management works in apps like those.

Thank you. :D
Explain CSS Positioning Like I'm Five 
Tags: explainlikeimfive, webdev, beginners
Published: 2018-06-18 16:00:56

---
title: Explain CSS Positioning Like I'm Five 
published: true
description: CSS Positioning
tags: #explainlikeimfive, #webdev, #beginners
---

**Please explain how to position elements in CSS like I'm Five**
How much does it cost to setup and maintain online store?
Tags: onlinestore, costbreakup, onlinestoresetup
Published: 2018-06-18 15:39:05

---
title: How much does it cost to setup and maintain online store?
published: True
description: 
tags: #OnlineStore #Costbreakup #OnlineStoreSetup 
---

Are you #planning to setup #OnlineStore? There are different recurring costs involved in maintaining and initial setup. Here is the #costsegregation for you.

https://gossip.software/2018/06/16/how-much-does-it-cost-to-develop-an-online-store/
Who's looking for open source contributors? (June 18 edition)
Tags: discuss, opensource
Published: 2018-06-18 15:20:33

---
title: Who's looking for open source contributors? (June 18 edition)
published: true
description: Please shamelessly promote your project. Everyone who posted in previous weeks is welcome back this week, as always.
tags: discuss, opensource
---

Please shamelessly promote your project. Everyone who posted in previous weeks is welcome back this week, as always. 😄
How to upload a file to Wia's REST API
Tags: beginners, tutorial, cloud, opensource
Published: 2018-06-18 14:26:17

---
title: How to upload a file to Wia's REST API
published: true
description: How to upload a file to Wia's REST API
tags: #beginner #tutorial #cloud #opensource
---

In this tutorial, i'm going to show you how to upload a file of any type(e.g. png, jpg, pdf or txt) to Wia.


###**Installing Python and the Wia library**

If you haven’t already, you need to install the python language to complete this tutorial.

https://www.python.org/downloads/

* Version 3.x.x

* Follow the download instructions for your operating system

Next is to install the python package manager `pip`. Pip allows us to get the Wia python library which provides functionality to help connect to Wia with python.

For windows, open power-shell and run `pip install wia` in the power-shell terminal.

For Mac/Linux open a terminal and run `pip install wia` in the terminal.

![alt text](https://s3-eu-west-1.amazonaws.com/wia-flarum-bucket/2018-04-12/1523536061-16186-pip-install.png)

###**Adding the code**
* Create a new folder(Name is irrelevant) in a location of your choosing (e.g. Documents folder)
* Add the file that you want to upload to Wia into the folder

Note: the file can be anything, text images etc

In your favourite text editor, create a new file and call it `file_upload_to_wia.py`
```
from wia import Wia
wia = Wia()
wia.access_token = 'your-device_secret_key'

file_name = ‘name_of_your_file’ 
dir_path = os.path.dirname(os.path.realpath(__file__))
result = wia.Event.publish(name='file', file=open(dir_path + '/’ + file_name, 'rb'))
```
![alt text](https://s3-eu-west-1.amazonaws.com/wia-flarum-bucket/2018-04-12/1523537030-717816-selection-057.png)

* Replace your-device-secret-key with a Device Secret key from Wia, if you haven't got one, details on how to get yourself setup with Wia can be found [here](https://developers.wia.io/docs/getting-started-overview).
* Replace the `name_of_your_file` with the name of the file you want to upload
* Save the file

Note: the location of the file and the code must be in the same folder for the tutorial for the code to run without modification.


###**Running the code**
For windows,
* open powershell
* cd into the folder where your code lives
* run python `file_upload_to_wia.py` in the powershell terminal

For Mac/Linux,

* Open a terminal
* cd into the folder where your code lives
* run `python file_upload_to_wia.py` in the terminal

![alt text](https://s3-eu-west-1.amazonaws.com/wia-flarum-bucket/2018-04-12/1523537728-927221-python-run.png)

Head to your [Wia dashboard](https://dashboard.wia.io/spaces) and in your `Device` section, click on the `Events` tab and click `View File` on the `file` to see the file.

![alt text](https://s3-eu-west-1.amazonaws.com/wia-flarum-bucket/2018-04-12/1523538165-225663-photo-upload.png)


That's it for this tutorial! Check out our other [tutorials](https://community.wia.io/), new ones are being added all the time.
React starter with 9 lines html
Tags: react
Published: 2018-06-18 15:13:00

---
title: React starter with 9 lines html
published: true
description: 
tags: react
---

Save this code as index.html and open by your (modern) browser.

```html
<div id=root />
<script type=module>
import React from 'https://dev.jspm.io/react@16'
import ReactDOM from 'https://dev.jspm.io/react-dom@16'
ReactDOM.render(
  React.createElement('h1', null, 'hello'),
  document.querySelector('#root')
)
</script>
```

Enjoy!

## How it works

- This is shorthand html file without `<html>`, `<body>` and so on. Just `<div id=root>` exists.
- `<script type=module>` means this code scope can use native ES Modules.
- Import react and react-dom from `jspm.io`. jspm.io is ES Module's age CDN for develop only (yet).
- `ReactDOM.render` renders `React.createElement('h1', null, 'hello')`, it means `<h1>hello</h1>` with jsx, to `<div id=root />`

I like hyperscript syntax so I often use `const $ = React.createElement`
Who is hiring? (As of June 2018)
Tags: whoishiring
Published: 2018-06-18 14:40:07

---
title: Who is hiring? (As of June 2018)
published: true
description: Members of the dev.to community sharing open job opportunities at their companies.
tags: whoishiring
---


This is our monthly thread where community members share openings at their companies.

Here a few ground rules:

- Please only post if you are personally part of the hiring company (no recruiting firms)
- Please provide brief background on what your company does
- Only one post per company (you can list multiple openings in the post)

Consider using this template:

```
Company Name | Job Title | Location | Remote or Onsite | (optional) Salary Range | Sponsor visa?

About the company — background, size, etc (1-3 sentences)

About the role(s) — languages, requirements, etc (1-3 sentences)

Do you sponsor visas?

How to Apply — email or application link
```

---

We also wanted to share some quick careers-related notes from our fantastic Sustaining Sponsors.

### Mapbox

>  At Mapbox, we're building the developer's location platform. We provide flexible APIs, SDKs, and a cartography editor on reliable infrastructure so developers can seamlessly incorporate maps, search, and navigation into their applications. We're hiring empathetic leaders and open source builders - visit our [careers page](https://www.mapbox.com/careers/?utm_source=junedevto&utm_medium=devto&utm_content=careers&utm_campaign=junedevto) for more info. 


### Digital Ocean

> At **DigitalOcean**, we're simplifying cloud infrastructure for developers. Here you'll get to work with some of the smartest and most interesting people around; solving unique and complex technical challenges on a scale matched by few companies. If you get excited about stretching yourself in new ways, developing yourself to your fullest potential, with amazingly supportive friends and colleagues; [we want to talk to you](https://www.digitalocean.com/company/careers/?utm_source=devto&utm_medium=display&utm_campaign=Devto_2018_Brand)!



### Timber

> Timber is a new kind of cloud-based logging platform designed for applications and developers. We help engineering teams spend less time debugging and more time shipping. We’re a growing, Brooklyn based company used by thousands of developers all over the world and currently hiring for a variety of positions — see them all [here](https://jobs.timber.io/?utm_source=devto&utm_medium=newsletter&utm_campaign=devto_june).
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2018-06-18 14:04:00

---
title: The 7 Most Popular DEV Posts from the Past Week
published: true
description: A round up of the most-read and most-loved contributions from the community this past week.
tags: icymi
cover_image: https://thepracticaldev.s3.amazonaws.com/i/sfwcvweirpf2qka2lg2b.png
---

#1. Back to Basics

A helpful primer on asynchronous coding in JavaScript. This post covers callbacks, promises, and async-await. 

{% link https://dev.to/siwalik/async-programming-basics-every-js-developer-should-know-in-2018-a9c %}

#2. From 7.5GB to 32KB

An exploration on reducing memory allocation -  starting from easy wins to more complicated optimizations. 

{% link https://dev.to/indy_singh_uk/strings-are-evil-9f9#12 %}

#3. Browser support or not, here I come

A list of new CSS units that are going to be specified in the upcoming CSS values and units module level 4. 

{% link https://dev.to/maxart2501/the-new-and-old-css-units-youve-never-heard-about-1mn1 %}

#4. The.Whiteboard.Interview

A retrospective on the whiteboard interview that cost a job. This post includes the question asked in the interview, how the author answered it then, and how the author would answer it _now_.

{% link https://dev.to/albinotonnina/how-to-lose-a-it-job-in-10-minutes-35pi %}

#5. Sounds simple, right?

How would you answer this common interview question? Write a function that prints all the odd numbers up to 20.

{% link https://dev.to/yechielk/what-the-for-loop-4pam %}

#6. Get up there!

This post is all about how developers can benefit from giving talks and presentations. 

{% link https://dev.to/pmihaylov/why-bother-presenting-as-a-developer-3i07 %}

#7. Sixth Sense?!

>Synesthetes can taste sounds, smell colors or see scents, and research proves these people experience reality differently.

A community sourced response to experiences with programming synesthesia. 

{% link https://dev.to/dogweather/ever-feel-like-you-have-programming-synesthesia-3hl0 %}

_That's it for our weekly wrap up! Keep an eye on dev.to this week for daily content and discussions...and if you miss anything, we'll be sure to recap it next Monday!_
What's new in Aspose.CAD 18.6
Tags: csharp, cad, convert
Published: 2018-06-18 12:46:57

---
title: What's new in Aspose.CAD 18.6
published: true
description: 
tags: csharp, cad, convert
---

A new version of Aspose.CAD, designated 18.6 is soon to be released. Here are the most important changes:

## New features

### Basic support of IGES file format
Now Aspose.CAD can load and render 2D IGES files. The support is still in early stages, so most likely, many files won't be properly rendered. If so, please send the files to us at Aspose via <a href="https://forum.aspose.com/">support forum</a>.

## Improvements

### Proxy entity support for DWG/DXF files
Proxy entity support was partially present before, but it was incomplete, and entity properties weren't resolved correctly, now it's correct. 

### Improvement of hatches rendering for DWG/DXF files.
Related to proxy entity support, hatches rendering has been improved now.

## Bug fixes

### Corrected render of dashed lines for raster formats.
Render of thick dashed lines when exporting to raster formats has been fixed.

### Render options now work when exporting to raster formats.
Now, antialiasing, interpolation and text rendering options can be used when exporting into raster formats by setting corresponding properties of <a href="https://apireference.aspose.com/net/cad/aspose.cad.imageoptions/vectorrasterizationoptions/properties/graphicsoptions">GraphicsOptions</a> of <a href="https://apireference.aspose.com/net/cad/aspose.cad.imageoptions/cadrasterizationoptions">CadRasterizationOptions</a> used to export an image. They were availible beforehand, but did not work with raster images.



Stay tuned!

For more examples please visit the <a href="https://github.com/aspose-cad">Aspose.CAD GitHub</a> page. There's also <a href="https://twitter.com/Asposecad">Twitter</a> and <a href="https://www.facebook.com/AsposeCAD">Facebook</a> pages for news on Aspose.CAD.