Blog

Payment Machine Helpline

I seem to get at least 4 or more 1-888 calls a day regarding some payment machine scam. Today so far I have received 3 and its only 11:30am. I answer every call by "payment machine inquiry support helpline - how can I help you". This seems to really throw them off. If they persist and go into their spiel, I always ask them where they are geographically located. I get various responses, California, Fort Lauderdale, Saint Catherines, Ontario and lots from "Montreal". I then proceed to ask them a very basic question about something in their area. I insist they answer before we proceed. Where are the everglades? What is the name of the big mountain in the middle of Montreal, what is your closest metro stop (I grew up in Montreal and love it when they claim to be from Montreal), What is the name of the big canal in Saint Catherines... etc.. etc.. Anyway they never get the answer because they are calling from some foreign call center. I then accuse them of lying to me and that I can't have a business relationship when based on a lie. They insist they are not lying, they get tense, an accent appears and then I hit them with the statement " If you aren't lying you must be an idiot, which one is it liar or idiot". Silly but it helps keep my sanity between coding and passport photos. It also is quite fun coming up with a local question for wherever they claim to be calling from.

some scam numbers
1-866-912-8771
1-888-309-4712
1-709-738-6546

2 comments

iPhone apps up to date

I have brought TTC fetch, TTCfetchfree, LAfetch and LAfetchfree, all up to date, They are all up to version 1.2 and have the same functionality. I am almost finished the next version, v2.0 which will make them all universal iphone/ipad apps. Just taking a breather for the next few days. Also debating whether to make my next app IOS 5 based. I cuurently have 6 iPhone apps in the app store and have 5 or 6 more in the pipeline or in my head at the moment.

0 comments

LAfetch in App store



My pay (99¢) version of LAfetch is now available in the app store. I have also submitted an add supported free version of TTCfetch and LAfetch which should be reviewed in a couple of days. Since the free versions has new extra features, I will follow up LAfetch immediately with a new version with the extra features. This updated version will hopefully be available in about 8 days .

0 comments

DCfetch in App store

I decided to reuse some of my code and make better use of my server so I wrote a DCfetch version of my real time bus location location app. I made minor changes on the iphone side and a few changes on the perl (server) side. I also decided to try to release it as a free ad with supplemented Admob ads. Surprisingly it only took one hour learn how to add ads to the app. I am looking forward to people using it. The app was approved today.

I was going to stop my transit apps when I noticed that all the LA bus times were also available in the same format - not sure how I missed that one- so I decided to try to make a LAfetch. After one day of coding, it was working, however it was crazy CPU intensive, taking longer than I expected for each update. I typically write very scalable code. It did scale well but when you have to go through 22,000 plus bus stops comparing all to your location, something had to give. Thus I spent two days rewriting the server code for massive transit systems. Kinda neat how I ended up doing it (have to keep some things secret). I will probably submit LAfetch to the store shortly. LAfetch will probably be ad supplemented also.

Turned out the effort for LAfetch was worth it, as I just heard that the data for all Toronto buses would be released any day. The article I read mentioned some existing iPhone programers were taking about the huge effort required for 9000 bus stops. After my update for the TTC buses, I really have to go back to programming something else......

0 comments

TTCfetch in App store

TTCfetch is now available in the Apple App store. Support page is here.


I am quite happy with the app. There are other TTC streetcar apps available but none showing realtime data of stops and streetcars on a simple google map. They tend to be overly complicated, when really all people want to know is where are the closest streetcars and stops and how long do I have to wait. Most people know how to get from point A to B already.

The app was initially rejected for a minor reason. I made the requested changes in a day and 5 days later it was approved. I actually am glad that Apple rejected the original version. Their reasons were sound and forced me to redesign an aspect of the HMI that I wasn't too keen on in the first place.

Overall with two apps submitted and accepted within the last three weeks, I find anyone who claims that Apple's developers requirements as being onerous or rigorous, really are not doing the basics right.

I put my planned next app aside and have been looking into doing another transport app. I find them interesting, having done similar work in the past way back before my BNR/Nortel days, when I was a designer for CN Rail. I actually wrote the first Rail Meet Prediction and graphical display program used in Canada. It was a work of art, all written in machine code, something that no-one would ever try in this day and age. It took into account among other things train weights, speeds, multiple-trains, geographical positions, priority, crew hours, terrain, and decided which trains would go into which sidings for best efficiency. Oh to have that data now....

0 comments

OTAMap

Yup finally finished my first iPhone App. It was accepted into the App store last week. So far I am happy with the results and the app itself. I have a list of 5 or 6 improvements/new features which I will get to in a month or so. The OTAMap support page is available here. I also finished my second app TTCfetch last week and am just waiting for App store approval.

OTAMap will help you find and aim your antenna at any television station within range of your current GPS position. Tons of fun for antenna hobbyists or installers.

TTCfetch will show live data of all street cars and street car stops within 1 km of your current position. It also show real time predictions of street car arrivals at the street car stops.

I am working on a third app at the moment, hopefully I can get my head around it this week, but it is related to the mining industry.

0 comments

Using multiple mc2xml channel lists with Eyetv

My previous blog entry Adding free TV program listings to EyeTV showed how to add free TV listings to eyetv. For many people it is useful to have more than one channel lineup from multiple zip codes. Originally I wrote a nice perl script to combine multiple xml files for use by eyetv, but I have found that eyetv can be quite temperamental in regards to the xml format. But alas there is an easier way. Essentially you simply have a separate directory for each channel lineup and a separate script for each lineup. Eyetv has no issue with being called (opened) multiple times with different xml files. It does it own data intregation. The following example uses my own choice of directory placement. You can put it wherever you want.
  • Create a separate directory for each channel lineup. Do this for every channel lineup. For 2 or more channel lineups, the structure will be something like this. As described previously you will need to execute each lineup manually the first time with your desired zip code so the appropriate .dat and .xml files are created.
/Library/WebServer/Documents/eyetv/location1
___________________________________________________________________________
-rwxr-xr-x@ 1 me admin 2649740 30 Aug 2010 mc2xml
-rw-r--r-- 1 me admin 92 9 Mar 03:10 mc2xml.dat
-rwxr-xr-x@ 1 me staff 227 9 Mar 09:53 update1.sh
-rw-r--r-- 1 me admin 10793645 9 Mar 03:10 xmltv.xml

/Library/WebServer/Documents/eyetv/location2
___________________________________________________________________________
-rwxr-xr-x@ 1 me admin 2649740 30 Aug 2010 mc2xml
-rw-r--r-- 1 me admin 92 9 Mar 03:10 mc2xml.dat
-rwxr-xr-x@ 1 me staff 227 9 Mar 09:53 update2.sh
-rw-r--r-- 1 me admin 10793645 9 Mar 03:10 xmltv.xml

  • The scripts looks something like this
_________________Script update1.sh_______________________________________________
#!/bin/sh
cd /Library/WebServer/Documents/eyetv/location1
/Library/WebServer/Documents/eyetv/location1/mc2xml

# load EyeTV with file
open -a EyeTV /Library/WebServer/Documents/eyetv/location1/xmltv.xml
___________________________________________________________________________
___________________Script update2.sh_________________________________________
#!/bin/sh
cd /Library/WebServer/Documents/eyetv/location2
/Library/WebServer/Documents/eyetv/location2/mc2xml

# load EyeTV with file
open -a EyeTV /Library/WebServer/Documents/eyetv/location2/xmltv.xml
___________________________________________________________________________
  • now all you need to do is either run the scripts manually like this
/Library/WebServer/Documents/eyetv/location1/update1.sh
/Library/WebServer/Documents/eyetv/location2/update2.sh

  • or just update your crontab something like this
18 03 * * * /Library/WebServer/Documents/eyetv/location1/update1.sh
28 03 * * * /Library/WebServer/Documents/eyetv/location2/update2.sh

0 comments

Eyetv test program

I took my store digital television home. Instead I am running EyeTV on my server from the store window antenna. EyeTV is using a Hauppauge 950Q. The Hauppauge tuner is connected to a CM4220HD antenna in the store window with a 30ft coax cable run. This PERL widget below has direct access to all the recorded files from EyeTV running on my server. Although recorded in the full original broadcast quality, this web page plays back the iPhone versions. I only use it for demos and the odd recording as I normally use EyeTV on my home Mac HPTC setup with an EyeTV 250 plus tuner connected to a Winegard HD8800 antenna.

Although I have both iPhone and web streaming with my EyeTV setup, I am working on the possibility of my own perl-based live or almost live stream.

visit tracker on tumblr

0 comments

Adding free TV program listings to EyeTV

To automatically get and add free television listings to eyetv do the following.
  • Create a directory called eyetv (you can call it whatever your want). I put it in my website document folder. My directory in this example has the following path:
/Library/WebServer/Documents/eyetv
  • Make sure that directory also has the mc2xml exec, available here. Ensure that the script has executable permissions (755). The mc2xml download site is down occasionally so a google search might be necessary to find it.
  • Manually run the mc2xml exec at least once. In my case I used the following shell commands:

cd /Library/WebServer/Documents/eyetv

/Library/WebServer/Documents/eyetv/mc2xml -c us -g 13669

Use your own postal/zip code for your own location of course. I found that the US Zip code just over the border was best for me. All mc2xml options are explained in this pdf Download file "mc2xml.pdf".
Once mc2xml is run, files called mc2xml & xmltv.xml are created. You may need to answer one prompt for reception type. In my case it was for over the air channels. Your case may be different. You will need to keep the resulting mc2xml.dat & xmltv.xml files in this directory. The .dat file contains your exec preferences/data and the .xml file, the downloaded tv listings xml file. They are needed so mc2xml will not prompt you again for this information and only run if there has been an update.
  • Create a shell script looking something like this, (use your own directory paths and filenames of course). Ensure that the script has executable permissions (755).
-------------------shell script eyetv.sh----------------------
#!/bin/sh
cd /Library/WebServer/Documents/eyetv
/Library/WebServer/Documents/eyetv/mc2xml

# open EyeTV with file
open -a EyeTV /Library/WebServer/Documents/eyetv/xmltv.xml
---------------------------------------------------------
  • Open EyeTV. In EyeTV clear the EPG database (goto program guide - under top tab on left). Close EyeTV.
  • Run your just created shell script once to make sure it runs mc2xml and opens EyeTV.
/Library/WebServer/Documents/eyetv/eyetv.sh
In EyeTV, under channels set the individual channels to use xml as your EPG and your newly created television listings should be there!
  • Make a crontab to run this shell script when you want. I run it once a day at 4:18am
The crontab looks something like this
18 04 * * * /Library/WebServer/Documents/eyetv/eyetv.sh

  • You can also manually open EyeTV with the xml file by simply dragging and releasing the xmltv.xml over theEyeTV application icon - either in a finder window or in the dock. Ya gotta love macs....

ADDENDUM
as per comment from Pobregizmo, sometimes eyetv at first will act like it does not have any EPG data. Just ensure that the database file has been in fact updated ( see /Library/Application\ Support/EyeTV/Shared/EyeTVEPG.db ). If it has been updated the trick is to simply do a clean eyetv autoscan of channels and the epg data should then be magically available when you change the channel epg to xmltv.
visit tracker on tumblr

9 comments

Word Search Puzzle Maker

I wrote this perl program as I had always liked word search puzzles and have done personalized ones in the past. I used it as a bit of a perl exercise. 1200 lines and 2 days later it was ready. Please let me know if you have any questions or if you find any bugs. Use is limited for personal use only
visit tracker on tumblr

0 comments

Store Webcam


0 comments

Adding Embed Capability to Snow Leopard Server

Create a file called whitelist.plist with a proper editor. I used BBedit. Use the attached text for the file. You can always just use the download. In my case I created the file on my desktop.
Download file "whitelist.plist"

Open a terminal window

$ cd /Library/Application\ Support/Apple/WikiServer/
$ sudo cp /Users/jeff/Desktop/whitelist.plist .
type cp, space, drag the file from finder into terminal, then space period
$ sudo chmod 775 whitelist.plist

Stop and restart server. I did this using the server admin tool.

Thats it you should be able to embed media now such as youtube and mobileme gallery.

0 comments

Server Wiki Enhancemens

I am slowly finding some ways to enhance the wiki themes of the Snow Leopard Server

  • Add google analytics.


A good summary of how to do this can be found here.












  • Change theme CSS

Apple's very curt but accurate examples are here. Note, you may need to be a registered developer to see them.









  • Adding javascript to your theme


A very neat way to add a navigation bar anchor such as I use on this page (arcticsurf.com) can be found in the first example.









  • Adding ipad edit ability


Adding ipad edit capability is a bit of a struggle. A good thread on the subject is here. Essentially you go to the folder /usr/share/collaboration/javascript/ In that folder you will find compressed_wiki.js . Make a backup copy of it just in case. Edit the following: Change the occurrence of

{id:'toolbars',className:'toolbars',style:(SafariFixes.isiPad?'visibility:hidden':'')}
to
{id:'toolbars',className:'toolbars',style:(SafariFixes.isiPad?'visibility:visible':'')}

and stop and restart the wiki server. Use a good editor so as to not mess up the file. I used BBedit.

0 comments

Dilbert's Modem



0 comments

Mac Mini Server 2010 Hard Drive Replacement

During the crazy Santa period at the store, I was using and testing the server on a shelf beneath my main store counter. At one point my foot snagged the ethernet cable and the server took a nose drive. Unfortunately it was during a write cycle and crashed one of the two hard disks, the primary one with the server OS. I waited until boxing day and installed the operating system on the one working drive. This was fine except the startup and seek noise of the broken drive was driving me crazy as it "chirped" every couple of seconds. I had three options, repair it, ignore it or play dumb and send it back to Apple. As I thought it may be a hazard for a computer that must be on 24/7 and I didnt want to send it back to Apple, I decided to fix it myself.

During university, one of my jobs was repairing apple computers and I have taken many Macs apart over the years, but this one seem very daunting and I didnt want to waste $1000 due to a mistake over a minor slip of a screwdriver. The problem with the server edition is that the second drive in the "upper" bay can only be accessed with a full tear down. Of course my bad hard drive was in the upper bay. I understand normally the OS is in the easy lower bay. With refurbs it could be in either. I really wanted to put a SSD in the server but the best deal I could find was a 90G for about $200. Instead I put in a Seagate Momentus XT 500GB 7200RPM 32MB Cache 2.5" Solid State Hybrid Drive (only $110). The hybrid was a better drive than the one I crashed so I could justify the whole event a little bit.

The teardown. I basically followed the instructions on ifixit.com. The first drive (the "lower" bay one) can be pulled out in 15 minutes. Proceeding very slowly, by step 17, I removed the motherboard. Once that was out, you need to wing it a bit as there are no instructions/pictures for the removal of the other drive. After some wiggling on the power supply and the drive bracket, it did come out. The various tapes and heat sensors were fairly easy to pry off and reuse. Even the glue on the heat sensor was good enough to restick to the new drive. Overall the job took about three hours but that included two glasses of white wine and a dog walk. I was very happy when it all worked upon startup and disk utilities initialized the new drive. Realistically I should put the server OS on the faster hybrid drive and data on the other, but I will leave things as is for now. Once I can get a decent SSD for a fair price, I will pop it in the easy lower bay and swap the OS over.

I could have done a RAID setup with the two drives, but my server backup strategy for the moment is simply using an attached 2TB drive and time machine. I have had many many Macs and that was my first crashed hard drive. I have had some cheap external units die but that was my first internal mac one. However I put the crash solely down to my fault, having knocked the server off the shelf with my feet and loose cables. Oh well.

visit tracker on tumblr

1 comment

Mac Mini Server 2010

Bought a refurbed Mac OS X Snow Leopard Server over Christmas. For people unfamiliar with the apple store, please check out their refurb section.You can get some great deals. This server was $200 off and for the life of me you can't tell it is refurbished. It is the third refurb unit I bought all were 100% new and 100% guaranteed. Only the packaging is different. Two of my previous refurb purchases even came with larger HD or memory than expected. I give apple credit for that.

Now that the Santa Picture rush is finished I am beginning to experiment with its features. My old server is running on a G5 and limping along with 5 web sites and questionable server software. This should be a huge improvement.

Replacing a hard drive in a mac mini server 2010 version - I had the misfortune of crashing a hard drive within a week of purchase.



One key bonus of using Snow leopard Server is it's built in wiki and blog server. I have decided to take advantage of this and do a rewrite of some of my pages. Most web sites, I hard code but I have been lazy for a couple and used iWeb. iWeb is fine but it is not very google friendly. So I will switch some of my sites over to the built in wiki and blog.

One unexpected effect of using snow leopard is its iPhone implementation. All wikis and blogs are reformated automatically for iphone rendering. Nice.


0 comments

Closed down Motophoto Bayshore

After 5 years of trying to break even we decided all the work and effort wasn’t worth it to keep our Bayshore store open. The mall management had changed and were simply not caring of small businesses (too much trouble) and unaware of our contributions (7000 Santa packages delivered yearly, in less than 10 minutes on chemical prints every season). Oh well they will find out the hard way but I am sure they couldn't care less. Bottom line for them is only revenue of course, not the success of local small businesses. New management at Bayshore Mall started a strategy of having less services type stores wherever possible.

RIP
MotoPhoto Bayshore

The other issue had always been lack of efforts from the franchisor. In fact the last three years it was blatantly obviously that the franchisor was only interested in milking all franchisees for every cent possible before (in their view) the photo business imploded. I would advise anyone to avoid the people, who I have heard many call scam artists, who ran CIS Franchising, the Hamam brothers. Apparently the Motophoto Canada President, Sam Hamam, is now a franchise business consultant at a Toronto consulting firm. If the intent of the consulting is to maximize the profit of the franchisor, he's definitely the man for the job. However if the role is to come up with processes, marketing, innovation to help a franchisor and franchisee to succeed in difficult times, I would steer away from his consulting firm. The Hamam brothers (Sam & Bill) drove MotoPhoto into the ground with nary a concern for the hard working franchisees. The goal was to maximize all franchisor profits before the end, which they must have clearly seen (if they didnt they were incompetent). They were good at this, carefully managing all franchisees correspondence. One trick was to send all emails to individually franchisees, each with a different message. This prevented a common email list being used, thus reducing the possibility of an uprising. They could cater their extortionist messages to individual owners. They pushed different buttons for different owners. For the last 3 years they were in business, 99%+ of all phone calls and emails I received had one message "Where's our Royalties?". No marketing plans, ideas, innovations; just where's my royalties on your money losing businesses, "Pay up, our Lexus leases are due". Their marketing plan, when produced usually was a photocopy of the one from MotoPhoto USA. Not so effective in the Canadian marketplace.

Luckily most of our regular customers have followed us to our Carlingwood location and we are beginning to get our lives back!! We have been using the EasyPrintPhoto name for over 18 months now.

0 comments

Minilab Bad News Becomes Good

last year my most expensive piece of equipment broke down. When I originally purchased the Noritsu 3011, it it cost more than a couple of Porsche’s. Funny the bank will loan you money to buy a Noritsu 3011 but not a Porsche, although both are delicate and may break down at anytime. The laser went on the 3011, repair costs are anywhere from 18K to 50K. This along with a very depressed market for 5 year old chemical labs was a scary situation. I had to revisit the whole printing technology market. I really didn’t want to repair the old Noritsu or buy a used one as the laser could just fail again. Maintenance of the wet lab was just too time consuming (my time).

Lucky for me, the failure occurred a couple of days before our yearly photo store buying convention, the PMA, this year in Toronto. Thus we raced to Toronto to look at the available technologies. I had seen the dry labs last year and scoffed at them (after all, I had a beautiful functioning cadillac of printers - the 3011). This time I really looked at them. The prints produced by the D701 seemed very accurate. It is hard to explain but they appear “more digital” with an obvious chroma boost. Some purists may claim the prints to be inferior to a wet lab silver halide print, however 98% of my customers will probably prefer the prints of a D701. When I tested the printer on a selection of my own test prints, some actually looked better than I ever printed them on the 3011. Most were similar and the odd one worse. My test prints are generally scanned from 35mm negatives, the D701 seems to perform best from digital camera input.


Another key factor that sold me was the per print cost had come down considerably since I glanced at them last year. More than a wet lab but competitive. Best of all, Noritsu had some clearance demo models that week, as they were now pushing the D703 (same as the D701 but with a second magazine). My machine was the little used model from the training office in Montreal, and very well maintained! Fuji also has a similar model, however the user interface is different and print quality may be slightly different.

The D701 is easier for staff, as paper changes are simple. It prints 4x6’s, 5x7’s and 8x10’s with very little manual intervention. It uses the same user interface as the 3011 but with some obvious timely software upgrades. The D701 allows me to have the user interface on my front counter, so the staff can watch the store while orders are being processed or manually inputed. It works with all my existing Santa and web net order software, so all would be well for Christmas. It instantly worked with all my Kodak Kiosks. It also has a 36inch advance, thus it can print a gorgeous 10”x36” panoramic print!

The D701 is very light as you can roll it around or it can be lifted by two people. It would also fit easily into a van or SUV for transport. The actually space used by the D701 is about half of that of the 3011. The video below show a very compact footprint, however if you add the sorter and place it on a table (recommended), it takes up more room then you may expect. I’ll make a video of my set-up, however for now here is the only video on the web of the D701. I will follow up with a proper review once I break it in properly.

0 comments

Provisioning an iPhone

After years of writing Perl, html and previously doing some Carbon and Cocoa I decided to write a couple of iPhone apps. I reached a point where I couldn’t properly test or do what I needed so I decided to become an official iPhone Developer. After a couple of applications, faxes, emails, $99 and 3 months I received word that I’m in. While I was waiting I let all my programs and ideas hibernate, thus now I slowly have to get back into it. I have some ideas, and hopefully at least one will be accepted into the app store.

One of the first issues I encountered was provisioning my iPhone.


One of many common provisioning error











A common error when first provisioning an iPhone using xcode seems to be:

Code Sign error: a valid provisioning profile matching the application's Identifier could not be found

Searching on the internet and through Apple’s literature there seems to be quite a few solutions out there. Some involve going though the whole provisioning process again; removing and re-installing the profile in the xcode organizer window or even playing around with your keychain defaults. None of this worked for me when I too had this error.

After a visit to the dog park on tenth line road - Niko really liked it, it is like an asteroid impact crater - I sat back and tried a couple of little things. What finally worked was simple and involved my project target info.

In the xcode for your project, under build/Edit Active Target, you required to enter your identifier. I naturally entered the format provided by apple

XXXXXXXXXX.com.yourdomain.*

what is required is something along the lines of

com.yourdomain.com.testapp1

Where yourdomain is your domain in the apple identifier and testapp1 could be anything you wish to call your project. This does the trick. In my case all compiled and installed on my iphone immediately after this change.

0 comments

Santa Packages 2010

For 2010 we did the Santa Packages for the Carlingwood Mall. Once again we printed 95% of the packages within 10 minutes of submission from Santa's village on the other side of the mall. We had two bad afternoons where we had issues with the D701. One issue was actually microsoft network related, the other was simply due to the banging out of all my software orders. The D701 must couldn't handle the volume, otherwise all went well. I changed little from the software of the previous year.

Over the last 5 years I seem to have become the King of Santa Photos. I really do not believe there is a better setup in North America (and probably the world - seriously) for my implementation of Mall Santa Photos. I did not see this coming when I was doing telecommunication switch diagnostic code or writing predicted train meet algorithms for the railroad. My stores in the Bayshore and Carlingwood Malls have printed over 30,000 santa picture packages and well over 200,000 santa pictures and cards. My setup allows the choice of 12+ packages in a remote santa village in the mall for pickup in my store. Generally 95% of all packages are available within 10 minutes of selection. Our packages this Christmas looked like this.






The key to the success is the specialized code in the village and in the store. All code is written in perl to run on web servers and standard browsers. For this I use my trusty macs for the santa village and the store. I have changed my network setup over the years from a wifi setup with repeaters, to a wifi setup with a stand-alone apple base station half way in the mall, to a broadband setup last year.



Last year I did not do the Bayshore service and as a result they went from a choice of 12 packages to 2 and my delivery time of 10 minutes became anywhere from 2 hours to 2 days from Blacks. Apparently they only showed the customers the pictures on the back LCD of the camera, and ran the memory card to their store every 6 customers. Wow, thats one technologically advanced outfit! This is even more ridiculous since they were fifty feet from the santa setup and my store was on the other side of the mall. Compare this with my setup, where they saw all pictures taken on a large screen, and if, for example they choose the north pole package, within 15 minutes they could pick up 1 8x10, 2 5x7’s, 4 wallets, 2 photo gift tags and 40 photo Christmas cards!


Last year I made a couple of key changes that were very successful. With every package I provided a free sample greeting card with their own santa picture. The customers then had an option of buying more for immediate printing (typically 5 minutes) or anytime later. From past experience, people tend not to see the value of such a card without seeing it. Another addition was a photo gift tag was provided with every wallet set ordered. I did this as I had to manipulate the wallet set anyway, due to Noritsu software shortcomings, so while I was coding (perl & imagemagick) this bit, I filled the unused paper on the 6 inch print with a photo gift tag. This also was very popular. I have some more ideas for next year ..... gotta stay the King.... I guess.


0 comments