Monday, May 16, 2011

Coffee and its Effects on Feature Creep

Starting in mid-2004 and until the end of 2006, I worked at a small DNS and DHCP software company called Nominum.  These days Nominum offers both software and services, but at its core what has allowed it to be as successful as it has been is the fact that its development group is, singularly, the most brilliant and personally committed to the company group of developers I've ever seen.  Most of the developers with whom I worked had been there from just about the beginning of the company.  It was the sort of environment where my VP was still doing the Costco shopping (though admittedly she enjoyed it), everyone knew every other employee's spouse's name, and we got together to have our dogs play. 

That's less relevant, however.  The two introductory bits of information necessary for this posting are:
  1. Nominum at the time had tons of RPI alumni, and because of this had implemented an RPI-sourced chat system named Lily.  Lily is more IRC-like than Yahoo Messenger-like in the sense that it's largely oriented toward offering multi-person chats (in IRC these are channels; in Lily these are called discussions); you can also send private messages, but it's typically used less often; Lily was very heavily used (one of the earliest lessons I had to learn was that if it was 1AM and my boss just sent me a private message asking me a question or asking me to take care of something, it was OK to say "actually, I was about to go to sleep; I'll deal with it in the morning."  It took me some time to learn this lesson);
  2. We worked approximately a mile away from Starbucks, and we went for coffee every day.
The problem was that the coffee ordering process was just terribly inefficient.  At some point in the day, someone would pop up on the "coffee" discussion and send out a broadcast "coffee?" to all interested parties.  At that point, people would have to say on the discussion what they want (e.g. "I'll have my venti non-fat 180 degrees vanilla  latte with two equals, extra squirt of vanilla, and whipped cream."  No, seriously, that was my drink at the time), the person who was volunteering to go would then write the order down (with a pen and a piece of paper), they'd go to Starbucks where the barista would have to decipher their handwriting, and make the drinks.  Typically, the person who went to pick up would pay for the whole order and then would try to keep track of how much each person owed them (people did not often have the exact cost of their drink available).

It doesn't take too many iterations of this to get a little sick of the inefficiency.

Lily was really easy to interact with -- it was a telnet-based interface, and we weren't doing any encryption.  Writing a bot to interact with Lily proved to be a trivial task.  I called it Caffeinator.

By the end of the first weekend of development (this was, obviously, a rather extra-curricular sort of effort), Caffeinator could see that ordering was opened, then listen to people saying "I'd like X," from which it would create a shopping list which it could post as a web page.  When ordering was closed, the person doing the shopping could visit the web page and print it out.  The order takers were happy.  Starbucks was happy.  Success.

It was still painful to have to say "I'll have my venti non-fat 180 degrees vanilla latte with two equals, extra squirt of vanilla, and whipped cream" every day.  So it was easy to have Caffeinator start keeping track of your favorite.  Saying "my favorite gnfl is a grande non-fat latte," for example, meant you could next time simply say "I'll have my gnfl" and Caffeinator would note you wanted a grande non-fat latte."

In rapid succession, we added the ability for it to optimize ordering for the Starbucks drink carriers (Starbucks drink carriers accommodate four drinks; ideally, all four drinks are similarly sized for balance, but at minimum it's preferred to have two pairs of identically-sized drinks).  We also added the ability to order for other people (so if I'm in John's cube when coffee ordering is open, John could say "Roy will have his gnfl") and the ability to define other people's drinks, if they let you (yes, I implemented coffee drink definition ACLs).  And that was still not that big of a deal.  It all sort of made sense.

In hindsight, it was probably right around the time that I implemented debt tracking into Caffeinator that I should have taken a break from enhancing it and reconsidered whether feature creep had gone way too far. 

Remember the part where someone comes back with your drink and you find out you don't have the $4.15 you owe them? It's annoying.  So after a particularly fun weekend, suddenly debts could be declared to Caffeinator.  Obviously, the potential for mischief when you can say "John owes me $4.15" is high, so the first implementation required people to declare their own debt ("I owe Roy $4.15.").  Of course, I also had to implement debt repayment ("John paid me $4.15").  The next implementation allowed for a proposed debt ("John owes me $4.15," which would result in Caffeinator telling you "John says you owe them $4.15.  If you agree, send me a message including this key: 'xxxasdfasdf325'").   Then, of course, I got curious about the total balance of debt/credit and so had Caffeinator report your TCNW (Total Caffeinator Net Worth) -- your total credits minus your total debts. 

It didn't take long to see some people's TCNW fluctuate way more highly than simply coffee ordering could account for, and realize Caffeinator became the default way in which social monetary debts were being tracked.  Your coworker with Amazon Prime order something for you? "I owe Matt $88.95." 

Once the network of debt and credit became saturated enough, it turned out that most people had dozens of people with whom they carried either a Caffeinator debt or a Caffeinator credit, and I came up with a way to allow people to simplify their credit/debt situation by reassigning debt.  Imagine Jim owes you $10, and you owe Bob $10.  Well, that's easy.  Tell Caffeinator "reassign $10 from Jim to Bob" and suddenly Jim owed Bob $10, and you were out of the picture.  Heck, two people owe you $5 and you owe four people $2.50 each? You can eliminate six credit/debt relationships at once. 

Of course, this being an environment full of mischief, the next thing we had to deal with was people gaming the system just for the sake of annoying others.  Bob owes you $1? Well, declare that you owe twenty people $.05 each, then reassign $.05 of Bob's debt to each of these people.  Suddenly, these twenty people find Bob owes them $.05 for no particular reason and Bob's really unhappy with you.

My last enhancement to Caffeinator was to allow people to opt out of debt reassignment.  That seemed to stop most of the gaming.

And that's how I set out to simplify ordering Starbucks and created an internal banking system. 

184 comments:

  1. As I recall, the author of caffeinator was not immune from gaming it for amusement value and annoying others. =)

    ReplyDelete
  2. It's only feature creep if there isn't the time to implement (and doesn't mess with a clean interface). Otherwise, it's innovation of neat things (provided there is a customer request). :)

    ReplyDelete
  3. found it on hacker news. It's a brilliant piece :)

    ReplyDelete
  4. Awesome story, it is now one of my favorite programming tales ; )

    (found it on reddit)

    ReplyDelete
  5. Easy remedy for the hack you suffered: don't notify people of any debt below a certain threshold. I'd start with $1. You could try and game it, like owing 20 people 99 cents each, but that doesn't sound like a lot of harm.

    Or even better: round all debts to the lower dollar. (If you owe $1.75 to Bob, the system will show you $1.) No more petty cents. Of course, keep tracking cents internally.

    ReplyDelete
  6. Hi, Roy -- it's Kurt Weiske! This point made http://boingboing.net's home page.

    How's tricks?

    ReplyDelete
  7. Enjoyable post. I couldn't help but think of this PBF comic:

    http://pbfcomics.com/136/

    ReplyDelete
  8. Oh, hey Kurt! :). Funny to see you -- and everyone else -- on this relatively old blog post.

    ReplyDelete
  9. And I was always too far away from the office to make use of this

    ReplyDelete
  10. A fine example of the 'Tute Screw at work.

    ReplyDelete
  11. I just lost my comment because I wasn't logged in to wordpress.

    At MX Telecom we had something similar to this (for pasties and chinese food), but just pooled all debts; Bob would owe $1 to some nebulous "the office". We'd get whoever's balance was lowest to do the order, which incentivised people to stay reasonably positive.

    ReplyDelete
  12. Acetech Information, a leading software development company of India offers Software Development,Custom Software Development ,Website Design, website development , search engine optimization, ecommerce and website maintenance services for its customers around the globe.

    ReplyDelete
  13. This comment has been removed by a blog administrator.

    ReplyDelete
  14. OMG, that is an amazing story. Thanks.

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. This comment has been removed by a blog administrator.

    ReplyDelete
  17. Great story, it is presently one of my most loved programming stories..to know more Israel Coffeel

    ReplyDelete
  18. This comment has been removed by a blog administrator.

    ReplyDelete
  19. Great post it helps me a lot, I'm impressed; Your idea is outstanding; the issue is something that not enough people are speaking intelligently about. I am pleased that I stumbled across this in my search for something relating to this.I also write a review here Keurig B60 Coffee Maker

    ReplyDelete
  20. Nice blog, this blog provide the more information about coffee and its effects. Thank you so much for sharing with us.
    How to Upload App to Google Play

    ReplyDelete
  21. I found this post while searching some information of google search. It is very informative post so please keep posting and updating information.

    Brand Development Company | Travel Portal Development | Software Development Solutions | Web Design Company in India | Mobile App Development Company

    ReplyDelete
  22. I'm glad I found this web site, I couldn't find any knowledge on this matter prior to.Also operate a site and if you are ever interested in doing some visitor writing for me if possible feel free to let me know, im always look for people to check out my web site. cold brew coffee

    ReplyDelete
  23. Very nice article, I enjoyed reading your post, very nice share, I want to twit this to my followers. Thanks!. Medium roast coffee

    ReplyDelete
  24. Nice its great..Amazing Thanks for the information everything is perfect and great..If you are looking for any of the services below click on the link..
    IT consulting services
    Forex trading software
    Bespoke software development company in London
    Money Transfer Software company

    I will also share them with others.

    ReplyDelete
  25. Thanks for sharing the knowledgeable stuff to enlighten usno words for this amazing blog.. learnt so many things I recommend everyone to learn something from this blogger and blog.. I am sharing it with others also..
    Summer training in Lucknow
    SAP training in Lucknow
    SAP FICO training in Lucknow
    Python Training in Lucknow

    ReplyDelete
  26. Amazing Article, thanks for sharing your story.
    Visit us for more stories- https://www.trainingatinfoseek.com/sap-erp-training

    ReplyDelete
  27. I have read many of your post and this post is wonderful.... all of your post are just awesome
    Please do visit my website hope you'll like it: Best Restraunt in Lucknow
    Best Tiffin service in Lucknow
    Best Tiffin Service
    Best Homemade Food

    ReplyDelete
  28. Nice blog..! Thanks for posting useful information.You have provided an nice article,
    Please do visit my website hope you'll like it: Best nursery plants in Jaunpur
    Best nursery services
    Best Nursery plants
    Best Bagwani services

    ReplyDelete
  29. Thanks for sharing this knowledgeable things by your blog. If you need website designing services, visit our website at Ogen Infosystem and get a responsive website design for you. We also provide digital marketing services, like- PPC, SEO, Facebook Marketing etc.
    Website Designing Company in Delhi

    ReplyDelete
  30. Thanks for sharing the knowledgeable stuff to enlighten us no words for this amazing blog.. learnt so many things I recommend everyone to learn something from this blogger and blog.. I am sharing it with others also..
    We are a professional training institute providing training under the following courses, if any one is looking for them click on the blink below:
    Summer training in Lucknow
    SAP training in Lucknow
    SAP FICO training in Lucknow
    Python Training in Lucknow
    Advance Java Training in Lucknow
    SEO Training in Lucknow
    Digital marketing training in Lucknow
    PHP Training in Lucknow
    am going to share it with others also, it is a nice article

    ReplyDelete
  31. Awesome blog, Get the best Mutual Fund Advisor and Best Performing Mutual Funds Company by Mutualfundwala in Delhi, India.
    Mutual Fund Advisor

    ReplyDelete
  32. An organic coffee makes you feel relaxing and fresh. It keeps our mind healthy. That's why 70% of 18-60 years age people drink coffee.

    ReplyDelete
  33. Agar aap apne husband se pareshan hai or uss se door rhana cahati hai toh aap Talaq lene ki dua ko kijiye aap pati aapko khud ba khud talaq de dega

    ReplyDelete
  34. Great article thanks for sharing.
    MRI courses in pune,Maharashtra - Adarsh paramedical Institute offers the MRI courses in pune.This is the perfect place for diploma MRI courses. Click here to know more and Book your seat Now. MRI courses in hadapsar, MRI courses in deccan,diploma MRI courses in pune,diploma MRI courses in Bhosari,diploma MRI courses in hadapsar.
    MRI courses in pune,Maharashtra
    MRI courses in Bhosari
    MRI courses in hadapsar
    MRI courses in deccan
    diploma MRI courses in pune
    diploma MRI courses in Bhosari
    diploma MRI courses in hadapsar
    diploma MRI courses in deccan
    MRI courses in nanded city
    MRI courses in baramati

    ReplyDelete
  35. Great post thanks for sharing with us. For more information visit usBigtown Group

    ReplyDelete
  36. Nice article thanks for sharing.

    Join Best Post Basic B. Sc Nursing course in pune paramedical Institute in Pune & Nagpur. Post Basic B. Sc Nursing course in Nagpur,PBBSc course in pune,PBBSc course in Nagpur.
    Post Basic B. Sc Nursing course in pune

    Post Basic B. Sc Nursing course in Nagpur

    PBBSc course in pune

    PBBSc course in Nagpur

    ReplyDelete
  37. Highly Commendable blog! Keep up the great work

    ReplyDelete
  38. Lucknow developers and colonizer is a Best Real Estate development company in Lucknow for property and plots.
    Buy Best Property and plots in Lucknow from the best real estate company in lucknow.
    Hurry-up and contact us for plots and properties in Lucknow and near by locations.
    Best Real Estate Company in Lucknow,Best Real Estate Development Company In Lucknow, Residential Plots In Lucknow,Commercial plots in lucknow best properties in lucknow, cheap plots in lucknow,Lucknow Developers, lucknow developers and colonizer,homes for sale in lucknow,homes for sale by owner in lucknow,commercial real estate,commercial real estate in lucknow,lucknow real estate, houses for sale near me ,plots for sale near me

    For more info visit us: Lucknow Developer

    ReplyDelete
  39. Thank you so much for sharing such an amazing information with us. Visit Lifestyle Magazine for parties and night function.
    Lifestyle Magazine

    ReplyDelete
  40. This blog is really great. The information here will surely be of some help to me. Thanks!. Helix Coffee

    ReplyDelete
  41. This comment has been removed by the author.

    ReplyDelete
  42. Ohh its a great content , I appreciate the efforts taken by the content writter. It will help many people in understanding. We are a Training company based inn Lucknow providing some courses which are listed below:

    Data Analytics Training in Luknow
    MIS Training in Lucknow
    Advance Excel Training in Lucknow
    Digital Marketing Training in Lucknow
    HR Training in Lucknow
    Corporate Training in Luknow
    We have highly professional and dedicated trainers who have years of experience in providing training and guidance

    ReplyDelete
  43. Thank you for providing useful article.

    https://www.impressbss.com

    ReplyDelete
  44. Yes we are agree with the content and informaation that you have shared here....I appreciate your efforts, and I am sharing it with others also to help them in their work. Might bethey can get some relevant importnat information from this.

    We provide Data Analytics Training in Lucknow
    MIS Training in Lucknow
    Digital Marketing Training in Lucknow
    HR training in Lucknow
    Corporate Training in Lucknow
    Graphic designing training in Lucknow
    We are based in Lucknow.

    ReplyDelete
  45. This comment has been removed by the author.

    ReplyDelete
  46. Thank you so much for sharing this. I appreciate your efforts on making this collection. Professional Web design services are provided by W3BMINDS- Website designer in Lucknow.
    Web development Company | Web design company

    ReplyDelete
  47. Nice blog, visit Kala Kutir Pvt Ltd for best Fleet Painting and Base Company Logo Painting in Delhi, India.
    Base Company Logo Painting

    ReplyDelete
  48. This comment has been removed by the author.

    ReplyDelete
  49. I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading. Coffee Maker Black Friday

    ReplyDelete
  50. Your blog provided us with valuable information to work with. Each & every tips of your post are awesome. Thanks a lot for sharing. Keep blogging.Web Development Company In Bangalore | Ecommerce Development Company In Bangalore | Web Design and Development Company In Bangalore | Website Design Company In Bangalore

    ReplyDelete
  51. I am really impressed with your blog article, such great & useful knowledge you mentioned here. Your post is very informative. Also check out the best web development company in Kolkata | web hosting company in Kolkata | hotel management colleges in Kolkata

    ReplyDelete
  52. Great Article. Thank-you for such useful information. I have read many of your post and this post is wonderful....
    http://pihmct.com/
    Best hotel management college
    Top hotel management college
    Best hotel management college near me
    diploma in hotel management
    Best hotel management institute
    Best institute for hotel management
    Get trained by professional and build your career in top Multi-national companies.

    ReplyDelete
  53. I find this blog to be very interesting and very resourceful. I would say that your blogs are really interesting and informative for me and this article explained everything in detail.
    Best pathology in lucknow
    Best pathology in jankipuram
    Diagnostic centre in lucknow
    X-ray pathology in jankipuram
    Best diagnostic centre in lucknow
    Pathology centre in jankipuram

    ReplyDelete
  54. Informative blog. Thanks for sharing, this post is wonderful....all of your posts are just awesome. Please do visit my website hope you'll like it:
    Best trust in Lucknow
    Best NGO in Lucknow
    Best social worker in Lucknow
    Social worker in Lucknow
    Best govt. health scheme in Lucknow
    NGO in Lucknow

    ReplyDelete

  55. either you are looking for Application-Development then click

    Mobile app development company in USA

    either you are looking for cloud services then click

    cloud services provider company in USA

    either you are looking for Artificial Intelligence services then click

    Artificial Intelligence services provider company in USA

    ReplyDelete
  56. This comment has been removed by the author.

    ReplyDelete
  57. I am really impressed with your blog article, such great & useful knowledge you mentioned here. Your post is very informative. Also check out Bangla Book | Bangla Books | bengali books | bengali pdf | bengali books online

    ReplyDelete
  58. WEBSITE DESIGNING COMPANY IN DELHI – Egainz.com
    We are a website designing company in Delhi help you in creating responsive websites with expert team of website designers and developers with strict timelines and affordable prices in Delhi. We have delivered more then 450 ++ Projects in India.

    ReplyDelete

  59. This post is really nice and informative. The explanation given is really comprehensive and informative.I want to share some information regarding the digital marketing course in vizag .Thank you

    ReplyDelete
  60. Its really great being a content writer I can understand how tough is it to write and develop the content ,Thanks for sharing this wonderful informationSAP Training in Lucknow 
    Digital marketing training in Lucknow 
    AUTOCAD Training in Lucknow  
    PYthon Training in Lucknow  
    SAP FICO Training in Lucknow  

    ReplyDelete
  61. This comment has been removed by the author.

    ReplyDelete
  62. Kartik Web Technology is one of the most leading IT Service provider company which is listed in Gurgaon. Gurgaon is now big IT sector where lots of famous companies are located. If you want to grow your business at higher level then you need a good website to represent your self in the Marketing. Hire us to design your company's website. We will convert your all mind imagination into reality. Give us chance to serve our services.

    web design Gurgaon

    ReplyDelete
  63. Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job Man,Keep it up.
    study in canada
    ielts coaching in gurgaon

    ReplyDelete
  64. One of the Best Content I saw literally best content you have written and very well explained. Keep Sharing these type of awesome content. whatsapp status such as love, sad, romantic, breakup, funny, islamic,

    ReplyDelete
  65. The year 2020 has become a tough year for individuals who have been run their businesses through emails reaching out to the clients. In that scenario, when Gmail stops receiving emails, users find no way to do anything. If you are facing the issue of Gmail not receiving emails 2020, you must get in touch with our Gmail team right away.

    ReplyDelete
  66. Gmail Crashing in Chrome is referred to as a major issue which the users encounter. This issue halts the user’s work from accessing the account. To eliminate the issue completely, you need to get in touch with the Gmail specialists and get rid of the issue immediately.

    ReplyDelete
  67. Really nice. Thanks for sharing this blog. Visit OGEN Infosystem for creative website designing and SEO Services in Delhi.
    SEO Services in Delhi

    ReplyDelete
  68. Yahoo is an online mail service provider available freely with many user-friendly features. Still, some naïve users are failed to proceed with their recover Yahoo mail password process when they are not able to remember the password for login. If you are encountering such difficulties to recover password by yourself, you must contact our executives.

    ReplyDelete
  69. Are you wishing to purchase the Best BB Guns in Amazon? Well, everyone desires to buy because bb guns are the best for Airgun sports. People use these guns for target practice and training.

    ReplyDelete
  70. Gmail is one such email service provider compatible with almost every popular browser. However, some Chrome users have been faced the issue of Gmail crashing in Chrome. If you are not able to troubleshoot this issue on your own, get-connected with our Gmail executive and resolve the issue on time.

    ReplyDelete
  71. The reason behind the issue of Yahoo temporary error 999 is due to the bandwidth limitation that Yahoo put in place on their server. Once the user has exceeded the allotted bandwidth for a particular period of time, the error message appears. If the error displays on your screen too, join with our team via Live Chat and get instant assistance.

    ReplyDelete
  72. Thanks for sharing such an useful and informative stuff...

    Selenium Tutorial Videos

    ReplyDelete
  73. AT&T is even though a well-known mail service for its wide range of features, yet users are not able to recover the missing emails via the ATT email restore feature. If you are too failed to recover the deleted emails on your own, you must get connected with our ATT service team for having valuable tips.

    ReplyDelete
  74. i am browsing this website dailly , and get nice facts from here all the time .

    ReplyDelete
  75. Everyone wishes to pass on a Largest Android Tablets? with them. Nevertheless, the greatest screen tablets are not conveniently found. Tablets are the hugest electronic device that people like to pass on.

    ReplyDelete
  76. ice blog, it's so knowledgeable, informative, and good-looking site. myassignmenthelpau is a great platform that has been performing astonishingly well. If yes, then you are on the right platform to receive the best Click here.

    ReplyDelete
  77. Geek Squad Tech Support helps those customers who face technical issues in their own gadgets anytime and unable to sort out at this place Geek Squad Customer Service Team Aid your issues by manually or through the software on Remote. Call and Get Geek Squad Appointment on (+1)855-554-9777 for technical issues in Gadgets.

    How to Get Geek Squad Appointment | How to Get Geek Squad Support | How to get Geek Squad Webroot Support | How to Get Geek Squad Tech Support | How to back up Your iPhone

    ReplyDelete
  78. International Airport Our network includes a fleet of royal cars with latest models as we update our cars every 2 years.

    ReplyDelete
  79. Great post! I am actually getting ready to across this information, is very helpful my friend. HP customer service phone number Thanks for sharing such an amazing blog. I really appreciated.

    ReplyDelete
  80. Appreciated your hard work and effort for this Blog. Thanks for being a mentor in this digital-world. Your blog is really helpful and full of knowledge for all of us. If you are using an Ethernet cable, you can directly plug your Roku device into the router. If you have a wireless network, enter the password, and connect your roku activation link with it.

    ReplyDelete



  81. INSTEAD OF GETTING A LOAN,, I GOT SOMETHING NEW
    Get $10,050 USD every week, for six months!

    See how it works
    Do you know you can hack into any ATM machine with a hacked ATM card??
    Make up you mind before applying, straight deal...
    Order for a blank ATM card now and get millions within a week!: contact us
    via email address:: besthackersworld58@gmail.com or whats-app +1(323)-723-2568

    We have specially programmed ATM cards that can be use to hack ATM
    machines, the ATM cards can be used to withdraw at the ATM or swipe, at
    stores and POS. We sell this cards to all our customers and interested
    buyers worldwide, the card has a daily withdrawal limit of $2,500 on ATM
    and up to $50,000 spending limit in stores depending on the kind of card
    you order for:: and also if you are in need of any other cyber hack
    services, we are here for you anytime any day.
    Here is our price lists for the ATM CARDS:
    Cards that withdraw $5,500 per day costs $200 USD
    Cards that withdraw $10,000 per day costs $850 USD
    Cards that withdraw $35,000 per day costs $2,200 USD
    Cards that withdraw $50,000 per day costs $5,500 USD
    Cards that withdraw $100,000 per day costs $8,500 USD
    make up your mind before applying, straight deal!!!

    The price include shipping fees and charges, order now: contact us via
    email address::besthackersworld58@gmail.com or whats-app +1(323)-723-2568

    ReplyDelete
  82. Best Towing services in Vancouver, Portland and other areas offering quality services in genuine charges. Contact us for flatbed towing, container moving, business towing and more.
    Towing Services in Vancouver
    Flatbed Towing in Portland
    Towing Services in Clackamas
    Towing Company near Mt St Helens
    Flatbed Towing in Beaverton
    Towing Company in Gresham

    ReplyDelete
  83. I usually never liked reading articles on blogs but for this blog I want to say that this writing really forced me to try and do it! Your taste in writing has surprised me. Thank you, very good article.
    BIS Consultant

    ReplyDelete
  84. And I was always too far away from the office to make use of this

    Best Ac for India

    ReplyDelete
  85. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=139291011124504718&use=srp&_ga=2.245879623.259293882.1591245503-797312202.1572238935

    ReplyDelete
  86. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=139291011124504718&use=srp&_ga=2.245879623.259293882.1591245503-797312202.1572238935

    ReplyDelete
  87. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14836738449103541043&use=srp&_ga=2.189643752.259293882.1591245503-797312202.1572238936

    ReplyDelete
  88. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14836738449103541043&use=srp&_ga=2.189643752.259293882.1591245503-797312202.1572238936

    ReplyDelete
  89. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230554

    ReplyDelete
  90. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230556

    ReplyDelete
  91. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230558

    ReplyDelete
  92. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230554

    ReplyDelete
  93. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230554

    ReplyDelete
  94. Yuk Gabung di NAGAQQ: AGEN BANDARQ BANDARQ ONLINE ADUQ ONLINE DOMINOQQ TERBAIK

    Yang Merupakan Agen Bandarq, Domino 99, Dan Bandar Poker Online Terpercaya di asia hadir untuk anda semua dengan permainan permainan menarik dan bonus menarik untuk anda semua

    Bonus yang diberikan NagaQQ :
    * Bonus rollingan 0.5%,setiap senin di bagikannya
    * Bonus Refferal 10% + 10%,seumur hidup
    * Bonus Jackpot, yang dapat anda dapatkan dengan mudah
    * Minimal Depo 15.000
    * Minimal WD 20.000

    Memegang Gelar atau title sebagai Agen BandarQ Terbaik di masanya

    Games Yang di Hadirkan NagaQQ :
    * Poker Online
    * BandarQ
    * Domino99
    * Bandar Poker
    * Bandar66
    * Sakong
    * Capsa Susun
    * AduQ
    * Perang Bacarrat (New Game)

    Tersedia Deposit Via pulsa :
    Telkomsel & XL

    NAGAQQ: AGEN BANDARQ BANDARQ ONLINE ADUQ ONLINE DOMINOQQ TERBAIK

    Info Lebih lanjut Kunjungi :
    Website : NagaQQ
    Facebook : NagaQQ Official
    Kontakk : Info NagaQQ
    linktree : Agen Judi Online
    WHATSAPP 1 : +855977509035
    Line : Cs_nagaQQ
    TELEGRAM : +855967014811


    BACA JUGA BLOGSPORT KAMI YANG LAIN:
    agen bandarq terbaik
    Winner NagaQQ
    Daftar NagaQQ
    Agen Poker Online

    ReplyDelete
  95. Such a wonderful article. I likes your post. Are you Looking for real active followers for instagram profile, then i would recommend to Buy instagram followers India

    ReplyDelete

  96. Mediator Łódź
    Adwokat Łódź




    Gilotyna
    Lutownica transformatorowa
    Gilotyna
    Taxi Zgierz
    <a href="http://przemyslawbuda.pl>Mechanik Łódź </a>

    http://zdz-lodz.pl

    http://zdz-lodz.site

    http://przemyslawbuda.pl

    http://taxi-zgierz.pl

    ReplyDelete
  97. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=139291011124504718&use=srp&_ga=2.245879623.259293882.1591245503-797312202.1572238935

    ReplyDelete
  98. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14836738449103541043&use=srp&_ga=2.189643752.259293882.1591245503-797312202.1572238936

    ReplyDelete
  99. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14836738449103541043&use=srp&_ga=2.189643752.259293882.1591245503-797312202.1572238936

    ReplyDelete
  100. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=2301168650785314765&use=srp&_ga=2.189584360.259293882.1591245503-797312202.1572238935

    ReplyDelete
  101. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230554

    ReplyDelete
  102. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230558

    ReplyDelete
  103. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230554

    ReplyDelete
  104. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230554

    ReplyDelete
  105. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : https://local.google.com/place?id=14137752171210241472&use=srp&hl=en&_ga=2.67479764.410681123.1592215154-795993206.1590230554

    ReplyDelete
  106. Hi! I hope you are doing well. In case you are facing any difficulty in managing your accounts, then go for QuickBooks. Moreover, if you encounter any error in this software, dial QuickBooks Customer Service Number 1-833-933-3468 and get your query resolved quickly. Our QuickBooks Helpline Number
    Kindly Visit here for more info : http://nullads.org/united-states/georgia/computers-it-services/enjoy-flawless-technical-assistance-at-quickbooks-customer-service.ubmu.html

    ReplyDelete
  107. THE BEST AGENCY SERVING CLIENTS COUNTRYWIDE
    Located in Delhi, Webmarts is a professionally managed digital marketing agency offering a host of demanding services. We offer SEO services, web development, web designing, social media marketing, and more services to clients in different businesses.

    Pay per click packages delhi
    Best PPC company in Delhi
    pay per click packages in Delhi
    Best ppc company Delhi
    Best ppc services in Delhi
    Top rated ppc agency in Delhi

    ReplyDelete
  108. We are committed to render the top quality services and products to our customers whether existing or new. All our compressors are of the supreme quality and meets quality standard. The price range varies from brand to brand, compressor capacity, and more.

    AC compressor dealers in India
    Air compressor dealers in India
    refrigerator compressor dealers in India
    rotary refrigeration compressor wholesalers in India
    scroll compressor three phase dealers in India

    ReplyDelete