teleren/devto huggingface dataset:
My Bitbucket Graveyard
Tags: graveyard
Published: 2018-08-13 15:50:14

---
title: My Bitbucket Graveyard
published: true
description: Sometimes, projects die.
tags: graveyard
---

**Graveyards... so far:** [Check the tag!](https://dev.to/t/graveyard)

I would participate with a nice GitHub graveyard, but I don't GitHub (yes, I *can* use that as a verb - why?) that much. I have some projects on Bitbucket though which are left to rot:

---------------

[TinyServerInventory](https://bitbucket.org/tux_/tinyserverinventory)

**Language:** Delphi
**Brief:** Manage your (virtual) servers and what's on them.
**Finished:** More or less.

I was tired of keeping track of my growing number of servers (and services) in an Evernote notebook, so I wrote this small database UI, using Delphi's VCL and SQLite3. I wanted to add a filter function as well, but I lost interest in it. Maybe someone could need it anyway.

---------------

[Gowser](https://bitbucket.org/tux_/gowser)

**Language:** C
**Brief:** A cross-platform Gopher browser.
**Finished:** Not at all.

I wanted to have that for myself - and it supports some of Gopher, but no multimedia or Veronica search yet.

While, in parallel, working on [ymarks](https://ymarks.org), I have come to the conclusion that I should probably write my own web browser instead. I was tired of working around the limitations. So the next Gowser version (scheduled for 2031 or so) will be a complete rewrite, featuring HTTP(S) and bookmarks support ... probably.

Until then, here's a small codebase if you want to experiment with the Gopher protocol. It's really neat!

---------------

[rssparser.lisp](https://bitbucket.org/tux_/rssparser.lisp)

**Language:** Common Lisp
**Brief:** A web-to-RSS parser.
**Finished:** Almost.

Another "I wanted to have that for myself" tool. I use it every day - but I never came around to implement a Makefile for it, so it only runs interpreted. If that's enough for you, feel free to use it.

I am gradually moving away from Common Lisp to Racket, so I only fix crashes every now and then, but I will probably never add that final polishing step...
Git blame for finding who introduced an error and how to fix it.
Tags: git, beginners, webdev, github
Published: 2018-08-13 18:10:42

---
title: Git blame for finding who introduced an error and how to fix it.
published: true
description: Learn how to use git blame to know who introduced an error on git and how to fix it. 
tags: [git, beginners, webdev, github]
---


As we know sometimes, someone can add/delete something, after that the project starts popping up errors everywhere. 

The first action is finding the error, then if your team are more than three developers, spotting who introduced(by checking commits) the error could be painful and this is the second action. Knowing who did it. Luckily, we can use a not know(for beginners) command `git blame`. 


Basically, we execute `git blame path_of_the_file_where_the_error_is` and an interactive prompt will appear showing our file line by line, along with the commit and the person who wrote/edited that line of code. 


Example:

We spotted that someone accidentally changed settings production file to allow CORS requests from any host. Introducing a huge security hole in our platform. 

We know the change was made on our production settings file, so, we run _git blame_

```bash
git blame settings/production.py
>>
......
72a82b25 (Juan Manuel 2018-03-27 08:46:42 -0500 30) DEBUG = False
72a82b25 (Juan Manuel 2018-03-27 08:46:42 -0500 31)
c54eabe6 (Levi Velazquez 2018-04-12 19:58:38 -0500 32) CORS_ORIGIN_ALLOW_ALL = True
......
```

It says, in the commit `c54eabe6` Levi Velázquez (That's me)- date: 2018-04-12 19:58:38, he edited/added this line `CORS_ORIGIN_ALLOW_ALL = True`

So, if we want to know what it was before the change, in order to fix it. We use git show using our commit name

```bash
git show c54eabe6
>>
commit c54eabe67350229f3977d9f268eb638f954cf5ea
Author: Levi Velazquez <levinoelvm@gmail.com>
Date:   Thu Apr 12 19:58:38 2018 -0500

    allowed CORS to all host


- CORS_ORIGIN_WHITELIST = [
-    'host1.com',
-    '.companydomain.com',
- ]
+ CORS_ORIGIN_ALLOW_ALL = True

```

And __voilà__, we can see the commit date, author, message, as well, lines added and deleted. According to this, Levi(me) deleted `CORS_ORIGIN_WHITELIST` variable and set `CORS_ORIGIN_ALLOW_ALL` to `True` allowing all CORS request from any host. 

Then, we can just revert our changes and fix the error.

In conclusion, blame on me or like GOT style: SHAME*SHAME*SHAME.
![shame](https://thepracticaldev.s3.amazonaws.com/i/prv1y7odzrpvqp1av1x8.jpg)

Disclaimer: non-production environment was hurt during the creation of this post.
Graveyard update: Human Bingo lives!
Tags: graveyard, opensource
Published: 2018-08-13 17:53:45

---
title: Graveyard update: Human Bingo lives!
published: true
description: 
tags: graveyard, opensource
---

First I wrote this:

{% link https://dev.to/isaacandsuch/github-graveyards-ill-show-you-mine-49lh %}

Then this happened:

{% twitter 1027296301690630144 %}

{% devcomment 4jde %}

So I decided to see how quickly I could turn Human Bingo, formerly a jQuery-based web app, into a native Android app (with little prior experience).

As it turns out, the answer was "about three days." That includes the time it took to learn Kotlin, since I don't like Java.

Here's the finished result: [Human Bingo on Google Play](https://play.google.com/store/apps/details?id=com.isaaclyman.humanbingo)

And here's the GitHub repository (the app is open-source): [human-bingo-android on GitHub](https://github.com/isaaclyman/human-bingo-android)

This is a really simple app with no login, no online features, no high-def graphics, no on-device data storage, and no permissions needed. I'm sure a more experienced developer could have finished it in a day. But I learned a few cool things by taking the time to do it myself.

- Android Studio, the IDE used to make Android apps, is really great (and so much better than it was four years ago, the last time I tried to make an Android app).
- The problem of supporting legacy browsers (like IE8) doesn't disappear when you leave the web. To reach a large audience, Android apps have to target many different versions of the OS. Luckily, the development ecosystem comes with a lot of backwards-compatibility baked in.
- Kotlin is a fun and elegant language with an astoundingly useful and comprehensive standard library.
- Most of the tutorials and Q&A about Android apps are written for Java, so sometimes you have to figure out the equivalent Kotlin yourself. But if you copy and paste Java code into Android studio, it will offer to transpile it for you.
- Creating and publishing an Android app is about as easy/hard as creating and publishing a website.

If people-watching is your thing, pick up the app and try it out, or feel free to head over to GitHub and make a contribution.

And thanks for your encouragement, everyone.
Module Monday 8: Sort & filter table, Portfolio cards, Modal dialog & more
Tags: showdev, opensource, webdev, javascript
Published: 2018-08-13 17:51:10

---
title: Module Monday 8: Sort & filter table, Portfolio cards, Modal dialog & more
published: true
description: Module Monday 8
tags: showdev, opensource, webdev, javascript
cover_image: https://res.cloudinary.com/component/image/upload/b_rgb:ffffff,c_pad,h_370,w_880/v1533862475/table-sort_jfdwex.gif
canonical_url: https://guide.anymod.com/module-monday/08.html
---
## Open-source code & features for any website or web app

Each Monday I post free, open-source mods you can use for quickly adding features to your website or web app.

Everything below is open source and free to use in any project you choose. [Anymod](https://anymod.com) is a service that lets you build & add features like these easily.

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

### Sort & search table
Make your data sortable and searchable.
<a href="https://anymod.com/mod/bknan?v=20" class="button">View mod</a>
<a href="https://anymod.com/mod/bknan?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1533862475/table-sort_jfdwex.gif"/>
</a>

### Portfolio cards
Display your work with responsive, interactive panels.
<a href="https://anymod.com/mod/lrann?h1=50&h2=100&v=20" class="button">View mod</a>
<a href="https://anymod.com/mod/lrann?h1=50&h2=100&v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1533921033/portfolio_ffma8g.gif"/>
</a>

### Modal dialog with button
Click to launch a Material Design modal with custom actions.
<a href="https://anymod.com/mod/kbamr?h1=50&h2=50&v=40" class="button">View mod</a>
<a href="https://anymod.com/mod/kbamr?h1=50&h2=50&v=40">
  <img src="https://res.cloudinary.com/component/image/upload/v1533862465/modal_iemy5v.png"/>
</a>

### Colorful content section
Editable image and text, with a pop of custom color.
<a href="https://anymod.com/mod/bknon?h1=60&h2=100&v=20" class="button">View mod</a>
<a href="https://anymod.com/mod/bknon?h1=60&h2=100&v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1533862474/colorful-content_qtxrgs.png"/>
</a>

### Card with bottom image
Split card with text and action on top, image on bottom.
<a href="https://anymod.com/mod/rdrkd?v=20" class="button">View mod</a>
<a href="https://anymod.com/mod/rdrkd?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1533862473/card_oznomq.png"/>
</a>

<hr>

[Anymod](https://anymod.com) supports developers and open source, and Module Mondays are one way we give back to the developer community to help foster a more open, inclusive web.

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

Happy coding ✌️
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2018-08-13 17:50:54

---
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. What is your advice to new programmers?

A collection of 25 tips for new developers, from a self-taught software engineer who currently teaches people how to code as their primary job!

{% link https://dev.to/aspittel/25-tips-for-new-developers-advice-from-a-mostly-self-taught-software-engineer-1ff1 %}

#2. This.is.goodbye.

Examples of how libraries force us to use `this`, problems with `this`, and how to stop using `this`. 

{% link https://dev.to/joelnet/rethinking-javascript-the-complete-elimination-and-eradication-of-javascripts-this-3m3j %}

#3. Hindsight is 20/20

Good reminders for everyone, regardless of where you are with your career.

{% link https://dev.to/kaydacode/5-things-i-wish-i-could-tell-my-past-self-32e7 %}

#4. Diversify your cheating

And minimize your dependencies!!!

{% link https://dev.to/catriname/im-a-front-end-cheater-65k %}

#5. Leave them be

Instead of rewriting git history and complicating things for everyone, _squash_ your messy commits instead! Vicky shares three different squashing methods in this post. 

{% link https://dev.to/vickylai/a-quick-guide-to-squashing-git-commits-7io %}

#6. For the bottom 99%

An easy hack to increase your value. 

{% link https://dev.to/karan/being-average-in--1-things-is-easier-and-more-valuable-than-being-excellent-at-1-thing-1epm %}

#7. Have you heard of cascade billing?

A glimpse of a technical nightmare. 

{% link https://dev.to/jwoertink/programming-in-the-adult-entertainment-industry-is-broken-hgn %}

_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 is your team's Slack channel strategy?
Tags: discuss, slack, productivity
Published: 2018-08-13 17:49:09

---
title: What is your team's Slack channel strategy?
published: true
description: How does your team approach and manage your Slack channels?
tags: discuss, slack, productivity
---

Every new Slack team starts off with a `#general` and a `#random` channel.

What is your team's approach to creating and managing other Slack channels?  

Please also include how big your team is — which I think would inform a lot of these decisions.
I Finally Own JackHarner.com Again!
Tags: discuss, webdesign, domains
Published: 2018-08-13 17:49:08

---
title: I Finally Own JackHarner.com Again!
published: true
description: Several years and a lot of chinese ad walls later I own JackHarner.com again.
tags: discuss, webdesign, domains 
---
I had originally registered [JackHarner.com](https://jackharner.com) about 5 or 6 years ago, when I was first getting started with Web Dev. It was my first domain I ever purchased and was home to some of my early atrocities (For some reason it did get captured by the Wayback Machine). 

![JackHarner.com in 2013](https://harnerdesigns.com/wp-content/uploads/2018/08/2018-08-13-at-11.31.02-fullpage.png)
_Jackharner.com from 2013_

In early 2016 I was broke as fuck and couldn't pay to renew the domain. Eventually it got deleted from the registry and re-registered and turned into a Chinese ad wall in June of 2016. They obviously weren't getting enough traffic to make any money from my shitty old portfolio that had probably 0 backlinks to it, so they let it expire. 

It was then registered by another news aggregate wall in May of 2017. 

I saw that it was about to expire this year and was constantly checking the WhoIs to see if it had been deleted again, and I finally got it back just last week!

I'm going to be using as a home for me and all of the things that I do. I have a seperate portfolio at HarnerDesigns.com but I want that to be focused on the Web Design stuff that I do. Where JackHarner.com can showcase all of the many facets of creative type work that I do, and just a place to fuck around on the web.

[![JackHarner.com Now](https://harnerdesigns.com/wp-content/uploads/2018/08/2018-08-13-at-11.43.44-fullpage.png)](https://jackharner.com)
_Jackharner.com Now_

## Do you have any crazy domain stories?
Hack The Box
Tags: htb, linux, discuss, programming
Published: 2018-08-13 17:42:59

---
title: Hack The Box
published: true
description: An introduction to my experience with 'Hack The Box'
tags: HTB,linux,discuss,programming
---

I recently stumbled upon what I now call a gem, Hack The Box. In short it's a series of servers on a vpn that you can hack with the ultimate goal of rooting the box. They have varying difficulties the easiest I've completed (which is 1/2 lol) was 'Jerry', it didn't take much knowledge of anything except maybe enumeration. 'Poison' however was very difficult in the sense that sometimes when starting my testing I have a tendency to get brute-force happy on everything while sometimes overlooking much easier vulnerabilities. Anyway the goal of most of these boxes are to get a user hash and and root hash, you earn points for it which translates to rank and I would assume eventually leads to job offers or something like that. But it's the best 'hacker game' I've seen since Pull the Plug. If you enjoy these kinds of things or are at least interested you should probably check it out. Now be forewarned you have to 'hack' your way through the invitation process, but it's not something that you should find too difficult.
Would I run the daily tests even if a small subset of Smokes Fail?
Tags: testing
Published: 2018-08-13 17:27:38

---
title: Would I run the daily tests even if a small subset of Smokes Fail?
published: true
description: Whether or not to run daily tests if some smokes fail
tags: testing    
---
I'm sure many people have hit this particular wall, before the Nightly Tests run the Smokes that check the setup fail.  Often we go by the mantra - if the path to the Nightly is not Green don't run it.  We'll just have too many failures.  Heads will explode as people try to figure out why their neighbors tests pass while theirs failed.

The world is going to burn.  Ships will sink.  Chaos will be everywhere.

Lately, we've begun to have second thoughts on this.

Sure *some* tests will fail, but there will be a lot that will pass.  Those teams at least will get some insight into their tests, and know how well they are doing, but others will see red and wonder what happened.  Perhaps looking back at some PR that was merged, and didn't quite do as they wanted, so their code broke that particular part of the build (yes, we still run a monolith) and anyone relying on it but everyone else was A-OK.

The Quality part of me says this is not a good thing, we want ALL of the environment to be working so we get good tests.  Good results.  Confidence that the code is doing what we want.  Why do we want to test on something that is partly broken?  That's just bad.  Quality part of me is a real sticker for certain things and likes gateways to pass and work and be all happy.

The Release part of me says we're not going to release this.  It's just a daily.  A blip on the trend report that will show bad for some, and good for others.  We want to know how badly this particular piece is going to affect people, and maybe then we see what needs to be fixed.  Also, we have a release coming up and we want to get as much testing done as we can before code freeze, even on a partly failing build.  Data is good and if some people can see progress great!  At least one team is not holding up everyone.

I'm trying to soften up my Quality side, I've been more focused on that side of me for quite a long time so it can take awhile to accept this sort of change.  Though I have decided its time to let go of that all or nothing aspect and lets get some movement going.  While its tenuous at least we can look forward to the next daily run and hopefully THAT one will be good and will run true.
How to improve your email workflow (w/o code)
Tags: email, marketing, beginners, productivity
Published: 2018-08-13 13:47:56

---
title: How to improve your email workflow (w/o code)
published: true
description: How to jumpstart your next email campaign and develop better processes.
cover_image: https://image.ibb.co/f6UkY9/workflow_header.jpg
tags: email, marketing, beginners, productivity
---
Early in my growth marketing career I came across a developer principle that continues to power my ability to synchronously build and execute multiple campaigns. What's that principle? 

<i>Don't repeat yourself.</i>

Building campaigns can be a tricky and daunting task - especially if you're starting from scratch every single time. This is where a solid workflow supports the developer and non-developer alike. 

<h2>What's your strategy?</h2>
Let's start by answering what we're trying to solve. Before attempting my next campaign or touching code, I answer these crucial questions: 
```
- Who is the intended audience? 
- What should the recipient do? 
- Why should the recipient care?
- How will success be measured?
```

I start by defining <i>why this campaign should be developed</i> and <i>what value it provides to the recipient</i>. These questions pave the way for how the campaign should be built. 

<h2>Keeping up with the details</h2>
Remember that developer principle? The goal of an email workflow is to outline all of the steps required in order to build, deploy, and track your campaigns so you're not having to remember what process you followed three months ago. 

After answering my strategy questions, I move on to using a <i>campaign overview</i> doc. 

```
What's a campaign overview doc? 
This doc contains all of the high level information about the campaign. Litmus test, ask someone unrelated to the campaign to read through your doc. If they can't tell you what the campaign is about, what the email looked liked, and when it was sent, your doc requires a re-write.
```  

Here's an example for what my campaign overview doc's header looks like:
![Campaign Overview Doc sample](https://image.ibb.co/cbSEt9/Screen_Shot_2018_08_12_at_7_29_58_PM.png)


<h2>Know your dates</h2>
One of the biggest mistakes I see email marketers do time and time again is fail to set timelines for their campaigns. Whatever the reason, this is a bad habit and it will affect your campaign's quality - doesn't matter if your coffee mug says, "best under pressure." Below are the timelines I review and answer with the teams I work with: 
```
- Kickoff: {4-6 weeks from send date }
- Finalize email copy & assets: { 2 weeks from send date }
- Send preview email(s): { 1 week from send date }
- Send Date: ...
```

There you have it! This is my no-code process I use to improve my email workflow and build solid campaigns.

If you and your team already have a workflow in place, I'd love to hear about it. Please post it in the comments. Thanks!
What's your favorite way to manage system-wide settings? (except .env)
Tags: discuss
Published: 2018-08-13 17:00:47

---
title: What's your favorite way to manage system-wide settings? (except .env) 
published: true
tags: discuss
cover_image: https://thepracticaldev.s3.amazonaws.com/i/0t5qdzyvo1nmni3tzquy.jpg
---

I'm fallen in situation, when users MUST edit system-wide settings from the web interface, i.e. audio message, that should be played for all incoming customer calls. I have a lot of little configurable things like that, and ended up with simple key-value table in database, (which is crappy solution, 🤦‍♂️). 

So, i'm kinda curious, how others handle that? Maybe i miss something more elegant & reliable? Share some of your experience.
BlackHat - Let's Talk About Security
Tags: blackhat, security, malware, vulnerabilties
Published: 2018-08-13 16:44:58

---
title: BlackHat - Let's Talk About Security
published: true
description: some thoughts on security
tags: blackhat, security, malware, vulnerabilties
cover_image: https://thepracticaldev.s3.amazonaws.com/i/uqc48gkkf6rcxmgs2sxs.png
---

[BlackHat USA 2018](https://www.blackhat.com/us-18/) is over, but I wrote up some thoughts on security that can help teams organize a strategy for defending your most important assets: your data.

https://blog.osninja.io/blackhat-lets-talk-about-security/
Vulns
Tags: vulns, metasploit, linux, nix
Published: 2018-08-13 16:03:52

---
title: Vulns
published: true
description: A short commentary on vulnerabilities 
tags: vulns,metasploit,linux,*nix,
---

It would seem as though today there is a major emphasis on cyber security. For what reason I'm honestly not sure. Let's play devils advocate and say that there are corporations out there that genuinely care about your CPNI for the sole sake of doing good business. One may argue that it's impossible to cover all vulnerabilities and exploits, and to that I say bullshit. While you're right that anything can be exploited with the right amount of time and effort, the other side to this coin is that most people aren't going to take that time and effort unless there a big payout. As much as I would love to blame corporations for the entirety of this BS I can't, having personally witnessed some of the "cautionary" steps that some of our more powerful collectives of people take to ensure their own trade secrets; it blows my mind that they don't take YOUR information as serious when it comes to protection. Willingness to facilitate crimes by placing the responsibility with others is never the way to go. Not to much can be said, but I CAN say this: if you're into cyber security, or even if you aren't, be very very very careful with who you trust with your personal information..... it could be only a well-crafted google search away
How to keep calm while dealing with bugs?
Tags: discuss
Published: 2018-08-13 15:00:32

---
title: How to keep calm while dealing with bugs?
published: true
description: How to keep calm
tags: #discuss
---
So i want us to discuss on a subject: How do you handle stress, how to keep cool while dealing with bugs? what is your tips, what do you do when you are coding and you spend hours on a bug and start getting angry or nervous?

Personally i just leave my computer for 15Min and try to do something else not computer related. What about you?