next-generation package manager

Duo is a next-generation package manager that blends the best ideas from ComponentBrowserify and Go to make organizing and writing front-end code quick and painless.

Install It

Install Duo straight from npm with:
$ npm install -g duo

Getting Started

To get started just write normal Javascript, requiring from GitHub as you need them:
var uid = require('matthewmueller/uid');
var fmt = require('yields/fmt');

var msg = fmt('Your unique ID is %s!', uid());
That matthewmueller/uid will pull the dependency straight from GitHub, without you needing to edit any package manifest file! You can also require modules straight from your file system:
var modal = require('./modal/index.js');
Then use duo to install your dependencies and build your file:
$ duo index.js
Finally, drop a single <script> onto your page and you’re done!
<script src="build/index.js"></script>
Same goes for CSS! You can require dependencies and assets straight from GitHub or from the file system:
@import 'necolas/normalize.css';
@import './layout/layout.css';

body {
  color: teal;
  background: url('./background-image.jpg');
Then bundle up your CSS with duo:
$ duo index.css
And add your bundled-up stylesheet to your page!
<link rel="stylesheet" href="build/index.css">


  1. has first-class support for Javascript, HTML and CSS
  2. exposes a unix-y command line interface
  3. pulls source directly from GitHub with semantic versioning
  4. supports source transforms, like Coffeescript or Sass
  5. does not require a manifest


Duo was designed from the ground up to grow alongside your application, making your three main workflows incredibly simple:
  1. creating quick proofs of concept
  2. writing modular components
  3. building large web applications

I. Proofs of Concept

As developers, we often need to test out an idea or isolate a bug. One of the big issues with existing package managers is that you cannot use your package manager without a lot of boilerplate files like package.json or component.json. Duo removes this boilerplate, letting you require packages straight from your source code:
var events = require('component/events');
var uid = require('matthewmueller/uid');
You can also include versions, branches or paths:
var reactive = require('component/reactive@0.14.x');
var tip = require('component/tip@master');
var shortcuts = require('yields/shortcuts@0.0.1:/index.js');
And the same goes for CSS with import:
@import 'necolas/normalize.css';
@import 'twbs/bootstrap@v3.2.0:dist/css/bootstrap.css';
You can even directly require .html or .json files:
var template = require('./menu.html');
var schema = require('./schema.json');
Duo will take care of the rest, transforming the .html into a Javascript string, and .json into a Javascript object. When you’re ready to build your files, just run:
$ duo index.js index.css
The new files will be located in the newly created build/ directory, using the same structure as your project.

II. Components

A successful package manager needs to have a strong component ecosystem. Duo supports all of the existing Component packages out of the box. And, since Duo can load from paths, it supports many Bower packages too. There are even plans to support Browserify packages as well. We’re hoping to bridge the gap between all the different package managers and come up with a solution that works for everyone. To create your own public component, just add a component.json to your repository:
  "name": "duo-component",
  "version": "0.0.1",
  "main": "index.js",
  "dependencies": {
    "component/tip": "1.x",
    "jkroso/computed-style": "0.1.0"
And then publish your component on GitHub, so that others can install it by simply requiring it into their application:
var thing = require('your/duo-component');
If you’re coming from the Component community, you’ll notice that we no longer need to add scriptsstyles or templates. Duo handles all of this for you, walking the dependency tree like Browserify and including everything you need automatically, for both Javascript and CSS!

III. Web Applications

In order for a package manager to be truly useful, it needs to scale to accommodate building entire web applications. Once again, Duo makes this process seamless. Duo allows for building multiple pages at once, so that you can split up your application into different bundles and keep your page assets slim. To build from multiple entry files, just pass more than one entry into duo:
$ duo app/home.js app/about.js app/admin.js
You can even use brace expansion:
$ duo app/{home,about,admin}/index.{js,css}
If Duo discovers an asset like an image or font along the way, it will automatically include it in your build/ directory. Say we have the following image in our CSS file:
@import 'necolas/normalize.css';

body {
  background: url('./images/duo.png');
Duo will symlink duo.png to build/images/duo.png, so that you can serve the entire build/ directory from your web server.


To see some more complex examples of Duo in the wild, check out any of these repositories on GitHub:


For more information, read through some of the resources put together by the folks in the Duo community:

EditGrid Tutorial on Managing Spreadsheets from Your Workspace

In this tutorial, I am going to show you how to manage your spreadsheets from your workspace in EditGrid. From your workspace, you can delete your spreadsheet, edit tags, rename it, and more. To begin using this tutorial, you will need to login to your EditGrid account and go to your workspace.

How to Delete Spreadsheets in EditGrid

We will start with deleting spreadsheets. If there are spreadsheets that you no longer need or want, you can delete these. You will need to check the box next to the spreadsheet or spreadsheets that you want to delete. Once you have those selected, you will need to click the Delete button at the top of your workspace. A box will open and ask if you really want to delete it, click Yes. EditGrid

How to Rename Spreadsheets in EditGrid

If you have spreadsheets that you need to rename, follow these steps. Click the box next to one of the spreadsheets that you want to rename. Once the box is checked, go to the top of your workspace and click the Actions button. When the menu opens, click the Rename option. A box will open and you can delete the name in the field and type the new name you want. Then click the Rename button to apply the new name to your spreadsheet. The box will close and you will see your changes.

How to Edit Tags in EditGrid

If you need to edit your tags for a spreadsheet, click the box next to the spreadsheet that you want to edit. Then click the Actions button and select Edit Tag in the menu. A box will open and in this box you will need to type your new tags. You can use more than one tag, but they must be separated by comas. When you are finished adding tags, you can click the Save button. The new tags will be added and the box will close. update the information on EditGrid

How to Share Your Spreadsheets in EditGrid

You can share any spreadsheet that you have in EditGrid. You have many different options when it comes to sharing these spreadsheets. To see your options, click the box next to the spreadsheet that you want to share. Then click the Share button at the top of your workspace. When the menu expands, you will see all of your options for sharing the spreadsheet. Select one of the options and share it. You can also share the spreadsheet with different social networking sites.

How to Insert Comments into Cells in EditGrid

You can also insert comments into cells. When you insert a comment into a cell, you will see a red arrow in the top right corner of your cell. You can mouse over the arrow and you will see the comment pop up in a little yellow box. To insert a comment, click the cell that you want to insert it in. Then click Insert gt; Comment at the top of your spreadsheet. When the box opens, type your comment and click the OK button. You can then mouse over your cell to see your comment.

Exploring Adobe Photoshop CS3: Droplets, Automating Your Tasks

adobe Droplets
In Part 1, we created a Watermark Action for one or two images. Now what if you have to watermark tons of images? It would still be hard to open your files one by one and hit the play button tons of times. So, enter the Droplets. Droplets allows an Action to be done on a set of images. It automatically performs the Action you selected on the images you wish to process. This could be done by either dragging your images to the Droplet icon (which we will get to later), or by selecting all open files in Photoshop. First, we have to create a Droplet. File – Automate – Create Droplet. A window will then appear containing the following sections.

Save Droplet In

Select where you would want to save your Droplet. The Droplet would appear as an executable file. It has an icon of its own outside of Photoshop, meaning your Droplet will remain in view whether Photoshop is running or not. For this demonstration, let’s say we save the Droplet on your Desktop and name it as Watermark.


Set: Select the folder of your Watermark Action, if you created one, otherwise it would appear in the Default Folder. Action: Select the Watermark Action. For now, we will only mark the “Include All Subfolders” and “Suppress Color Profile Warnings” options. You can then later experiment with the other Droplet preferences. Droplet in Photoshop


Select a destination where you would like to save your Action-Performed projects. For this sample, create a Watermarked Folder on your Desktop. You may leave the Override Action “Save As” Commands unmarked since we have not done any Save As commands while recording the Watermark Action in Part 1. However, if you did save your file during recording, marking this checkbox would mean automatically saving your file in the Destination Folder (which is the Watermarked Folder you created on your Desktop) regardless of where you saved your file during recording. But if you do mark the checkbox, if your recording does not contain any Save As commands, your watermarked files will not be saved whether you have indicated the Destination Folder.

File Naming

This is where you specify the filename format you would like to use for watermarked images. To keep thngs simple and short, select Document Name for the first box and extension for the next box and leave the rest empty. Take note that you may save your filename will appear as the option you select – lowercase, uppercase, day before month and the like.
  • Starting serial#: We leave this as 0.
  • Compatibility: Select your operating system. Right now, I am using Windows.
  • Errors
  • Here you may either Stop for Errors or have it written in a file.
  • Click the OK button when you are done.
droplets demonstrate You would then notice a Watermark icon on your Desktop. To get things going, you may either double-click on it to start the Watermark Action on all open files (these files must be saved first) or drag a folder of images to it (remember that we checked the Include All Subfolders option, so all contents of your folder will be watermarked). Either way, Photoshop would start to automatically watermark your images. If the Save As command isn’t included in your Watermark Action (which is not if you followed exactly the steps in Part 1), the Save As Window will continually appear after every watermarked image. Since watermarking is usually the last step in creating images, it would better to add a Save / Save As command to the Action. However, if your Action is to be done at the middle of your work, a Save As command would not be really needed to be included in the Action and it would be better to mark the Override Action “Save As” Commands to prevent the Save As prompt each time. Once done, check your Watermarked Folder on your Desktop and you will see your images all watermarked. Aside from watermarking, you could use Actions and Droplets in cropping and resizing (which could really be handy when making thumbnails or a photo album), adding color, textures and more complex tasks. More time could be saved and getting the job done is a lot easier.

Microsoft Excel Tutorial: How to Use the Control Toolbox

Microsoft Office Excel Control Toolbox
The Microsoft Office Excel Control Toolbox has many controls and this tutorial describes what each control does and how you can use them.

1. Open Microsoft Excel

For this tutorial, you can use a pre-existing Excel file but I always like to create a new file so I don’t end up making undesired changes to the currently existing file, so open Microsoft Excel to create a new file.

2. Click View – Toolbars –  Control Toolbox

This will bring up the Excel Control Toolbox with different buttons for each control. Below is a list of each control with a brief description. (Note to make changes to any control, either click on “Properties” or right-click the control and click Object – gt; Edit). To use the buttons, click on one of the control buttons and then click anywhere on the worksheet to place the control on the worksheet. Control Toolbox Design Mode: Lets you make changes to any control on the worksheet. When you are in design mode, you have the ability to make modifications to all the controls on the sheet. Properties: You can set the individual properties (like height, color, width, font, etc) for all the controls currently on the worksheet. From the dropdown of the properties window, you can select which control you want to change, and below you can make the changes to the different available properties.
  • View Code: This is an advanced feature that you can use with macros.
  • Check Box: You can create a standard checkbox.
  • Text Box: Create a standard textbox.
  • Command Button: Create a clickable button.
  • Option Button: Create a standard radio button.
  • List Box: Create a standard list box.
  • Combo Box: Create a standard combo box / drop-down menu.
  • Toggle Button: Create a standard toggle button with on/off type functionality.
  • Spin Button: Create a standard spin button to increment/decrement quantities.
  • Scroll Bar: Create a standard scroll bar to move up/down.
  • Label: Create a standard label with static text.
  • Image: Create a standard image to include pictures.
  • More Controls: Depending on what you have installed on your machine, you will see hundreds of additional controls you can include in your workbook!
Most of these controls from the Excel Control Toolbox are pretty self-explanatory, and in order to understand how to correctly use them requires actual hands-on practice. I would suggest keeping your Control Toolbox docked at the top with the other toolbars so you can easily access any of the controls when you need to. You can use the controls from the Control Toolbox listed above to make your Excel worksheet more interactive and user-friendly. You can also provide additional functionality by adding control to your worksheets.