Find us on Google+ Inventor Tales

Sunday, February 20, 2011

FlexNET Publisher - A License to Network (Part 5) - Deploying the Deployment

 

Welcome to Part 5 of FlexNET Publishing.  In the  my last blog post, Part 4, we created a network deployment.  Now, we'll pull it to a client system.

The first step is to go to your client machine, and browse to the location where the network is stored.  


The location of my deployment


Browse down into the folders, and we'll find a shortcut with the same name we used when we created the deployment back in Part 4.



Double Click to start running the deployment.  Since we set this deployment to be non-silent, we'll see the same screens we saw in when we created the deployment, with the same settings we used when we created the deployment. 

We can accept these as defaults (which is the most common), or we can override them to different Serial Numbers, installation locations, etc. 


A sample of the screens you can change during the deployment.
Once you confirm your options, the deployment will run, and the installation will complete.  You'll see a screen similar to this one. 

Install complete!


That's it.  The install is finished, and you can start Inventor (or whatever product you're using).  


So before I close things out, I'll leave you with a couple of tips.


1) It pays to double check the settings the first couple of times you pull your deployments.   You never know when you might find that last little setting that needs to be changed.


2) Pull to one or two clients, then run the products to make sure they're working correctly.  It can be tempting to 'set it and forget it', and pull several deployments without spot checking.  But there's no worse feeling then finding out that something is wrong after you've pulled ten clients, then realizing you're going to have to uninstall them and do it all over.


3) If you realize you've made a mistake on your deployment, all is not lost.  You can go into the "Tools" location of deployment and choose the "Create & Modify a Deployment" option.  You can then go through and change your settings.  


Modifying your deployment


So there you go!  License installed, deployments built, and deployed!  


But we've really only scratched the surface of network licensing.  There is much more that can be done.  In our next blog, we'll talk about options files, and how you can use them to manage the use of your license files! 

Tuesday, February 15, 2011

Autodesk Inventor Drawings and the Raggedy Shaded View

So here is us, on the raggedy edge. Don't push me, and I won't push you. Dong le ma? 
Captain Malcolm Reynolds (Nathan Fillion) in "Serenity"

Every once in a while I run across one of those Inventor Settings that I rarely use.  I set it once, then forget it for a few releases.  Then, like a long lost relative, it shows up again when you least expect it.

The shaded view we'll work with in today's blog


One of those is the setting that controls how Inventor handles shaded views in its drawings.  You may notice, if you shade a view, then zoom in close, the edges of the shaded view look like they were painted in water color.....

By someone in a hurry.....

Who had just eaten a pound of sugar and washed it down with a gallon of coffee....

That's right, the shaded part of the imaged doesn't quite match up to the edges of the drawing.

Click to enlarge the image and see how rough it is
Most of the time, you have to zoom in pretty tight to even notice it, and in many cases, it doesn't really affect anything.  But if you're using a dwf or pdf file, you may run into cases where the 'raggedy' edge becomes visible. 

And it can be a little irritating.

Fortunately, it's not hard to fix it.  All you have to do is go to Tools>Document Settings, and pick the 'Drawing' tab. 

Once on the Drawing Tab, change the "Use Bitmap Setting" to from "Always" to "Offline Only".  Now you can zoom in tight on the view, and the edges will be clean and crisp!

Much better!
Remember, if you want to change this setting for all future drawings, make sure to set it in your template!

Happy Inventing!

All done!

Note:  The model is based on the Mission Candlestick found in the book:
"Mission Furniture - How to Make it" by H.H. Windsor

Sunday, February 13, 2011

FlexNET Publisher - A License to Network (Part 4) - Building the Deployment

“This is what people need: an easy-to-deploy, easy-to-use tool.”
Nat Friedman

Welcome to Part 4 of my network licensing series, building an Autodesk Network Deployment.  This is continued off of Part 3, last week.

So what is a network deployment? 

A network deployment is the installation copied to a shared location where it can be pulled to your clients from one location.  A network deployment can be a real timesaver when installing to several machines. 

So how do we create this network deployment I speak of?

In order to create a deployment, we'll need to create a shared folder on a the machine that's going to host the deployment. 

 Before we get started, create a folder on the machine hosting the deployment.  In my example, I've named it Deployment.  If you're not sure how to share a folder, here's a link with the steps to share a folder HERE.

   
My deployment folder created

1) Now pop in the disk for the Autodesk product you want to create your deployment for.  In this case, I'm using Autodesk Inventor, but the steps are similar for most Autodesk products.  Run the setup to begin the installation process.    Choose Create Deployments when the first screen comes up.

Choose "Create Deployments"
2) The next screen is the Installation Checklist.  It's worth glancing through.  In particular, make sure that you turn off the User Account Control (UAC) if you're using Windows Vista or Windows 7.  If you're not sure how, there's  a KETIV Tech Tip for that HERE.

The Installation Checklist

3) Now, we have the opportunity to select the location of our deployment, and the name of the deployment.  You can browse to the location, or you can type the location in if you know it.  Note that  the deployment path is using the UNC naming convention.

You'll also have an opportunity to create a deployment for a 32 bit client, or a 64 bit client.  Choose the one you want.  If you're working in an environment with both 32 and 64 bit clients, you'll have to create two deployments.

The Deployment Name and Location
4) Now, we'll choose what to install. This will vary depending on what product you're creating an deployment for.  In this example, we'll install Autodesk Inventor, AutoCAD Mechanical, and the Autodesk Vault Client.  Autodesk Design Review must be installed with the Autodesk Vault Client, so it 'checks itself' and greys out.

Choose what to install
5) Next, we'll see the End User License Agreement (EULA).  Accept it, and we'll move on to the next step.

The EULA, accept it and carry on.
6) Now, we get to enter the user information and serial number.  Enter your info, and carry on.

The Product Info (I have to blur out my info!)

7) Now a confirmation of which product we're deploying.  Double check to make sure the selections are right before moving forward!

Double check the product is the one you want
8) Now we can select if we want to create log files, and were we want to create them.  We also get to choose whether or not we'll run our deployment silently when we run it. 

A silent deployment means there will be no dialog boxes, just progress bars.  The deployment will run with the settings created during the deployment. 

A non-silent deployment will still use the settings created in the deployment, but gives us the opportunity to change the settings if we want. 

Personally I prefer non-silent deployments.  I like having the ability to change the settings, and error messages tend to be more verbose in a non-silent deployment.  But the choice is yours!

The deployment settings
9) Next comes the point where I see many make a HUGE mistake.  When you see this screen, click the configure button!  Trust me you won't regret it.

Check configure!

10) The first screen to come up will let you choose whether we're creating a deployment for a standalone (Node locked) or Network license.  In our case, we're creating a network license.  

The default is standalone, so make sure you check this for all products in this deployment.  If you install with the wrong license type, you'll have to modify the deployment, and then uninstall and reinstall any installations with the wrong license type!  
Trust me.  You don't want to be several deployments deep when you find out you've made a mistake!
This screen  also gives you the option to choose whether or not your installing a single license server, distributed license server, or redundant license servers.  Right now, I'll just choose single.  I'll describe distributed and redundant licensing schemes in future posts.
License Type, and Server Name
11) Click next to change other options for your installation.  These will be things like installation directory, default standards, as well as options and preferences.  These will vary for different products, and there's a lot of them, so I won't go into all of them here.  But I will make a recommendation.  

Double check all your settings.  The deployment is the template for all your installations.  It's worth making sure you have all the settings you want.  


A sample of one of the settings screen


12)  You'll also have the chance to include service packs in your deployments, so when you install to your clients, any service packs can be installed with the deployment.  

Personally, I like to include the service pack in the deployment. 

Adding a service pack to the deployment
13) Click on complete deployment, and we'll return to the screen from step 9.  Now we can view our deployment settings one more time, and click "Create Deployment".   At long last, the deployment begins building itself. 

This can take a while.  Monitor the deployments switching disks when the deployment asks you to.

Deployment in progress

14) The deployment will finish after a while, and then you'll be ready to pull the deployment to your clients.  But that's a subject for next week!  

That's it, we're done.... for now!




Wednesday, February 09, 2011

Setting the Stage - Creating Backplates in Showcase

“I gave them the kind of backdrop to make them feel 'I really have arrived,'”
Morris Lapidus

While I was at the Pacific Design and Manufacturing Show in Anaheim today, I had the pleasure of watching Autodesk Solutions Engineer Extraordinaire, Paul Schmucker put on one heck of an amazing presentation.  (BTW, you can see Paul today at booth 3609!).

Paul in action
While I was watching his presentations, I was reminded why I like to watch others present products I know.

You always learn something new.

Paul took a picture of the attendees at the show, created a backplate in Showcase for use in his rendering.

Needless to say, my jaw hit the floor.  I knew it wasn't that difficult, but watching Paul create it really brought it home.

So what was the first thing I did when I got back to my laptop?  I brought one in myself! 

So before I go ahead and share what I learned from watching Paul, what exactly is a backplate?

A backplate is a flat image behind your model instead of the panoramic environment.  The big advantage is their quick, and you don't need to do a lot of processing to get it in the model!

It's great if you want to take a picture from the front of a building, conference room, etc, and put something in front of that.  And the best part, is it only takes a few minutes to do.

I did this at the show with a picture I'd taken a few months ago of the Planes of Fame P-38 Lightening

The New and the Classic

So here's the video of how I did it. 


And if you're interested in the actual Planes of Fame P-38 Lightening at Planes fo Fame.  Here's a picture of it taking to the air in February!

Sunday, February 06, 2011

FlexNET Publisher - A License to Network (Part 3) - Setting Up the License

“There is only one satisfying way to boot a computer.”
 J. H. Goldfuss

Welcome to Part 3 of my network licensing series, continued from Part 2, last week. 

So we've got the license from Autodesk, now we need to set it up.  The steps aren't that difficult, once you know them.

We'll need to set up the network license manager on the server, configure the license, and finally get the service started.

So let's get the license server.  You'll find it on any network enabled Autodesk product, in my case, I'm using Autodesk Inventor.  The other network enabled products will be similar.

First, start your installer setup.  Choose Install Tools and Utilities.

Choose "Install Tools & Utilities

Select Autodesk Network License Manager.  The other utilities are optional, and not required to setup a license.

Choose Autodesk Network License Manager
Continue to click through the screens.  You'll have to accept the End User License Agreement (Eula), and have the option to change the install directory, but that's really all there is to the actual installation of the License manager.


Now we've got the license manager installed, now we need to configure it.  I like to place my license file in the install directory in the installation directory, in a sub directory called "License", but the license can be placed anywhere.  While we're in here, I'm going to use Notepad to create a file named debug.log.  We'll need this file later.

The location of the license files

Now, start the license manager.   You can find it from Start>Programs>Autodesk Network License Manager, or by clicking LMTOOLS.EXE from the installation directory.

We'll start with the Service/License File tab, and make sure it's set to "Configuration Using Services".

Configure using Services
With that confirmed, we'll jump all the way to the Config Services tab.

The Config Services tab.  Where the magic happens.
We'll perform the following steps:
  1. Name the Service by typing a name over FlexLM Service 1.  This isn't necessary, but it's probably a good practice to.
  2. Browse to the LMGRD.EXE file (this is the service that waits for the license request)
  3. Browse to your license file (in the directory you've placed it in).
  4. Browse to the debug.log file (also in the directory you've placed it in)
  5. Check the Use Services, and Start Service at Power Up check boxes.
  6. Save the Service when it's all done.
The service configuration completed
You might think we're done, but there is still one more step we have to do, and it's an important one!

Go to the Start/Stop/Reread tab and hit Start Server.  It should say, "Server Start Successful".  Just like the name implies, this starts the service.

It's Ahhlive!
 Things should be running fine at this point, but it's a good idea to verify everything.

I usually double check on the Server Status tab (hit 'Perform Status Enquiry").  Scrolling through the screen should show you the service is started, as well as the number of licenses available, and how many are in use, if any.

Server up!  2 Licenses of Vault Professional available in this case.
Next, I jump to the Config Service tab, and hit the 'View Log' Button, and check the log file.  It should indicate the service is started, and that license are running.  If users started the appropriate programs, they may already be grabbing licenses!

The key lines will look similar to this:

15:02:07 (lmgrd) License file(s): C:\Program Files (x86)\Autodesk Network License Manager\License\Autodesk 2011 NW Licenses.lic

15:02:07 (lmgrd) lmgrd tcp-port 27000
15:02:07 (lmgrd) Starting vendor daemons ...
15:02:07 (lmgrd) Starting vendor daemon at port 2080
15:02:07 (lmgrd) Using vendor daemon port 2080 specified in license file
15:02:07 (lmgrd) Started adskflex (pid 2460)
15:02:07 (adskflex) Unable to initialize access to trusted storage: 1
15:02:07 (adskflex) FLEXnet Licensing version v11.7.0.1 build 79971 x64_n6
15:02:07 (adskflex) Server started on LT-DELLM6500-03 for:    85588VLTM_2011_0F
15:02:07 (adskflex) EXTERNAL FILTERS are OFF
15:02:07 (lmgrd) adskflex using TCP-port 2080



 
Checking the log
Click the Close Log button, and close LMTOOLS down.  The service is up and running, and we're ready to talk about creating deployments next week!

Tuesday, February 01, 2011

Tolerances - How Do They Stack Up?

“The role of art is to make a world which can be tolerated.”
 William Saroyan

I remember when I was in industry, I worked with a lot of parts that were exposed to moisture.  I would write down a lot of tolerances on a piece of paper, trying to figure out if if two parts would fit through their full range of those tight tolerances.

A representation of the type of parts I once worked on

I still remember one case, over a decade later.  I had carefully calculated my tolerances on a close tolerance part, and the list had been checked twice.  The parts were sent out, and we waited eagerly for the first samples.

A few weeks later my boss had called me into his office, and he said the words no designer wants to hear.

"The first samples are in, and you made a mistake." 

My heart sinks into my shoes.


"You added the Maximum Material Condition.... TWICE.  The print is wrong."

"Oh dear."  I answer.  (Okay those weren't my actual words).

My boss smiles.  "You lucked out."

My eyebrow raises.

My boss continues, "The manufacturers tooling cuts too much material, by the same value as your tolerance.  They're asking if we can accept the deviation.  I'm going to say after careful studying, we can accept it."

I smile.  I can't help it.  I've actually seen a case where two negatives made a positive!  I'VE DEFIED MURPHY!

Still, it cost me some grief, and likely contributed to the current aerodynamic haircut covered by my snowboard helmet.

So what's the moral of my story?  Inventor has a tool that would have helped me out a lot:  Model Tolerances! 

In short, it lets you set the  tolerances of the dimensions in your model, then set them to the maximum material condition (for example).  Then use the interference checker at those conditions.

It's a lot easier than my old piece of paper, and may have helped me stay away form my aerodynamic haircut a little bit longer!  So here's the video of how I might have done it if had today's tools way back when!



Sunday, January 30, 2011

FlexNET Publisher - A License to Network (Part 2) - Getting the License

“Here in Hollywood you can actually get a marriage license printed on an Etch-A-Sketch.”
Dennis Miller

This weekend, I've decided  to continue last week's post, FlexNET Publisher - A License to Network.  For the purpose of this blog post, I'm going to use the steps for a single server.  There are also distributed and redundant servers, but I'll talk about those in a future blog.

So last week, I talked about how what FlexNET is, next, how do I get a license? 

Before you do anything, you'll need to know these things.   Autodesk will want that information before they give you the license.
  1. Serial Numbers for your network enabled Autodesk products
  2. The Hostname for the machine that will host your license
  3. The Ethernet/MAC/Physical Address for your machine, which is the 12 digit number assigned to your network card.  It has the format XX-XX-XX-XX-XX-XX
  4. Your company information
First thing to do, is take your license server, and obtain the ethernet address and hostname

There's several ways to do it, but I usually get it by going to a command prompt, and typing "ipconfig /all"  (without quotes).

Typing "ipconfig /all" in the command prompt
You can find that info in the screen that results.  You'll usually see more than one ethernet address. Any one assigned to a physical card will do.  I do however, usually avoid any wireless cards, because wireless cards are sometimes disabled, and I've seen this disable any licenses assigned to it.

Finding your information
Now, I'll need to obtain my license from Autodesk. There's a couple of ways to do this, one is to go via the web at the following link on the Autodesk website.  You can also call 1-800-551-1490, and follow the prompts to have your license issued.

The other option is to contact your reseller, such as KETIV.  They can help answer questions, and facilitate obtaining your network license.

Once you've obtained your license you can set up your network license.  I'll create a post on that next week.  Erin Gavlick has created a fantastic tech tip too!  You can find that on the KETIV website.

So I'll see you next week for the next step! 

Wednesday, January 26, 2011

Creating a Simple Release Reminder Using iLogic

“The best solutions are often simple, yet unexpected.”
 Julian Casablancas

The other day I found myself trying to find a way to get a release state (Work in Progress, In Review, Released, Obsolete) to appear on the drawing. 


That first part is no problem.  You can do that with iProperties.

A custom iProperty holding the release state.

But, how do we help the =remember to set the state.  We're all guilty of forgetting, right?

That's where a little iLogic can come in.  We can set a reminder to remind us to set the state.

First, we create some parameters in iLogic.  In this case, I've named it "Design_State".  Notice that this is a multi-value list.

The multi-value list.
Now I add rule to use this multi-value list.

Creating and naming the rule

Once the rule is named, you can use the wizard to build the rule. 

Typing the rule in the wizard
Here's the text itself.


'Updates rule when done
iLogicVb.UpdateWhenDone = True

'Creates input list dialog box & allows the user to choose the state
Design_State = InputListBox("Enter Current Work State", MultiValue.List("Design_State"), Design_State, Title := "Work State", ListName := "Available States")

'Writes values to Custom iProperty
iProperties.Value("Custom", "Release_Condition") = Design_State

'Saves file in this rule
ThisDoc.Save

This will create the rule.  But there's still one issue left over.  How can we trigger the rule so it reminds us to check this state, while at the same time not nagging us all the time?

We can edit the event triggers, and set the rule to fire when the document closes.  This way, the rule will ask us to check the state of the drawing.
Setting the event trigger
Here's a little tip on the rule.  You'll might notice that the rule saves the document at the end.  That's to make sure that the file is saved with the state I've set in the rule!

One last step, not related directly to the rule.  I place the custom property into my title block, so the text will show on the drawing.  

The iProperty called out on the drawing


Now, with the parameters set, and the triggers in place, I can close the drawing.  The event trigger fires the rule, and I can set the value of my state.

Firing the rule
There it is!  I hope this helps those who want to create a simple reminder, populate fields, or some combination of everything!  

For reference, here are some previous posts I've made on iLogic that may help if you want more information on some of the steps I've used here.

My post on Creating a Warning Dialog Box (shows process of creating a rule)

My post on Creating a Drawing Format (shows creating a multi-value list)

My post on using  Event Triggers to control when a rule fires

And for good general knowledge on iLogic.  Here's a video from Rob Cohee's Youtube Channel.

So there we go, another little midweek blog on iLogic.  Enjoy!






Sunday, January 23, 2011

FlexNET Publisher - A License to Network

“Vote: The only commodity that is peddleable without a license”
 Mark Twain

Today's blog is rather short, for a couple of reasons.

First, as some of you who follow my Twitter feed have noticed, this weekend was another snowboarding escape to Mammoth Mountain in the Sierra Nevada Mountains

Me with the giant snowman.  He's celebrating a world record breaking 209" of snow in December 2010


Second are some last minute preparations for the first FlexNET class that I've done in quite some time.

Some of you may know this screen
So for this brief blog post, I thought I'd give a short description of what this FlexNET thing is, and what it's doing with your software. 

FlexNET Publisher is a licensing utility created by Flexera Software.  This utility allows you to float licenses of your Autodesk software across multiple machines, even allowing you to install your software on more machines than you actually have licenses for. 

I'm sure somebody out there in the cyberverse is scratching their head.  After all, didn't I just state something that implies, at face value, that you can have run more seats of software than you actually have licenses for.

This is where FlexNET Publisher comes in.  FlexNET Publisher is a utility that is installed on a central computer (referred to as a license server moving forward).  

This server takes your network licenses and floats them among the machines you've installed software on.

For example:

You have 10 licenses of AutoCAD  software, floating on a network controlled by FlexNET Publisher installed on a central licensing server.  But you've installed AutoCAD on 20 machines, how does that work?

The first 10 users to start AutoCAD will get the licenses.  The 11th person to request the license gets a message indicating that the licenses are in use, and they have to wait for a license to free up.  Once one of the licenses is free, they can go ahead and grab that license.

That's how you can install AutoCAD on several machines, but keep yourself from using more licenses than you have.

It's like checking out books from the library.  Once all the books are checked out, the next person who wants that book, has to wait for someone to bring it back.

In a nutshell, that's what a network license is doing.

Of course this is high level, there are nuances, tricks, and things to watch out for, like in any system. 

But if you want to centralize your license management by having the licenses reside on a central server (or servers, but I won't go into distributed systems here), a network license may be something to consider.

And on one last note.  FlexNET manages licenses for many of the Autodesk softwares, but also for other vendors too.  If you've worked in an engineering department of one form or another, you may have used it, and never even realized it! 

That's it for this post.  But leave a comment if you want me to create some blog posts on network licensing in the future.  I'm happy to provide what I can. 

Happy Inventing!

Sunday, January 16, 2011

Autodesk Showcase Revisited - Doodling on a Friday Evening

“Sometimes we strive so hard for perfection that we forget that imperfection is happiness”
Karen Nave

Friday night I decided to take a wood working project I've been working on in Autodesk Inventor, and import it into Autodesk Showcase, just to have some fun. 

The project is a Prarie Sofa out of the book Shop Drawings for Craftsman Furniture.  I've been redoing the plans in Inventor

The sofa, up to know

Yes, this is what I do on a Friday night.  :-)


As I did this, I revisted some of the challeges that come from disconnecting my 'designer's brain', which I've found I need to disconnect when I start working in Showcase.

So what do I mean when I say I have to disconnect my designer' brain?

Well, my designer's brain thinks in decimals and tolerances.  It argues that ".1875" = "3/16? and anyone who uses ".188" isn't doing it right.  My designers brain thinks in right angles and precise calculations.

When you're working in Showcase, this line of thought can get in the way, believe it or not.  In reality, many things don't work in precise inputs.  No edge is perfectly straight, no angle perfectly aligned. 

Reality, by definition, is a bit imprecise.

So what did I try to do to create some of life's natural imperfections? 

First, I added in some cushions to the sofa.  Since Showcase can't create, them, I added them in Inventor.

With the cushions added

Looking at the sofa, I realized it was going to look too 'sanitized' in Showcase.  People would look at it and say: "That looks cool, Jon.  But I dunno, something isn't right."

Trust me, it's happened to me before!

So I went a step further.  I added two extra cushions to the sofa, but used the rotate tool on Inventor's Assembly ribbon to reposition the cushions.

Rotating the cushions
Now if you have a designer's brain, this part may make your eyelid twitch. 

Don't worry about rotating a given amount, just position it until it looks good. 

That's right.  I said 'eyeball' it.

In the end, I think you'll  be happy with the results.  Doing things like this breaks up those perfect lines, and gives you something that looks much more realistic, and therefore, much more appealing. 

Here's the finished result in Showcase.

Here it is, the end result!
I think addin the two pillows, rotated randomly added a bit of realism to it.  In the end, I'm glad I did it. 

As a matter of fact, I may go back and move some more cushions around, just to see if I can improve it. 

So if you find your self doing any presentation like this, be it in Inventor Studio, Showcase, or any rendering program.  Remember that in reality, nothing is quite perfect.

And that's the beauty of it! 

Sunday, January 09, 2011

Stop Seeing Red! Using DWF Markups in Autodesk Inventor

“Skewered through and through with office-pens, and bound hand and foot with red tape”
Charles Dickens

Earlier this week, while reloading on coffee at my frequented haunts, Starbucks in Norwalk, Ca.  I was thinking about DWF files and Autodesk Inventor.

Yes, these are the things that go through my geeky brain while standing in line getting coffee.

I had been talking about marking up DWF files in Autodesk Design Review, and how you can take the DWF markups, and how you can overlay them on your Autodesk Inventor drawing.

Example of a DWF that has markups on it


As I discussed it, I found that I wondered how many Inventor users might not be aware that Design Review and Inventor could communicate on this level.

In short, Design Review and Inventor do have a cozy relationship here.  For years, you've been able to export your files as a DWF, send them to a user who has Autodesk Design Review, and have them mark up your files.

They can send that file back to you, and you can overlay the DWF markup right on top of your Inventor drawing, make your corrections with the redlines sitting right on top of your Inventor drawing.

It can save you the trouble of waiting for drawings to print, you can e-mail the files to someone off site, and yes, it can help you be a little bit more green.

Here's a video on making the full circle!  And don't forget, if you double click on the video, it opens in a new, full size window!



So the next time markup time comes around take a look at using DWFs instead of printing out all that paper!