CoolComputing Logo

Computer Tips, Coupon & Promotion Codes, Discount & Reviews

Coupons/Deals  ·  New Promo Codes/Coupons  · February 5, 2016
Cool Devices News

Recently I had purchased a refurbished Benq RL2455HM computer monitor via a sale by Benq Direct. Although the highly-praised screen is made more for gaming with its 1ms response time, we had used it with an Amazon Fire TV Stick as a TV for the kitchen. The RL2455HM works well for that purpose, but unfortunately it is a real pain in the butt to change the volume as you have to literally press different buttons 10 times reach the menu to do it.

Overall, even though that was a pretty nice setup, obviously the new Apple TV 4 is the better video streamer, especially with its support for apps. I had the Apple TV 2015 connected to a big screen Samsung TV in the living room, but ironically we were watching shows on the Benq 24" monitor more and more lately, so I decided to make the switch for several reasons:

  1. I was thinking about cancelling Amazon Prime. This decision certainly is not based on the terrific customer service Amazon provides, but rather because of Prime's dwindling benefits for me. Its video service doesn't have a great selection of shows, and the ones we have pretty much watched most of the ones we liked as a family, such as The Amazing Race (yes, all 27 seasons worth!) Prime Music is meh, and the unlimited photos storage is not a good experience to upload from the PC (lots of hiccups during uploading) and access from apps (slow loading the photos).
  2. Slow Plex streaming performance on the Amazon Fire Stick for HD videos recorded with Windows Media Center. I still have not upgraded my main PC to Windows 10 yet from 8 because I still use Windows Media Center to record over-the-air (OTA) shows such as MasterChef. On even the iPad 3 I can reliably stream those shows via Plex from the PC, but the stream is unwatchable via the Fire Stick.
Internet and related news

Bing Rewards is pretty nice way to earn small prizes (or chances to win big awards) while doing what you would normally do anyways on a daily basis- use an Internet search engine. Since Google is so dominant, Microsoft has had to resort to the Bing Rewards system to entice users to use Bing more. The strategy has worked, at least for me- I've set Bing as the default search engine on all the browsers I use. I even set the Bing Dashboard as one of default/home pages when I launch Firefox, to take advantage of their daily "free" points (there are usually 3 of them).



Unfortunately about 1/3 of the time I am unhappy with the search results and have to use Google, but for the most part it's been a more than acceptable compromise since I have been able to accumulate 16356 "credits" to date, which I have redeemed for more than $150 in Amazon gift cards, $5 at a time. As a "gold" member, I am able to get a $5 Amazon GC for 475 points, a "discount" of 50 credits.

My wife does the same thing, though recently she ran into two problems. First whenever she tried to redeem for her Amazon code, it would just send her redemption page instead of the order form. Secondly, the cost for the $5 Amazon gift card shot up to 775 points.
Swift & Xcode Tips & Solutions I wanted to create an array in Swift that contained the names of every day of the week, e.g. Sunday, Monday, Tuesday, etc. Obviously, I can do something like the following:

let daysOfWeek = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", Saturday"]
But the problem was that I also wanted those names to be localized into other languages without having to manually create one for each. I knew that iOS Objective C/Swift supported automatically translating date names using ​NSDateFormatter, but I wondered if there was a way to achieve what I want without passing and converting actual, specific dates such as "2016-01-01".
Tips: Linux/Unix world

Google's PageSpeed Module has had a lot of praises heaped upon it for its ability to perform a myriad of performance optimizations to help web servers deliver content quicker. I had tried it in the past on my servers (running CentOS & Apache) but was always hit by heavy, unacceptable server loads. So I've always had to just go back and disable it. That was actually a couple of years ago, so recently I gave it another go. I downloaded the latest beta version (mod_pagespeed version 1.9.32.10-7423). Installation was easy, though I ran into a hiccup because I had a previous version installed, so I had to first uninstall it:

rpm -e mod-pagespeed-stable-1.0.22.7-2005.i386

then:

rpm -Uvh mod-pagespeed-beta_current_i386.rpm

worked like a charm.

So I left it at the default settings, and just let Pagespeed do its magic. I then went to Pagespeed Insights to quantify any performance difference, and it did gave 4 to 5 points better scoring for mobile. Though on at Webpagetest.org the results were mixed, though I was able to tell from the performance filmstrip mode that the sites started rendering on screen faster, which is always a positive. Checking on the iPhone, and I did feel that the sites were feeling snappier. Great- or so I thought.

Swift & Xcode Tips & Solutions

​So I was working on Xcode 7.1.1 (using Swift 2.1) on my new app, and decided to localize it. I'm relatively new to Swift and iOS development, but so far. so good. I wanted to share a couple of "gotchas" I ran into while trying to internationalize my app. My biggest first stumbling block was not naming the localization strings file correctly. It has to be named:

Localizable.strings

When I created my strings file, I had named it "localization.strings", and was wondering why in the world the NSLocalizedString() was not converting the key value to the translated one as specified in my file, as well as the language sub-versions.
Networking & Mobile News/Tips

T-Mobile's Simple Choice Plan is a terrific option for those who travel out of the country a lot on business or vacation. For instance if you go on cruises you will find it quite indepensible to have access to Google or Apple Maps while roaming around exploring a foreign port city, trying to access your pre-planned points of interest. Also the fact that T-Mobile recently added twenty additional countries to this plan. One new one I've noticed include Croatia which was not there last year.

For the past two years, after returning from Europe cruises, I've noticed that my T-Mobile bill garner oddball data roaming charges even though I had only used data in the free countries (all the ones in Europe are now free, BTW). Much of this was charged on the cship by the cruise line's "Cellular at Sea" service, but no way we were getting legit data from that because you had to purchase an Internet Wi-Fi plan to go online from your device. Also if you ever get a voicemail, you would be accessed $5.99, even though you did not call to check- talk about a bunch of crock. I was able to complain to customer service and they did take out the invalid charges, but not without the "next time we won't do this" warning. I also requested each time to have T-Mobile block these fraudulent data charges but they would say that the only option is to block international roaming all together, which would defeat the purpose of the only perk that keeps me with this company & its Simple Choice plan- free 3G data abroad.

Today I logged into My T-Mobile and noticed to check my bill, and noticed that I was able to change my plan to "Simple Choice North America" for the same $50 a month price. It was a no-brainer as that plan gives you free talk and text to any other North American country, but it was strange how they didn't just automatically switch over my plan. So I encourage you do that when you get the chance.
Tips: Linux/Unix world So I was looking to upgrade PHP on one of my servers running CentOS 5.7 from PHP 5.3.x to PHP 5.5. I wanted to get it to 5.6 actually but unfortunately there is no such package available on Webtactic.com. But anyways I began the process by running the command:

yum install yum-plugin-replace


Which resulted in a shocking error message:


There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

/usr/lib/libnssutil3.so: undefined symbol: opyAlgorithmID_Util, version NSSUTIL_3.12

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.4.3 (#1, Sep 21 2011, 20:06:00)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)]


Wow- I didn't even realize yum was broken on this server, and from which one, I do not know. I did a quick query of the last packages history installed with the following command:

rpm -qa --last | less


The result was:


php-pear-1.4.9-8.el5 Tue 22 Apr 2014 09:51:47 PM CDT
gcc-c++-4.1.2-54.el5 Thu 29 Aug 2013 09:46:14 PM CDT
libstdc++-devel-4.1.2-54.el5 Thu 29 Aug 2013 09:46:12 PM CDT
gcc-gfortran-4.1.2-54.el5 Thu 29 Aug 2013 09:46:08 PM CDT
gcc-4.1.2-54.el5 Thu 29 Aug 2013 09:46:07 PM CDT
cpp-4.1.2-54.el5 Thu 29 Aug 2013 09:46:05 PM CDT
libgfortran-4.1.2-54.el5 Thu 29 Aug 2013 09:46:03 PM CDT
libstdc++-4.1.2-54.el5 Thu 29 Aug 2013 09:46:02 PM CDT
libgcc-4.1.2-54.el5 Thu 29 Aug 2013 09:46:01 PM CDT
php-gd-5.3.27-2.w5 Thu 18 Jul 2013 11:28:22 PM CDT
php-xmlrpc-5.3.27-2.w5 Thu 18 Jul 2013 11:28:21 PM CDT
php-mysql-5.3.27-2.w5 Thu 18 Jul 2013 11:28:21 PM CDT
php-mbstring-5.3.27-2.w5 Thu 18 Jul 2013 11:28:20 PM CDT
php-xml-5.3.27-2.w5 Thu 18 Jul 2013 11:28:19 PM CDT
php-pspell-5.3.27-2.w5 Thu 18 Jul 2013 11:28:19 PM CDT
php-process-5.3.27-2.w5 Thu 18 Jul 2013 11:28:19 PM CDT
php-devel-5.3.27-2.w5 Thu 18 Jul 2013 11:28:18 PM CDT
php-pdo-5.3.27-2.w5 Thu 18 Jul 2013 11:28:17 PM CDT
php-5.3.27-2.w5 Thu 18 Jul 2013 11:28:17 PM CDT
php-cli-5.3.27-2.w5 Thu 18 Jul 2013 11:28:15 PM CDT
php-common-5.3.27-2.w5 Thu 18 Jul 2013 11:28:13 PM CDT
....
Networking & Mobile News/Tips I have an ASUS NT-16 Router which has EasyTomato 0.8 (the newest version) installed. EasyTomato is pretty much an easier-to-use, enhanced version of the popular Tomato/TomatoUSB router firmware. It works well for the most part, but I have noticed that if there are high-speed broadband downloads that are near or exceeding 100 Mbps for several minutes, I could no longer browse the web. It has been an annoyance for months so I decided to really investigate and then hopefully find a solution.



I noticed that firstly the error message I get when browsing the web all stem from "server not found" resulting from the names of the sites not being resolved. Basically, there was a problem with DNS, which the router was configured to "pass through". I had configured the router to route route DNS queries asked for it to the proper servers, such as the Google public DNS ones like 8.8.8.8. When I tried to log into the router configuration to see what what was going one, the hourglass would just keep on spinning with no response, despite the downloads still happily churning along at high-speeds. Once in a while, I am able to get in, and I notice that the CPU load is over 90%.

With no heavy-duty downloads occurring, I decided to turn on the SSH server on my Tomato router so I can get into the system via Putty (an excellent free SSH program for Windows). The IP of my router is 192.168.1.1, and I was able to ssh into it using the username of "root" with a password that matches the web interface.



Once inside, I typed top and pressed ENTER. Top is a Linux/UNIX command that shows you which processes are taking up the most CPU, kind of a text-based version of Window's Task Manager. You can enter capital letter P to sort by % of CPU usage. I then started up the download tasks that would normally "flood" the router, and this was the out of "top" during the heavy download session:



Mem: 25584K used, 101400K free, 0K shrd, 3200K buff, 9364K cached

CPU:   1% usr   2% sys   0% nic   3% idle   0% io   1% irq  90% sirq

Load average: 1.31 0.59 0.61 4/31 5539

  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND

 5446     1 nobody   S     1072   1%  25% dnsmasq -c 1500 --log-async

 2249  2245 root     R     1564   1%  17% top -d1

 5425  2704 root     R     1564   1%   7% top

  322     1 root     S     1232   1%   2% buttons

  922     1 root     S     2632   2%   1% httpd

    3     2 root     SW<      0   0%   1% [ksoftirqd/0]

 2703  2681 root     S     1120   1%   0% dropbear -p 22 -a

    4     2 root     SW<      0   0%   0% [events/0]

 2241   922 root     S     2656   2%   0% httpd

  481     1 root     S     1580   1%   0% crond

 2704  2703 root     S     1576   1%   0% -sh

  928     1 root     S     1572   1%   0% udhcpc -i vlan2 -b -s dhcpc-event -H unknown -m -S

  324   323 root     S     1564   1%   0% /bin/sh

 2245  2244 root     S     1560   1%   0% {.wxdjAka4} /bin/sh /tmp/.wxdjAka4

 2244  2241 root     S     1560   1%   0% sh -c /tmp/.wxdjAka4 2>&1

  326     1 root     S     1556   1%   0% syslogd -L -s 500 -b 2

  328     1 root     S     1556   1%   0% klogd

    1     0 root     S     1248   1%   0% /sbin/init noinitrd

  323     1 root     S     1200   1%   0% console

 2681     1 root     S     1056   1%   0% dropbear -p 22 -a

  490     1 root     S      980   1%   0% cstats

  483     1 root     S      888   1%   0% rstats

  281     1 root     S      608   0%   0% hotplug2 --persistent --no-coldplug

   89     2 root     SW<      0   0%   0% [mtdblockd]

   45     2 root     SW       0   0%   0% [pdflush]

   44     2 root     SW       0   0%   0% [pdflush]

    5     2 root     SW<      0   0%   0% [khelper]

   18     2 root     SW<      0   0%   0% [kblockd/0]

    2     0 root     SW<      0   0%   0% [kthreadd]

   46     2 root     SW<      0   0%   0% [kswapd0]

   47     2 root     SW<      0   0%   0% [aio/0]

Tips: Linux/Unix world

The Android-x86 Project works fairly well. I installed the 4.4.4 version (KitKat) on a virtual machine (VM) created using the free VMWare Player. A beefy Windows 8.1 PC is the host PC. A couple quirks were that I had to delete the default SCSI hard drive device, and then add a replacement IDE drive to the VM. It works great for the most part, except that the mouse is occasionally laggy, and for some reason after a specified amount of time, all I get is a Blank Screen.

Researching the problem, it seems that it has either froze/hung or gone to sleep. I read from many sites that suggested hitting the ESC key, the left right arrows, send some sort of ACPI wake up command (not sure how the heck I would do that in VMWare Player). I tried right-clicks, left clicks, Windows key, dragging the "invisible" mouse cursor- nothing worked in ridding of this black screen. Same goes with CTRL-ALT-DEL.

Tips: Windows-world

Lately I have been using Google's Picasa 3.9 quite a bit to edit/enhance photos, add captions, and other functions on my Windows 8.1 PC. But the thing is, in order to work on a specific picture file (e.g. with the .jpg extension) in the editor, I have to double-click on it, which opens it in Picasa Photo Viewer, then right-click and pick Edit.

If I right-click on an image file in Explorer, I see that in the Context Menu that there is an Edit option/function. But selecting it always opened the file in Paint (mspaint.exe), which is the default Windows elementary graphics editor (you can't even call it a photo editor). I also took a look and noticed on my Windows XP virtual machine, it has the same behavior by default.

All it takes, however, to fix this Photo Editor file association issue is a simple edit in the registry.
Software news

The other day Newegg.com had a very nice offer on QuickBooks 2015 Pro (50% off discount after coupon). Since I already use Intuit Online Payroll, and wanted to upgrade from the now defunct Microsoft Office Accounting 2009 software, I thought it would be a good idea to upgrade at this point. Certainly I had high hopes that it would speed up the process of preparing my S-Corporation 1120S tax return for this year.

My first impressions of QB 2015 Pro after installing it were:

  • It was slow to load.

  • The sub-windows inside the main application become so cluttered that before long you could have 5 or 6 windows open obscuring and distracting from your task

  • There were so many darn menu options on the bar and up top that it boggled my eyes and mind. See the top screen shot pic of the article as an example.
  • It served as a marketing gateway to get you to buy other Intuit products. In fact, Intuit tracks your usage by default unless you turn off the "feature".

Ugh. I must give it a try, I thought- after all, I just spent $150 for it. I have MS Office Accounting (MSOA) on an XP virtual machine because after I had upgraded to Windows 8 on my main PC, I could no longer install it. I knew that Intuit had a data converter tool that would allow the import of data from MSOA into QuickBooks. Unfortunately, QuickBooks 2015 does not install on XP machines.
Tips: Windows-world It is 2015, and tax season is here, so I was wanting to download transactions from various financial institutions such as credit card companies into my accounting software. I still use the now-defunct Microsoft Office Accounting software, which requires import to be of in OFX format. That is the same format that Microsoft Money (which has also been axed by MS) uses. The card companies I use mostly still allow the export of transaction data into OFX, but when I logged into American Express today, I did not readily see such an option.



Last year I remember that I was able to import American Express transactions by downloading into Quicken/Quickbooks format of QFX, and then renaming the file extension to OFX. This time, however, I see that there is a new option called Sync with Quickbooks, and when I went to the Download Transactions option, it only showed 3 options:
  • Adobe PDF
  • MS Excel
  • CSV
Hardware News

There was a special deal during Black Friday on the HP 15 budget laptop on Walmart.com, specifically the model HP 15-f004wm, so I jumped on it as we were looking for an extra, budget notebook computer. The specs were kind of basic, but it was overall a terrific deal considering the $160 price without coupon. It is powered by a dual-core Intel Celeron N2830 CPU which sips only a measly 7.5 watts maximum, 4GB of RAM (nice since many budget laptops recently sport only 2GB), and a 500GB hard drive. The screen is 15.6" though the resolution is only 1366x768. It certainly is not an IPS display since the viewing angle is quite poor. It came with a DVD optical drive which is a nice bonus. The OS is Windows 8.1 with Bing.

When I bought this notebook, I had every intention of swapping out the built-in 500GB mechanical hard drive with a spare 120GB Samsung SSD I had laying around. I figured that since it was using a regular laptop hard drive, the 2.5" SSD should go in no problem, and I was right. The problem, however, was that it was very difficult to get to the built-in HDD to do the replacement.

There was an easily-accessible panel directly underneath the machine. You remove it by loosening the 2 screws, the slide the panel upwards and then you can pull it off. Unfortunately, the door only allowed quick access to swap out memory or the Mini PCI Wifi-Card. You can seen from the tear-down photo that the memory is a single PC3L-12800S SO-DIMM module. Note that the Realtek Wi-fi Module only has 1 antenna connected (single stream)- it is no wonder the wireless speed of this PC is not very fast.

Hardware News

A little more than a week ago, on a Saturday, I lost my Fitbit One fitness tracker device. I have had it for well a year, and used it quite religiously, so it was a real disappointment. My family and myself had gone out to play tennis, went to a restaurant (5:30 PM), and then to shop at Target (6:30 PM). It was at Target when my wife asked how many steps I had thus that I discovered that I didn't have the Fitbit any longer. I simply assumed that it was left at home, but upon returning at night at about 7:45PM, could not find it anywhere.

One of the best ways to locate a lost Fitbit is to use its iOS app itself. So that evening I carried my iPad Mini all over the house and garage to try to locate it, but to no avail. Looking at the steps history, it showed that it last synced at around 3:20 PM, the time when we left home for tennis, which mostly likely meant I brought it with me. It showed that I had about 11K steps at that point. After a few days I had pretty much given up hope, but on Friday I decided to check the app to see if it somehow synced, and to my surprise it did- 2 days ago on Wednesday. My Saturday steps counts count had been updated from 11K to 16K!



I then logged into Fitbit.com to see the time-based step history, and noticed that the final steps were registered at between 5:15 and 5:30 PM. There were ZERO steps registered on Tuesday or Wednesday when it synced. My first reaction was that the Fitbit is in the house somewhere! But, more analytical reasoning determined it wasn't so. If I had carried it back into the house unknowingly, it would have registered steps, but the the lack of any steps showed that it was dropped somewhere after around 5:30 PM that night.
PHP Tips and Code Examples

When you want PHP running in Microsoft Internet Information Services (IIS) to be able to read/write files on a Windows network share, you could run into a myriad of errors and problems. Hopefully this article will help you get everything working smoothly.

Here what we want is to have IIS run as a Domain user who has the proper access to the network share.

  1. After you have installed PHP (in ISAPI mode), go to the IIS Manager, Application Pools, right-click on DefaultAppPool (or the name of your application pool), and select Properties.
  2. Go to the Identity tab and type in the User name and Password for the Domain user. Don't forget to prefix the username with the Domain. For instance (and for our example's sake): MY_DOMAINmy-user Click OK and you will be asked to confirm the password again.
New Featured Coupons and Promotions posted on February 5, 2016
  • Raise.com has 1 new coupon code: RAISE75AF
  • Experiencias Xcaret has 1 new coupon code: XH5AFF
  • Tiny Prints has 15 new coupon codes: PRESDAY30, FEB1050AFF, FEB2080AFF, 0204DEAL, AFF40PHONE, AFF50MAGNET, VDAYSHIP5, 25VDAYFEB, 20BABYFEB, 20INVITEFEB, GRADFEB20, 25HOLFEB, AFF30VDAY, GIFTSFEB20, 25BIZFEB
  • Newegg.com has 46 new coupon codes: AFMN0102, AFMN0087, AFMN0100, AFMN0084, AFMN0077, AFMN0074, AFMN0072, AFMN0083, AFMN0085, AFMN0078, AFMN0089, AFMN0081, AFMN0101, AFMN0086, AFMN0107, AFMN0103, AFMN0093, AFLENOVO1623B, AUSAVE10, AFMN0058, AFMN0056, MBL160203B, MBL160203A, AFMN0050, AFMN0048, AFMN0047, AFMN0065, AFMN0062, AFMN0057, AFMN0054, AFMN0053, AFMN0046, AFMN0052, AFMN0059, AFMN0068, AFMN0064, AFMN0060, AFMN0055, AFMN0049, AFMN0069, AFMN0067, AFMN0066, AFMN0063, AFMN0061, AFMN0034, AFMN0035
  • Puritans Pride has 3 new coupon codes: TROPCAL, PICKANY, SHADOWS
  • Banggood.com has 4 new coupon codes: blitz$7, NEWBAGS, BGMENS8, LOVE214
  • Hard Drive has 4 new coupon codes: AFMN0087, AFMN0102, AFMN0058, AFMN0056
  • Buydig.com has 4 new coupon codes: SUPER50, home60off, BTS30, 5HPXPRO
  • Ssd has 2 new coupon codes: XPSBIZ10, MBL160203A
  • Dell Financial Services has 2 new coupon codes: DELL35DEAL, DELL45DEAL
  • Design Toscano has 1 new coupon code: CJHOME16
  • Istockphoto has 1 new coupon code: 2RGPC46N
  • Newest Deals/Promotions
      Origin.com:
    • Save 33% on of Titanfall Standard Edition @ Origin.
      Puritans Pride:
    • $10 Off Free Shipping. Puritan's Pride Brand Only. Combinable with Order 2 and receive 3 Free.
      Raise.com:
    • $5 Off.
    • Max 10% Off Victoria's Secret Gift Cards.
    • Max 8% Off Lowe's Gift Cards.
    Survey
    What is your favorite platform to play games on?

    Playstation
    XBox
    PC
    Wii
    Other

    Past Surveys

    Votes: 364 | comments: 0
    Past Articles
    Saturday, November 29

  • Adding the DBF dBase (or Any Custom) Extension in Linux (Red Hat, CentOS, or Fedora)

    Tuesday, November 25

  • Import/Convert DBF files to MySQL Using PHP
  • Windows Maximum Connections Limit Solution Using PHP
  • Cron for Windows Using PHP
  • Printing from PHP directly to a PCL printer (Linux)

    Wednesday, November 19

  • Asus ZenBook UX31A Should be Recalled Due to ADATA SSD Defect

    Wednesday, August 20

  • Edit Read-Only PDFs for Free

    Friday, April 18

  • Fix & Troubleshoot Windows Explorer Crashing

    Friday, February 14

  • Script to Auto Unmount/Remove Mapped Network Drives in Windows 8.1

    Tuesday, January 14

  • Solution to Windows XP Slow Boot/Black Screen After Logging In

    Monday, November 18

  • Windows Defender MsMpEng.exe High CPU Access Denied Fix

    Wednesday, October 09

  • WinDNSDynamic.exe from DNSdynamic.org Spyware?

    Wednesday, September 18

  • Automatically Delete Old Files in a Folder in Windows

    Monday, September 09

  • Microsoft Surface RT 2013 Review

    Thursday, April 11

  • Windows Media Center View Video Feed/Resolution Info| Windowed Mode Stuck at 540p

    Thursday, March 28

  • OpenOffice/LibreOffice Custom Hot Keys to Add New Row & Highlight Cells

    Wednesday, March 13

  • Multi-Monitor with Intel HD4000 and Discreet Graphics Card (AMD Radeon) in Windows

    Monday, March 11

  • Panasonic Lumix GX1X Deal $450 After Coupon

    Wednesday, March 06

  • Windows Media Center Display Driver Error on Dell U2713HM Using DisplayPort + DVI Adventure

    Tuesday, March 05

  • Mass Change Date Taken for Multiple Files in Windows for Photos

    Older Articles

  • Find Promo Codes/Coupons