Anatomy of a sleazy information product

I think I’ve recovered sufficiently from my ordeal, with sufficient time having passed, that I can talk about it to you now. Back in November 2009 (judging from the file timestamps), I bought an information product. Not just any information product. It’s one of those “how to make money online” products.

SSHHHH!! I hear something… that’s the flapping sound of the spambot vultures! Uh, uh… RAINBOWS! CUTE BABIES! UNICORNS!

Ok, I think I fooled those search engines… for now…

Pitchathon seminars

Where were we? Yes, the uh, information product. I was studying how to uh, let’s use “create online business”. So I got to know this one fellow when I attended a 4-day seminar on Internet businesses. There was another 2-day seminar before that, so it’s 6-days back-to-back. The seminars were like pitchathon fests, where the speakers presented for about an hour, and then at the end, gave a sales pitch. Tens of thousands of dollars changed hands (or at least bank accounts) that day.

I’m not so befuddled by greed and desperation that I fell into their sales funnel, but I can understand the power those speakers held over a willing audience. … Actually, I bought over $400 (Singapore dollars) worth of several CDs, which didn’t turn out to be video presentations but audio ones. “I can’t see that board you mentioned because it’s an audio track!” *sigh* I also got suckered…

Anyway, back to that fellow. I came home and researched on him. And I found he offered a USD 27 dollar product to uh, create an income online. I thought about it hard, calmed myself, and decided to get it. I won’t name the guy nor the product. But a little birdie might just tell you that the product name consisted of the words “autopilot” and “profits”. Just saying.

AAHHHH flapping! Uh, UNICORNS! EXPECTO PATRONUM! *whew*

But I had rules. I would learn what his sales page looked like (so I knew why people bought, and how I wouldn’t get suckered by other such products). I would learn what his sales funnel looked like, because the only way you could learn what that was, was by actually buying a product (so you could go through the entire funnel). I would learn what product he created, and how he created it and so on.

Just so you know, if you see the current date on the page or a count-down timer to when the discount will disappear, the product is highly likely to be sleazy. It’s done with JavaScript, and its purpose is to keep the page looking current so people feel it’s “up to date” and lowers their guard. The count-down timer is to urge people to make a decision fast. “It will be gone by tomorrow!” Humans don’t usually make good decisions on the spot. Come a week later, and you might see that count-down timer still there.

I had a job back then, and so I thought $27 was a cheap enough lesson, even though in my heart, I knew it was a sleazy (enough) information product. Why did I still buy from him then? Because he was a top affiliate marketer (or at least recognised by the other people as so), so he must have done something to get there. I wanted to learn what (morally and ethical) bits of knowledge there was, and how to avoid the sleazy sides of the, uh, let’s call it “industry”.

Sales funnel and affiliate marketing

So some quick definitions. A sales funnel basically comprise of leads/prospects getting to know you, then moving on to a low-priced product, then moving ever deeper into higher-priced products of yours. The conventional definition is strangers getting to know you, then you market to them, building a relationship, and so on until they decide to buy from you, where the funnel closes.

Well, in online marketing, that’s too slow. Their sales funnel encompasses a larger view, that of loyal customers buying (hopefully) higher value (and higher-priced) products and services from you. This is itself, not sleazy. I just want you to know what a sales funnel mean.

As for an affiliate marketer, basically it means someone who sells affiliate products. What kind of affiliate products? You know those Amazon links, where if you click on them and eventually buy that product from Amazon, Amazon will pay the person who provided that link a commission? That’s affiliate marketing. Basically you’re paid a commission for selling other people’s products.

What? You didn’t know that Amazon links are like that? Man do you have a lot to learn… Do you know Google earns money primarily from advertising? “I didn’t know that!” You, my friend, really have a lot to learn…

Amazon’s commission rates are paltry. You think “up to 15%” is a lot? The common commission rate in online marketing circles is by default 50%, sometimes going even to 80% or even 100%. How would anyone earn anything if they give out 100% commission? They have an excellent backend process. They get armies of affiliates (because it’s 100% commission!) and they sell higher-priced items to the customers they eventually get. If you’re interested, you can contact me or leave a comment so I know there’s interest in letting the (tech?) community know more about this particular aspect of the (online) business world.

A $27 business lesson

So, about that $27 information product. Sales page was riddled with big, bold, or highlighted text (sometimes all 3). The headings were meant to lead the reader to excitement and eventually buying the product. The conventional wisdom then was to add so many bonuses that, and I quote, “It would be stupid not to buy” (the quote’s not from this guy by the way). I won’t go into that here because frankly I can’t remember it all, and also because any online marketer doing that now will probably have a hard time (peers and the desensitisation of the audience). Why would anyone still put up with ugly pages and sleazy products? Well, there’s the Nigerian scam. There will always be ignorant people out there.

The product consisted of a PDF file, 8 videos, and a bonus PDF (teaching you about Google AdWords). The videos were Flash videos (.swf), with an HTML file embedding them. They were created with Camtasia, a screen capture software. They were also not created by that online marketer. How do I know? Because the person speaking in those videos was a Caucasian male. That online marketer was a Singaporean Chinese. So don’t give me that calamari about how Americans have shady Internet marketers. Singapore has her fair share too.

Anyway, based on that, I believe he didn’t even create the PDF nor even the whole product. He probably dictated the content, and outsourced that content to be converted into a PDF transcript. He also got the videos outsourced. I’ve heard him speak before, and he’s not fluent in speaking English. Getting a Caucasian to voice the videos solved his speaking problem, and also that a Caucasian voice might make customers feel at ease (I believe many of the customers were American, or at least Caucasian).

During that seminar I attended, he invited his wife on stage. One of the memorable things I heard her say was “I everyday walk here walk there”. In broken Singlish, it means that she doesn’t have anything pressing to do, because her husband is raking in money. The audience, comprising mainly of Singaporeans, took to that with gusto. It was probably why that guy was voted the best speaker, even though I felt there were other speakers who did better.

So how did he rake in money based on just a $27 product? Well, it’s safe to assume that’s not his only product, and his other products might be priced higher. But still, you can make quite a sum from just a $27 product. Remember, he’s an affiliate marketer. “But isn’t this his own product?” Yes, it is. He sold other people’s products within his own product.

I want you to absorb that last sentence for a while.

How an affiliate product works

Let me give you a gist of what that product was about. To be fair, it did contain useful information, to me at that point in time at least. So what it will teach you was to find a profitable niche, satisfy that niche with your product, how to market your product, and how to automate it. And the product did all that. Peppered within the PDF file, were affiliate links to other products. The assumption is that, since the reader has bought this product, the reader “trusts” the information within, and is more likely to trust the information that those links lead to.

If those links lead to $47 dollar products, or $99 per month subscription sites, that’s not really a problem, right? Imagine say 50% commission on all these affiliate links…

Well, the product taught you how to find profitable niches, create products, market your products and product automation. But how do you go about creating that product of yours? Ah, here’s where I felt really disgusted. The author had hinted within the PDF product that he would show you a profitable niche with a hungry audience and how to easily satisfy that niche.

Near the end of the PDF, he said one of the hungriest audience is the “make money online” crowd. AAAHHHH wings flapping! CUDDLY KITTENS! FAIRY LIGHTS! PETRIFICUS TOTALUS!

*whew* And where do you get your product? Right here! This product you’re holding is the product. He even gave you instructions on how to set up your account on ClickBank (a digital product marketplace) so you can start selling right now! And you get a 75% commission out of every sale you make!

Did you see that? I’ll give you a moment to see if you realised it.

Stumped? He just recruited you to be his affiliate. Know that even though he only gets 25% out of your every sale, he still gets 50% (or whatever commission rate he got) out of every sale in the affiliate links inside the product that you are helping him sell.

This is multi-level marketing in the swiftest execution form I know. The only barrier is that ClickBank only allows up to a 2nd level tier commission scheme. This’ll take forever to explain if I also explain the tier system, so I’ll just stop here. But a cursory search online should provide you with answers.

I actually signed up with ClickBank, just to see what it’s all about. And his product was already flooded within ClickBank. The early affiliates had already gotten sales, and the (ClickBank) market was saturated with the product. So I wasn’t going to get any sales.

But it was still an enlightening process. I’m sure the guy is a nice person. I just don’t approve of some of his tactics.

Absolutes and almost every

Back when I was writing my thesis, I came across this abbreviation: a.e. It took me a while, but I eventually found that it meant almost every. This might have been almost everywhere in measure theory, but I don’t think so. I seem to recall just “almost every”.

Almost every what, you ask?

Well, I was doing research on computer virus behaviour, so I had books from computer security, graph theory, biological viruses, mathematical models (with exponents and ordinary differential equations and such). I think it was in graph theory. An author was talking about a result or theorem and the proof included almost every type of graph, which was good enough.

I thought that was interesting, because I’ve thought of mathematics as absolute. Maybe this was why I suck at statistics… The idea of some event having a probability of happening, instead of just be or be not, shakes my world somewhat. Of course, I’m less shaken now since life isn’t really absolute…

My greatest accomplishment came when I was in the computer lab, and a Masters student was around. She’s from China, and you know those people are wicked clever. She held up a book, looked at me, then walked over to me.

“Do you know what a.e. means?”

AHA! Me, honours student, knew something a Masters student didn’t!

“I think it means almost every.”
“Oh. OHHHH! Thanks!”

I suspect she asked me because she believed my English was better than hers, and not because I was more knowledgeable in whatever topic that book of hers was about. Have you seen programming books translated to Chinese? I can read the words, but that doesn’t mean I know what the hashbrown that meant… She approached me probably (yay statistics) because she believed a.e. stood for something that someone moderately versed in English will know.

Still, it was an accomplishment. I could tell you I went on to brag about it to all my friends, but truth be told, I continued working on my program code… I was in the computer lab for something, you know…

Is there an equation to describe regular polygons?

So a blog reader, Michael Gmirkin, sent me an in-depth email about the possibility of the existence of a super equation that can describe any regular polygon. I wasn’t sure. For reference, you might want to check out these 2 blog posts about the equation for a square: question, answer.

I was going to just ask you here. Then I remembered there’s a Stack Overflow equivalent for maths. So I went there and asked the question. So if you know the answer, you can comment here, or go to the maths StackExchange site and earn yourself some points.

You can assume that the centre of the regular polygon in at the origin (0,0). Researching a little on the topic, I also learnt about the apothem, which is also the shortest distance from the centre to a polygon’s side. The “normal” radius is the distance from the centre to one of the regular polygon’s vertex.

If you trace 2 circles, one with the apothem and one with the radius, you get an inscribed circle and circumscribed circle respectively.

WOX or online business guide?

Alright, in my quest to feed myself, I have a few product ideas down the pipeline. Now that version 2 of my spreadsheet Open XML guide is out (privately and affectionately referred to as SOX because the full acronym SOXFS is pronounced “socks fuzz” and doesn’t sound sexy), I am going to create something else.

Here’s where you can influence what I’m going to create. I’m going to ask you what would be useful to you, and I’ll go create that. More details in the following paragraphs.

Naturally, the next logical products should be Open XML guides for Microsoft Word and PowerPoint, named (for consistency) Wordprocessing Open XML From Scratch and Presentation Open XML From Scratch. Or referred to internally as WOX and POX. *grin* That’s 2 product ideas.

I’m also thinking of writing a guide for setting up a small online business, specifically for technically proficient people. You know those online business guides out there? They range from “how to make money online” to “how to make money online in niches”, from setting up small to big online businesses, from setting up businesses in the boardgames niche to the herbal niche to dating niche to the blogging niche.

You know what’s common in all of them? The authors all assume that you’re technically inept, that you don’t know anything about (or fearful of) HTML, CSS, WordPress, PayPal (payment integration), buying and setting up domains, setting up email lists, designing logos or ebook covers or website/blog layouts. The authors will give you step-by-step instructions to whatever they’re teaching and showing you, which is crucial to getting the “common” people (I mean no disrespect with that term. Would you feel better if I called them the “masses”?). They will tell you to get a technical person to help you with your technical problems. Get it outsourced, get a friend to help, but just don’t do it yourself because it wastes time.

Well, technically proficient people face different problems. Specifically, pride and fear of letting go. Our technical proficiency can be a bane at times.

“WordPress runs on PHP? I don’t know PHP, but I’m good at programming. How hard can PHP be?”

Why WordPress? What about Django or .NET Framework or whatever-new-fangled-thing-out-there? Because you’re running a business, and not indulging in your pet peeves. See the problem of pride I mentioned above. Hey, I’m a .NET programmer and the LAMP stack is extremely great at business setup ease. I don’t even deal with the LAMP stack. I let the web host deal with it. Remember, you’re running a business.

That said, any time those authors say it’s a technical thing, you can probably solve it quickly. Maybe in a few minutes. Maybe it takes a couple of hours. So depending on your technical proficiency, you can save a bunch of money from not outsourcing. But there’s the price of your time…

Anyway, that online business guide I might be writing will have everything I know about product creation, how to get product ideas, marketing, sales page writing, setting up the whole sales funnel, why you need an email list (think of it as your CRM). I will teach you the littlest number of activities you need to do to get something up and running.

Let me tell you, there are a lot of these “how to make money online” kind of guides and products out there. I’ve read and gone through many of the free offerings, whether they be blogs or PDF reports (one of the “tricks” used to get people to sign up). The current most-used method is to have a free video giving you valuable information, but you have to sign up to a mailing list. Your email address is the price to watch that video. Why do they want your email address? Because they’re building their CRM.

I’ve even bought a few of these products. There’s a traffic generation product, to generate website or blog traffic because apparently your product/service will fail without millions of views. I’ve been in 2 membership sites, teaching about how to use a blog as a means to creating cashflow and how a membership site is the greatest thing an online business owner can have. Membership sites are great because of the recurring income (see website hosting or Basecamp from 37signals or anything with a subscription model). I’ve bought sleazy products before, and I’ve bought ethical and useful products too.

There will be no startup stories, although I worked in a startup before. So maybe I can tell you about my experience. I can tell you it’s nothing like those stories in Silicon Valley… I suggest you think about a problem people are having and you solve that problem. A startup may be the solution, but you don’t need a development team, venture capitalists, and massive numbers of users. My blog doesn’t have thousands or hundreds of thousands of readers, yet I still manage to sell copies of my guide. Solve a problem people are facing.

So let me know if you’re more interested in another Open XML guide (for Word or PowerPoint) or this online business guide. Write in the comments or you can contact me privately if you want. If I don’t get any particular preferences from you, I’ll just go with whatever I can produce in the shortest amount of time and effort. Like I said, I need to eat…

On fear and pain

So I listened to a podcast by Dan Benjamin and Merlin Mann, called Back to Work. This particular episode (16) was called Bracing for the Blow.

One of the things they talked about in the episode was Dan’s visit to the dentist. You might have winced at the word. Apparently, the word “dentist” evokes all sorts of memories and sounds and feelings, most of which are unpleasant and possibly painful. This might happen even if you don’t particularly have an unpleasant visit to the dentist.

Oh right, Dan’s visit. He needed a cavity filled, and he decided to forgo anaesthetic. Just to see what it’s like.

While Dan and Merlin discussed the merits of being mindful to the situation (dentist’s visit) and not letting that affect you, they didn’t bring up reasons why people are so fearful of dentist visits (other than painful memories). So here’s my take. Have you clipped your fingernails and toenails? No, don’t answer that, I’ll assume a yes (because the alternative is a little unpleasant to contemplate…). Have you ever accidentally clipped a bit of the flesh? It hurts, right? That didn’t stop you from clipping nails in the future, did it?

That’s because those regions of pain were far removed from the supreme seat of your senses: your brain. More precisely, your eyes. If you’re blind, then it’s your brain, because that’s where you (most familiarly) process thoughts, sensations, and yes, pain.

The reason why a dental visit is so frightening, is because what’s happening is so close to your brain. It is so close to your eyes, but you can’t see what the dentist is doing, even though you know you’re in good hands. The drilling, the picking and cleaning of teeth, the whirring of the brush. They’re all happening right inside of you, inside your skull.

I’d be interested to find out if blind people have this fear of visiting a dentist, given statistical normalisation. If they can’t see, then a lot of sensations come through feeling. You don’t know for sure if there’s something sharp in front of you, but you stretch out your hands anyway and feel for it, because you won’t know otherwise. Would a dentist fiddling in your mouth feel very different from what you normally feel going about your life?

Taking out an entire toenail

Just so you know, when I was 8 or 9 years old (less than 10 anyway), I had an ingrown toenail. Basically, the toenail started cutting into the flesh. No don’t google for pictures…

Anyway, the doctor suggested the most extreme method of dealing with the problem: taking out the entire toenail. The doctor scheduled an 11pm operation, and so little 8 year old me had anaesthetic injected into my big toe. Then the doctor proceeded to clip the entire toenail out from the base. Oh stop cringing. I could feel the doctor snipping the toenail, but I didn’t dare look. It wasn’t really painful, but the sensation was… weird to say the least.

After the operation, I was brought home by my dad, limping because of the big wad of bandage and gauze on my big toe. It wasn’t until I got home and lying on my mattress trying to sleep, that the pain came. Man was it painful! I slept in fits that night, even with painkillers in my system. Because there was this giant wad of pain at the extreme end of my body. Even though it’s the furthest removed from my brain, it doesn’t stop the pain signals from travelling any slower, ok?

Alright, you can cringe now. Oh don’t be a wuss…

And by the way, my dad found out a much less painful way of dealing with the problem. When my big toenail grew out, the ingrown toenail problem came back. Maybe it’s my shoes or something. So my dad took me to a different doctor. This doctor also scheduled an appointment for an operation.

I can feel you holding your breath. Breathe.

What the doctor did was take a small pair of scissors and carefully cut out the part where the nail was cutting into the flesh. You cut it at an angle almost parallel to the growth direction of the nail, snipping out only a small section. Then you let the nail grow out and slowly edge out the flesh so it’s no longer cutting into it.

So my dad bought a small pair of scissors. When a toenail (it always seem to be the same big toe…) cuts uncomfortably painfully into my flesh, I would snip out a small section of the nail. It’s not a hard “operation”. Beats paying a doctor to do it, right?

Psychological pain

In our modern times, we seldom feel actual physical pain. Most of our pains are psychological. Our fears arising from those psychological pains increase in strength in proportion to how much importance we place on what we hold dear.

I was going to squeeze the word “propinquity” somewhere there… I’ll just let you think about that last sentence of the previous paragraph.

Remember the stride

I was reading this article by Raymond Chen where he mentioned this:

Most of the time, your code won’t care (there are just pixels out there that you aren’t using), but if you use the Get­Buffered­Paint­Bits function to obtain direct access to the bits, don’t forget to take the stride into account.

The word “stride” evoked a ton of memories where I used to track (laboriously) the dimensions of a bitmap. This was back in the days when I was fiddling with writing my own computer games and computer graphics. Specifically, I was working with the screen graphics buffer.

Double buffers, 8-bit colours and screen resolutions

What happens (happened?) is that for fast visuals, we need a decent frame rate, and 30 frames per second is fast enough to fool human eyes that we’re looking at smooth uninterrupted motion. Back in those days, computer monitors weren’t that advanced, so the double buffer trick was used. (Is it still used? I don’t know…).

The double buffer trick refers to having 2 sets of screen buffers. The first one is used to “blit” the contents onto the screen. I’m using blit as a verb too, but this will take too long to explain if I told the story of blitting too… While this blitting is being done, the pixels of the next frame is drawn on the second buffer. When the drawing of pixels is completed, this second buffer is used to blit to the screen.

When you force the program to use double buffering, the next frame is held until the buffer has the drawing completed. This is what “lag” means. The frame rate is sort of ignored, because only when the next frame is completely drawn, will the buffer contents be displayed. Usually this isn’t a problem because the pixel drawing for one frame is within 0.03333 seconds (based on 30 FPS). As you go for higher resolutions and more complex objects being drawn and more complex calculations being done (such as calculating hit points and bullet trajectories), this next-frame-drawing gets slowed down.

In code, what you have are 2 bitmaps in memory and 1 pointer (yay, pointers!). You actually point the pointer to either bitmap based on which bitmap’s contents are to be blit.

  • First bitmap on screen, second bitmap drawing next frame, point to first bitmap.
  • Second bitmap done drawing.
  • Point to second bitmap.
  • Draw next frame on first bitmap.
  • Continue till application (most probably a game) is done.

“So what’s the stride got to do with this? And what’s a stride?”

Well, the thing is, when you request a bitmap from within your code, you might not get the exact dimensions you want. What you get is, as Raymond mentioned:

it only promises that the bitmap will be at least the size you requested.

So the bitmap given to you can be larger in size. And the larger size is based on the stride. I’ve not done a whole lot of research, and the following explanation is based on what I remember from those game-developing days. Let’s say the stride is 4 bytes. This means the memory size of the bitmap given to you will be in multiples of 4. … Uh, yeah, I think that’s about it.

If you ask for a bitmap with dimensions such that the projected final size memory is not in multiples of 4, you will be given a bitmap such that it is.

This “problem” is compounded by the fact that you also have to take care of the red, green and blue bytes (3 contiguous bytes for 1 pixel). Sometimes, there’s an alpha component. There’s also the 8-bit colour, where the first 2 bits are for red, next 3 bits are for green, and the final 2 bits are for blue. Not 1 byte for each colour component. (Just FYI, green has more bits because we can differentiate more shades of green than red or blue).

This is why you might find that in graphics programming, you are advised to have dimensions in multiples of 2. For example, your texture images used for mapping onto 2D planes and 3D objects should preferably have dimensions in powers of 2.

Wait, why powers of 2, and not just multiples of 2? I believe it has something to do with the texture mapping functions, because those functions don’t work well when the bitmap/image/texture argument doesn’t have dimensions with powers of 2. This is why I prefer to use square images at 128, 256 or 512 pixels. Mipmaps were used to alleviate this, but that’s another topic…

And the final complication? “What? There’s more?!?” Yes.

The bitmap you requested in code, the one where you might have to take note of the stride? That bitmap might have a different dimension than the screen dimension of the computer monitor. Computer monitors weren’t quite “standard” back then (I’m starting to feel old…). The computer monitor also has its own stride (I’m basing this on the memories of my research. Don’t just take my word for it). This means blitting pixels from a bitmap buffer to the screen isn’t quite so straightforward.

For example, if you’re working on a screen resolution of 800 by 600 pixels (yes, I know that’s like ancient. Work with me here…), and then you ask for a bitmap to represent that. Well, you might get a bitmap with dimensions 1024 by 768 pixels. Maybe it’s because it’s more memory efficient that way. 1024 = 2^10, and 768 = 2^9 + 2^8. Wait, now we have sums of powers of 2?!? I don’t know a whole lot about these things… I’m just trying to make a computer game…

So based on the above example, you have an “extra” width of 224 pixels (1024 – 800) and “extra” height of 168 pixels (768 – 600). So even if the stride is taken note of, the computer might just decide to throw you more memory space. Just for the heck of it.

In summary…

The bitmap you request in code might have a different dimension than what you wanted. The computer monitor might have a different dimension to work with. You have to remember each pixel has a red, green, blue and even alpha component (each of which uses a byte of storage. Or not, in the case of 8-bit colours). Then you have to take note of the dimensions of the textures you’re using to map onto 2D/3D objects.

And none of that has very much to do with the “fun” part of game programming. You’re just trying to work with one image.

I hope you learnt something. Because I sure as heck don’t know what’s the point I was trying to make, other than bombard you with seemingly random pieces of information…

Agatha Christie triumphs over Snow-Eater, Mario and Final Fantasy

I was clearing a part of a cupboard so my brother could store his collection of Agatha Christie books. I thought I might as well let you see what kind of junk I had… Among the contents were my university prospectus, game cartridges (from Sega and Super Famicon), comic book sword collectibles and tons of game guides and manuals.

Spreadsheet Open XML V2

I was rushing to get this out. The updated version of my programming guide is out! I first launched it on 17 Jan this year, so I was hoping to meet the personal-and-unseen deadline of 17 May, so it’s a nice 4 months interval. Ah well, I’m the only one who cares anyway…

I’ve added loads more content to help you with your Open XML spreadsheet needs. Version 1 was 53 pages. Version 2 is 147 pages. There are a lot of pages with screenshots, but still… 147 pages!

You can find out more here.

The last few weeks had been interesting while I rushed to get working source code and write explanations for the guide… I need to sleep… wait, I’ve got a magazine deadline! *sigh*

Programming guide update

So. Quick update.

I’ve finished writing a bunch of code for my Open XML guide to create spreadsheets. They include:

  • Inserting comments
  • Using formulas
  • Setting header/footer options
  • Setting page setup options
  • Creating multiple worksheets
  • Freezing/Splitting panes
  • Using and styling tables (but not pivot tables)
  • How to write the cells if you have multiple sets of tabular data

The last one was a problem that a customer faced. Let’s say you have 2 sets of tabular data, and they’re side by side in the worksheet. Using Open XML SDK, you have to run through the 1st row of the 1st set of data, then the 1st row of the 2nd set of data. You can’t completely iterate over the 1st set of data first. This is because with Open XML SDK, you have to completely define the first row to be inserted into the worksheet. That will include the 1st row of the 2nd set of data.

So I’m (feverishly) typing the explanation part of the guide (the code is all done and tested). I’m telling you now because when I release this update, I’m going to increase the price. I calculated that with the amount of work done on writing the code and the explanation, and that I currently offer a 1-year free technical support together with the guide, I’m severely undercharging. Besides, the number of hours saved studying the guide versus learning from scratch is worth the price increase.

Since I currently give customers a free update within one year of purchase, you might want to get the guide now before the price goes up. Then you’ll get the current guide and do awesome stuff with it right now, and when I release the updated guide, you get it at no extra cost.

Depending on how fast I type (and how many cups of tea I imbibe), I might release the update in a week’s time or two. I don’t really have a deadline. But the latest release date will be around mid-May (because I’ll have to work on my magazine by then. But I digress…). But it might be sooner, because I want to get this off my todo list so I can work on something else.