teleren/devto huggingface dataset:
Named Anchors & Markdown
Tags: tutorial, markdown
Published: 2019-12-08 18:08:11

---
title: Named Anchors & Markdown
published: true
date: 2019-10-11 00:00:00 UTC
tags: tutorial, markdown
canonical_url: https://stephencharlesweiss.com//2019-10-11/named-anchors-markdown/
---

When writing longer files in Markdown, I find it useful to create links _within_ the document to help readers navigate. 

This cross referencing makes jumping around the document even simpler.<sup>[1](#footnotes)</sup><a id="fn1"><a/> (Note: this <sup>1</sup> is an example of the link I'm talking about!)

For example:

```markdown
…

### <a id="my-header"></a> Header

…
And then later, I want to go to [Header](#my-header), you create a link, just like any other.
```

The reason we have to add the anchor tag to the Header is that the Markdown spec doesn’t automatically do it.

Fortunately, many Markdown resolvers do. Dev.to, Gitlab, VSCode, Remark, etc. all do!

If you’re using one of these to convert the Markdown to HTML, things are even simpler<sup>[2](#footnotes)</sup><a id="fn2"></a> :

```markdown
…

### My Stupendous Header

…
And then later, I want to go to the [header](#my-stupendous-header), you create a link, just like any other.
```

## <svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>Footnotes

- <sup>[1](#fn1)</sup> [markdown - How to link to a named anchor in Multimarkdown? | Stack Overflow](https://stackoverflow.com/questions/6695439/how-to-link-to-a-named-anchor-in-multimarkdown)
- <sup>[2](#fn2)</sup> Since this is not part of the standard, the _specifics_ for the link can vary, however the most common practice I’ve seen is kebab case.
Subtle Beauty in Keeping it Simple
Published: 2019-10-10 22:08:56

As I continue my long journey into transitioning into a software engineer, the fact of keeping things simple seem to always confront me. I currently work as a Medical Laboratory Technician in a hospital. It is a moderately complex job that is simplified by modern technology. However, it can be a hellish nightmare if you  don't mind your p's and q's. As long as you stay consistent and organize a monkey could probably do it at its core. With that being said, it is the simplicity of staying consistent and organized that make the wheel keep turning.  
As a new developer still getting my 'sea legs' its something that I realize more and more everyday. My default mode is always to find the most elegant and efficient way of doing this the firs time so I won't have to go back later. I realize that this is not the best of habits. Simply put, I am learning and the last thing I should be figuring at this point is elegance. My focus should be on figuring out how to make my code work. That includes breaking it to fix and really understand it. It feels really silly to say but its a lesson that I have learned in the recent weeks that has given me much less of a headache.
Anthem (the bioware game) Has a Garbage Loot Generator
Tags: javascript, gamedev, webdev
Published: 2019-10-10 23:09:47

http://soaringmoon.org/anthemloot/

So, I rewrote the generator. It doesn't stack duplicate effects because it doesn't to so in game either (lazy I know), but it makes the players feel like they are getting more for less ("I GOT 2 DAMAGE BONUSES INSTEAD OF ONE."). Randomly generated parts and effects based on equipment type. New rarities, better item alchemy.

Also some rarities have a CSS animation to make them pulse. Neat little touch I think.

If you want me to gamify anything for you let me know. :P
Day 9 : Each One Teach One
Tags: hiphop, code, coding, lifelongdev
Published: 2019-10-10 22:19:33

_liner notes_:
- Professional : Got to check out another Talk prep session. I make sure to take some mental notes for things I want to incorporate in my own presentations. Pretty much for the rest of the day, I worked on the project assigned to me at the beginning of the week. Got it almost there! There's only really one more functionality I need to get working. Once I get that working, I can start refactoring, cleaning up code and write up the use case. Oh, there was a pretty specific thing I needed the SDK to do that's not available yet, so I just found a way to make it work with the data I was able to get. Felt pretty good to be able to figure it out.

- Personal : I left the house to head downtown to check out the Orlando JS meetup. It's going to be a roundtable on how people stay current in the JavaScript ecosystem. You know, each one, teach one. I wanted to get to the venue a little early so I could miss the traffic and hang out in the parking lot and work a little on my project for work. I forgot how tiring and mentally draining driving in traffic could be. So yeah, didn't really get as much done as I wanted and I already learned this week not to code while I'm tired. haha So I figured I'd write this blog instead.

![Photo of a Mountain view](https://thepracticaldev.s3.amazonaws.com/i/sbh9d5mxelb5wy73d6eu.jpg)

For tomorrow, I want to figure of that last piece of functionality and get what I have working pushed to a GitHub repository so others can take a look and give me feedback. Remember, I have really touched React since the bootcamp like 2 years ago and I never even looked into Hooks till this Monday. haha I'm sure there's a lot I can do to refactor my code.

It will be FRIDAY!! Got the radio show and unborking my personal site's repository ahead of me this weekend. haha

So yeah, have a great day and weekend!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube 2Xyv2I8KXbk %}
What will you do after retiring from code?
Tags: discuss, career, watercooler
Published: 2019-10-10 22:12:25

Life isn't all code, but it does take a lot out of life.

Share your deep desire aside from code that you'll likely pursue after you've retired.

Mine: Designing houses.

![Architecture by Geoffrey Bawa](https://img.theculturetrip.com/768x432/wp-content/uploads/2015/12/56-282150-lunuganga-1.jpg)
Engineering Interviews: Your First Calls?
Tags: react, hiring, ruby, career
Published: 2019-10-10 21:51:20

As a new technical recruiter (in-house at a content intelligence company called Knotch), I find myself discussing technical concepts with candidates. (this is us: careers.knotch.it)

I don't code myself, and I can't help but feel like I should know so much more than I currently do. So, I bought a Coding for Dummies book that I'm using to get up to speed on the concepts of HTML/CSS/Javascript. Talking with our engineers at Knotch is also a huge help. But I can always do more. Our stack is Ruby on Rails, Javascript w/ES6, React/Redux, PostgreSQL, and data architecture in AWS.

Let me put it to the community:

When you're interviewing for an engineer role, how technical do you think your first screening call with the internal recruiter should be? Should they be well-versed in the languages and frameworks and concepts you're interviewing for?
What is your comment about this programming language syntax?
Tags: programminglanguage, syntax
Published: 2019-10-10 21:16:05

I'm working on a new programming language. I wrote some parts of the compiler. One time in java and one time in C and [here](https://github.com/mak12776/rest) is the source code.

I want to show you a piece of the language syntax, so comment on me about this syntax. I think you can understand the code is what about, but if you have a question ask me.

```
# comments

#- multi-line comments

builtins types:
    int                     123
    float                   1.23
    char                    'a'
    string                  "Hi"
    [int, char]             [10, 'a']            <- an array of one int and one
                                                    char
    array[int]              [10, 20, 30]         <- an array of ints
    {a: int, b: char}       {a = 10, b = 'a'}    <- a named tuple or structure
    function                def (a) = (a)        <- a lambda or function
    boolean                 true || false
    null                    null
-#

# any value type can be stored in a
var a = 100
a = "Hi"
a = 1.23

type null_string = null | string

# c can be null or a string
var c: null_string = null
c = "Hi"

def type uint = (self ?= int) && (self >= 0)

# the following line will throw a compiler error
# var b: uint = -100

# immutable variable
const d = 10

# lazy evaluation variable
let e = c + " World"

c = "Hello"
var f = e       # f == "Hello World"

let g = c

g = "Goodbye"
f = e           # f == "Goodbye World"


def range(const start: int, const end: int; const step: int = 1): array[int]
    var i = start

    if step >= 0
        let not_end = (i < end)
    if step < 0
        let not_end = (i > end)
    end

    while not_end
        yield i
        i += step
    end
end

def sum(var *args: int): int
    var sum: int = 0
    for var i = 0; i < args.len; i += 1
        sum += args[i]
    end
    return sum
end

def main(args: array[string])

    # print sum of 1 to 500
    print(sum(*range(1, 500)))

end
```
I improved how I approach Frontend interviews with these strategies - (Junior web dev level tutorial)
Tags: react, webdev, beginners, tutorial
Published: 2019-10-10 21:13:37

Interviews are hard. No matter what level you're at.

Over the past 2 years, I've applied to over 300 companies, got my first (and second) software developer job, and been on both sides of the interview. 

As a candidate, once I started using these strategies to approach interviews, things became a lot easier.

**Check out this video for further detail:**
{% youtube w1CKLwx2DjQ %}

## The framework I use to approach interviews

<ol>
<li>Build a mental model, engage your interviewer, ask questions/assumptions</li>
<li>Pseudocode, think aloud, break down each step</li>
<li>Write out actual code, demonstrating your thought process to the interviewer</li>
</ol>

A big mistake that I made, in the beginning, was to be silent throughout the whole process while coding. In my opinion that was a mistake, because it gave the interviewer no insight on my thought process, how I approach problems and didn't open up the interview to any conversation.

An interview is much more than perfecting the technical portion - it's also about your soft skills, communication, and general proficiency. First impressions are everything - if you're silent, you'll really hurt your chances of getting the job.

If you enjoyed this article, please consider subscribing to my YouTube Channel! I talk about tech, life in Silicon Valley, and self-improvement!

Join our growing [Discord](https://discord.gg/9RGdMcF) community! 

**Subscribe Here**
[YouTube - Matt Upham](https://www.youtube.com/mattupham?sub_confirmation=1)

What are your biggest challenges in interviews? Thanks for reading!
Part 7 - Deploying a simple web app with monitoring and analytics without Docker or containers for beginners
Tags: webdev, nginx, serverhardening
Published: 2019-10-10 21:00:32

---
title: Part 7 - Deploying a simple web app with monitoring and analytics without Docker or containers for beginners
published: true
description: 
tags: webdev,nginx,server-hardening
series: Deploying a simple web app with monitoring and analytics without Containers for beginners
---


Thanks for reading this tutorial and I hope you enjoyed it! You now have a website, the ability to analyze server logs, hosted storage and analysis of client error logs and are receiving alerts on noteworthy system usage. What's next? Here's a few tools and posts you may want to check out:

- [NginxConfig.io](https://nginxconfig.io/) - This tool provides a UI for building Nginx `conf` files. It has a dizzying amount of options available with many common presets. If you're looking to increase the capability of your Nginx configuration this might be a good place to start, even if just to see new terms to learn about.

##### Server hardening

There are a multitude of additional steps that can be taken to secure your server. We have done some of them, but there are always more. It's up to you how much time you want to put into this based on the website(s) you are serving.

[OWASP on Nginx](https://www.owasp.org/index.php/SCG_WS_nginx)  
[Digital Ocean - How to secure Nginx on Ubuntu 14.04](https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-on-ubuntu-14-04)

- [Blocking malicious requests](https://www.digitalocean.com/community/tutorials/how-to-protect-an-nginx-server-with-fail2ban-on-ubuntu-14-04) - In the tutorial we used `ufw`, which allows us to [block specific IP addresses](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands#block-an-ip-address) via command line entries. These can be found while analyzing server logs, but a more proactive approach could be using tools like [fail2ban](http://www.fail2ban.org/wiki/index.php/Main_Page).

- [Nginx Monitoring](https://www.nginx.com/products/nginx-amplify/) - In the tutorial, we configuring monitoring for our Droplet's resources, but there tools to monitor Nginx itself. I've used [Nginx Amplify](https://www.nginx.com/products/nginx-amplify/) before and it works well. There is a free tier. It involves installing an agent on your Droplet which then sends information back to the Nginx Amplify server. You can then view metrics and set alerts from the Nginx Amplify dashboard.

- [Nginx Log Rotation](https://www.digitalocean.com/community/tutorials/how-to-configure-logging-and-log-rotation-in-nginx-on-an-ubuntu-vps#log-rotation) - It's important to keep your server logs tidy. `logrotate` is already installed and configured on our Droplet, but if you want to make changes you can do so in the `/etc/logrotate.d/nginx` file.

Hopefully this tutorial was useful for learning one of the many ways to setup your own website.

Thank you for reading!
Data Structures: Heaps in Code
Tags: datastructures, programming, computerscience, softwareengineering
Published: 2020-01-15 00:01:15

---
title: Data Structures: Heaps in Code
published: true
date: 2019-10-10 20:56:04 UTC
tags: data-structures,programming,computer-science,software-engineering
canonical_url: https://medium.com/javascript-in-plain-english/heaps-of-data-structures-creating-heaps-in-code-80d215dcf53d
---

[![](https://cdn-images-1.medium.com/max/2600/1*NFKFjJG7FDMTirA4vGT2LQ.jpeg)](https://medium.com/javascript-in-plain-english/heaps-of-data-structures-creating-heaps-in-code-80d215dcf53d?source=rss-5676ca6163ee------2)

Today we are going to tackle the data structure heaps, learning what they are and how we can build them using JavaScript. Outside of…

[Continue reading on JavaScript in Plain English »](https://medium.com/javascript-in-plain-english/heaps-of-data-structures-creating-heaps-in-code-80d215dcf53d?source=rss-5676ca6163ee------2)
Part 1 - Deploying a simple web app with monitoring and analytics without Docker or containers for beginners
Tags: webdev
Published: 2019-10-10 20:45:44

---
title: Part 1 - Deploying a simple web app with monitoring and analytics without Docker or containers for beginners
published: true
description: 
tags: webdev
series: Deploying a simple web app with monitoring and analytics without Containers for beginners
---

### Our website

We will be deploying a simple website that shows a collection of Pokemon from the [PokeAPI](https://pokeapi.co/) when the user lands on the home page. Clicking on a specific Pokemon will take the user to a 'card' that shows information about that Pokemon.

I've pushed the project to [GitHub](https://github.com/frannsoft/pokecard-example) so you can clone the website if you would like.

If you are using the website I've created for this tutorial you can run it locally via the following commands:

`npm i` to install packages locally

Once all the packages are restored you can then run the site locally:

`npm start`

Once started, the site will be accessible on port `3000`. You should see something like this:

![](https://res.cloudinary.com/frannsoft/image/upload/v1570664527/d8abtq5iggb5sqegglxy.png)

Is it the best looking thing? Nah, but it works for our tutorial!

In the next part we'll focus on setting up our web server with Digital Ocean.
Adding Python Autocomplete for Vim
Tags: python, vim, devtips
Published: 2019-10-10 20:33:55

---
title: Adding Python Autocomplete for Vim
published: true
description: 
tags: python, vim, devtips

---

Vim remains a popular editor for writing code, but lacks many features of newer IDEs. This video shows how to add autocompletions for Python to Vim using our free plugin, Kite. 

{% youtube RnVoeGwkpfo %}

Download Kite free [here](https://kite.com/download/?utm_medium=referral&utm_source=youtube&utm_campaign=kite&utm_content=vim-python-autocomplete).
zsh-syntax-highlighting
Tags: zsh
Published: 2019-10-11 09:54:37

---
title: zsh-syntax-highlighting
published: true
date: 2019-10-10 20:18:55 UTC
tags: zsh 
canonical_url: https://github.com/zsh-users/zsh-syntax-highlighting
---

[zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)

Heard about this on Syntax.fm today: Fish shell-like syntax highlighting for Zsh. It is a great way to see errors before you hit enter.

<!--more-->

> This package provides syntax highlighting for the shell zsh. It enables highlighting of commands whilst they are typed at a zsh prompt into an interactive terminal. This helps in reviewing commands before running them, particularly in catching syntax errors.
Hello World!
Published: 2019-10-10 19:42:17

---
title: Hello World!
published: true
description: First Post
tags: 
---

So, I recently saw a suggestion from someone I follow on Twitter that writing quick little posts about what you are learning is a good way to keep track of things, for later reference, and of course, it helps one retain the material better. I used to keep all of this on Google Docs, but I figured that, if my notes or ramblings could be in any way helpful to others, might as well put them up for others to see if they wish.

I just wanted to write this quick note to say hello and let any future readers know that my posts are probably going to read more like notes than polished prose. 

I work with JavaScript, and am currently brushing up on data structures and algorithms, so that’s what the posts will start out covering.
Quick tip: How to console.log in implicitly returned arrow functions
Tags: javascript, productivity, webdev
Published: 2019-10-10 19:28:06

---
title: Quick tip: How to console.log in implicitly returned arrow functions
published: true
description: A quick tip to use console.log in conjunction with implicitly returned arrow functions
tags: javascript, productivity, webdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/if3jrd1zt9hkyd78h4gz.jpeg
---

Arrow functions with implicit returns are an awesome, concise way to interact with data. 

An example of an arrow function with implicit return

```
const sum = (a, b) => a + b;
```

Where an arrow function **without** an implicit return would look like this:

```
const sum = (a, b) => { return a + b; }
```

Very similar but in the first example, the return value of the function is inferred where in the latter, we're specifying the return statement of the function.

Logging in a standard function / arrow function is pretty straight-forward

```
const sum = (a, b) => {
  console.log('HERE!');
  return a + b;
}
```

But how do we accomplish this same thing in an arrow function with implicit return? Many times, developers convert the function with implicit return to a standard function but this isn't necessary. 

## A potential solution 

We can take advantage of the fact that console.log is evaluated as falsy. This means that if we ran 

```
if(console.log('someStatement')) { 
  // ... 
} else {
 ...
} 
```

We would encounter our `else` block every time. Using this knowledge, we can now update our arrow function with logging as follows:

```
const sum = (a, b) => console.log('A:', a, 'B:', b) || a + b;
```
Add a Conversational Voice Experience  to any iOS application
Tags: ios, machinelearning, javascript, webdev
Published: 2019-10-10 19:22:55

Want to learn how to a complete Conversational Voice Experience to your iOS application? 
Alan Voice AI Platform lets any developer add a complete Conversational Voice Experience to any application or device. In our weekly webinar series, we discuss and show you how to integrate Alan, and today we will cover iOS. Get started with the video below then head to our website to learn more!

https://youtu.be/gLyEcmGS8XY


https://alan.app
Serverless with Azure
Tags: serverless, azure
Published: 2019-10-10 19:11:53

Been hearing about the serverless hype. Starting to look into it.


- [How to Create a REST API with Azure Functions and the Serverless Framework - Part 1](https://serverless.com/blog/serverless-azure-functions-v1/?utm_source=dev_to&utm_medium=social&utm_campaign=promoted&utm_content=azure_part_2)
- [How to Create a REST API with Azure Functions and the Serverless Framework - Part 2](https://serverless.com/blog/serverless-azure-functions-v1-part2/?utm_source=dev_to&utm_medium=social&utm_campaign=promoted&utm_content=azure_part_2)
Git advice from a beginner for a beginner
Tags: ctrlshiftcode, futurecoder
Published: 2019-10-10 18:40:24

	

Well, I made it through week two of coding school. I learned a lot about Git and Github and the differences between the two. I am realizing I will be using the two consistently throughout my tech career. So Git is a free and open source distributed version control system (VCS) designed to handle everything from very small to very large projects with speed and efficiency. Github is a developmental platform inspired by the way you work. From open source to business you can host and review code, manage projects, and build software alongside 28 million developers. 

Handy Tips for Git: 
1. When you make a commit it is very important to have a message line with it. 
2. Merge conflicts cant be ignored/skipped, dig through your code decide what needs to stay and grab whoever is responsible for code your conflicting with.        
3. With Rebase you can shift history and delete stuff.
 Two ways to use ReBase on the command line: 1. git rebase
                                                                                               2. git pull –rebase
4. Always work on a local, once you push to remote it gets 100x harder to fix.
5. Never ever edit in source control directly.
6. Try to stay working on the command line.
	
	It has been a little bit over-whelming but I am learning to be comfortable with being uncomfortable and trying to stay open-minded and teachable.
I can’t get the time off work to attend Web Summit. Anybody want two tickets? 
Tags: web, summit, lisbon, giveaway
Published: 2019-10-10 18:01:50

---
title: I can’t get the time off work to attend Web Summit. Anybody want two tickets? 
published: True
description: 
tags: web,summit,Lisbon,giveaway
---

Hey all,

I’ve got two tickets for Web Summit conference in Lisbon during November of this year. I was really excited for this event but unfortunately my current employer won’t give me the time off to attend. I also had to pay for all travel and accommodation myself which sucks :(

If anyone would like these tickets, I’m willing to give them away for Free but the deadline for assigning names to the tickets is tonight! You’ll need to arrange travel and accommodation yourself but the tickets will be free of course.  

If you’d like the tickets, please comment below with answers to the following:

- Why you want the tickets
- How the event will benefit you
- How many tickets you’d like? (1 or 2)

I’ll pick someone at random and assign names to the tickets before 11:59pm GMT.

Cheers