Friday, October 21, 2005

Unbelievable! A sound synthesizer in Excel!

A friend just sent this to me. Wow.

Check the code behind it, too. I'm impressed.

Email list Project done


That was pretty simple and quick, and because the keywords used in the Google search were very specific to the intended target (in some cases even specifying the URL to search), I feel that the list was quite effectively targeted.

I pulled several hundred email addresses off in just a few minutes.

Anyone else?

Email address list request project - CAN-SPAM Act of 2003

Recently I was contacted by (anonymous as requested) with a request for a $50 Project under which I was to use my Google search results page parsing code in conjunction with my email address parsing code to compile a list of email addresses from web pages returned for Google searches of some very specific search keywords and terms provided by (anonymous).

I told (anonymous) that I would have to first research anti-SPAM legislation to be sure that in doing said project, I wouldn't be breaking the law. Specifically, somewhere I had been lead to believe that it may be illegal to harvest email addresses from website "automatically" and then send unsolicited emails to those addresses.

What I found is that the CAN-SPAM Act of 2003 is THE law of the land when it comes to unsolicited bulk email, and interpretation of the CAN-SPAM Act of 2003 is all over the board, depending upon which interest group (Advertisers or Anti-SPAM groups) is providing their interpretation.

Here's my (as) objective (as possible) take:


  1. Access a computer without authorization and intentionally initiate the transmission of multiple commercial electronic mail messages from or through such computer.

  2. Use a computer to relay or retransmit multiple commercial emails with the intent to deceive or mislead recipients or any ISP as to the origin of such emails

  3. Materially falsify header information in multiple commercial emails

  4. Register, using false registrant information, for five or more email or online user accounts or two or more domain names, and use such accounts to send multiple commercial emails.

  5. Falsely represent onself to the the registrant or the legitimate successor in interest to the registrant of five or more IP addresses and use such addresses to send multiple commercial emails.

  6. Send multiple commercial emails with false or misleading header information

  7. Send multiple commercial emails with deceptive or misleading subject lines.

  8. Send multiple commercial emails with no functioning return email address (and such address must remain capable of receiving message for 30 days after transmission of said emails)

  9. Send a commercial email message to a recipient who has asked to be removed from the list or not to receive any more messages.

  10. Send commercial email messages without including "identification" that the message is an advertisement, without an opt-out mechanism, and without the physical address and contact information of the sender.

Further, it will be considered an "aggravated offense" to break any of the rules in 6 - 10 when also doing the things in 1 - 5, or when having either 1) gathered the email addresses using automated means from websites, or 2) using a dictionary-type attack, generating possible email addresses by combining names, letters, or numbers into numerous permutations.


Now, I am not an attorney by any stretch (and I will not be held liable for any damages relating from others' actions on the "advice" of my interpretation of the Act), but my interpretation of the CAN-SPAM Act of 2003, as it relates to the project requested by (anonymous), is that it would NOT be a violation of the Act on my part to provide a list of email addresses collected using "automated" means from websites to someone else provided I had reasonably been assured by that person that they would not be using those email addresses in such a way as to violate the Act, and (anonymous) would not be violating the Act provided that he/she did not do any of the things in 1 - 5 and that he/she did include all of the things required in 6 - 10.

I will perform this $50 Project and any similar others requested by people who give me an assurance that they will not use the addresses in violation of the CAN-SPAM Act of 2003.

Some free excel spreadsheet solutions for your business needs

Hey business owners out there, small and large, recently I was contacted by Afra AmirSanjari of Peacock Capital. Afra saw my blog and thought that perhaps my audience would be interested by or could use some of the Excel spreadsheet solutions that he's put together and offers free on his website.

Examples of some of the spreadsheets, you ask? "Capital Budget Analysis" "Dividend Discount Model" "Leveraged Buyout Valuation" You get the idea.

Hey, if you find one or more of Afra's spreadsheets that would be great for your situation, only with some tweaks here and there, but you don't know how...let me know. $50 is all it'll cost you for a customization.

BTW, he's also got a fairly interesting blog.

Check 'em out.

Tuesday, October 18, 2005

The full line of services from the Excel_Geek

I've been having a great time and have cranked out a great many Excel_Geek $50 Projects, and based upon the response that I've gotten from happy customers and from other visitors to the blog, I've decided to roll out three new services, so here, in a nutshell, are the (now) four services offered by the Excel_Geek:

  1. Excel_Geek $50 Projects - Price? $50 flat fee. An oldie, but a goodie...the original...the Excel_Geek $50 Project. Got a problem you think that could perhaps be solved using Excel? Send it to me and I'll solve it and send you the file containing the solution, complete with copious documentation and clarifying notes. Not everyone has the time, energy, or desire to post their Excel-related issues on a user forum, waiting, hoping, and praying that someone will not only answer the question correctly, but understandably. (Note: Excel_Geek retains all intellectual property and/or other rights to the files created under the Excel_Geek $50 Project program. Every attempt will be made to ensure that the privacy, confidentiality, and proprietary information of the requesters of Excel_Geek $50 Projects is in no way violated.) Why wait, hope, and pray when you can get your answer lickity-split from Excel_Geek for only $50. Come's $50. Got $50?

  2. Excel_Geek Blog_Mail - Price? FREE. Subscribers to the Excel_Geek Blog_Mail service will have delivered to their email inbox each and every new post I make on No need to visit the blog each day. No need to figure out what an RSS feed is or how to use it. Every time I've done something new or have something new to say, you'll get it in your email. Sign up today! It's FREE!

    Guess what? This is now a whole lot easier (for you and for me). I'm all set up on FeedBlitz now, so all you've got to do to get Excel_Geek in your email is subscribe using the form near the top of the left column on this page.

  3. Excel_Geek Insiders - Price? $39.95 per year. Subscribers to the Excel_Geek Insiders service will receive Excel_Geek Blog_Mail PLUS receive (as emailed attachments) the source files for all Excel_Geek $50 Projects completed throughout the year. That's right. You'll get for just $39.95 annually each and every file that the Excel_Geek created for someone else for $50 each. (Note: any and all private, confidential, and/or potentially proprietary information of the original requesters of the Excel_Geek $50 Projects will be removed from the files, replaced with suitable data where applicable.) Sign up today for Excel_Geek Insiders!

  4. Excel_Geek Private Projects - Price? Case by case bid at $50 $100 per hour. Like the idea of having the Excel_Geek take care of your Excel-related problems, but don't like the idea of the Excel_Geek sharing your solution -- even stripped of any private, confidential, or potentially proprietary information -- with Excel_Geek Insiders subscribers? Under the Private Project program, the Excel_Geek will do your projects privately and will not include the source files in the Excel_Geek Insiders program content. (Note: Excel_Geek retains all intellectual property and/or other rights to the files created under the Excel_Geek $50 Project program, but also issues customers under this program unlimited license to use, modify, transfer, and/or sell the files and/or source code, either as produced by Excel_Geek or modified, as customer sees fit. Excel_Geek warrants that the files produced under this program will not be made available to third parties without express written consent of the customer. Further, every attempt will be made to ensure that the privacy, confidentiality, and proprietary information of the customers of this program is in no way violated.) Feel better? Submit a Private Project request now!

Another web query-related $50 Project

James liked the last project so well, he requested another one right away. Thank you, James. For your reward for being a loyal customer, I placed your project at the front of the line (plus I was still in that web query mindset.)

For this project, he had many more different securities to lookup and return values for. I used Excel's built-in web query functionality, again, to do some of them, but also got a regular expression and the HTTP object to directly query some of the pages (ones on Yahoo Finance) directly, which is faster and just plain cooler.

James wanted the query to run every X minutes, which he wanted to be able to set himself. I was banging my head against the wall trying to figure out how to have one button launch a never-ending loop macro that paused for the set duration and have another button accessible to the user to stop the process. None of the methods used by others were working for me (perhaps due to the nature of the web querying going on). James settled for having one button to run the query once, and he'd click it again to run it again.

I believe I've figured out how to do his initial request, though. I was thinking about the problem wrong (as is the case in most/all such instances). Instead I needed a macro that would automatically run on file open, then stop completely for a set duraction (giving the user access to manipulate the file/run other macros), then run again, and repeat. I used the Application.OnTime method, and I think it's pretty slick. One thing, though, is that the time it takes to run all of the queries is included in the delay time, so plan accordingly.

Who else has $50?

Monday, October 17, 2005

New web query-related $50 Project

James (a much-appreciated repeat customer) requested a project on Friday that involved automating a weekly process of going to four different websites (one for each of four different mutual funds) and retrieving the effective 7-day yields for the funds and placing them in a newly added column in an Excel worksheet.

My initial plan was to use VBA to create web calls that returned the text for each of the four pages, then use four different regular expressions to match the data desired and return it, placing in the worksheet. However, I ran into a bit of trouble with the regular expression part of it, so I instead utilized the web query functionality built into Excel to retrieve the entire tables of data on each web page, then simply used cell referencing to place the data where it is to be stored in the worksheet.

In the end the results are identical, though I think performance suffered a bit. Total processing time (on broadband) takes about 5-6 seconds, while if I'd gotten my initial plan to work, it would likely have been 1-3 seconds.

I think I'll take another stab at doing those regular expressions (just for my own sake), and I'll share them with James if I make them work.

Thanks, James.

Everyone else, keep those $50 Project requests coming!

Friday, October 14, 2005

Getting more requests for Excel dashboard-type solutions


I have recently be getting quite a few requests for Excel "dashboard"-type solutions -- New York Jan, Washington (State) Stewart, West Virginia Doug, most recently. That is, what people seem to want are quick, easy one or two page reports that quickly condense down the most important metrics that concern them -- be they sales figures, units sold, inventory counts, daily trading volume, etc.

I'll keep cranking these out as fast as I can, but I do feel obliged to tell you that my good friend Charley Kyd's Excel Dashboard Kit is available for $0.05 less than my $50 fee, and it incudes her 150-page e-book, Dashboard Reporting With Excel, all the files created for the book, many example dashboard reports, two workbook databases, which contain actual performance information for Microsoft and Wal-Mart, and her special "Postage Stamp" report that can display 110 charts on one printed page, which uses a well-documented macro that populates the report page.

Now, I realize that what makes my $50 Project service attractive to many people is that they don't want to have to spend hours submitting questions to user forums, waiting and hoping for someone to answer their question, hoping the answer is correct, and trying to decipher the instructions, etc. They simply have a problem that needs solved and they want it solved now. If they learn how the solution was created, that's merely a bonus. (For those of you who haven't requested a $50 Project and received the solution, I do include meticulous documentation, explanation, and instructions in my solutions.)

Realizing this, if you simply want a dashboard-type solution created for you, or if you would like a starting point from which you can learn, I'll happily do it for you for $50, but just know that you can buy Charley's kit for $49.95, and have all you need to create and modify all the dashboard reports you'll ever need.

Now I'm off to crank out some $50 projects. Keep 'em comin'!

Friday, October 07, 2005

Just learned of this super nice online personal finance service from Mvelopes

Hey MS Money and Quicken users, like so many other software products out there, a new, web-based personal finance alternative is now available, and it blows away the desktop-chained relics.

Mvelopes Personal is an online budgeting system that makes it easy to create an effective personal budget and track every aspect of your spending as it happens. It will help you always know exactly how much you have left to spend, instantly know the impact of every spending decision, effectively manage credit card spending, and quickly create an easy to use household budgeting plan. Click here to learn more

Thursday, October 06, 2005

Adding a PayPal "Pay the Geek" button

For those of you who've asked for a quick, easy way to pay me for these $50 projects, I've added a PayPal "Pay the Geek" button.

I also strive to send PayPal invoices once you've told me that you're happy with what I produced for you, but this gives another means to pay, which is fine by me.

Update on Canada John's golf league project

I recently sent Canada John version 2 of his golf league score input system. Things added in were automatic point (individual and team) calculation based upon the league's rules, pars & handicaps of each hole, and handicap differentials of the two players pitted against each other.

I also added in a feature to automatically fill in the all-pars hole scores for the defualt "play against the course" player to reduce data entry.

Also, to reduce data entry, I added a schedule where John can specify on a week-by-week basis which teams are playing against each other and what they're starting holes are. Then, all John needs to do is set the week number and the starting hole, and the teams automatically fill in. Then he auto-populates each team and deletes moves players as needed, auto-fills in the "course" player (if needed), inputs the hole-by-hole scores, and submits the scores to be archived for use in calculcating individual and team points standings as well as maintaining up-to-date individual player handicaps based upon the gross scores.

I already have ideas for v 3.0: string together some macros to further stream line data entry -- e.g. "Submit scores + clear scores and player names + move to next hole + auto-populate teams" would save a few clicks. Also, I'd like to create the weekly summary page and overall standings pages that can be published to the web in the way John does is now.

All of this I'm doing in between the flow of other projects, many of which are too boring to mention...but they're still worth $50.

Who else has $50?

Monday, October 03, 2005

Quickie Project - Yahzee® scorecard for my wife

We ran out of Yahtzee® scorecards at home, so I whipped this one up real quick...

I stuck four of them on a single 8.5"x11" sheet, and while they're a touch smaller than the originals, they work just fine...

(Amber, you owe me $50.)