teleren/devto huggingface dataset:
Seven Deadly Wastes: Transport
Tags: projectmanagement, softwaredevelopment, agile, productivity
Published: 2017-11-07 16:56:42

---
title: "Seven Deadly Wastes: Transport"
published: true
tags: project-management,software-development,agile,productivity
canonical_url: https://medium.com/going-faster/seven-deadly-wastes-transport-822117500697
---

#### Going Faster: Issue&nbsp;11

![](https://cdn-images-1.medium.com/max/1024/0*zVLZhb7BXF41Cnik.jpg)

This week I want to revisit an idea I blogged about a while ago, and about which I’ve recently been speaking at a few conferences: the seven deadly&nbsp;wastes.

There are seven things that slow your software team down, and learning to conquer each of them is the key delivering faster.

The seven wastes come from the principle of of Lean Manufacturing, an idea with its origins in the Japanese car industry in the middle of the 20th century. That may seem a long way from the software industry of today, but the lessons are just as applicable to modern software development. By eliminating the seven wastes from your process, you’ll soon find your delivery times&nbsp;improve.

The first of the seven is _transport_.

This is the movement of materials from one location to another. It’s not hard to see how this slows manufacturingâ€Š–â€Ša factory split across two sites will obviously be difficult to runâ€Š–â€Šbut in software transport waste is generally harder to&nbsp;see.

Think in terms of hand-overs between teams. If your developers must pass work onto a test team (or individual), and it then moves to another person’s responsibility for acceptance or sign-off, and then again for release, you have transport waste. If you’ve ever engaged in “feature-tennis”â€Š–â€Šwhere an item is bounced back and forth between development and QA several times, then you’ve experienced severe transport waste.

One way to reduce handovers like that is to foster a spirit of collaboration. Encourage developers and testers to work together on a problem, and build a shared understanding of the solution.

Another form of transport waste comes from moving code around. Deployments, branching and merging are all forms of transport. Clearly some are necessaryâ€Š–â€Šyou need to be able to deploy thingsâ€Š–â€Šbut reducing the cost of that deployment is vital. If it takes more than a few minutes then it will have a significant impact on your productivity.

Identifying and reducing instances of transport in your process is a great step towards going faster. Next week, I’ll look at the next waste: inventory.

_Going Faster: Weekly ideas on speeding up your software team by Jez Halford, a software development consultant helping teams to deliver better software more&nbsp;quickly._

_There’s more from Jez on_ [_Twitter_](https://twitter.com/jezhalford)_,_ [_Medium_](https://medium.com/@jezhalford)_and_ [_jezhalford.com_](https://jezhalford.com/)

* * *
Creating DNS records programmatically
Tags: softwaredevelopment, azure, development, dns
Published: 2020-01-25 20:59:43

---
title: Creating DNS records programmatically
published: true
date: 2017-10-16 07:00:52 UTC
tags: SoftwareDevelopment,Azure,development,dns
canonical_url: https://www.funkysi1701.com/posts/creating-dns-records-programmatically-26lp
---

DNS is the backbone of the internet. It converts domain names into IP addresses. But how can we do clever things with it?

Making DNS changes has always been a pain. You have to remember what company you registered your domain name with, then locate the login details for their website, login and fill in some web form and wait for the changes to replicate across the internet.

There are various websites that assign you a custom subdomain name like name.domain.com, obviously they must do this programmatically, they don’t have a guy following the above process.

Lets see how we could do this.

My first thought was to make use of the DNSimple API. [https://developer.dnsimple.com/v2/](https://developer.dnsimple.com/v2/) The API allows all sort of DNS changes to be made, however this is a paid service so let’s look at other options.

Azure now has a DNS section. You can go to the portal, add a DNS zone, and then add as many A, CNAME and MX records as you need. This is of course no better than doing it manually.

Azure offers a [SDK](https://docs.microsoft.com/en-us/azure/dns/dns-sdk) and an example Visual Studio project. Lets look at how it works.

First you need to setup some credentials to use your Azure subscription. The easiest way to do this is with powershell.

<style>.gist table { margin-bottom: 0; }</style>

This will create a AD Service Principal which has access to your Azure subscription.

You need to get the following IDs from the Azure portal.

subscriptionId for your subscription  
tenantId or the Azure AD Directory ID  
applicationId of the service principal created above  
password you entered into the powershell script above

<style>.gist table { margin-bottom: 0; }</style>

The above code connects to Azure and creates an A record for test.funkysi1701.com that points at the ip address 1.2.3.4.

Other DNS records can be created in a similar way.

The above example creates a new RecordSet but you can use the following to delete or get existing records.

<style>.gist table { margin-bottom: 0; }</style>

Now I have found out that I can write a console app to edit my DNS records I need to change the nameservers for all my domains so I can take advantage of this new feature.

The post [Creating DNS records programmatically](https://www.funkysi1701.com/2017/10/16/creating-dns-records-programmatically/) appeared first on [Funky Si's Tech Talk](https://www.funkysi1701.com).
Finding an Object in an Array with Waterline
Tags: node, mongodb, sailsjs
Published: 2019-05-31 06:23:33

---
title: Finding an Object in an Array with Waterline
published: true
tags: [node, mongo, sailsjs]
canonical_url: https://www.prestonlamb.com/blog/waterline-object-array
---

[Sails.js](https://sailsjs.com/) is one of my favorite Node frameworks. There are a lot of built in advantages that make getting up and running quick, easy, and painless. One of the benefits is the ORM/ODM that it comes with, Waterline. There are a lot of adapters that allow you to use many different databases with your application and no need to rewrite the database access code. This time, though, when using Waterline I got a little stuck, but here's how I got the data I wanted.

Let's say I have a model like this:

```js
// MyModel
module.exports = {
	attributes: {
		field1: 'string',
		field2: 'string',
		field3: 'array'
	}
}
```

and `field3` is an array of objects. Now, I'm querying the database for results where one of the objects in `field3` has an attribute that meets our criteria. From what I could tell, Waterline doesn't provide a way to do this out-of-the-box. But, it will allow you to use database-specific queries for complex scenarios. (I am more than happy to admit that I may have misunderstood this part. However, the query I'm about to show you does work. So at least I got the result I wanted!) Anyways, given the scenario above, here's a working query:

```
const results = await MyModel.find({ field3: { nestedAttr: searchParam } } );
```

This will give you objects that are in the array of `field3` that have an attribute that match your `searchParam`. This query works in Robomongo as well, which means it's more Mongo-specific than Waterline is normally. But in certain cases you (like me) may need to use the database-specific query.
A novel to break software developer stereotypes
Tags: computerscience, culture, discuss, showdev
Published: 2017-10-16 05:41:33

---
title: A novel to break software developer stereotypes
published: true
description: My Evil Plan to Save the World
tags: #computerscience #culture #devdiscuss #showdev
---
I would like to share my side project with this community.  I call it, "My Evil Plan to Save the World."  I am very interested in increasing diversity in the software community.  For the last couple of years, I've been telling myself that one great way to bring more people into computer science, and to fight stereotypes that encourage people to drop out, is to write a novel for young adults, showing a diverse group of people who rock at CS. Think of it like this: after Hunger Games came out, lots of girls started taking up archery.  We need that for CS!

So I've been working on ideas for a while, and figured out a plot and characters that I think are really interesting and exciting. But ya know, I'm a software developer, not a professional writer. Not to mention, still working full-time and raising kids now too. So now I have a ghostwriter picking up the reins and making this thing really happen! She and I have been working together on it for a couple of weeks, and she is truly making it great.

I have a Kickstarter promoting the project, though to be honest, the point isn't really to raise money. I'm trying to get the word out and build a community of people who are going to want to read the book and share it with the young adults in their communities. So anyway, you can check my page to find out more. I would love it if you guys would help spread the word, track our progress, and check out the book someday! After it's published, the proceeds of the novel will be donated to related charities. (I also welcome suggestions for good causes!)

## [Check out the Kickstarter](http://tinyurl.com/MyEvilPlanToSaveTheWorld)

Thanks for listening,

Sue
Linux Power continued 
Tags: linux, beginners
Published: 2017-10-16 05:13:13

---
title: Linux Power continued 
published: true
description:  checking sha256sum
tags: #Linux #beginners
---

One of the first things you will encounter with all Linux distro's is this method for checking the Linux file you are downloading is the "legitimate" ISO file you wanted to download.  

Today I'll teach you basics of checking sha256sum using a Windows computer; in particular Windows 7.  The operating system to be downloaded is Linux Mint 18.2 “Sonya Cinnamon released!  

Why this distribution? One: it is very popular therefore used on different computer systems world wide, so if you have troubles than you should be able to find the answer to your problem. Two: I tried Antergos, however it came up with "Error establishing a database connection" and the torrent file I downloaded did not match their system of file checking called MD5 sum.  Being the good guy, I post the bug and will check back in the future. :)

Here is Linux Cinnamon if you wish to try. 

http://blog.linuxmint.com/?p=3289

Ok, so at this point, your ISO file will be downloading to your "Download" folder in Windows.  To make this process easier.  Press start then type "powershell". If you are like me, I pin this to my taskbar for easy access.

Depending on your system, you will get something like this.

C:\Users\YourAccountNamehere

type cd \  which takes you back to C:\

You then want to make a folder for the files you are going to download

mkdir linux\ 

If you wish you check that it made the folder you can do so by typing 'dir' then 'enter'.  

Now than need to download the sha256sum.txt from here to verify your download.

https://linuxmint.com/verify.php 

So now we want to get the sha256sum.exe file from here;

http://www.labtestproject.com/using_windows/step_by_step_using_sha256sum_on_windows_xp.html

Ok, you can now take all these files:

- sha256sum.txt, sha256sum.exe
- Linux Mint ISO 

and put them into the C:\linux folder

open up "powershell" again and type cd \ enter

Type sha256sum linuxmint.iso > linux.txt 

**Please note you will have to replace the linuxmint.iso above with the full file name of the iso you have downloaded

Now open both the sha256sum.txt and linux.txt file and compare both signatures.  What you've done is tested the linuxmint.iso and sent the signature to linux.txt file.  If this matches the one in sha256sum.txt then you have a good ISO and you are good to burn to CD or USB
#001: Online Presence
Tags: programming, onlinepresence
Published: 2017-10-16 01:58:38

---
title: "#001: Online Presence"
published: true
description: 
tags: programming, online presence
---

<h4>Why am I writing it?</h4>

<p>
This is my first story here, and I want to talk about what I do and the reason I started writing here.
</p>

<p>My name is Rodrigo Reis, I’m 21, Brazilian and I’m a Project Management Trainee at CNH Industrial Capital.
</p>

<p>
I started studying systems modeling and analysis in 2016, and since I’m passionate about programming.
</p>

<p>
The reason I started writing here is that I want to build an online presence and learn more every day by documenting and watching my path.
</p>

<h4>Languages and Technologies</h4>
<p>
Now I know a lot of the main programming languages and technologies like C#, Java, PHP, and JavaScript.
</p>

<p>
I am good at desktop development and back-end programming, but the last days I was given a web project to develop, and I started studying web frameworks and front-end development, and I fell in love with it.
</p>

<p>
I still stuck with somethings on front-end programming, but I’m always trying to figure out how to solve the challenges that I find on my way.
</p>

<h4>Next Steps</h4>
<p>
Now that I kind of introduced myself, I wanna to document what I do every day, and my next step is to write about the projects that I’ll develop and the main challenges that I will face.
</p>

<p>
    <strong>The text that makes me write: </srong> <a href="https://dev.to/samjarman/how-to-build-an-online-presence-as-a-junior-developer">How to Build an Online Presence as a Junior Developer</a>
</p>

<p>
    <strong>See also: </srong> <a href="https://www.youtube.com/watch?v=RVKofRN1dyI">Document, Don’t Create - Gary Vaynerchuk</a>
</p>
Hello World!
Tags: xssimgxss, csrf
Published: 2017-10-15 22:02:37

---
title: Hello World!
published: true
description: This is my First Post
tags: xss   <img>    <xss>, `<csrf>`    ../../
---
    
https://thepracticaldev.s3.amazonaws.com/i/c8epbiox0gq5b55zovfm.jpg
What is the pros and cons of TDD in our case and is it required at all?
Tags: discuss, question, tdd
Published: 2017-10-15 20:37:22

---
title: What is the pros and cons of TDD in our case and is it required at all?
published: true
tags: discuss, question, tdd
---

Small intro, at this moment we are developing new system and have automation tests for web interface, unit tests for part of server side code, code reviews and sharing of knowledge in the team. Unit tests partial because of philosophy of writing valuable tests where you know what you want to validate and don't need to invent subject of validation.
We are not lunching rockets so  nobody will die in case of bug. Also the aim is to get to continuous delivery and in case of bug the fix will published quickly (if it found). Applications has web client, api, many micro services and works with big databases of hundreds gigabytes of data, but we are not data creators we mostly consumers. Each service and part of application going to be continuously monitored by analytics system. Also we work with key value storages, queues and documents database. Most of logic is in database or API.
In few words nothing critical will happen in case of bug. But reputation is important too.

The questions are:

1. What's yours pros and cons for working with TDD methodology
2. Do TDD rises code quality? Is it true or only some legend to sell TDD?

And some personal question to everybody, don't you think that working with methodology like TDD that gives you way you have to develop your applications limits you in some frame? It looks little bit ridiculous that I can't use static variables and functions or singletons and it's only small part of the restrictions.

Thanks to all.
Getting Better
Published: 2017-10-15 18:20:15

---
title: Getting Better
published: true
description: 
tags: 
---

<hr>

Exploratory-testing evangelist <a href="https://www.linkedin.com/in/bachjon/">Jon Bach</a> once told me this:

- Only one tester in ten that he’s interviewed claims to do _anything at all_ toward professional improvement.

<hr>

Well, one way to get better is to pay attention to getting better.

So: when I take on a non-trivial testing task, my employer should get three things:

- A test result.
- A reusable test artifact.
- _A better tester_.

When I approach a new task, I ask myself:

- How can I shape this work so it makes me better?
- What new skills will I acquire? (And _retain_!)
- What new knowledge?

(Hint: If I can’t think of anything else, I try to learn — _really learn_ — two or three new keyboard shortcuts. I look for what mouse moves I’m repeating, and replace them with shortcuts I look up on the web.)
Prime Number
Published: 2017-10-15 17:07:16

---
title: Prime Number
published: true
description: First post
tags:  
---
#not a decent check
```
public static boolean isPrime(int number){

    for (int divisor = 2; divisor <= (number/2); divisor++){
        if (number % divisor == 0){
            return false; 
        }
    }

    return true;
}
```
#R. Sedgewick and K. Wayne trix

```
public class PrimeSieve {
    public static void main(String[] args) { 
        int n = Integer.parseInt(args[0]);

        boolean[] isPrime = new boolean[n+1];
        for (int i = 2; i <= n; i++) {
            isPrime[i] = true;
        }
        for (int factor = 2; factor*factor <= n; factor++) {
            if (isPrime[factor]) {
                for (int j = factor; factor*j <= n; j++) {
                    isPrime[factor*j] = false;
                }
            }
        }
        int primes = 0;
        for (int i = 2; i <= n; i++) {
            if (isPrime[i]) primes++;
        }
        System.out.println("The number of primes <= " + n + " is " + primes);
    }
}
```

Copyright © 2000–2011, Robert Sedgewick and Kevin Wayne.
Last updated: Tue Aug 30 09:58:33 EDT 2016.
Explain how service workers work like I'm five
Tags: discuss, explainlikeimfive
Published: 2017-10-15 16:48:26

---
title: Explain how service workers work like I'm five
published: true
tags: discuss, explainlikeimfive
---

I have been hearing about offline first for a while now but still not gotten my head wrapped around Service workers and how they function. Anyone care to explain how it works?
golang/go1.9.1.linux-amd64.tar.gz
Tags: install, ubuntu, go
Published: 2017-10-15 14:44:59

---
title: golang/go1.9.1.linux-amd64.tar.gz
published: published
description: Install go on Ubuntu, Ubuntu Server 16.04.3, Linux Mint, Vagrant
tags: Install, Ubuntu, Go
---
```shell
➜  ~ wget https://storage.googleapis.com/golang/go1.9.1.linux-amd64.tar.gz
```

```shell
➜  ~ sudo tar -xvf go1.9.1.linux-amd64.tar.gz
```

```shell
➜  ~ sudo mv go /usr/local
```
```shell
➜  ~ export GOROOT=/usr/local/go
```

```shell
➜  ~ export PATH=$PATH:/usr/local/go/bin
```
```shell
➜  ~ go
Go is a tool for managing Go source code.

Usage:

        go command [arguments]

The commands are:

        build       compile packages and dependencies
        clean       remove object files
        doc         show documentation for package or symbol
        env         print Go environment information
        bug         start a bug report
        fix         run go tool fix on packages
        fmt         run gofmt on package sources
        generate    generate Go files by processing source
        get         download and install packages and dependencies
        install     compile and install packages and dependencies
        list        list packages
        run         compile and run Go program
        test        test packages
        tool        run specified go tool
        version     print Go version
        vet         run go tool vet on packages

Use "go help [command]" for more information about a command.

Additional help topics:

        c           calling between Go and C
        buildmode   description of build modes
        filetype    file types
        gopath      GOPATH environment variable
        environment environment variables
        importpath  import path syntax
        packages    description of package lists
        testflag    description of testing flags
        testfunc    description of testing functions

Use "go help [topic]" for more information about that topic.

```
```shell
➜  ~ go version
go version go1.9.1 linux/amd64
```
- https://golang.org/doc/install?download=go1.9.1.linux-amd64.tar.gz
- wget https://storage.googleapis.com/golang/go1.9.1.linux-amd64.tar.gz
sudo apt-get install phpmyadmin
Tags: install, ubuntu, phpmyadmin
Published: 2017-10-15 09:07:56

---
title: sudo apt-get install phpmyadmin
published: published
description: Install phpmyadmin on Ubuntu Desktop, Ubuntu Server 16.04.3, Linux Mint, Vagrant Box
tags: Install, Ubuntu, phpmyadmin
---
```shell
➜ ~ sudo add-apt-repository ppa:nijel/phpmyadmin
```
```shell
➜ ~ sudo apt-get update
```
```shell
➜ ~ sudo apt-get upgrade
```
```shell
➜  ~ sudo apt-get install phpmyadmin                                                                                                                                                          
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  www-browser
The following NEW packages will be installed:
  phpmyadmin
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/3,929 kB of archives.
After this operation, 24.9 MB of additional disk space will be used.
Preconfiguring packages ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
Selecting previously unselected package phpmyadmin.
(Reading database ... 123799 files and directories currently installed.)
Preparing to unpack .../phpmyadmin_4%3a4.6.6-1+deb.cihar.com~xenial.2_all.deb ...
Unpacking phpmyadmin (4:4.6.6-1+deb.cihar.com~xenial.2) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up phpmyadmin (4:4.6.6-1+deb.cihar.com~xenial.2) ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf
granting access to database phpmyadmin for phpmyadmin@localhost: success.
verifying access for phpmyadmin@localhost: success.
dbconfig-common: dumping mysql database phpmyadmin to /var/tmp/phpmyadmin.phpmyadmin.2017-10-15-08.56.mysql.6gKwP7.
database does not exist.
dbconfig-common: dropping old mysql database phpmyadmin.
dropping database phpmyadmin: database does not exist.
creating database phpmyadmin: success.
verifying database phpmyadmin exists: success.
populating database via sql...  done.
dbconfig-common: flushing administrative password
apache2_invoke: Enable configuration phpmyadmin
```
```shell
➜  ~ sudo service apache2 restart
```
➜ http://ip/phpmyadmin
➜ http://192.168.33.10/phpmyadmin