Building An Interactive Infographic With Vue.js


About The Author

Krutie is technical business analyst and a front-end consultant with expertise in Vue.js and Nuxt.js, alongside back-end proficiency in Laravel. She has an …
More about Krutie

Build An Interactive Infographic With Vue.js

Have you ever had a requirement in which you had to design and build an interactive web experience but the grid system fell short? Furthermore, the design elements turned into unusual shapes that just wouldn’t fit into the regular web layouts? In this article, we’re going to build an interactive infographic using Vue.js, SVG and GreenSock by using dynamic data and unusual layout.

This article presents a modern approach to building an interactive infographic. You sure can have plain infographic with all the information available upfront — without any user interaction. But, thinking of building an interactive experience — changes the technology landscape we choose. Therefore, let’s understand first, why Vue.js? And you’ll see why GSAP (GreenSock Animation Platform) and SVG (Scalable Vector Graphics) become obvious choices.

Vue.js provides practical ways to build component-based, dynamic user interfaces where you can manipulate and manage DOM elements in powerful ways. In this instance, it’s going to be SVG. You can easily update and manage different SVG elements — dynamically — using only a small subset of features available in Vue.js — some of the staple features that fit the bill here, are, data binding, list rendering, dynamic class binding to name a few. This also allows you to group relevant SVG elements together, and componentize them.

Vue.js plays nice with external libraries without losing its glory, that is GSAP here. There are many other benefits of using Vue.js, one of which is that, Vue.js allows you to isolate related templates, scripts, and styles for each component. This way, Vue.js promotes modular application structure.

Recommended reading: Replacing jQuery With Vue.js: No Build Step Necessary

Vue.js also comes packaged with powerful lifecycle hooks that let you tap into the different stages of application to modify application behavior. Setting up and maintaining Vue.js applications doesn’t require a big commitment, meaning you can take phased-approach to scale your project as you go.

The infographic is very light-weight in a visual sense, as the main aim of this article is to learn how to think in terms of data, visual elements, and of course, Vue.js — the framework that makes all the interactivity possible. In addition, we’ll use GreenSock, a library for animating SVG elements. Before we dive in, take a look at the demo.

We’ll start with:

  1. The overview of the data for infographic;
  2. SVG image preparation;
  3. An overview of Vue components in context of the SVG artwork;
  4. Code samples and diagrams of key interactivity.

The infographic that we’re going to build is about Tour De France, the annual bicycle racing event held in France.


Build an interactive infographic with Vue.js, SVG and GreenSock
Tour De France  —  Interactive bicycle listing game stages (rear-wheel) and participating teams (front-wheel). (Large preview)

Overview Of Tour De France Data

In infographic design, data drives the design of your infographic. Therefore, while planning your infographic design, it’s always a good idea to have all data, information, and statistics available for the given subject matter.

During Tour De France of 2017, I learned everything about this biggest cycling event that I could in 21 days of the game in July, and I familiarized myself with the subject.

Basic entities of the race that I decided to go for in my design are,

  • Stages,
  • Teams,
  • Routes,
  • Winners,
  • Length and classifications of each routes.

This next part of the process depends on your thinking style, so you can be creative here.

I created two sets of data, one for stages and other for teams. These two datasets have multiple rows of data (but within limit)  —  which matched with two wheels of the bicycle with multiple spokes in each. And that defined the key element of the design, The Bicycle Art that you saw at the beginning  —  where each spoke will be interactive & responsible to drive what information is revealed on screen.

I mentioned within limits above, because what we’re aiming for in this instance is not a full-blown data-visualization in context of big data but rather an infographic with high-level data.

Therefore, spend quality time with data and look for similarities, differences, hierarchy or trends that can help you convey a visual story. And don’t forget about the amazing combination of SVG and Vue.js while you’re at it, as it will help you bring about the right balance between information (data), interactivity (Vue.js) and design elements (SVG Artwork) of infographic.

Here’s the snippet of a stage data object:

{
    "ID": 1,
    "NAME": "STAGE 01",
    "DISTANCE": "14",
    "ROUTE": "KMDÜSSELDORF / DÜSSELDORF",
    "WINNER": "THOMAS G.",
    "UCI_CODE": "SKY",
    "TYPE": "Individual Time Trial",
    "DATE": "Saturday July 1st",
    "KEY_MOMENT": " Geraint Thomas takes his first win at 32"
}

And team data object snippet as below:

{
    "ID": 1,
    "UCI_CODE": "SKY",
    "NAME": " TEAM SKY",
    "COUNTRY": "Great Britain",
    "STAGE_VICTORIES": 1,
    "RIDERS": 8
}

This infographic is operated by a very simple logic.

UCI_CODE (Union Cycliste Internationale) is the connecting key between the stage and the team object. When a stage is clicked, first we’ll activate that stage, but also use UCI_CODE key to activate corresponding winning team.

SVG Preparation

Having a couple of datasets and a rough concept of bicycle art ready, here’s the static SVG CodePen of the infographic I came up with.

See the Pen Static Bicycle SVG by Krutie(@krutie) on CodePen.

We have created only one spoke for each wheel, that is because we’ll dynamically create rest of the spokes using a number of records found in the dataset, and animate them using GreenSock Library.

The workflow to create this SVG code is also very simple. Create your Infographic artwork in Adobe Illustrator and save as SVG. Make sure to name each group and layer while working in Illustrator, because you will need those ids to separate parts of SVG code that will eventually populate <template> area of Vue components. Remember that layer names given in Illustrator become element ids in SVG markup.

You can also use SVGOMG and further optimize SVG code exported from Adobe Illustrator.

Important Note: If you use SVGOMG to optimize SVG markup, your code certainly will look neat, but note that it will convert all <rect> elements into <path> with d attribute. This results into losing x and y values of the rectangle, in case you wish to adjust few pixels manually later-on.

Second thing, make sure to uncheck Clean Id option (right-hand side options in SVGOMG interface), this will help maintain all groups and ids intact that were created in Illustrator.

Vue Component Overview

Even if interactivity and data-flow in your infographic project is quite simple in nature, you should always take a moment to draw up a tree diagram of components.

This will especially help in case you’re not using any shared-data mechanism, where child components are dependent on the values sent from the parent component (i.e. via props) or vice-versa (i.e. this.$emit events). This is your chance to brainstorm these prop values, emit events and local data — and document them before starting to write the code.


Vue component tree
Vue component tree. (Large preview)

Diagram above is the snapshot of Vue components that is partially derived from interactivity requirements and partially based on SVG markup. You should be able to see how SVG markup will be split up based on this tree structure. It’s pretty self-explanatory from hierarchy view-point.

  1. Chain-wheel will imitate rotation of spokes.
  2. Stage component is the rear wheel that will list all 21 stages.
  3. Stage-detail component will display related information on a curved path (left-hand side).
  4. Team component is the front wheel that will list all participating teams on spokes.
  5. Team-detail component will display related information on a curved path (right-hand side).
  6. Navigation will include back and next button to access stages.

The diagram below represents the same Vue components seen above, but in the context of the infographic design.


Vue Components blended into SVG
Vue Components blended into SVG. (Large preview)

Less is more — should be the approach you should try to take while working on similar projects. Think through the animation and transition requirements you have, if you can get away with using TweenLite instead of TweenMax — do so. If you have the option to choose elementary shapes and simpler paths over complex ones — by all means try to opt-in for light-weight elements that are easy to animate — without any performance penalty.

Next section will take you through an exciting part with GreenSock animation and Vue.js.

GreenSock Animation

Let’s take a closer look at:

  1. Text animation on a curved path;
  2. Spoke animation on a wheel.

Animating Text On A Curved Path

Remember the curve path seen around the bicycle wheel, that curved path is slightly bigger than the radius of the bicycle wheel. Therefore, when we animate text on this path, it will look as if it follows the shape of the wheel.

See the Pen Text on a Curved Path by Krutie (@krutie) on CodePen.

path and textPath is a sweet combination of SVG elements that allows you to set text on any path using xlink:href attribute.

<path id="curvedPath" stroke="none" fill="none" d="..."/>

<text>

  <textPath xlink:href="#curvedPath"
          class="stageDetail"
          startOffset="0%">
          
   </textPath>

</text>

To animate text along the path, we’ll simply animate its startOffset attribute using GreenSock.

tl.fromTo( ".stageDetail", 1,

{
  opacity: 0,

  attr: { startOffset: "0%" }

},{opacity: 1,

  attr: { startOffset: "10%" }

}, 0.5 );

As you increase the startOffset percentage, text will travel further through the circle perimeter.

In our final project, this animation is triggered every time any spoke is clicked. Now, let’s move on to a more exciting part of the animation.

Animating Stages/Spokes Inside The Wheel

It’s visible from the demo that stage and team components are similar in nature with couple of small differences. So, let’s focus on just one wheel of the bicycle.

The CodePen example below zooms in on just the three key ideas:

  1. Fetch stage data;
  2. Arrange spokes dynamically based on the data;
  3. Re-arrange spokes when stage (spoke) is clicked.

See the Pen TDF Wheel Animation by Krutie (@krutie) on CodePen.

You may have noticed in the static SVG CodePen above that the spokes are nothing but SVG rectangles and text grouped together. I have grouped them together since I wanted to pick both text and rectangle for the purpose of animation.

<g v-for="stage in stages" class="stage">

    <rect x="249" y="250" width="215" height="1" stroke="#3F51B5" stroke-width="1"/>

    <text transform="translate(410 245)" fill="#3F51B5" >

      
    </text>

</g>

We will render them in <template> area of the Vue component using values fetched from the data-source.

When all 21 stages are available on screen, we’ll set their initial positions by calling, let’s say, setSpokes().

// setSpokes()

let stageSpokes = document.querySelectorAll(".stage")
let stageAngle = 360/this.stages.length

_.map(stageSpokes, (item, index) => {
    TweenMax.to(item, 2, 
    { rotation: stageAngle*index, 
      transformOrigin: "0% 100%"
    }, 1)
}

Three key elements of setting the stage are:

  1. Rotation
    To rotate spokes, we’ll simply map through all elements with className stage, and set dynamic rotation value that is calculated for each spoke.
  2. Transform Origin
    Notice transformOrigin value in the code above, which is as important as index value, because “0% 100%” enables each spoke to rotate from the center of the wheel.
  3. stageAngle
    This is calculated using total number of stages divided by 360-degree. This will help us lay every spokes evenly in 360-degree circle.

ADDING INTERACTIVITY

Next step would be to add click-event on each stage to make it interactive and reactive to data changes  —  hence, it will breathe more life into an SVG image!

Let’s say, if stage/spoke is clicked, it executes goAnimate(), which is responsible to activate and rotate the stage being clicked using the stageId parameter.

goAnimate (stageId) {

  // activate stage id
  this.activeId = stageId

  // rotate spokes

}

We’ll use DirectionalRotationPlugin…which is a key ingredient for this interactivity. And yes, it is included in TweenMax.

There are three different ways of using this plugin. It animates rotation property in 1) clockwise, 2) counter-clockwise and 3) in the shortest distance calculated to the destination.

As you’d have guessed by now, we’re using the third option to rotate the shortest distance between the current stage and new stage.

Review the CodePen above and you’ll see how Stage 01 is constantly moving around the circle, leaving its original spot for new active stage at 0-degree angle.

First, we need to find the angle of a stage being clicked, and interchange its rotation with Stage 01. So, how do we find the rotation value of the stage being clicked? Check out the diagram below.


Distance calculation from Stage 01 to the ‘clicked’ stage
Distance calculation from Stage 01 to the ‘clicked’ stage. (Large preview)

For example, if Stage 05 is clicked (as you can see above), the journey from Stage 01 to Stage 05  —  requires 4 x angle-value.

And therefore, we can get the correct angle using, (Active stage Id - 1) * 17 degree, followed by ‘_short’ string postfix to trigger directional rotation plugin.

angle = 360/21 stages = 17
activeId = 5
new angle = ((activeId-1)*angle)+'_short'
          = ((5-1)\*17)+'_short'
          = 68

The final goAnimate() function will look something like below:

_.map(spokes, (item, index) => {

  if(activeId == index+1) { 
    // active stage
    TweenMax.to(item, 2, 
    { rotation: 0+'_short', 
      transformOrigin: "0 100%"
    })   

  } else if (index == 0) { 
    // first stage
    TweenMax.to(item, 2,
    { rotation: (activeId*angle)-angle+'_short',
      transformOrigin: "0 100%"
    })

  } else {
    TweenMax.to(item, 2, 
    { rotation: index*angle+'_short', 
      transformOrigin: "0 100%"
    })
  }

}) // end of map

Once we have the rear wheel ready, the front wheel (for team) should follow the same logic with a couple of tweaks.

Instead of stage, we’ll fetch team data and update registration point of transformOrigin attribute to enable spokes generation from opposite registration point than the stage wheel.

// set team spokes

map(teamSpokes, (index, key) => {
  TweenMax.to(index, 2, 
  { rotation: angle*key, 
    transformOrigin: "100% 100%"
  }, 1)
})

Final Project

Like me, if you have written all animation and data related functions in Vue components itself. It’s time to clean them up using Vuex and Mixins.


Using Vuex state management to power both wheels with data
Using Vuex state management to power both wheels with data. (Large preview)

VUEX

Vuex eases up the management of shared data among components, and more importantly, it streamlines your code, keeping methods and data() clean and tidy, leaving components only to render the data, not to handle it.

Lifecycle hooks are a very suitable place to perform any HTTP requests. We fetch initial data in created hook, when the Vue application has initialized, but hasn’t yet mounted into the DOM.

Empty state variables, stages and teams are updated using mutations at this stage. We then, use watcher (only once) to keep track of these two variables, and soon as they’re updated, we call in animation script (from mixin.js).

Every time user interacts with stage or team component, it will communicate with Vuex store, executes setActiveData, and updates current stage and current team values. That is how we set active data.

And when the active data is set after state update, goAnimate will kick in to animate (directional rotate) spokes using updated values.

Recommended reading: Creating Custom Inputs With Vue.js

Mixins

Now that the data is handled by Vuex, we’ll separate out GreenSock animations. This will prevent our Vue components being cluttered with long animation scripts. All GreenSock functions are grouped together in mixin.js file.

Since you have access to Vuex Store within Mixins, all GSAP functions use state variables to animate SVG elements. You can see fully functional store.js and mixin.js in the CodeSandbox example over here.

Conclusion

Creating interactive and engaging infographics requires you to be analytical with the data, creative with visuals and efficient with the technology you use, which in this case is Vue.js. You can further use these concepts in your project. As a closing note, I’ll leave you with this circular interactive color wheel below that uses an idea similar to the one we’ve discussed in this article.

See the Pen Material UI Circular Colour Palette made with Vue JS and GSAP by Krutie (@krutie) on CodePen.

With no doubt, Vue.js has many great features; we’re able to create interactive infographics with just a few things, such as watchers, computed properties, mixins, directive (see color-wheel example) and a few other methods. Vue.js is the glue that holds both SVG and GreenSock animation together efficiently, giving you ample of opportunity to be creative with any number of subject matter and custom interactivity at the same time.

Smashing Editorial
(rb, ra, yk, il)


via Smashing Magazine
Building An Interactive Infographic With Vue.js

Using Clever Techniques to Restore a Hopelessly Rusted, Frozen Vise

Making a boat anchor is easy: Just buy a heavy cast-iron vise, neglect it for 27 years and boom, you’ve got a rusty piece metal that can serve no other function.

Unless, that is, you’re the Swiss tinkerer behind the My Mechanics Youtube channel. He acquired an old, rusted and hopelessly frozen Gressel vise for $20 and was determined to bring it back to its original glory and function. To do so required a lot of creative problem-solving, including building some clever little jigs and contraptions to get the darn thing apart:

I sat through the entire video and didn’t get bored once. However, if you’re sneaking peaks at the office and the boss is about, here are some time codes for jump-cutting:

Timestamps

00:00 preview

00:35 loosen the stuck movable jaw

02:09 disassembling

04:39 restoring the spindle

05:11 removing the pins

05:45 restoring the movable jaw

06:58 restoring the body (fix jaw)

08:14 sandblasting

10:09 painting

11:02 making the missing part

12:10 restoring two screws for the missing part

13:10 restoring the jaws

13:27 reassembling

15:53 showing off the finished product


via Core77
Using Clever Techniques to Restore a Hopelessly Rusted, Frozen Vise

Daily Gun Deals: Federal Black Label 22 Long Ammo 1600pc $39.99 ($0.025ea) w/ Rebate

Best price on .22 Long Rifle we have seen all year!!!

Federal Black Label 22 Long Ammo 1600pc Rebate Deal
Federal Black Label 22 Long Ammo 1600pc Rebate Deal

USA – -(Ammoland.com)- Buy Online Button ClearBrownell’s is having a special on Federal Black Label .22 Long Rifle Ammo that gets you down to $0.024 each after a coupon code for FREE shipping, and a MFG’s rebate.

To get this deal you have to order at Brownells and apply the coupon code “VB5” for free shipping and pay $59.99 at check out then apply for the rebate online, link below. No one can touch this price for Federal 22 Long Rifle ammunition that is $44.00 dollars of the normal retail. If you follow ammo price trends you know that 22 Long Rifle averages around $0.07 a round. This will sell out.

PS: This rebate and code work on other Federal ammo products as well.

Federal Black Label 22 Long Ammo 1600pc $39.99 ($0.025ea) w/ Rebate

Click the rebate for more info:

Federal Blaser Black Label Rebate Info
Federal Blaser Black Label Rebate Info Click Image for more info.

Federal Black Label 22 Long Ammo 1600pc Cart Check 11/16/2018:

Federal Black Label 22 Long Ammo 1600pc Cart Check
Federal Black Label 22 Long Ammo 1600pc Cart Check

Daily Gun Deals are the short-term money saving deals AmmoLand News’ Editors search out each day on the world wide web. Be forewarned that many of these deals will sell quickly or expire by the time you read them, but hey we tried. When we find sweet deals on gun products, we need we will be passing along those tips to AmmoLand News readers so you can save cash too. We have your back. Click the product name link for more info and to buy online.

If you want us to email you each daily gun deal, please subscribe to our daily emails list here.

Daily Gun Deals Banner
Daily Gun Deals Banner

Ammoland Editors are scouring the web to find you the deal that will save you money. So good are these deals that they do not last long so pay attention to the publish date and do not delay, take advantage of this deal as soon as we publish it for our readers.

Consider checking our Gun Deals Coupon page and our past featured Daily GunDeals page for additional savings from your favorite industry partners. Thank you very much for your support and I hope we save you some money by highlighting these sweet daily deals. Enjoy!

The post Daily Gun Deals: Federal Black Label 22 Long Ammo 1600pc $39.99 ($0.025ea) w/ Rebate appeared first on AmmoLand.com.

via AmmoLand.com
Daily Gun Deals: Federal Black Label 22 Long Ammo 1600pc $39.99 ($0.025ea) w/ Rebate

The 3-3-2-2 method is a butcher’s trick for perfectly seared steaks

Photo: KucherAV (iStock)

In an effort to bring better quality meat from small family farms to my community, I opened a butcher shop in Chicago called The Butcher &amp; Larder. For eight years I’ve been helping people with everything from Thanksgiving dinner to how to cook a steak.

When they’re gazing wistfully at the steaks in the case, customers often say, “I’d really love to cook one of those for myself, but I just don’t know how. I’ve tried cooking steak at home, but I just ruin them…” In the past, I’d try and dig into their cooking psyche and figure out from where the block stemmed, but these days, I build up their confidence, and then arm them with a simple formula.

Advertisement

Before we get to the formula, though, I’d like to bust a few myths about cooking steak (or most meat, for that matter).

First: Rid yourself of the notion that high heat is what makes a great steak, or that you need a “rippin’ hot pan” to “seal in the juices.” The pan matters, but the heat less so. Searing a steak is great for flavor. Look up the Maillard reaction to see what I mean in detail, but for brevity’s sake, when it comes to meat, brown = flavor.

How you do your browning is key, because while brown is good, gray is bad. Gray is the sad, unintentionally over cooked portion of the interior of the steak. When you sear in, say, “a rippin’ hot pan, bro!” you get great browning on the outside, but just under that sear is a layer of gray that takes away from the steak’s flavor and juiciness. The other myth I’m most asked about—whether steaks should be room temperature before cooking—might seem to make sense, but science says otherwise. It’s not a bad habit, but not totally necessary, either.

Photo: Lisovskaya (iStock)

My method for cooking the average steak (average steak means your basic ½-to-1-inch thick ribeye or New York strip, not a 3-inch Fiorentina or 47-ounce tomahawk-mancave-beast-mode behemoth) is a 16 minute commitment: 1 minute to season, 10 minutes to cook, five minutes to rest.

Advertisement

I call it the 3-3-2-2 method as that’s an easy thing to remember if you’re at a butcher counter with nothing to write on, and it results in a perfectly browned, medium-rare steak. Seasoning doesn’t matter. I’m a salt and pepper guy, but if you like Guy Fieri’s Santa Maria steak rub, go for it.

Here’s how it works:

Put your heaviest skillet over medium heat (yes, medium—335 degrees or thereabouts Fahrenheit). Cast iron is great, but any heavy pan will do. After a few minutes on the fire, add a couple tablespoons of oil (olive, grapeseed, sunflower, etc) and lay your steak in the pan. Resist the temptation to slide, poke, wiggle, or move the steak. Just leave it there for an agonizing three minutes. Flip and repeat for three more minutes. It will seem like forever, but remember what Tom Petty said, “The waiting is the hardest part.” Flip again, but this time for two minutes and again for another two minutes. Remove your steak from the pan and rest for five minutes.

Advertisement

This works because three minutes over medium heat is just enough to get some nice brown on the meat while warming the steak through to the center, but you turn it in time to avoid any of the nasty gray we are trying to avoid. The two-minute cycle continues to brown the surface gently while getting your steak cooked to temperature. If you like your steak a little more done, add a minute or so to the cook time. If you like it closer to well done, add another minute. I wouldn’t suggest any longer, though. The important thing here is that the times have to be even so the steak isn’t more done on one side than the other. Keep the heat modest so everything stays nicely seared and juicy—see? Simple.

Rob Levitt’s 3-3-2-2 Steak Method

  1. Preheat heavy pan over medium heat for a few minutes, add oil
  2. Three minutes, flip
  3. Three minutes, flip
  4. Two minutes, flip
  5. Two minutes, remove from pan
  6. Let rest for five minutes


via Lifehacker
The 3-3-2-2 method is a butcher’s trick for perfectly seared steaks

4 Ways to Make Improvised Urban Survival Arrowheads

The original arrowheads were made from organic materials — often through the process of “knapping” rocks like obsidian, chert, and flint. The sharp flakes of stone which resulted were then affixed to arrow shafts, and shot from bows by primitive hunters to take down game and battle their human enemies.

Still today, stone arrowheads are made by bushcrafters, and they can be life-savers in wilderness survival situations.

But what if you need to make an arrowhead in an urban environment, where stones that are good for knapping may not be abundant? What improvised materials can be marshaled to create projectile points that can be used to make arrows for hunting and self-defense?

Here are 4 different materials/methods to try:

1. Arrowhead From a Glass Bottle

Supplies needed:

  • Glass bottles (ideally with a flat bottom)
  • Pressure flaker (antler bone or a nail hammered into a wooden dowel)

Obsidian, from which arrowheads have been made for thousands of years, is volcanic glass, so it shouldn’t come as any surprise that you can make your own arrowheads from man-made glass. In fact, such glass is easier to work with than obsidian (or other rocks), and of course is easier to come by, especially in an urban location.

You can use any kind of glass with a flat section, and that includes an ordinary soda/beer bottle. You make an arrowhead from a bottle pretty much the same way you’d make it from a rock: by breaking apart your source material, and then taking a large flake of it — in this case the bottom of the bottle, which is thicker and flatter — and carefully chipping off tiny flakes from its edges to shape and sharpen it up. The text instructions here, which includes diagrams, are helpful in understanding the semi-intricate process. 

Since shaping glass into arrowheads is easier than shaping stone, this is a good way of learning the skill of knapping rock.

2. Arrowhead From a Nail 

Supplies needed:

  • Hammer
  • Nail
  • Pliers
  • File

If the knapping process feels a bit too meticulous for you, try a more brute-force method: making an arrowhead from a common nail. Basically, you just pound it on alternate sides until it flattens out, and then use a file to create a sharp edge/point. They’re not the sturdiest arrowheads, but will get the job done. With a bigger hammer, you can pound a 1/4″ bar stock into a true broadhead that’s able to penetrate and take down a deer.

3. Arrowhead From a Spoon

Supplies:

  • Spoon
  • Hammer
  • File

The basic process for making an arrowhead from a spoon is to hammer it til it’s flat, draw the arrowhead shape you want on the flattened spoon head, and then remove the material around that outline until you have your broadhead triangle. The process is made easier if you have some higher-tech tools like a blow torch (for heating up the spoon before you hammer it) and something like a Dremel tool for cutting away the extra material. But in a survival situation you may not have access to those things (or to electricity). Fortunately, though it takes more effort, you can create the same end product simply by hammering a cold spoon and then using a file to remove the extra metal from the spoon head; you can even rub it against a block of concrete should you not have a file. 

4. Arrowhead From the Lid of a Tin Can 

Supplies needed:

  • Tin can
  • Multi-tool with can opener and pliers

Probably the easiest method, and one that involves the least supplies (if you have a handy multi-tool). You simply take the lid off a tin can, fold it in half, bending it back and forth til it breaks. Then you do the same thing with a half piece until you have a quarter section of the lid. Then fold that in half and make some manipulations with your pliers. 

As you can see, in an urban survival situation, materials from which to make improvised arrowheads can be found everywhere, from a trash can to a kitchen pantry. Once you’ve sourced and made your arrowheads, you’ll of course need to attach (haft) them to the arrow’s shaft; the essential process goes like this: you’ll cut a notch in the end of the shaft, insert your arrowhead into the slot with some glue/resin, wrap the arrowhead in sinew/cord to further secure it, and then top the wrapping with some glue for good measure. Then string your improvised bow (a subject for another day) with your improvised arrow, and prepare to bag some game or defend your domain.

The post 4 Ways to Make Improvised Urban Survival Arrowheads appeared first on The Art of Manliness.


via The Art of Manliness
4 Ways to Make Improvised Urban Survival Arrowheads

Security Strategies For Your Church Safety Team


As I wrote almost a year ago, every church should have one or more good guys with guns protecting the flock. Every synagogue, temple and mosque. Anyplace people gather to worship should have a ballistic response ready for the worst case scenario. Does yours have one? It should to improve church safety.

The first step in creating a safer house of worship involves recognizing that evil does exist. And that sometimes worldly evil will invade sacred locations. Only fools expect bad people to honor society’s norms in and outside of churches. Burying one’s head in the sand doesn’t keep anyone safe. Just ask the do-gooder couple who hiked through ISIS-controlled territory.

Some folks think that creating a security team for their church simply involves finding volunteers to carry guns to church services. Not so. While that’s better than nothing, when well-meaning people only have a hammer, every problem can ten to look like a nail.

Want to get a church security team off the ground in your house or worship? First off, get off on the right foot. Call it a “safety team.” Good word choice will help keep your flock from becoming alarmed. Most folks don’t want to think about the need for armed security in their church, but everyone can rally behind “safety.”

Once you have a team willing to do more than carry a gun, spend some money on good communications. Get radios. Issue them to ushers, greeters and security folks. Greeters and ushers can discretely report potential problems. In fact, your greeters stand as the congregation’s eyes and ears, evaluating everyone at the entry points as they welcome them at services. They will often identify potential problems first – including both security- and health-related issues.

Conversely, if security detects a problem and can communicate instantly, ushers and greeters can immediately help direct the flock away from that threat.

Surveillance cameras help too. Church congregations face a greater risk of criminal violence (robbery) in the parking lots than they do when sitting in the pews. Watching cameras can detect suspicious behavior from non-church members. In larger churches, roving patrols in cars or golf carts can go a long way to deter criminal activity.

Just like schools, churches should lock their doors shortly after services begin. A greeter can welcome latecomers at a locked door. However, why make it easy for a lunatic to invade the sanctuary at an unmanned, unlocked door when everyone’s attention is directed at the preacher?

Included in the safety plan: good first aid skills. Frankly, knowing some basic first aid and how to use an AED or perform CPR will likely save far more lives than that gun on the hip.

Frankly, safety team members should have good skills at de-escalating potential violence, too. Knowing the basics of talking people down while taking steps to lessen one’s personal risk help. And if the verbal judo fails, knowing some hands-on tactics can help quickly restrain troublemakers for police without the need for a full-on brawl.

Ideally, off-duty local law enforcement members of the congregation will join the team.

Lastly, those select safety team members with guns should face a vetting process with church leaders. Yes, while anyone legally able may should carry during a church service, safety team members represent the church to some degree. And the last thing any house of worship needs is an ill-trained, gun-toting “security team” member pulling a gun over a mildly-heated child custody dispute near the kids’ area during or after a service.

I still remember after the Sutherland Springs church shooting in Texas, people approached me asking about the legality of carrying without a license in church here in Illinois. God bless those Christians for volunteering.

On one hand, these well-meaning men and women expressed a willingness to protect their family and friends from bad people. On the other hand, they didn’t even know the law on carrying on private property in Illinois. Will they have a good handle on the nuances of deadly force law to keep themselves out of jail afterwards? I hope so, but I doubt it.

I would think some training on the legal use of deadly force is reasonable and prudent. Especially for those who wish to formalize their role providing security in their church.

While I’d prefer well-trained (and well-armed) gun owners in a time of trouble, I would eagerly welcome even any gun owner over a whole passel of hysterical Moms Demanding Action cowering under pews or desks. And you should too.

Stephen Willeford, pictured above, proved that in Sutherland Springs. Mr. Willeford didn’t have a background as a Navy SEAL or police officer. Instead, as John Q. Public, he courageously engaged a maniac and stopped the shooter’s attack at the nearby First Baptist Church. In fact, Willeford’s shots put down the murderous attacker, saving taxpayers the cost of incarcerating the killer.

If your church doesn’t have a safety team, take the initiative to start one. The life you save might be your own.


via The Truth About Guns
Security Strategies For Your Church Safety Team

Inside a “Luxury Survival Condo” Built Inside an Abandoned Missile Silo

The last time we looked at a home built inside a former missile silo, it was Matthew and Leigh Ann Fulkerson’s "Subterra" home, which was then listed on AirBNB. But the Fulkersons have nothing on developer Larry Hall, who purchased a decommissioned Atlas missile silo in Kansas and converted it into 15 stories’ worth of Luxury Survival Condos.

Take a look inside, and note that many of the condos are already sold:

I do like how they call it an "undisclosed location" in Kansas, yet if you Google "luxury survival condo" the address pops right up.


via Core77
Inside a “Luxury Survival Condo” Built Inside an Abandoned Missile Silo