mo.notono.us

Friday, March 30, 2012

idea: bookmarklet to persist personal form data in localStorage

As a developer, I frequently have to clear my browsers cache, and also cookies, in order to test a site.  This is a PITA as now I'm logged out from Google, PivotalTracker, etc, etc.

It also showcases how very few sites store login information in localStorage by default (note to devs, if you're to offer a "Remember Me" button, use localStorage, not a cookie). 

So my idea is this: a set of two bookmarklets: the first would retrieve any form data entered in a form (prior to you submitting it) and store that data in localStorage, then the second would fill out a form using the data stored in localStorage for that site.

What about security you might ask?  Well, clearly this should only be used on a personal computer - and maybe password fields should be excluded in any case.  But this is stored locally, it is not transmitted anywhere, and the data is not accessible to any other site, so the data should stay between you and your computer.  One exception would be any potentially malicious script hosted on the site, but that seems like a risk in itself - the same script could much more effectively simply grab the form data on entry.

So - good idea or bad?

Labels: , , , , ,

Monday, December 12, 2011

I’m turning Japanese, I think I’m turning Japanese, I really think so...

To all Japanese/Chinese/Koreans readers out there, my apologies: I have no idea what language this is that Chrome is using. But the song came to mind, and thus the title. The bigger question is: why on earth is this error coming up like this?

image

Labels: , , , ,

Tuesday, September 13, 2011

Getting the schema of a dataset from a webservice

I found the following in my Blogger Drafts folder from two-thousand-and-freaking-five.  Since I had completely forgotten about this and never published it, I figured I'd do so now...

1/20/2005:
In a comment to : Evil = WebService DataSet; //Fix this, Gary McDonald mentions:
You are familiar with the auto-generated WSDL obtained by calling your ASMX with the ?wsdl request, so try ?schema=xxx where xxx is the name of the returned XSD.

For example, if I have an ASMX at http://www.tempuri.org/MyService.asmx and It has a Method named Foo that returns a typed dataset named Bar, I can get the schema from http://www.tempuri.org/MyService.asmx?schema=Bar
I wasn't aware of that. Cool.

Labels: , , , ,

Thursday, June 23, 2011

Because there are not enough cat pictures on the internet

Lytro is introducing a camera that I would LOVE to have - the light field camera. Their tag line is "Shoot now, focus later". And you can - it works amazingly well:  Click in the image below to shift the focus. 

Labels: , ,

Wednesday, March 23, 2011

Welcome to TicketMaster. How may we fleece you today?

  • Two mid-priced tickets to the Circus: $52.
  • Facility charge: $4.00
  • “Convenience” Charge to use our lousy website: $11.90
  • Order Processing Fee: $4.95
  • TicketFast® delivery – cause it takes us TWO WEEKS to print and mail two tickets, so you may not get them in time: $4.95
  • Total: $77.40
  • Are you sure you don’t want to add another $7 per ticket to insure against not being able to make the event due to illness, airline delay or traffic accidents?  (Cause 50% isn’t enough of a markup; we’d love to make it 75%.)

How, in an economy as market driven and litigious as the US has TicketMaster managed to become such an effective monopoly and not be priced – or sued – out of existence?

Labels: , ,

Wednesday, October 27, 2010

MS Word tip of the Day

The No-Width Optional Break symbol.  Heretofore known as NWOB™. Assign a shortcut key to it and use it, your word text flow (and readers) will thank you.

A NWOB™ is a symbol that tells Word that “don’t insert a visible space here, but if you need to break this text across two lines, this is a good place to do it.”  This comes in handy if you have to write Shakespearesque prose like the following:
“service provided as part of a combined authentication/‌authorization/‌payment module”. 

See how the lines wrap in an awkward, unsightly manner? (UPDATE: depending on your browser and the weather pattern, automatic breaks may actually already be inserted around the /s. Not so in Word - trust me.)

With the NWOB™, you too can flow your text gently to the margins of your document, leaving no unsightly large space behind in your document.  For just three easy payments of $19.99… To insert a NWOB™ go to the Insert tab and click Symbol, then More Symbols.  Then click the Special Characters tab, scroll down and locate the No-Width Optional Break.  Select it, and before you do anything hasty, add a shortcut key, now that you know about it, you’ll want to use the NWOB™ again.  (I use Ctrl+​​Shift+​​Alt+​​Space.)

So now your same Pulitzer worthy prose can flow more naturally:
“service provided as part of a combined authentication/​authorization/‌payment module”. 

PS! The ​ numeric reference is HTML4’s version of the NWOB™.  I use it above in my Ctrl+​Shift+​Alt+​Space shortcut. Note that annoyingly, Live Writer is not kind to this character, it removes it when you enter the Source panel.

Labels: ,

Tuesday, October 26, 2010

Scandinavia in 6 words or less

From the very interesting mashup of what you get when you cross Google Suggests with a Venn diagram, here is Scandinavia:

Scandinavia

About right, if you ask me.

Labels: , , ,

Tuesday, October 19, 2010

On Coffee

Is it a coincidence that the Starbucks logo depicts a siren?

coffee

Labels: , , ,

Random Info Chart - DC Schools Test Results

Google public data explorer has a slew of interesting datasets, including test scores for DC schools.  It goes to show that you can’t judge every DC school with a single statement, other than perhaps to state that the achievement gap between good and bad DC schools is far too wide:

Labels: , , , ,

Thursday, August 05, 2010

Seadragon.com is now Zoom.it

Microsoft Live Labs recently rebranded their SeaDragon public Deep Zoom service ‘Zoom It’ and put it at http://zoom.it

They now have an API for Silverlight, .NET and JavaScript, allowing you to submit the url of your image to deep zoom, returning the url for your Deep Zoom Image (DZI). Or, for the non-programmatic approach, you can simply submit your url through the browser at http://zoom.it (the same way you could previoously through seadragon.com).

Completed DZIs are given a very short, incremental url, e.g. http://zoom.it/10ms, and you also get the embed code to put the image on your own site, like so:

The embed code for the above is exceedingly simple:

<script src="http://zoom.it/l6BK.js?width=auto&height=400px"></script>

Labels: , , , ,

Monday, July 12, 2010

Yet another pre-stolen idea: the electric supercharger

In my not-too-consistent series of “pre-stolen ideas”, here’s another from the automotive front: the electric supercharger, as part of EcoMotors’ new engine design.

Based on my unused mechanical engineering degree, AFAIK, some of the drawbacks of a supercharger are the additional engine friction it provides, and the fact that the boost provided is directly related to engine speed. Since you only really need the additional boost some of the time, my thought was - why not control boost with a near-zero lag electric motor whose output is completely independent from that of the main engine?  Which is of course what EcoMotors is now doing.

Volkswagen is using a twincharger design in their latest creation – a 1.4 liter engine that produces as much power as V6 engines twice the size did a decade or so ago.  EcoMotors seem to have done VW one better, enough for Bill Gates to invest in the company.

Labels: , , ,

Friday, July 02, 2010

Norwegian Cinema At Its Finest

Java 4 Ever

(thanks, Steve)

Labels: , ,

Wednesday, June 09, 2010

“Old school’s not cool.”

Well, this is certainly an interesting way to determine staleness: stability ;-)

image

But OK, fine – update to Chrome 6.0.427.0 if you must.  At this rate Chrome will have the highest version number of any browser within a year or two (take that Opera!)

Labels: , ,

Thursday, June 03, 2010

Diva Girl in Mommy’s sunglasses

I rather like the new personalized background picture for Google – even if it is a blatant rip off of Bing.  Once again, competition improves the field.  Here’s my current background – from our trip to Philly last weekend:

image

Labels: , , , , ,

Monday, May 24, 2010

Comparative Performance of Underscore.js in Chrome and IE

I came across the very handy-looking Undersore.js today, and clicked on the test & benchmark link. I first ran the test in Chrome.  The results below show number of operations per second.  Looks like each, map, keys, values, and range are pretty inexpensive operations, whereas uniq and intersect should be used sparingly.  All makes sense. 

Then out of curiosity, I ran the same tests in IE and Firefox.  The exact numbers are not significant as the results vary by 10-20% between subsequent runs in the same browser, but the range is pretty illustrative.  And yes, I know IE9 is harder, better, faster, stronger, so this is not a fair fight.  I can’t wait for IE9 to replace every previous IE version…

  Ops/sec

(higher is

better)
Test Chrome 6 IE 8 Firefox 3.6

_.each()

20213

510

3249

_(list).each()

13570

493

3161

jQuery.each()

3637

209

910

_.map()

18581

303

5488

jQuery.map()

7084

686

8519

_.pluck()

10852

282

4785

_.uniq()

127

1

33

_.uniq() (sorted)

308

210

84

_.sortBy()

1641

45

359

_.isEqual()

4962

869

1826

_.keys()

22675

1142

4295

_.values()

24551

321

5435

_.intersect()

83

1

20

_.range()

33345

1223

5262

Again, why I use Chrome as my default browser.

Labels: , , , , ,

Sunday, May 09, 2010

Oops - “spellcheck any multiligual texts…”

So I was responding to an internal developer forum request for recommendations for a WYSIWYG html editor with spell check.  I was going to recommend Telerik’s Editor and related RadSpell component.  Not so sure any more…

multiligual spellcheck

Cobbler. Children.  All that.

Labels: , , , , ,

Wednesday, March 17, 2010

Odd MINOR Outlook 2007 Bug

First message: sent 12:34, from EST timezoneSent1234

Second message: sent 12:59, also from EST timezone – note the discrepancy between list and preview.

sent1259

Labels: , ,

Thursday, March 04, 2010

The Lottie (age 687 days) Numeral System

0 = “All Gone” or “All Done”

1 = “One”

2 = “Two”

> 2 = “Two”, or “One More”

Sequence: “One, Three, Four, Eight, Ten”

Labels: , ,

Friday, February 12, 2010

Things I’m digging today

FreeMind – free mind mapping tool.  Love the simplicity, and that I can copy a branch and paste in an email as a well-formatted nested list.

Fiddler2 – back in the day (v1.x) I remember it as complex to use – now it’s dead simple.  Maybe I got smarter, but I fear the reality is that the tool just got better.

Buzz – I, for one, welcome our new insect overlords

(Ok, I admit it – I just wanted to see how my blog posts appeared on Buzz, and I had nothing better to write.)

Labels: , , , , ,

Tuesday, January 12, 2010

Mission Failure

Just read a notice from BlackBerry that there is a software update for my phone.  Not only did they completely gfail to sell me on the upgrade (what’s new?), they inject such a barrage of technical-ese that anyone’s eyes would glaze over.

Something tells me Apple would not have sent the same kind of email – see highlighted section below…

BlackBerry Software Update Notification
Update Today!
----------------------------------------------------
What else can your BlackBerry® smartphone do for you?

Find out when you update to the latest smartphone software! This free update is ready and waiting to help you do more with your BlackBerry smartphone. To update today visit http://www.blackberry.com/updates

New ways to work and play!

   * As an aid to comprehension, this section provides a brief overview of the life-cycle of a device upgrade.  * Each OTASL capable device will contain one or more OTASL Service Records(SR) each identifying a Device Manager (DM). The DM may be located at RIM, may be part of a BES or, in future, could be associated with a 3rd party application provider. Each SR will identify the applications which are of interest to the corresponding DM. SRs may be delivered by PRV, BES or in an upgrade application loaded OTA. … (it goes on, but there’s no point).

Labels: , , , ,