Last night’s Battlestar Galactica was great!

I called it on who would be the fifth Cylon last year. I CALLED IT!

Leave a Comment

Fail and You: LilURL

[Edit date=2009-01-25] Please note, I mention some silly unnecessary steps in the post ahead, when I could easily set tighturl’s autoincrement to a number higher than the highest lilurl, and add some lines to tighturl to look at a different table for older (lilurl) entries. It is totally not necessary to copy over non-leading-zero ids to the tighturl table, but if this is not done, those URLs don’t get the additional data tighturl provides like hit count (unless, of course, you patch tighturl further than an ‘if less than [tighturl_floor], jump to lilurl code, else use tighturl code’, which I personally don’t think is wise, but I’m very inexperienced). Thus, while it is indeed extra work to convert valid base 36 numbers into ints in a tighturl-style table, I believe the added benefits such as hit counts and last-hit are worth it. Worth is, however, as always, determined by the user. [/Edit]

Yesterday I was bored and wanted to help Evan move ur1.ca, a url shortening service aimed primarily at identi.ca users, to TightURL. This is apparently planned, and will happen “eventually”. I loaded up the database (after messing with it quite a bit, PHPMySQL doesn’t import TSV files and saving it as a CSV was stupid as several lines include commas. In the end, I had to do a series of steps:

  1. Extract the database
  2. Rename it to be a .tsv and open it in Excel
  3. Ctrl+F for commas and replace them with the text COMMATIME
  4. Ctrl+F for semicolons and replace them with escaped semicolons (\;)
  5. Save to a csv on the desktop
  6. Open the csv in TextEdit
  7. Ctrl+F for commas and replace them with semicolons
  8. Ctrl+F for COMMATIME and replace them with commas
  9. Import the CSV file (don’t use the LOAD DATA thing)

I noticed pretty quickly some oddities, like entries for 0, 00, 000, 0000, etc. It didn’t click right away that these were not base36 numbers (they’re all 0!) and were in fact just alphanumeric ids. For example, this post is http://ur1.ca/0y5s. That explained the VARCHAR(255) column (what the fuck). I ended up adding the other columns tighturl used, modifying existing ones to be proper, etc, thinking I could end up converting it pretty easily. I was quite wrong. An overhaul (and perhaps a “plugin” for tighturl, despite it’s lack of a plugin architecture) would be required.

What must be done to convert a lilurl site to a tighturl site:

  1. Add a second table for entries that have a leading 0. I believe all other entries are valid numbers. This could be a big table.
  2. Write some code for TightURL (and maybe get it patched in, the author seems relatively active, and he has an e-mail address) to take shorturl ids that start with a 0 and look in the second ‘compatibility’ table for these URLs created before moving to a sane system.
  3. Get something that casts a fix on the column. My initial thought was to create a second column, nid (numerical id), and slowly convert each id to the nid table as an INT. I’m told this is unnecessary by people whom I believe do not know the full extent of the problem.

Of course, this could also be overcome by setting up a subdomain for LilURL and disabling the ability to create new URLs, and redirecting links that have leading 0’s there.

Evan excuses LilURL as someone’s first project, but I’m really surprised someone could think just using as-of-yet-unused alphanumeric ids was a good idea even during their first project.

I hope to add more to this post (for those who are in fact interested in doing the conversion) soon.

Comments (1)

OAuth/OpenID for online transactions?

I’ve been reading this incredibly interesting interview with an adware author, and here’s this line that I just think is so great:

If you think about it, when I use a credit card, the security model is the same as that of handing you my wallet and saying, “Take out whatever money you think you want, and then give it back.”

Bingo. How about another model, where a credit card number functions more like an OpenID, and maybe OAuth (don’t know which would be better here), and you’re sent to your bank’s site via the credit card vendor’s redirector (preferably in a way where, like OpenID, you’re supposed to type in the bank’s site in your address bar so that you don’t get phished). Then, you are told when you log in that such and such a vendor is wanting to debit your card for this amount (once/on a recurring basis), and you approve that and are sent back to the site, kinda like with Google Checkout.

Maybe the next step isn’t OID/OA, but banks running their own PayPal like services (which will not happen for quite some time, if ever, don’t delude yourselves), and also hell freezing over.

Comments (1)

MBILF’s Amazon Store

You may or may not have noticed a new link in the sidebar recently. We have our very own MBILF aStore. I know you’re wondering what’s up with that, but believe me, I only post the really good deals there. A 4×6″ Intuos3 for $138.32? A Linksys Media Center Extender for $99.99 (with DVD player, $129.99)? That’s in there. In our computers section, we’ve got some netbooks on sale (rarely anything better, sorry). A minuscule portion of the profits go to funding MBILF.

If you use Twitter, you should really check out our amazonsteals gift card giveaway post.

Leave a Comment

Procrastinator like me

January 5, 2009
Letter from Apple CEO Steve Jobs

Dear Apple Community,

For the first time in a decade, I’m getting to spend the holiday season with my family, rather than intensely preparing for a Macworld keynote.

Unfortunately, my decision to have Phil deliver the Macworld keynote set off another flurry of rumors about my health, with some even publishing stories of me on my deathbed.

I’ve decided to share something very personal with the Apple community so that we can all relax and enjoy the show tomorrow.

As many of you know, I have been losing weight throughout 2008. The reason has been a mystery to me and my doctors. A few weeks ago, I decided that getting to the root cause of this and reversing it needed to become my #1 priority.

Fortunately, after further testing, my doctors think they have found the cause—a hormone imbalance that has been “robbing” me of the proteins my body needs to be healthy. Sophisticated blood tests have confirmed this diagnosis.

The remedy for this nutritional problem is relatively simple and straightforward, and I’ve already begun treatment. But, just like I didn’t lose this much weight and body mass in a week or a month, my doctors expect it will take me until late this Spring to regain it. I will continue as Apple’s CEO during my recovery.

I have given more than my all to Apple for the past 11 years now. I will be the first one to step up and tell our Board of Directors if I can no longer continue to fulfill my duties as Apple’s CEO. I hope the Apple community will support me in my recovery and know that I will always put what is best for Apple first.

So now I’ve said more than I wanted to say, and all that I am going to say, about this.

Steve

Apple

Leave a Comment

Dreamhost Coupons for New Year 2009

Here’s the thing: I’m ok with Dreamhost.  I have not yet had a beef with them.  I hear I probably will, but until then, they’re ok.  I’ve gotten a few friends on with them.  I also posted recently about their 2008 end of year coupons. We only found three, after using several different browsers and doing a full cookie cleaning and the like.  The rundown of the previous deals: 1 year of hosting for $9.24 (777), 2 years of hosting for $64.44 (222), and six months of hosting with domain purchase for $9.95 (2008).

Now they’re doing new deals, and of course they expire today (they expired today then too, whatever today was).  They’re 202, 220, 224, 226, and 228, in no particular order.  202 gets you two years of hosting for $10.74, 220 for $21.48, 224 for $107.40, 226 for $150.36, 228 for $193.32.  I saw 228 first, and knew something was up.  I’d suggest 202, but you can pick whichever code you like.  I suppose if I find any more, I’ll post them.

Edit (Jan 6): Grey tells me he’s seen 202 after I’d posted those, but I haven’t been able to see it again. I’ve since seen other codes: 221 ($42.96), 223 ($85.92), 225 ($128.88), 227 ($171.84), and 229 ($64.44).

I was going to hook my girlfriend up with an account of her own for $10.24 (a price she can afford!), so I tried 202. It told me I had to pay $42.96.

I started resetting Safari for more codes, and Grey ran into the 202 code that day (it’s VERY rare to see) so obviously this is a problem on Dreamhost’s end. I tried an older code, 222, to see if it still worked. It gave me an error that the coupon was no longer valid. If 202 was no longer valid, it’d give that message, instead of a higher rate. I tried 220 today (it’s $21.48, also reasonable but not as reasonable) and it too gave $42.96!

Also, I made a horrible, unedited screencast of how to use the coupon. Some youtuber said “THANK YOU SOOOOOOOOO MUCH!“, so I guess it worked for someone (or they just liked the $42.96, or perhaps they had another code they didn’t know how to use).

I sent dreamhost an e-mail (which is still “open” and has a message age of 2 days 6 hours) about this:

Hello,

I know you’re rotating coupons on your front page, just use a different browser or delete your cookies and refresh and there’s another code. That’s fine, it makes sense. One of those codes, 202, is advertised as 95% off for two years, or $10.24. I want to use that one. I tried to use that one. I got $42.96 as the price, after taking $171.84 off of $214.80. That’s not 95%!

I know the older codes from last year, like 2008 and 222, give me expired notices, so technically 202 shouldn’t change, it should be replaced, so something must be wrong with it.

This is in addition to previous tickets YOURMOM and MYDAD, where I’m trying to get my girlfriend a separate account.

Thanks.

Also, if you choose to use a subdomain instead of registering or transferring a domain right away, and something is “wrong” on the page, it resets to mycoolsubdomain instead of saving what you’d typed in there, so that if you don’t notice, the next time you submit it whines that you typed in a subdomain that’s already taken.

Leave a Comment

Sad New Year!

I’d like to wish everyone a sad new year. Every single year you’re wished a happy one, and I’m sure you can easily find instances where that didn’t materialize. Lower your standards, and when something good happens, you will be more surprised and more happier than if you were expecting it.

Sad new year, everybody!

Comments (1)

Follow AmazonSteals for fun and profit!

Hello!  We at MBILF run @AmazonSteals on Twitter.  We’ve noticed we’re not getting very popular, even though we run some different deals than @AmazonDeals (a probably official account that tweets only Gold Box daily and lightning deals).  That’s to be expected, very few people know about it and it looks spammy to retweet that our followers should also follow AmazonSteals.  So we thought…

We pondered…

We cogitated…

We think we’ve got something you’ll REALLY like!  Ok, so who likes to buy things they like on Amazon? You? How would you like some free stuff from Amazon? Yes? We thought so!

We bet now you’d like to know how. It’s easy! Become and stay a follower of Amazon Steals between now and the end of January. On January 31st, 2009, we’ll take note of who’s following us.  On February 7th, we’ll take note of who’s still following us, and we’ll randomly pick three winners who will instantly become fashionable, popular people. The prizes are as follows:

And the winners will be as follows:

  1. First prize gets their choice of any one of the above prizes.
  2. Second prize gets their choice of one of the two remaining prizes.
  3. Third prize gets the remaining prize.

The Fine Print (dun-dun-DAAAA!)

  • Don’t be greedy, one entry per person. If you must have your duplicate accounts following @AmazonSteals, please disclose this via @reply to @AmazonSteals from the non-qualifying accounts. If we suspect dupes, all suspect accounts will be ineligible.
  • We’ll be tracking who follows and leaves. If you follow by Jan. 31 and unfollow before Feb 7, you’re disqualified.
  • Winners will be chosen solely at our discretion. We won’t play favorites, we just want to ensure people play fair.
  • Do not taunt happy fun ball.
  • January 31 and February 7 start at midnight U.S. Eastern Standard Time. That’s where we are. If you’re in California, just join 3 hours early, it won’t hurt. :)
  • No purchase is necessary, and our giveaway is void where prohibited by law.
  • Winners will be notified via Twitter direct message on how to collect your prize during the week of February 8th. If we do not hear from you within 48 hours, you’re disqualified and the next winner in line takes your place.

Leave a Comment

Dreamhost Coupons for EOY 2008

I reported last night (on Twitter) that Dreamhost was offering one year of hosting (and a domain) for $9.24 if you use coupon code 777. I thought it was fishy that the text at the bottom said it expired the same day, but I thought maybe it just ended for Christmas. It’s still there today, with the expiry date moved back to today.


Grey saw my tweet and mentioned he saw a different deal going on. I hard refreshed mine after taking a screenshot and didn’t see it, and he still saw his after a hard refresh on his end. To help, he provided this lovely screenshot.


Now I’ve got a new one after loading the page in a different browser, code 2008 (the suckiest one of them all, in my opinion).

Leave a Comment

Mozilla didn’t reverse engineer OS X

I know this may come as a shock to many diggers (as that seems to be where the inaccurate story was popularized), and I know they’ll bury this story because it doesn’t play up to their fanciful notion that Mozilla is a rogue crew of hackers subverting Steve Jobs control on the Mac OS X platform, but Mozilla didn’t reverse engineer shit. If you belive a random unsourced blogger, I’ve got some WMDs in Iraq for you to tell congress about. Let’s go into detail, with sources this time!

Let’s look at Bug 412486, the Mozilla bug for adding support for multi-touch trackpad gestures. In particular, let’s check out comment 3:

Comment #3 From Samuel Sidler (:ss | :sps) 2008-02-05 10:26:52 PST

See also: http://cocoadex.com/2008/02/nsevent-modifications-swipe-ro.html

Check it out, a post on Cocoadex from February, 2008, shortly after the new macbooks with multi touch were released. Pay attention to the bolded portion especially of this quote:

So, I’m sure you’ve heard of the Macbook Air and it’s revolutionary multi-touch trackpad, borrowed from the iPhone technology. The basic gist of it is that it provides application specific gestures that can be triggered by performing some gestures on the new trackpad. With that in mind, every Cocoa developer should be asking themselves this question: What has Apple done to NSEvent [and friends] to facilitate gestures in their own applications and how can I do it in mine?

With the help of my local Apple Store’s Macbook Air, and some NSEvent knowledge, I’m going to answer exactly that.

Yes, he went to the Apple Store and did his own digging to find out how to code multi touch support shortly after the new Air came out. Unfortunately, Elliot of Cocoadex does not work for Mozilla nor on Firefox. To make super sure that I was getting this correct, I contacted Tom Dyas, the person the bug is assigned to and the author of the patch adding multitouch support. He responded early this morning:

Nobody from Mozilla had to reverse engineer the undocumented API as the information had already been discovered by someone in the Mac OS blogging world. Go to
http://cocoadex.com/2008/02/nsevent-modifications-swipe-ro.html for the blog article that had the information. This is the same link that is listed in Bug 412486 and in comments in the patch itself.

I know this won’t quell the massive spread of this complete lie, but did you know who Edward Lee was and why TG Daily didn’t link to their source? Because Edward Lee said nothing of the sort about Mozilla REing it! Here’s what he actually said:

From what I quickly gathered, the gestures interface was reverse engineered from some private Apple API, so things might change at any time!

He doesn’t know for sure (he’s right, though), but he definitely didn’t say Mozilla did the reverse engineering.

TG Daily is taking facts, turning them into lies, and then not citing sources to hide this. I’m really not surprised, and what’s even less surprising is how the lie spreads. A good reporter would do a LITTLE bit of research, it took me barely any and I only e-mailed Tom Dyers to make absolutely sure I was getting it right. He didn’t take long to respond at all, only a few hours. I hope this inspires other journalists to do more investigation before posting.

Comments (1)