How to terminate a hung audio application (ie, Cubase, Nuendo, etc.) in Windows 7

Audio applications are so frustrating when they freeze.    Rarely are you able to kill them from the task manager, and often rebooting seems like the only option.     In addition to being difficult to kill, they frequently tie up your audio driver (ASIO drivers especially), making it impossible to run any other audio applications or start a 2nd instance of the offending app.

However, there is hope! Here’s a method that I have found to work quite well :

Step 1 : Install Microsoft ‘Process Explorer’

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Step 2 : Set the offending application’s priority to ‘Realtime’

- Run ‘Process Explorer’, find the hung application, and set its priority to ‘Realtime’

Kill Cubase

Step 3 : Kill the process!

Now that the hung process is set to ‘Realtime’, you should be able to kill it in a matter of seconds.     If the process doesn’t die then repeat Steps 2 and 3 again.

Kill Cubase

Voila!   Your audio app is dead and you can have your life back.

No Comments

ShipSync v3 : Simple FedEx Web Services Integration for Magento

Here it is, the brand new ShipSync!    It’s awesome.

ShipSync v3

ShipSync v3

Rating

  • Incredibly accurate rate estimations, with numerous options for tweaking rate results.
  • Supports List and Account rates
  • Now featuring fully functional international rate requests, with support for all FedEx methods, supported currencies, and destinations
  • Sends verbose package data (including dimensions) to FedEx, avoiding nasty surcharges and expensive dimensional weight fees
  • Option to show estimated delivery date for applicable methods
  • New option for logarithmic handling percentage rewards your customers for buying more by scaling down handling fees as the price of the shipment increases
  • Supports all FedEx domestic and international shipping methods (including FedEx Freight), currencies, and destination
  • Saturday Delivery Flag to enable weekend shipping
  • Free shipping methods, with option to apply free shipping before discounts
  • Uses the very latest FedEx RateService v9, for the most up-to-date and accurate quotes

Shipping

  • Create shipments, retrieve tracking numbers, and print labels from within the Magento admin panel
  • Ability to override and ship non-FedEx orders (such as Flat Rate orders)
  • Ability to override shipping method and shipping address when creating final shipment
  • Can split products into multiple packages and modify weights and dimensions, giving you the ability to get granular and save real dollars on your shipping
  • Fully supports international shipments, tracking numbers, and labels
  • Uses FedEx ShipService v9, the most advanced shipping Web Services API on the market

Tracking

  • Tracking numbers are retrieved and entered automatically once the shipment is created. No more switching back and forth between browser windows and no more cutting pasting. Just click send.

Labels / Printing

  • Labels can be generated in a variety of formats, without the need to install complicated PHP image processing extensions
    • PDF Document
    • PNG Image
    • Zebra EPL2 (Thermal)
    • Zebra ZPLII (Thermal)
    • Datamax DPL (Thermal)
  • Support for all FedEx paper & stock types
    • All available FedEx label sizes : 7×4.75, 4×6, 4×8, 4×9, 8.5×11
    • Supports all FedEx stock formats for thermal printers : 4×6, 4×6.75, 4×8, 4×9
    • Supports Doc Tabs for thermal printers
    • Able to create international labels, including customs data, multiple copies when needed (Consignee copies, etc..), and legal notices when applicable (such as the Geneva Convention).
  • Print directly to Thermal and RAW printers on Windows, Linux, and OSX

Address Validation

  • Validates US addresses using FedEx’s Address Validation service
  • Determines residential status, selects appropriate method (Home Delivery or Ground), and applies applicable surcharges
  • Detects spelling errors and typos and corrects customer addresses
  • Validates and selects proper city, region, and country codes
  • Option to disable shipments to Post Office Boxes (PO Boxes)
  • If the customer address is not found, ShipSync will suggest possible matches

USPS Shipping with FedEx SmartPost

  • Frustrated with Magento’s lack of USPS support? SmartPost is the answer. Ship with the US Postal Service using FedEx’s Web Services and ShipSync
  • SmartPost rating, shipment creation, tracking, and label creation
  • Configuration options for all available Ancillary Endorsements and Indicia Types

Packages & Rate Estimation

  • Adds multiple package functionality to Magento, with the ability to define 6 custom package types
  • Adds fields for Height, Width, and Length for all Magento products
  • Estimates packages on the fly using a First-Fit Bin Packing algorithm
    • Able to automatically split large orders into multiple packages, with up to 95% packing efficiency when properly configured
    • Able to split bundle products into multiple packages
    • Retrieve more accurate rates, since the rate estimation is a reasonable reflection of the final shipment, not a weight-only summary of items
    • Adds a “Special packaging” flag for products, which indicates that a product should be shipped in its own container specified by that products dimensions and weight
  • Shipping really heavy stuff? Avoid those outrageous freight charges by shipping in multiple smaller packages

ShipSync for Developers

  • Firebug debugging, so you can take a peek at Item Collection, Package Estimation, and FedEx Web Services Requests/Responses, making it easy for you to optimize your client’s rate estimations
  • Flexible licensing and well-commented code makes it easy to customize ShipSync for your customers when needed

Support

  • 24/7 email support with response times under 24 hours
  • We’ve been tinkering with Magento since 1.0, and have been playing with FedEx’s web services since its inception, and somewhere along the way we became experts. We offer that expertise to you.
  • Guaranteed to always support the latest FedEx Web Services and Magento versions

Updates

  • An aggressive release schedule with frequent updates and new features
  • Our roadmap is defined by customer request. When our customers ask for something, we listen.
  • Issue & Feature tracker, so you can keep tabs on what’s in the pipeline

System Requirements

  • Linux/Windows w/ Apache, PHP, and MySQL (if you have Magento, then you have this)
  • Magento 1.3.x, 1.4.x
  • PHP-SOAP
  • PHP OpenSSL

Installation

  • It’s simple! Download and unzip into your root Magento directory. Magento will detect the new extension and complete the installation automatically
  • Sign up at fedex.com/developer and request test credentials
    • Enter these credentials in the ShipSync configuration
    • Create a test order for each shipping method that you plan on using (Ground, 2Day, etc…)
    • Create test shipments for these orders, and print PDF test labels
    • Send these labels to your FedEx representative and request production credentials (with Shipment Creation enabled). They’ll have a look and make sure everything looks ok and then send you production credentials
    • Once you receive your production credentials, enter them in the configuration, turn off test mode, and you’re ready to go
  • Start saving money with better rate estimations, and saving time by performing all of your shipping tasks from within the Magento admin panel!

Get ShipSync! http://www.illapps.com/shipsync.html

2 Comments

Retrieving and Parsing Magento Quote Items

When I first started developing with Magento I found retrieving quote items (especially bundle items) to be rather confusing.      Here is the process, simplified ->

1. Get the quote

In most cases you will want to retrieve items from the quote object,  however there are occasions when it’s better to get items from $request or $this, since the items may have been modified by the calling method.  For example, during multiple address checkout Magento sends shipping methods two requests, each with a different set of items for the same quote.    But, to keep this tutorial simple and sweet, let us focus on grabbing items from the quote object.  Here are two easy methods for doing so (use either method depending on whereabouts in Magento you are calling from) :

Customer Checkout Quote
$quote = Mage::getSingleton('checkout/session')->getQuote();
Admin Sales Order Quote
$quote = Mage::getSingleton('adminhtml/session_quote')->getQuote();

2. Get the items

Cool, now you have the quote.    Here are the two main methods for getting items :

$items = $quote->getAllItems();

This method grabs all items (simple items, parent items and their children).     It can be confusing because it contains doubles of configurable products.    However, I find this method simpler to use and implement in the long run.

$items = $quote->getAllVisibleItems();

This method only returns simple items and parent items.

3. Parse the items

This step assumes that you’ve retrieved the items using getAllItems().       Now let’s parse the results and whittle it down to the items that we need.   We’ll do this using a foreach loop, eliminating items until we get the set items of desired items  :

foreach ($items as $item)
{
     	/** If the item is a child, and is not set to ship separately */
	if ($item->getParentItem() && !$item->isShipSeparately()) { continue; }

	/** If the item is a parent, and is set to ship separately */
	if ($item->getHasChildren() && $item->isShipSeparately()) { continue; }

	/** If item is virtual */
	if ($item->getIsVirtual()) { continue; }

        /** Set item */
        $parsedItems[] = $item;
}

In the preceding example we first check to see if the item is a child item (by checking to see if it has a parent) and also if the child item is not set to separately.     If so, we break out of the loop and continue to the next item.     We also check to see if the item is a parent (by checking to see if it has a child) and if the item is set to ship separately.   If so, we break out of the loop because we are only interested in this item’s children.   Lastly, we can check to see if the item is virtual (such as a downloadable product).

Here’s another example.  This one emulates the behavior of getAllVisibleItems().

foreach ($items as $item)
{
     	/** If the item is a child */
	if ($item->getParentItem()) { continue; }

        /** Set item */
        $parsedItems[] = $item;
}

This retrieves only simple items and parent items, stripping child items away.

Once the loop is finished $parsedItems will be a neat and tidy array containing the desired items.

4. Conclusion

The moral of the story?  Reduce by reducing.   I hope somebody finds this information useful.

No Comments

ShipSync 2.1, now with address validation!

FedEx = Magento

This release adds some exciting features ->

  • Address validation via FedEx’s API (checks if address is valid, checks residential status, and cleans address before saving in Magento’s database)
  • New and improved rate request optimization.   ShipSync now estimates packages based on height, length, width, and weight of items, offering a number of different packaging styles.   This method retrieves near-perfect rates for all types of shipments.
  • Adds height, length, and width attributes for products
  • Completely rewritten backend shipment functionality
  • Tons of bug fixes and tweaks
  • Firebug debugging (see rate requests and responses)
  • Much much more…

Get ShipSync! http://www.illapps.com/shipsync.html

Tags: , , ,

2 Comments

Show default price for Magento Bundled products!

Greetings fans, friends, and lovers!

I was going through my directory of Magento mods and found this little snippet that I had made for a client.     I figured some of you cats might be interested, so I just zipped it up into a nice module and am posting it here.    This extension shows the default (base price) of a Bundled Product in the product catalog, as opposed to the lowest price.    This is just a little thang, so I’m giving it away for free.    Enjoy!

Bundled Product

Bundled Product

Download BundleBase Here!

Installation

1. Upload to your base Magento directory and unzip

2. Clear your cache

3. Voila!

Tags: , ,

No Comments

ShipSync v1.3 – Magento + FedEx API, now with THERMAL printing support!

ShipSync v1.2

Woohoo! This update is packed full of coolness. I won’t bother listing all the new features, since they’re listed quite nicely below. However, I will take a moment to rave about the addition of thermal printing support. ShipSync now supports EPL2, ZPLII, and DPL thermal printers, and a wide variety of new label and paper types! Additionally, the quality of the images are greatly improved (the PDF option prints absolutely gorgeous labels—so much nicer than the PNG option). Super big thanks to my FedEx rep for helping out with this.

FedEx must be tired of me running test orders, but I just can’t get over how cool these new labels are… Anyways, these new features are just the beginning. I’ve received a lot of good feedback from my customers, and am currently implementing a number of requested features. Stay tuned!

02/08/2010 – ShipSync v1.3
• Added Free Shipping method
• Added options for all FedEx image types, including Thermal Printing support
- PDF
- PNG
- EPL2 (Zebra ZPL)
- ZPLII (Zebra ZPL)
- DPL (Datamax)
• Added support for all FedEx stock types
- PAPER_7X4.75
- PAPER_4X6
- PAPER_4X8
- PAPER_4X9
- PAPER_8.5X11_BOTTOM_HALF_LABEL
- PAPER_8.5X11_TOP_HALF_LABEL
- STOCK_4X6
- STOCK_4X6.75_LEADING_DOC_TAB
- STOCK_4X6.75_TRAILING_DOC_TAB
- STOCK_4X8
- STOCK_4X9_LEADING_DOC_TAB
- STOCK_4X9_TRAILING_DOC_TAB
• Added option to reprint labels (found on Shipments page)
• Fixed a few minor display bugs

01/13/2010 – ShipSync v1.2
- Added choice of LIST or ACCOUNT rates
- Fixed issues with Internet Explorer
- Fixed problems with Magento v1.2
- Fixed issues with multiple packages
- Added ability to turn off SOAP caching
- Changed label image size from 4×6 to 4.75×7 per FedEx’s suggestion
- Various display tweaks

01/01/2010 – ShipSync v1.10
- First public release!

Get ShipSync! http://www.illapps.com/shipsync.html

Tags: , , ,

6 Comments

ShipSync v1.2 – Magento + FedEx, getting easier by the day

ShipSync v1.2
Oh man, the FedEx API is a real beast.. I just spent the entire evening trying to get ACCOUNT rates to work in Magento.. It seemed strange that Magento didn’t support them before, especially since it’s such a simple flag when making the rate request, but sometimes things aren’t as easy as they should be.. After adding the option to retrieve account rates, my staging site mysteriously started crashing anytime I’d try to retrieve rates. So, what the heck? This is bunk. After hours of tinkering, I finally noticed that when retrieving account rates, FedEx sends Home Delivery in a *different* format than the rest of the shipping options. What?!?! Anyways, I’m a pragmatist, so I added an exception for this format, and account rates started working. Boy, was I relieved.    So, I proudly present VERSION 1.2! Hurray for stability.

01/13/2010 – ShipSync v1.2
- Added choice of LIST or ACCOUNT rates
- Fixed issues with Internet Explorer
- Fixed problems with Magento v1.2
- Fixed issues with multiple packages
- Added ability to turn off SOAP caching
- Changed label image size from 4×6 to 4.75×7 per FedEx’s suggestion
- Various display tweaks

01/01/2010 – ShipSync v1.10
- First public release!

Get ShipSync! http://www.illapps.com/shipsync.html

Tags: , , ,

6 Comments

ShipSync : Simple FedEx API Integration for Magento

Hey kiddos. Remember that mess of FedEx code I posted a few months back? Well, time to throw it in the trash. I’ve got a new plugin, designed from the ground up to get FedEx/Magento integration right. So, if you’re tired of hacking away at this crap, you can kiss your troubles goodbye with my new sweet-ass plugin. It does everything you would want Magento to do, (and you guys already know I have the chops to get it done).

So, if you want to make your boss happy, buy this plugin.

Oh yeah, one more thing. As a customer you get first priority in my email box, and I’m more than happy to help you get your FedEx integration going right..

I expect some of you are disappointed that this isn’t open source, but I’ll be honest: I’ve spent hundreds of hours over the past year figuring out the ins-and-outs of FedEx and Magento, and I just didn’t have the heart to give it away.. Besides, the money for this plugin will go towards important things like music equipment, beer, and making more cool apps.

… and without further ado, the link -> http://www.illapps.com/shipsync.html

Tags: , , ,

1 Comment

Magento MySQL Order Export Tool v1.01

Magento

Magento’s database structure is rather arcane, but the API provides a clean way of retrieving order data. So, I made this little tool to pull Magento’s orders from the API and then populate these orders in a second MySQL database. The orders are exported to two tables : mage (the order data, including customer shipping and billing information), and mage_items (which includes info on the items purchased). The tables are linked by the increment_id (which is also the order #), so it makes for a very readable database. This tool was designed for reporting, but could likely be useful for other applications… If anyone has any suggestions or improvements definitely send ‘em my way!

Installation

  1. Create a Magento API username and key (done within the Magento back-end)
  2. Untar to a protected directory on your webserver (“tar -xvf magesync_v1.00a.tar”)
  3. Edit /etc/cfg.php and define your absolute path, database host, database name, database username, database password, Magento API URL, Magento API username, and Magento API key
  4. Setup a CRON job and set to run as desired (ex, “cd /path/to/magesync; php -q cron.php”)
  5. Watch and be amazed as Magento’s database is demystified!
Download MageSYNC v1.01

Update Log

01/06/2010 – Removed removeMagicQuotes and unregisterGlobals functions since they appeared to be causing problems on some systems (and were also superfluous)

Tags: , , ,

9 Comments

Magento <=> FedEx API (WSDL v6)

Warning: THIS POST IS DEPRECATED! I gave up trying to hack OrderShip and wrote my own extension (http://www.illapps.com/shipsync.html)..    I’m leaving the post here for reference, but I strongly suggest going with a commercial solution.

Read the rest of this entry »

Tags: , , ,

11 Comments