# things

Published articles for things.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Using Docker Containers to Run Development Tools Without Local Installation

DevFeed: [Using Docker Containers to Run Development Tools Without Local Installation](<https://devfeed.tech/articles/dock-life-using-docker-for-all-the-things-31258.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/dock-life-using-docker-for-all-the-things>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2021-11-02T15:42:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Docker Image](<https://devfeed.tech/topics/docker-image.md>), [Docker Hub](<https://devfeed.tech/topics/docker-hub.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Shell](<https://devfeed.tech/topics/shell.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [computer](<https://devfeed.tech/tags/computer.md>), [containerization](<https://devfeed.tech/tags/containerization.md>), [devops](<https://devfeed.tech/tags/devops.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-hub](<https://devfeed.tech/tags/docker-hub.md>), [embracing](<https://devfeed.tech/tags/embracing.md>), [flexible](<https://devfeed.tech/tags/flexible.md>), [gives](<https://devfeed.tech/tags/gives.md>), [messy](<https://devfeed.tech/tags/messy.md>), [robust](<https://devfeed.tech/tags/robust.md>), [setup](<https://devfeed.tech/tags/setup.md>), [things](<https://devfeed.tech/tags/things.md>), [tools](<https://devfeed.tech/tags/tools.md>), [transportable](<https://devfeed.tech/tags/transportable.md>)

### AI overview

This tutorial explains how to use Docker containers to run development tools without installing them directly on a computer. It describes the benefits of disposable, version-specific, self-contained images and introduces Docker Hub and shell aliases.

### Source excerpt

Embracing Docker for All The Things gives you a more flexible, robust, and transportable way to use tools on your computer without messy setup

## A HashiConf art collab

DevFeed: [A HashiConf art collab](<https://devfeed.tech/articles/a-hashiconf-art-collab-35522.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/hashicollab/>)

Author: Monica Dinculescu

Published: 2021-10-15T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [color](<https://devfeed.tech/topics/color.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [iteration](<https://devfeed.tech/topics/iteration.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [conference](<https://devfeed.tech/tags/conference.md>), [custom](<https://devfeed.tech/tags/custom.md>), [design](<https://devfeed.tech/tags/design.md>), [generative](<https://devfeed.tech/tags/generative.md>), [hashicorp](<https://devfeed.tech/tags/hashicorp.md>), [iteration](<https://devfeed.tech/tags/iteration.md>), [printer](<https://devfeed.tech/tags/printer.md>), [printing](<https://devfeed.tech/tags/printing.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [things](<https://devfeed.tech/tags/things.md>)

### AI overview

The article describes creating custom generative-art prints for HashiConf Europe speakers. Each print combines the speaker's name, talk title, and the relevant HashiCorp product color in a randomly generated geometric grid, following conference design guidelines.

### Source excerpt

A couple of months ago my friend Jana helped organize HashiConf Europe, and asked me to work on generating custom artwork for each of their speakers. This was my first experience with creating art for someone else, and especially art that had to match someone else's artistic guidelines. I've said this before, but I live and nap by the idea that rules (and editing) are at the core of the artistic process and not having to do that myself was brilliant. I wanted to write a bit about it because a) I did a bunch of work that I'm really proud of and I never got to talk about it and b) I am vain and I want to talk about it. This was the final poster: And this is what we wrote about it on the card that accompanied it: Enclosed you will find an art print made for you by generative artist and engineer Monica Dinculescu. This individual print is unique to you and you alone, as Monica has incorporated your name, the title of your talk, and the color of the HashiCorp product that you are talking about at this year's conference. Each cell in the grid has been randomly generated to contain either a letter from your name, or a pattern in the product color. Cells located towards the middle of the grid are more likely to contain a letter rather than a pattern, and this likelihood decreases in the cells towards the edges. This print is the only iteration of its kind. Were it to be generated again, it would look slightly different each time. I print everything in my art store myself, because I sell very limited editions and third-party printing companies only make sense financially when you're printing in the several dozen. This does mean that sometimes I'll fight with my printer thinking that its colour profile is whack, only to discover that it was Doing Just Fine™ and my MacBook oversaturates things like it's an Instagram filter in 2011. Every day is a school day. Here are all the prints drying on their totes profesh drying rack that is definitely not just a string I hung around in

## Threat Modeling Building Blocks

DevFeed: [Threat Modeling Building Blocks](<https://devfeed.tech/articles/threat-modeling-building-blocks-37032.md>)

Original publisher: [Read original article](<https://shostack.org/blog/threat-modeling-building-blocks/>)

Author: Adam

Published: 2019-09-04T00:00:00Z

Content type: article

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [data-protection](<https://devfeed.tech/tags/data-protection.md>), [models](<https://devfeed.tech/tags/models.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [results](<https://devfeed.tech/tags/results.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [tasks](<https://devfeed.tech/tags/tasks.md>), [techniques](<https://devfeed.tech/tags/techniques.md>), [things](<https://devfeed.tech/tags/things.md>)

### AI overview

The article presents threat modeling as a collection of interconnected tasks and discusses research on breaking threat modeling into smaller, assessable building blocks. It highlights comparisons involving privacy and data protection, requirements, STRIDE, CAPEC, CWE, OWASP, data-flow-diagram variants, and CARiSMA extended.

### Source excerpt

Threat modeling isn't one task -- its a collection of tasks that build on each other to produce more valuable insights.

## The CSS background-image property as an anti-pattern

DevFeed: [The CSS background-image property as an anti-pattern](<https://devfeed.tech/articles/the-css-background-image-property-as-an-anti-pattern-31308.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/the-css-background-image-property-as-an-anti-pattern>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-05-28T12:49:00Z

Content type: opinion

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Search engine optimization (SEO)](<https://devfeed.tech/topics/seo.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [allowed](<https://devfeed.tech/tags/allowed.md>), [alt-text](<https://devfeed.tech/tags/alt-text.md>), [amazing](<https://devfeed.tech/tags/amazing.md>), [background-image](<https://devfeed.tech/tags/background-image.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [cases](<https://devfeed.tech/tags/cases.md>), [css](<https://devfeed.tech/tags/css.md>), [image](<https://devfeed.tech/tags/image.md>), [insights](<https://devfeed.tech/tags/insights.md>), [it-s](<https://devfeed.tech/tags/it-s.md>), [leave](<https://devfeed.tech/tags/leave.md>), [property](<https://devfeed.tech/tags/property.md>), [seo](<https://devfeed.tech/tags/seo.md>), [things](<https://devfeed.tech/tags/things.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

The article argues that CSS background-image is often misused for CTA hero and UI images. It discusses SEO, accessibility, and performance drawbacks and points toward using more appropriate browser image techniques instead.

### Source excerpt

The CSS background-image property allowed us to do some amazing things, but in most cases, it's time to leave it behind.

## Professionalism in Software Products Comes from Attention to Detail

DevFeed: [Professionalism in Software Products Comes from Attention to Detail](<https://devfeed.tech/articles/46-30315.md>)

Original publisher: [Read original article](<https://www.mdubakov.com/posts/details>)

Published: 2018-05-22T18:53:45Z

Content type: opinion

Language: ru

Sources: [Blog by Michael Dubakov](<https://devfeed.tech/sources/blog-by-michael-dubakov.md>)

Topics: [jira](<https://devfeed.tech/topics/jira.md>)

Tags: [jira](<https://devfeed.tech/tags/jira.md>), [tag-38e01848bd76](<https://devfeed.tech/tags/tag-38e01848bd76.md>), [things](<https://devfeed.tech/tags/things.md>)

### AI overview

The essay argues that professional quality is revealed through attention to detail. It compares Things and Jira, discusses thoughtful product interactions and text, and connects care in product design with clean code and polished writing.

### Source excerpt

Меня давно волнует вопрос, как определить истинный профессионализм? Пока лучшее, что я смог придумать -- детали. Довольно часто хорошее...

## ServiceWorkers and Offline Browsing

DevFeed: [ServiceWorkers and Offline Browsing](<https://devfeed.tech/articles/serviceworkers-and-offline-browsing-31295.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/service-workers-and-offline-browsing>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2017-01-15T02:09:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Web](<https://devfeed.tech/topics/web.md>), [web browsers](<https://devfeed.tech/topics/web-browsers.md>), [Caching](<https://devfeed.tech/topics/caching.md>)

Tags: [browsing](<https://devfeed.tech/tags/browsing.md>), [cache](<https://devfeed.tech/tags/cache.md>), [devices](<https://devfeed.tech/tags/devices.md>), [insights](<https://devfeed.tech/tags/insights.md>), [instant](<https://devfeed.tech/tags/instant.md>), [loading](<https://devfeed.tech/tags/loading.md>), [offline](<https://devfeed.tech/tags/offline.md>), [provide](<https://devfeed.tech/tags/provide.md>), [server](<https://devfeed.tech/tags/server.md>), [serviceworkers](<https://devfeed.tech/tags/serviceworkers.md>), [sync](<https://devfeed.tech/tags/sync.md>), [things](<https://devfeed.tech/tags/things.md>), [web](<https://devfeed.tech/tags/web.md>), [web-browsers](<https://devfeed.tech/tags/web-browsers.md>)

### AI overview

The article explains how ServiceWorkers can support offline browsing, instant loading, local caching of visited and anticipated resources, offline form completion, and later synchronization with a server.

### Source excerpt

ServiceWorkers provide a way to provide offline browsing and instant loading (amongst other things).

## Hostage Negotiation 101

DevFeed: [Hostage Negotiation 101](<https://devfeed.tech/articles/hostage-negotiation-101-35255.md>)

Original publisher: [Read original article](<https://darkcoding.net/behaviour/hostage-negotiation-101/>)

Author: Graham King

Published: 2011-09-18T20:24:18Z

Content type: opinion

Language: en

Sources: [Graham King](<https://devfeed.tech/sources/graham-king.md>)

Topics: [trust](<https://devfeed.tech/topics/trust.md>), [saving](<https://devfeed.tech/topics/saving.md>)

Tags: [behaviour](<https://devfeed.tech/tags/behaviour.md>), [book](<https://devfeed.tech/tags/book.md>), [friendly](<https://devfeed.tech/tags/friendly.md>), [negotiation](<https://devfeed.tech/tags/negotiation.md>), [society](<https://devfeed.tech/tags/society.md>), [strategy](<https://devfeed.tech/tags/strategy.md>), [things](<https://devfeed.tech/tags/things.md>), [time](<https://devfeed.tech/tags/time.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

A summary of Gary Noesner's memoir about hostage negotiation, covering peaceful surrender, exclusive communication, environmental control, calm listening, organizing demands, and building trust.

### Source excerpt

Negotiating lives: Insights from an FBI hostage negotiator's memoir.

## Environment Structure for Django Apps

DevFeed: [Environment Structure for Django Apps](<https://devfeed.tech/articles/environment-structure-for-django-apps-41100.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2011/05/16/Environment-Structure-for-Django-Apps/>)

Author: Map

Published: 2011-05-17T03:55:56Z

Content type: tutorial

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Django](<https://devfeed.tech/topics/django.md>), [Development](<https://devfeed.tech/topics/development.md>), [Python](<https://devfeed.tech/topics/python.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Git](<https://devfeed.tech/topics/git.md>), [osx](<https://devfeed.tech/topics/osx.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [development-environment](<https://devfeed.tech/tags/development-environment.md>), [django](<https://devfeed.tech/tags/django.md>), [git](<https://devfeed.tech/tags/git.md>), [osx](<https://devfeed.tech/tags/osx.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [python](<https://devfeed.tech/tags/python.md>), [setup](<https://devfeed.tech/tags/setup.md>), [things](<https://devfeed.tech/tags/things.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

A cookbook for structuring Django project environments on OSX and Ubuntu. It explains how to create a Python virtual environment, install Django and PostgreSQL dependencies, use requirements.txt and .gitignore, and prepare a repository for contributors.

### Source excerpt

I've been writing applications off and on for nearly 4 years now, since before Django 1.0 was even released. I must say the framework could not be better described than by its own tagline "The Web framework for perfectionists with deadlines". Among the things I love about it are: However, after using the framework for nearly 4 years I'm just now discovering my preferred way of managing environments. I know there's still a bit of back and forth on development environment/IDE, but as far as configuring actual project environment I've become very comfortable with what I've now been using for many months. It also allows for someone else bootstrapping their environment incredible quickly as well. Below is a quick cookbook of how to do this on OSX and Ubuntu. $ sudo port install python27 $ sudo port install py27-virtualenv $ sudo port install postgresql90 Now for setting up your project: $ mkdir example $ cd example $ virtualenv-2.7 --no-site-packages . $ source bin/activate $ sudo brew install python $ sudo brew install virtualenv $ sudo brew install postgresql Now for setting up your project: $ mkdir example $ cd example $ virtualenv --no-site-packages . $ source bin/activate $ sudo aptitude install python sudo aptitude install virtualenv sudo aptitude install postgresql Now for setting up your project: $ mkdir example $ cd example $ virtualenv --no-site-packages . $ source bin/activate For those of you not familiar virtualenv is a self-contained python environment. It holds its own copy of python and any libraries you install. Now that you've setup your virtualenv we can go through the process of installing django and setting up your repository. This is the same across all of the above platforms: Add to a .gitignore file: bin build include lib .Python *.pyc Add to a requirements.txt file: Django==1.3.1 psycopg2==2.4.1 Then run: $ bin/pip install -r requirements.txt This should fully installed any of your required apps and makes it easy for others to do the same to begi