Using Visual Studio AutoRecover to Avoid Losing Your Work (and your Mind)


If you have ever worked in an environment that may not have been the most reliable or you are simply a worry-wart when it comes to possible data loss, then this might be for you.

When discussing a recurring issue with another developer, he complained that his older computer frequently crashed which resulted in him losing data quite often. He didn’t seem to be aware of a feature within Visual Studio called AutoRecover that would help him ensure that his data wasn’t always “gone forever”. While it typically works on it’s own, this post will discuss AutoRecover, configuring it and locating all of the temporary files it creates if you need to find them.

What is AutoRecover?

AutoRecover is an option within Visual Studio that will allow you to define a particular interval in which to save information about all of the files that may be changing or have changed within your application. It’s perfect for scenarios where you might have a machine that is on the verge of death, intermittent power issues, data-loss anxiety and just about anything else that might have you spouting off expletives when your screen goes black (or blue).

How do I use it?

You can access the AutoRecover option in Visual Studio through the following steps :

  1. Select Tools from the Toolbar in Visual Studio.
  2. Choose Options
  3. Select AutoRecover beneath the Environment tab on the right.

You’ll then be presented with the AutoRecover dialog box :


You’ll just need to adjust these values depending on your needs and how erratic your machine can be.

Accessing AutoRecover Files

Accessing the files themselves is quite easy as well. By default, Visual Studio will store all of these files within a “Backup Files” directory which is typically located at the following location :

~/Documents/{Your Version of Visual Studio}/Backup Files/{Your Project Name}

Within this folder, you will see a collection of files that are both original and those that have been previously recovered as seen below :


Visual Studio will typically prompt you to open these files if your system experienced an unexpected shut down when opening an affected solution or project, but this should provide an easy way to access these files if things do go horribly wrong.


Mac keyboard shortcuts

Original post by Matt Gemmell on

Here’s a quick list of the primary keys involved in keyboard shortcuts on the Mac, for reference. If you’re reading this article on a desktop device, you can also hover your mouse over any keyboard shortcut to see it spelled out.

  •  Command (Cmd) key
  •  Option (Alt) key
  •  Control (Ctrl) key
  •  Shift key
  •  Caps Lock
  • Fn Function key
  • F1 F1 key (and so on)
  •  Tab key
  •  Up arrow
  •  Down arrow
  •  Left arrow
  •  Right arrow
  •  Return key
  • Space Space key/bar
  • Esc Escape key
  • Del Backspace/Delete key

Navigating the UI using the keyboard

Many people don’t realise that you can access and control much of the user interface without using a pointing device. You can find the relevant settings in the Shortcuts tab of the Keyboard panel in System Preferences. Make sure that Keyboard is selected in the list on the left side.

Keyboard pane UI shortcuts

With the commands in that section, you can move the keyboard focus to various parts of the interface. One of my favourites is ⌃F2 to move focus to the menubar. Depending on the function keys setting in theKeyboard tab of the Keyboard panel, you might need to add Fn to any shortcut involving one of the function keys.

You can also switch between apps with ⌘⇥, and you can switch between the windows of an app with ⌘` (that’s the backtick key, which also has the ~ character on it). In both cases, you can add to cycle through apps or windows in the opposite direction.

Finally, make sure you’ve enabled Full Keyboard Access in the Keyboard panel. When active, you can use the  key to move between most controls on the screen, not just text boxes and lists.

Searching the menubar

Mac apps tend to have lots of menu commands, and it can be difficult to remember where they all are. Instead, you can just type to search (and then trigger) a menu command, by pressing ⌘? (on English keyboards, that’s usually the same as ⌘⇧/).

Help menu search

When the results appear, use ↑↓ to select, and  to activate.

Using Spotlight

Spotlight lets you quickly find and open any apps, files, emails and so forth on your Mac. You trigger it with ⌘Space.

When the results appear, use ↑↓ to select, and  to activate.

You can also use ⌘↑ and ⌘↓ to jump between the sections (categories) in the list of results.


Finally, if you hold  when activating a result, it will be revealed in the Finder instead of being opened.

Customising keyboard shortcuts in apps

Apps have their own keyboard shortcuts (mostly defined in their menubars), but you can change many of them to suit your own needs. To do so, again use the Shortcuts tab in the Keyboard panel, but this time select App Shortcuts in the list on the left side.

Keyboard pane app shortcuts

Create a category for the app whose shortcuts you want to override, then make an entry for each relevant menu command. Make sure you type the name of the menu command exactly as it appears in the app, including case-sensitivity and punctuation. In particular, note that an ellipsis (…) after a command name is a single character, not three periods. You can type an ellipsis with ⌥;.

Opening recent items

One of the things I do most often on the computer is opening recently-used files. Most apps keep track of their recent files in the Open Recent submenu of the File menu, but you can also get at them via the keyboard.

First, trigger the Application Switcher with ⌘⇥, and then keeping  held (so the Application Switcher remains visible, and has the relevant app highlighted), just press .

You’ll see a display of all the app’s open documents, with a horizontal Cover Flow browser of recent files along the bottom.

Recent items

You can select any item with ↑↓←→, and open it with .

Working with Save sheets

Saving (or closing) an unsaved document invokes the familiar Save sheet, which can mostly be controlled via the keyboard.

Save sheet shortcuts

You can:

  • Press Save with 
  • Press Cancel with ⌘.
  • Press Delete with ⌘Del
  • Go to your Home folder with ⌘⇧H
  • Go to your Desktop with ⌘D
  • Go to any folder by pressing ⌘⇧G, then type the folder’s path. While typing the path, you can use  (or stop typing for a moment) to autocomplete folder names.

Full Keyboard Access will give you access to the rest of the Save sheet’s UI too.

Working with mailboxes in Mail

If you’re a Mail user (as in Apple’s own email app on OS X), you can easily add your favourite mailboxes to Mail’s toolbar, which gives you the considerable benefit of being able to open those mailboxes using keyboard shortcuts.

The 'Go To Favorite Mailbox' menu in Mail

You can also move selected messages to those mailboxes using another set of shortcuts.

The 'Move To Favorite Mailbox' menu in Mail

Don’t forget that you can customise Mail’s existing keyboard shortcuts as mentioned previously.

Using app-specific global hotkeys

Certain apps let you add global hotkeys to trigger them regardless of which app is frontmost at the time (though the app you’re triggering usually has to already be running at the time). For example, the official Twitter app on the Mac lets you choose global shortcuts to make a new tweet, and to toggle the app’s visibility.

Global shortcuts in Twitter app

Check each app’s own Preferences window to see if there are any shortcuts you can customise, and be sure to choose ones that won’t conflict with something else. Use as many modifier keys as possible to lessen the chance of any conflicts.

Looking up words

Whilst you’re typing, you can quickly look up the selected (or nearest) word in the system’s dictionary. The keyboard shortcut to do this is customisable (in the Shortcuts tab of the Keyboard panel again, this time in the Services section). On my Mac, it’s ⌘⌃D.

Dictionary lookup

The definition will be shown in a pop-over window. You can choose which dictionaries are used by opening the Dictionary app, and visiting its Preferences window.

Customising how autocomplete works

Autocompletion can be helpful, and sometimes it can be the bane of your existence. You can tip the balance by adding your own useful text substitutions. It’s once again in the Keyboard panel, but this time in the Text tab.

Keyboard pane text substitutions

That’s also where you can disable spelling correction, if you want to.

Typing special characters and emoji

There are many special characters and emoticons that you can type on OS X in almost any text field, usually via the Special Characters…menu command (often in the Edit menu). You can also trigger the palette with ⌘⌃Space.

Special characters palette

You don’t need to use the pointer at all when working with these characters. You can:

  • Press  to switch sections.
  • Use ↑↓←→ to choose a character in the current section.
  • Press  to insert the select character into the frontmost app.
  • Just start typing to search for a character or symbol.

You can also tear the palette off and leave it floating around if you want to quickly click to insert multiple characters.

Zooming the screen

I often find it very helpful to temporarily enlarge sections of the screen, and OS X has a built-in function to do so. It’s in the Accessibility panel in System Preferences, in the Zoom section.

Accessibility zoom

The most useful shortcuts here are:

  • ⌘⌥8 to toggle zoom on or off.
  • ⌘⌥= to zoom in (when zoom is already on).
  • ⌘⌥- to zoom out (when zoom is already on).

You can control many aspects of how zoom works (whether it’s smoothed or jaggy, whether the whole screen zooms or uses picture-in-picture, and how zoom follows the mouse pointer) using the More Options… button.

Third party utilities

OS X itself can get you pretty far with keyboard control, but your productivity will take another leap with some well-chosen third party utilities. There are hundreds out there that focus on controlling your Mac using the keyboard, but I’ll just share three of the ones I use.

First utility is Alfred; Alfred can be used as app launcher and file-finder, instead of Spotlight. It does about three thousand things, but one of the most useful features for me is that I can find, select, and act upon multiple files at once – without ever touching the mouse.

Alfred lets you quickly add the selected search-result to a “buffer” by pressing ⌥↑, and you can then type another query to find another file, add it to the buffer, and so on.

Alfred file buffer

When you’ve found all the files you want, you can then press ⌥→ to take action on all the files in the buffer.

Alfred file actions

This barely scratches the surface of what Alfred can do. I can hardly use a Mac without it anymore.

Next, a utility I was only made aware of a short time ago, and I immediately bought a license: Shortcat. It’s basically Spotlight but for all visible controls and objects on the screen: it’s type-to-select foreverything you can see.

Essentially, you type ⌘⇧Space, type a query, and Shortcat highlights elements on screen with quick-access keys. You can then use those keys to move the pointer to the relevant object, and click it by pressing . It’s wildly, ridiculously fantastic. You should be using it.

Finally, the ultimate in keyboard control (and automation) is of course a macro utility. Automator is sort of similar, but my chosen app for this is Keyboard Maestro. If you’ve ever used QuicKeys or similar utilities, you’ll know what to expect. It’s incredibly deep and versatile, and you can extensively automate your workflow with it.

I’d recommend each of these utilities to you without hesitation.

Keep your hands where they belong

Controlling your Mac via the keyboard isn’t just faster and more satisfying, it can also remove a lot of pain from your life. Physical pain from contorting your wrists to use trackpads and mice, and tension headaches from nudging a pointer towards tiny targets all day long.

It takes time to learn what’s possible, and to re-train yourself to use the keyboard instead of reaching for the mouse, but the payoff in speed and efficiency is more than worth it.

Keep your eyes on the screen and your fingers on the keys, and you’ll be done in no time.

Introducing ASP.NET vNext

The next version of ASP.NET (“ASP.NET vNext”) has been re-designed from the ground up. The goal is to create a lean and composable .NET stack for building modern cloud-based apps.

ASP .Net vNext

Below are Key Statements from Blog ^-^

ASP.NET vNext will let you deploy your own version of the .NET Framework on an app-by-app-basis. One app with new libraries can’t break an app next door with a different version. Different apps can even have their own cloud-optimized CLR of their own version. The CLR and cloud-optimized libraries are NuGet packages!

vNext is open source and cross platform.

NuGet packages and class libraries are treated the same. You get full intellisense in the project.json file and NuGet packages come down automatically and transparently. Even better, let’s say NuGet package Foo.Bar has a bug but you’ve only got the NuGet package. You can make a folder called Foo.Bar in our local project and put the source via “git clone” in that folder. This is great for open source projects. That local version overrides the NuGet, allowing you to easily patch bugs locally in libraries while you wait for a new release. When a new fixed NuGet-distributed version shows up, update the version and delete the local source.

One of the great aspects of environments like node or rails is that they are “no compile.” Just change some code and hit refresh. With the next version of ASP.NET you get the power and throughput of the .NET runtime plus the “Roslyn” compiler-as-a-service for a “no-compile compile.” That means means during development time you can just change your C# classes and hit Refresh in the browser. It’s the power of .NET with the dynamism of a refresh-and-go development experience

ASP.NET vNext is modular and all about choice; your choice of framework, your choice of runtime, your choice of operating system, your choice of text editor.


  • Cloud and server-optimized.
  • ASP.NET MVC, Web API, and Web Pages will be merged into one framework, called MVC 6.
  • MVC 6 has no dependency on System.Web. The result is a leaner framework, with faster startup time and lower memory consumption.
  • No-compile developer experience.
  • Dependency injection out of the box.
  • Side by side – deploy the runtime and framework with your application.
  • NuGet everything – even the runtime itself.
  • All Open Source via the .NET Foundation and takes contributions.

Oh, and by the way

  • ASP.NET vNext (and Rosyln) runs on Mono, on both Mac and Linux today. While Mono isn’t a project from Microsoft, we’ll collaborate with the Mono team, plus Mono will be added to our test matrix. It’s our aspiration that it “just work.”
ASP.NET on a Mac



An Inside Look at the Insanely Complex Formula 1 Steering Wheel !

The modern Formula 1 car is among the most amazing machines ever made. And when you’re going wheel-to-wheel with someone like four-time world champ Sebastian Vettel at 180 mph, you can’t take a hand off the wheel to do, well, anything. Every task a driver might need to do, every bit of information he might need to know, is quite literally at his fingertips.

The steering wheel of the Sauber C33 Formula 1. Everything a driver might need to do, and every bit of information he might need to know, is literally at his fingers.
The steering wheel of the Sauber C33 Formula 1. Everything a driver might need to do, and every bit of information he might need to know, is literally at his fingers.

The modern Formula 1 steering wheel is, therefore, the most amazing ever made. It is, in every way, the nerve center of the car.

That’s because an F1 car has dozens of parameters that can be adjusted on the fly, but only by the driver. Although telemetry provides a nonstop stream of data to engineers on the pitwall and at team HQ, the driver has sole control over things like differential settings, the air-fuel mix, and the torque curve. All of these settings can change several times during a race, or even a lap. Adjustments must be made while keeping both hands on the wheel and both eyes on the track, which is why a modern F1 wheel might have 35 or more knobs, buttons and switches flanking a small LCD screen introduced this season. Drivers also use small paddles behind the wheel to shift up and down as many as 4,000 times in a race, and a third paddle to engage the clutch.

So What Do All Those Buttons Do, Anyway?

The photo above shows the steering wheel from the Sauber C33, the cars Esteban Gutiérrez and Adrian Sutil are campaigning this season. Teams are notoriously tightlipped about technology, and none of the teams we reached out to had anything at all to say about them, but Sauber has published a diagram explaining everything the wheel does (we’ve mentioned the color of each button to help you find it):

  • Yellow N button: Selects neutral from 1st or 2nd gear.
  • BRKBAL (brake balance) rotary switch: Adjusts the front and rear brake balance.
  • Black Box button: Confirms the driver’s intention to come to the pits.
  • Blue and orange S1/S2 buttons: These can be programmed for various funcutions.
  • Entry rotary switch: This allows the driver to make changes to corner entry settings of the differential.
  • Orange and green BRK-/BRK+ buttons: These change the brake balance between a programmed position and the current BRKBAL rotary position.
  • IGN (ignition) rotary switch: Controls ignition timing.
  • White ACK (acknowledge) button: Acknowledges changes in the system.
  • PREL (preload) rotary switch: Controls the preload differential offset torque.
  • Red Oil button: Transfers oil from the auxiliary tank to the main tank.
  • Black BP (bite point) button: Activates the clutch bite point finding procedure.
  • DRS (drag reduction system) button, upper left edge of the wheel: Activates the rear wing flap in the DRS zone.
  • Red PL (pit lane) button: Activates the pit lane speed limiter, limiting the car to the designated pit lane speed limit (typically 100 km/hr).
  • Black R button: Activates the driver radio transmission.
  • SOC rotary switch: Controls the state of charge of the ERS energy storage system, whether the system is generating or consuming energy.
  • Pedal rotary switch: Changes the pedal map dictating how the accelerator pedal responds to inputs.
  • Fuel rotary switch: Controls the rate of fuel consumption.
  • Black OT button: Activates configurable performance maps to assist the driver in overtaking or defending.
  • Tire rotary switch: Tells the ECU and other systems what type of tire the car is running on.
  • BBal-/BBal+ switches: These are used to make fine adjustments to the brake balance offset.
  • MFRS (multi-function rotary switch): This allows the driver and engineers to control a variety of systems that don’t require a dedicated buttons. They include engine modes (PERF), rev limiter (ENG), air-fuel ratio (MIX), turbo-compressor (TURBO), corner exit differential (VISCO), MGU-K recovery limits (BRK), MGU-K boost limits (BOOST), dashboard options (DASH), cruise control (CC, disabled for qualifying and the race), shift type (SHIFT), and the clutch bite point offset (CLU).
  • White -10/+1 buttons: These allow quick navigation of maps from the MFRS dial.

That’s a lot to process, and it doesn’t even include the pages of data that can be relayed through the LCD screen. More information isn’t always a good thing, which is why most teams let each driver decide which wheel they prefer– the older style with the simpler display or the new wheel with the LCD. That said, the LCD screens have a distinct advantage, in that the driver knows exactly that’s going on, something that saved Nico Rosberg’s bacon when his car’s telemetry system failed just before the race in China. With no information from the car, engineers had to ask Rosberg for periodic updates on fuel consumption and other information. The Mercedes AMG Petronas driver eventually grew annoyed by the repeated queries and asked his engineers to kindly shut up and let him get on with the business at hand–taking second place behind teammate Lewis Hamilton.

In the video below, Mercedes AMG Petronas drivers Nico Rosberg and Lewis Hamilton explain the steering wheels they used during the 2013 season.

Source Link:

How “Scary” Sells With Fear Based Marketing


Can you scare customers into buying your product? Fear can actually sell as much as sex or desire since it will trigger people to take action.

According to Lea Dunn of British Columbia’s Sauder School of Business, when people feel alone and afraid, they form an emotional attachment to the brands around them. She states that in this heightened state, consumers are more likely to remember those products and think of them favorably.

Dunn says this happens because fear induces a need for human connections and if there are no people present, products fill the gap. She believes this emotional attachment happens because people think the product actually “shared” that experience with them.

In works in many sales situations. Behavioral psychologist Dr. Wyatt Woodsmallsaid that:

“If you can find out what people’s worst nightmare is, camp out inside their nightmare…[they’ll] do anything…to get out of that situation.”

News broadcasts have peddled fear based marketing for years. An insider rallying cry of the media has always been, “If it bleeds, it leads.” Famous brands use fear all the time to sell their products. For example:

  • L’Oreal’s tag line of “Because I’m Worth It” confronts self-loathing among women.
  • FedEx’s “Absolutely, Positively Overnight” addresses the fear of missing a deadline.
  • Nike’s “Just Do It” takes aim at missing out because the consumer is afraid.

Fortunately, you don’t need to rob prospects to sell them a home security system.  But you can scare them into buying.

Fear Based Marketing

FUD: Fear, Uncertainty, Doubt

When I was at IBM in the 1980′s, they told us, “No one ever got fired for buying IBM.” This concept helped because I had to sell against competitors whose products seemed technologically similar to ours but always much cheaper.

I frequently used a fear based marketing technique that was called “FUD” (fear, uncertainty, and doubt) to direct the decision maker to buy IBM. In my sales calls, I recounted all the things that could go wrong if they chose a competitor. Fortunately, the decision maker many times chose IBM, despite the fact that we were more expensive, because we were perceived as the low-risk alternative.


Consumers are afraid of missing a deadline. This could be an expiration date of an offer, a holiday calendar deadline or other imposed cutoff date. Dates will push consumers to take action.

Note the surge of people signing up for insurance to comply with the Affordable Care Act on March 31.


Consumers want to be a part of “a club” that not everyone gets into. Put up a gate and watch how many people want to get in. This is exactly what many buyers’ clubs like Costco do with their small membership fees. The fear based marketing message is that the consumer will miss out on some incredible deals if they are not a member.

Fear based marketing does not have to be all gloomy. Articulate the negative to what prospects are currently doing and provide a solution to alleviate that fear.

Awesome Javascript Libraries resource!

We all know the major players in JavaScript projects. MV* frameworks like AngularJS, Backbone, and Ember.js are inspiring a whole new breed of client applications. Utility libraries like underscore and lodash simplify constructs once reserved for academic exercise. And of course, the monolithic namespace jQuery is everywhere. The large teams and growing communities behind these projects are moving forward and providing very solid platforms for developers to build upon. However, they are merely a precursor for the renaissance that is happening in the world of JavaScript right now.

Enter the micro-libraries, the drop-in replacements, and the “I-Had-No-Idea-JS-Could-Do-That” projects. Thanks to tooling like Grunt, bower, and npm, testing suites like Jasmine and QUnit, and of course the social coding site github; dozens of peer-reviewed and test-driven JavaScript libraries are sprouting up every day. Fresh approaches on everything from the core JavaScript functionality to abstractions of the ridiculously complex are in abundance and expanding the very foundation of the web.

VerbalExpression lets you write regular expressions in English; Knwl.js is a natural language processor; 140medley is an entire framework in 821 bytes. Want a DOM selector engine other than sizzle? Try micro-selector, nut, zest, qwery, Sly, or Satisfy. Need a templating engine? Try T-Lite, Grips, gloomy, Transparency, dust, hogan.js, Tempo, Plates, Mold, shorttag, doT.js, t.js, Milk, or at least 10 others. Dates got you down? Check out Date-Utils, moment.js, datejs, an.hour.ago, time.js. Route with Pilot, filter images with CamanJS, write games in Crafty, or make a presentation with RevealJS or impress.js.

Of course, along with this prolific creativity in the JS universe comes some serious overload. A bit of natural selection will eventually get the best of these projects on your radar, but if you want to see the really exciting bits of evolution occurring you have to watch. Constantly.

The elevator pitch for the site is that it is a directory of JavaScript libraries with examples, CDN links, statistics, and sometimes videos about each library. Adding a library to the site is a purposefully manual process that requires writing an example for it, categorizing it as best you can, and sometimes even creating a video about it.

Beyond the very manual process of adding a library, the site is also a chance for you to experiment with all sorts of tech and see in real time how it performs under a moderate load. Originally launched as a .NET application most of what you see today is running node.js under iisnode using Express w/ Jade templates (moving to doT.js as you read), a gulpjs build process, a homegrown CMS using AngularJS and VB.NET (gasp!), and a Lucene.NET search application in C#.


Introducing viewport units

With the introduction of CSS3 we’ve seen huge advancements in web technology, and the last few years have felt like golden ones for anyone working on the Web.

One great addition that hasn’t been talked up enough is viewport units. They’re anew kind of CSS3 unit that allow you to size elements relative to the viewport.

Browser support

The browser support for viewport units is surprisingly good. There’s full support in all the latest desktop browsers.

IE has had full support since IE9 (although it didn’t support the vmin property and IE 10 still has some problems with vmax).

In the mobile world the news isn’t so good. Viewport units are partially supported (there are problems with vh) by Safari, the Blackberry browser and IE Mobile. Android will follow shortly.

Using viewport units

Viewport units work as follows:

  • 1vw is equal to 1% of the viewport’s width.
  • 1vh is equal to 1% of the viewport’s height.
  • 1vmin searches the width and height of the viewport and uses the smaller of the two. For example, if the height is smaller, 1vmin will be equal to 1% of viewport’s height.
  • 1vmax acts the same way as vmin but instead of looking for the smallest it looks for the larger value.

To illustrate this, consider the following HTML:

<h1>A Website</h1>
<li><a href="#">Home</a></li>
<li><a href="#"> About Us</a></li>
<li><a href="#">Contact</a></li>
<section>Your paragraph text in here</section>

Starting with the h1, let’s say we want the heading to be pretty big, so we’ll set it to 15vw, 15% of the viewport’s width:

h1 {
  font-size: 15vw;
  text-align: center;

If you want to control the number of lines on the page you can specify the font-size and the line-height of an element based on the height of the viewport, paragraph elements for example:

p {
  font-size: 2.5vh;
  line-height: 3.5vh;

Setting type sizes is useful, but the units can also be used for layout. For example, here we set the width to 80% of the viewport width and make sure it always stays centered by setting the margins to auto:

section {
  width: 80vw;
  margin: auto;

Final thoughts

As you can imagine, viewport units work fabulously when combined with media queries.

The only real downside I see is that they don’t adjust as you scale down your browser, you have to refresh the page, which is something we’re not used to when we’re dealing with responsive layouts.

You can, as usual, see a demo of this here.

Sizing elements based on the viewport size makes perfect sense, and it’s only a matter of time before their use is widespread.

Secrets of Magic: Revealed!

Secrets of Magic: Revealed!

The Byronic Man

The trick:  Sawing the lady in half.  A woman is placed in a narrow box.  The box is then sliced in half.  The two sections are separated and the woman is still able to move her toes.  The halves are then put back together and the woman emerges unharmed.

How it’s done: It’s a little known medical fact that the human body is held together through a complex system of magnets.  By placing a sheet of de-magnetized metal through the mid-section, the upper and lower body pop right apart without harm.

The clue: Notice people in the front row.  People with loose change, car keys or metallic fillings in their teeth may discover them whizzing through the air toward the bisected assistant.  This is also how the assistant earns a living.

The trick:  Escaping from the shackles.  The magician is handcuffed or manacled, checked by the audience that…

View original post 456 more words