The last time I sent out an update for one my projects, I did it a bit differently. Instead of mailing all 2000 subscribers on the mailing list at once, I sent the newsletter in 5 batches, one batch a day, from Saturday to Wednesday.
This was three weeks ago and today I got around to looking at the stats.
Consider a snippet of code that goes through a list of items to find one that matches a condition. For example, searches for a heap bucket suitable for allocating a memory block of a certain size:
bucket_t * b;
size_t i, n;
for (i=0, n=heap->bucket_count, b=heap->buckets;
i < n;
if (b->size_min <= size && size <= b->size_max)
Now, check this out.
It’d be nice if C++ would allow overriding selected default arguments and preserving the rest. Specifically, given a declaration like this -
void foo(int a = 0, const char * b = NULL, T * c = NULL);
the following is supported -
but the following is not, though it’s a natural extension of the same idea -
foo(678, , &x);
In fact, it’d be very nice if C would support this as well.
Every bit of graphics that goes into a modern Windows app must be done in at least three different sizes - one for each common screen DPI level.
Say you make and ship a software product. Chances are that you also maintain a public forum in the support section of the website. It is also highly likely that you have a problem with spam.
Any public forum with open positing policy quickly deterriorates into a dump. A conventional way to deal with this is to require creating an account, solving a captcha and then validating the email address. This is not good, this is a hassle.
Consider someone who just downloaded the product, tried it and on the spur of the moment decided to tell you all that there’s to tell about it. That’s an impulsive feedback - very precious, very useful. The last thing you want is to drag this person through the hurdles of registration.
Alternatively, you can let anyone post, but hold initial posts in the moderation queue. This is not good either, because it’s a hassle too, but this time it’s yours.
But there is a better way.
If you have been around computers long enough, you probably know what a symlink is. It is also likely that you’ve created at least one relative symlink that was pointing up the tree and then back down to a sibling directory:
foo.txt -> ../../bar/foo.txt
But here’s something that you probably don’t know, and it’s as confusing as it is useful.
One of my projects got upgraded to a fancy HTML newsletter and it looked like a good opportunity to do something interesting with an obligatory Unsubscribe link.
Conventionally, the link leads to another page that acknowledges the unwelcome news, confirms the unsubscription and pleads to undo the mistake - we are sorry to see you go, yadda yadda.
I thought I’d try and keep things simple and streamlined at the same time. Like so:
Here’s a paid tweet that went out on Friday morning.
Here’s the summary of how it worked:
- 12,000 followers
- 12 clicks
- 1 new subscriber (to the mailing list)
The tweet cost $100 and it was purchased through BuySellAds. Needless to say, it wasn’t worth the money.
Just spotted something while looking through Apache logs:
220.127.116.11 ... "GET /ajax/xr/ready?x=clcgvsgizgxhfzvf HTTP/1.1" ...
Here’s a functional reduction of the pinned tweets idea from yesterday.
Instead of relying on Twitter to support pinning, it is perfectly possible to do it entirely on a client side. I hereby present you… a drum roll…
THE #! TAG
I propose to adopt a convention whereby adding #! tag to a tweet marks it as important. Then when a twitter client on the followers’ side is readying such tweet for showing in the UI, it will replace original timestamp with current date and time and this will automatically place the tweet at the top of one’s feed.
If you use Twitter, you’ve seen promoted posts. They are essentially a form of random spamming on Twitter’s part, routinely irrelevant and hardly ever interesting - nothing more than an annoyance.
On the other hand, there are some tweets that I actually want to see. For example, there are news and updates posted to company’s accounts. These are infrequent, released unpredictably and they are exactly the reason why I am following these accounts in the first place. But they get lost in the noise.
What Twitter needs is an ability to promote tweets to the followers.
Notwerk site has been up for several days and I thought I’d share some numbers.
First of all, the site is a single teaser page, it is meant to introduce the product and to try and get those interested to subscribe to updates and to help spread the word.
During the first week we went through a list of simpler options that were either free or relatively inexpensive including BetaList, Reddit, StumbleUpon, Twitter, Dribbble and Forrst.
There’s plenty of metrics that can be used to measure the traction, but at the end of the day, the only metric that really matters at this stage is how many people joined the mailing list. And so here it is:
The following is based on my exchange with the US patent attorney in late 2011. If you have an US patent application pending a review, I would strongly advise to read on.
The USPTO has a new prioritized patent application review process that is about twice as fast as the conventional one. Any pending US patent application is currently at risk of a competing application getting granted if latter is fast-tracked even if it was filed on a later date.
The way to protect against that appears to be to request the USPTO to publish your application now instead of waiting until it is reviewed and the patent is granted.