tag:blogger.com,1999:blog-64582882009-02-21T04:56:43.769-05:00Thunderous HappeningsStuff and more stuff you probably don't care about.Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.comBlogger54125tag:blogger.com,1999:blog-6458288.post-50079395116544767482008-06-06T00:57:00.005-04:002008-06-06T01:16:17.603-04:00Wow!<p>Yoshino-san is working on a fantastic web application, seeing a demo of it today almost made me cry from happiness and anticipation.</p>
<p>Please ask him about it, let's make sure he continues to work on it ;-) I for one will be a regular user if he releases it, and I suspect many of you would be as well!</p>
<p>Koheiさん, 頑張って!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-5007939511654476748?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com2tag:blogger.com,1999:blog-6458288.post-17964426391943933302008-05-03T19:01:00.001-04:002008-05-03T19:03:31.211-04:00<p>Dear <a href="http://tieguy.org/blog">Luis</a>:</p>
<p>FOCUS, YOU BABOON!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-1796442639194393330?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-14729054157977897582008-04-30T15:45:00.004-04:002008-04-30T15:49:57.028-04:00Love On Tax Holidays<p>Honorary cheetah and explorer extraordinaire Robert 'Hawk Killer' Love <a href="http://blog.rlove.org/2008/04/gas-tax-holiday-seriously.html">tells it like it is</a>.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-1472905415797789758?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-2239534467361531052008-04-23T23:20:00.004-04:002008-04-24T02:27:52.457-04:00Easy Binary Components (again)<div style='width:240px; float:right; text-align:right; font-size:xx-small; border-width:0px; border-color:#444444; border-style:solid; padding:3px; margin-bottom:30px; margin-left:30px;'><img width='240' height='180' alt='Puzzle pieces' src='http://farm3.static.flickr.com/2010/2065486997_5463cddcf9_m.jpg'><br/><a href='http://flickr.com/photos/cgines/2065486997/'>Puzzle pieces</a> ©<a href='http://flickr.com/people/cgines'>Clarissa Ines</a> <a href='http://creativecommons.org/licenses/by-nd/2.0/'><img src='http://i.creativecommons.org/l/by-nd/2.0/80x15.png' title='used under a Creative Commons Attribution-NoDerivs License' width='80' height='15' border='0' style='padding-top:3px;padding-bottom:0'/></a></div>
<p>I've updated the <a href="http://sandmill.org/projects/extension-binary-component/">binary XPCOM component starter kit</a> to version 0.2. Thanks to Mossop and Benjamin for helping me understand the Gecko SDK a bit better. There is no longer a requirement to copy mozilla-config.h (mistyped as 'mozilla-build.h' in my last post, heh). To build a binary component you simply:</p>
<ul>
<li>Download the <a href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">Gecko SDK</a>, place it anywhere you like.</li>
<li>Download the <a href="http://sandmill.org/projects/extension-binary-component/">starter kit</a> and unpack it into your extension (it'll create a src directory).</li>
<li>Run 'make sdkdir=/path/to/sdk install' inside the src directory.</li>
</ul>
<p>Then restart Firefox (which you hopefully already have configured to point to your extension), and the new component will be automatically loaded. You can test by opening the error console and executing this line:</p>
<p>Components.classes["@mydomain.com/XPCOMSample/MyComponent;1"].name</p>
<p>If you get the name back, it's working! If you get an undefined property error then something is wrong. Let me know if it's something I can fix in the kit.</p>
<p>I hope this makes it easier for other people get started writing binary components. I particularly like that it doesn't require having full mozilla source/objdir trees, that should make it easier to integrate a new component into an already-existing extension.</p>
<p>Happy hacking!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-223953446736153105?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com2tag:blogger.com,1999:blog-6458288.post-62488138922486877932008-04-18T19:37:00.005-04:002008-04-18T21:14:39.183-04:00Binary Components In Extensions<div style='width:240; float:right; text-align:right; font-size:xx-small; border-width:1px; border-color:#444444; border-style:none; padding:3px; margin-bottom:30px; margin-left:30px;'>
<img width='240' height='180' alt='The missing piece' src='http://farm1.static.flickr.com/31/46689372_84f43b1529_m.jpg'><br/>
<a href='http://flickr.com/photos/esther17/46689372/'>The missing piece</a> ©<a href='http://flickr.com/people/esther17'>Esther Perez</a> <a href='http://creativecommons.org/licenses/by-nc-nd/2.0/'><img src='http://i.creativecommons.org/l/by-nc-nd/2.0/80x15.png' title='used under a Creative Commons Attribution-NonCommercial-NoDerivs License' width='80' height='15' border='0'style='padding-top:3px;padding-bottom:0' /></a></div>
<p>So, you've decided you need a binary component in you add-on? Great! <a href="http://developer.mozilla.org/en/docs/Creating_Custom_Firefox_Extensions_with_the_Mozilla_Build_System">read this</a>. Okay, that's a little long and complicated (sorry, Matt). How <a href="http://www.iosart.com/firefox/xpcom/">about this</a>? Ah, that does look simpler, but it doesn't work on a recent Mozilla build, you say? Fear not, I have for you:</p>
<p><a href="http://sandmill.org/projects/extension-binary-component/">The Binary XPCOM Component Starter Kit</a></p>
<p>The actual component is the same from Alex Sirota, so do read his page, it has a ton of useful information. My version has an updated makefile (not yet tested on windows, I plan to do that soon), and is designed to be unpacked directly into your extension. It will create a "src" directory with sample sources.</p>
<p>What you need:</p>
<ul>
<li>An already set-up extension, already set up to be loaded on some profile you test.</li>
<li>The gecko SDK. If you have a mozilla build tree, that's in objdir/dist/sdk</li>
<li>A mozilla-build.h file, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429748">this bug</a> for details. Copy it into sdk/include for now.</li>
<li>A mozilla build environment (compiler, etc).</li>
</ul>
<p>Once you unpack the tarball into your extension, go into the src directory and run 'make sdkdir=/path/to/sdk'. If all goes well, it should build the component and place it into a platform-specific directory in your extension (did you know you can include multiple builds of a binary component, for each platform, in the same extension?).</p>
<p>It's pretty rough, I just spent some time on the makefile yesterday and haven't tried to make it work on Windows yet. But it's a start!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-6248813892248687793?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com7tag:blogger.com,1999:blog-6458288.post-32865300857875216422008-04-14T15:57:00.002-04:002008-04-14T19:22:16.203-04:00I Am Shocked<p>and appalled to learn that my coworker <a href="http://www.melez.com/mykzilla/2008/04/me-three.html">myk runs safari</a>.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-3286530085787521642?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com1tag:blogger.com,1999:blog-6458288.post-47464879725204716362008-04-14T10:53:00.001-04:002008-04-14T20:14:23.374-04:00Me Too<p>I switched laptops recently, so I'm not sure how accurate this is, but here goes anyway:</p>
<p>$ history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head<br>
143 ~/Apps/Firefox.app/Contents/MacOS/firefox<br>
85 ls<br>
57 cd<br>
53 hg<br>
40 rm<br>
20 ssh<br>
10 mv<br>
10 ln<br>
8 less<br>
8 grep</p>
<p>Update: Fixed up the newlines. The meme came to me from <a href="http://tinyurl.com/4osh4j">planet.gnome.org</a>, for any who are curious :)</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-4746487972520471636?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com2tag:blogger.com,1999:blog-6458288.post-64930045962787754832008-04-11T00:53:00.003-04:002008-04-11T01:24:15.091-04:00Yay, Goodies<p>Today I had to go to the management office of my apartment complex. It turns out that when my rent went up a couple of months ago I updated my bank's auto-pay only for the next payment... so after that they reverted to the old amount.</p>
<p>That's the second time it happens to me (last time it was a few years ago, back when I lived in Newton). The thing that bugs me is that I was sure I'd done it right this time. The web app for managing bill pay is very unintuitive to me.</p>
<p>On the plus side, I picked up two amazon packages waiting for me at the office: one with <a href="http://www.amazon.com/Getting-Things-Done-Stress-Free-Productivity/dp/0142000280/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1207890314&sr=8-1">GTD</a> and <a href="http://www.amazon.com/Presentation-Zen-Simple-Design-Delivery/dp/0321525655/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1207890423&sr=1-1">Presentation Zen</a>, and another with <a href="http://www.amazon.com/Home-Movies-Season-Four/dp/B000EQ5PT6/ref=pd_bbs_sr_1?ie=UTF8&s=dvd&qid=1207890493&sr=8-1">Home Movies, Season Four</a>. Woot!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-6493004596278775483?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-1289207152139129172008-04-08T00:44:00.004-04:002008-04-08T02:47:45.532-04:00Add-on Helper Modules<p>Over the course of Weave development, there have been several JS modules that I've written or integrated into the add-on, but which could also be quite useful to other extension authors. These include modules for logging and asynchronous operations, for example.</p>
<p>I've been meaning (and a mfinkle keeps reminding me ;) to put these modules out there for others to reuse, and I'm finally ready to start doing that. The modules are by no means frozen in any way, but will hopefully be useful to someone.</p>
<p>So, without any further delay, here is a wikimo page I have started with the first module, a log4*-like service: <a href="http://wiki.mozilla.org/Labs/JS_Modules">JS Modules</a>.
<p>Feedback (and/or patches) would be most welcome!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-128920715213912917?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-69853308782597148572008-04-03T02:41:00.002-04:002008-04-03T02:47:20.445-04:00Weak!<p>Dear Blogger: Please do not re-syndicate my blog posts when I do something as trivial as change a tag, leaving all the content intact. This causes my friends who use aggregators (and these days, who doesn't) to send me messages asking me if I really meant to be talking about beta 3 instead of beta 5.</p>
<p>Sorry for the spam guys ;)</p>
<p>Btw, beta 5 <i>was</i> released today, and it <i>does</i> rock :-)</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-6985330878259714857?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-74764976139982805332008-04-02T22:39:00.000-04:002008-04-03T01:39:20.460-04:00New Weave Out<p>Today I made the update.rdf changes to point current Weave users to 0.1.29, the latest version. This is the first update since 0.1.16, quite some time ago. Much has changed under the hood, so I'm really excited to finally get that out the door, although the list of things that remains to be done is as long as it is exciting. The short-list of features for 0.1.29 includes:</p>
<ul>
<li>More asynchronous work to not block the UI thread.</li>
<li>We use nsIJSON now instead of... ahem... eval() and uneval().</li>
<li>AES for encryption (via OpenSSL, no NSS support yet).</li>
<li>Public-key encryption (using RSA), which provides the raw back-end support for secure data sharing (we have a simple UI for bookmarks sharing, but it is currently hidden).</li>
<li>Better reliability in general, lots of bugfixes.</li>
<li>Better logging and debugging tools.</li>
</ul>
<p>What's even more exciting, though, is what we have just around the corner. Since we've already implemented PKI (public key infrastructure) support, secure data sharing apps (and that means: mashups and 3rd party services based on your data) are that much closer to becoming a part of the Weave offering.</p>
<p>Of course that's not all we have in store, but I will keep this short :) More Weave ideas later (though you can check out our <a href="http://wiki.mozilla.org/Labs/Weave/Projects">Projects and TODOs</a> page for some).</p>
<p><a href="https://labs.mozilla.com/forum/index.php/topic,657.0.html">Give it a whirl</a> and <a href="http://wiki.mozilla.org/Labs/Weave/Feedback">let me know</a> how it goes!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-7476497613998280533?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com2tag:blogger.com,1999:blog-6458288.post-82993287536383157052008-01-30T17:18:00.001-05:002008-04-03T01:45:53.648-04:00Weave Crypto<p>As part of my <a href="http://labs.mozilla.com/2007/12/introducing-weave/">Weave</a> hacking/architecting, I've been working on the best way to implement <a href="https://labs.mozilla.com/forum/index.php/topic,392.0.html">sharing of data with others</a>. One way to do it is to encrypt using a shared secret stored on the server, but encrypted with the 3rd party's public key. That is, the idea is that the 3rd party would use their private key to decrypt the shared secret (stored in a key ring), and use that to decrypt the data itself. Since it would be an unreasonable requirement for users to have to carry around their private key in a USB stick, we can keep that on the server as well, encrypted with a password-derived symmetric key. That way all the user is required to do is remember their password.</p>
<p>Now the bad news: this raises Weave's crypto requirements from PBE (password-based encryption) to also include public key cryptography and possibly also key ring management. Of course, Firefox already has implementations of various cryptographic algorithms, as it includes NSS. Using NSS would also mean faster crypto (one of the slowest portions of the current prototype). Unfortunately, only a handful of NSS interfaces are exposed to Javascript, and the Weave extension is implemented in JS. So one of our options is to expand these interfaces in Firefox to do the things we need, which has the benefit that it would also help any other extensions that need crypto.</p>
<p>The disadvantage of augmenting NSS interfaces exposed to JS in Firefox is that <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=400742">current work</a> to make that happen is incomplete, and didn't make the beta 3 freeze cutoff. It's been a little frustrating getting it to work, but it may be our best bet still if we can get it running and into the next beta or a Firefox point release. So instead we could ship an extension with a binary component, that would allow us to get something working outside of the Firefox release cycle/review process. Unfortunately, creating and maintaining a binary extension is <a href="http://developer.mozilla.org/en/docs/Creating_Custom_Firefox_Extensions_with_the_Mozilla_Build_System">not for the faint of heart</a>.</p>
<p>Another option is to continue down the path the current prototype has started: find (or write) Javascript implementations of the algorithms we need and ship that. The drawbacks are large, though: speed would almost surely suffer (as it currently does), we'd need to find implementations which are MPL-compatible, and new crypto code would need to go through US export control.</p>
<p>Lastly, there's one more option that I wish I had: <a href="http://starkravingfinkle.org/blog/2007/09/hello-js-ctypes-goodbye-binary-components/">JS-CTYPES</a>. It won't work because it's too early in its development, and doesn't support e.g., structs. It would also mean having a binary component, so if we're going to go through the trouble of having that we might as well just link to NSS and be done with it.</p>
<p><a href="http://shaver.off.net/diary/">People</a> have pointed out to me today that I haven't blogged about this at all, and there are bound to be people out there who have faced these problems, or are maybe just willing to help. So, dear Internet, what did I miss? :)</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-8299328753638315705?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com4tag:blogger.com,1999:blog-6458288.post-59956847428339372772008-01-29T22:02:00.001-05:002008-04-03T01:46:15.499-04:00Ice Cream!<p>Hooray for <a href="http://blog.johnath.com/index.php/2008/01/30/we-also-do-ice-cream/">ice cream</a>! Does your Firefox have <a href="https://addons.mozilla.org/en-US/firefox/addon/6437">about:icecream</a> yet?</p>
<p>Today's nightly is fantastic, at least on Mac. I'm really excited about Beta 3, it's going to rock. In case you missed it, <a href="http://www.beltzner.ca/mike/archives/2008/01/dear-eggs-an-ap.html">here's a good writeup</a> on the latest changes.</p>
<p>This monday we had an interesting talk from the folks at the <a href="http://parallelbrowser.blogspot.com/">Berkeley Parallel Browser Project</a>. Interesting stuff.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-5995684742833937277?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com2tag:blogger.com,1999:blog-6458288.post-33994381048356097542007-12-24T02:36:00.000-05:002008-01-05T00:14:16.695-05:00Weave lives!<p>The project I've been working on for the last few months <a href="http://labs.mozilla.com/2007/12/introducing-weave/">went live</a> a couple of weeks ago, and I didn't even blog about it (!). Until now, that is.</p>
<p>In case you hadn't heard about it (and I wouldn't blame you, we released it right before christmas with little fanfare), <a href="http://labs.mozilla.com/2007/12/introducing-weave/">Weave</a> is a Mozilla Labs project to explore the integration of online services into the browser. It's ambitious, exciting, and it has been (and continues to be) a blast to work on!</p>
<p>We have a lot to figure out, still. What we have right now is only a kernel of what it can become. But I'm glad we released it when we did instead of waiting any longer. Although the current Weave add-on focuses mostly on data synchronization, most blogs I've read and people I've talked to really seem to get the bigger picture of what we're trying to do. There's some good discussion going on in the <a href="https://labs.mozilla.com/forum/index.php/board,19.0.html">Weave forums</a> right now.</p>
<p>We have some major decisions to make, and nothing is off the table at this point, so join us on the forums. I hope to start blogging a bit more about what we're doing and planning; the more people we can engage, the better.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-3399438104835609754?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com2tag:blogger.com,1999:blog-6458288.post-75525791202944301512007-12-19T20:52:00.000-05:002007-12-19T20:54:58.537-05:00This video is hilarious. Congratulations to the makers of the video, and to Mozilla Japan team for successfully running the 2007 Get Firefox Video Awards!
<iframe src="http://eyevio.jp/embed.do?movieId=82994&width=400&height=330" style="margin: 0px; width: 400px; height: 330px;" frameborder="0" scrolling="no"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-7552579120294430151?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-48113325014204978992007-12-10T19:51:00.000-05:002008-01-18T13:18:42.672-05:00PCs on TVs<p>Bah, I had a note saved about this topic, but ScribeFire seems to have erased it. Sad. I was just trying it out, but now that I've been burned I think I'll stick to the blogger WebUI.</p>
<p>Anyway, with Miro turning 1.0 a while back I took another look at my TV setup. I watch 100% of my TV via a Mac mini (hooked up to my actual TV via a VGA cable), so I thought I might be a prime candidate to try out Miro, but the thing is--they don't seem to be targeting people who actually want to use their TV to watch downloaded content. The app's UI is optimized for users sitting at the computer with a mouse handy, while people using their TV likely prefer using a remote.</p>
<p>It would probably (I'm guessing) not be a big effort to get Miro to the point where common actions have hotkeys. There is a <a href="http://bugzilla.pculture.org/show_bug.cgi?id=8896">bug about it</a> already, but it's a P5 with not so many votes (13, while for comparison the top 3 requests have 85, 68, and 66 votes). That would only solve the problem halfway, though. When I sit down on my couch I want simple menus with big letters, like what Front Row gives me.</p>
<p>So I think that the ideal solution is to have another "view" into your Miro library, so that when I'm sitting at a PC I can use the rich interface that Miro already has, but when I'm using a remote control from my couch I can use a simpler interface, while still having Miro keep track of which movies I've seen (and are therefore candidates for deletion), etc.</p>
<p>For the time being, I will continue to use my current solution: <a href="http://azureus.sourceforge.net/">Azureus</a> with an RSS plugin to download new content, and <a href="http://www.iospirit.com/remotebuddy/">Remote Buddy</a> + <a href="http://videolan.org/">VLC</a> to play it. But I'm ready to ditch that in favor or an integrated solution in a heartbeat... I actually haven't (yet) taken a look at the changes Apple made to the Apple TV this week, maybe it's what I want. More on that some other day.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-4811332501420497899?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com3tag:blogger.com,1999:blog-6458288.post-55571174256812294992007-11-21T02:34:00.001-05:002007-11-21T02:34:06.317-05:00New Stuff<div xmlns='http://www.w3.org/1999/xhtml'>So, <a href='http://www.getmiro.com/'>Miro</a> turned 1.0 last week, and I didn't blog them a note of congratulations. Not that they read this blog or anything, but y'know--gotta keep the writing habit. Well, or create it, in my case.<br/><br/>Anyway, congratulations to the PCP folks! Miro keeps getting better and better.<br/><br/>I have more to write about Miro and watching video on a PC, but first, a note about Firefox 3: <a href='http://developer.mozilla.org/devnews/index.php/2007/11/19/firefox-3-beta-1-now-available-for-download/'>Beta 1 is out</a>! Get it. Love it. I personally can't use Firefox 2 anymore. This is a huge milestone for everyone in the Mozilla team:
congratulations to everyone who pitched in. We had some champagne at
the office today to celebrate the occasion.<br/><br/>Firefox 3 will be the first release to include some of <b>my</b> code, so it's particularly exciting for me! (and a little scary, too).<br/></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-5557117425681229499?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-76721682993627057812007-11-12T20:33:00.001-05:002007-11-12T20:33:25.606-05:00Dear Super Paper Mario designers,<div xmlns='http://www.w3.org/1999/xhtml'>The thing with asking me if I want to save all the time is that it makes it a mindless habit[1]. Since you gave me a 'return pipe', I didn't have to worry about saving in a spot where I might not have enough health to continue, so unless I was really sure I wouldn't make it far, why would I ever not want to save?<br/><br/>Well, let me tell you when: In the last world, when you asked me to save, and I said yes as usual. Of course I did; I'd just spent 20 hours of play time midlessly hitting 'yes' to save every 5 minutes[2]. And then I realized--Waaaitaminute, this is the last world! Does the return pipe still work? ... Nope. Greyed out. Fantastic! Thanks, Nintendo.<br/><br/>Luckily I had full health, but I'd spent most of my health items in the first couple of boss fights. I actually pulled up a walkthrough to see where all the chests were.<br/><br/>Anyway, that aside, I guess the game was allright.<br/><br/>Dan<br/><br/>[1] I am reminded of security warnings in browsers...<br/>[2] Except for the half hour when I was running around in the stupid wheel cage. By which I mean, the half hour when I <a href='http://www.escapistmagazine.com/articles/view/editorials/zeropunctuation/2563-Zero-Punctuation-Super-Paper-Mario'>carefully placed my controller under a wooder cutting board and went off</a> to make lunch.<br/></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-7672168299362705781?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-79974315305735673442007-11-07T23:04:00.001-05:002007-11-07T23:04:58.425-05:00SEC_OID_UNKNOWN<div xmlns='http://www.w3.org/1999/xhtml'>A couple of weeks ago I set out to accomplish what I thought was a relatively simple goal, if not downright trivial. It went something like this:<br/><br/>I have the following data:<br/><ul><li>Some cleartext</li><li>A passphrase</li></ul>And I would like to get back:<br/><ul><li>Some ciphertext</li></ul>Similarly, I'd like to do the same thing backwards (that is, get back the cleartext given the same passphrase and the ciphertext), and I'd like to have the ciphertext be reasonably hard to crack, though I realize that PBE (Password Based Encryption, where the key is derived only from a password) won't be as secure as other methods. After asking around a bit, I was told that I wanted AES.<br/><br/>Sounds pretty simple, right? At least, regardless of how complex the math is under the hood, you'd think that there would be some simple API in mozilla to get that done. I'd just need to find the right XPCOM service, make a couple of calls, et voila, my problem would be solved in a few minutes. Ah, <a href='https://bugzilla.mozilla.org/show_bug.cgi?id=400742'>how naïve I was</a>. Weeks later it's still unresolved, although I haven't been actively working on it for days now.<br/><br/>The NSS guys I've been in touch with have been very helpful--really, they have--but unfortunately a combination of my own lack of knowledge (I went into this not knowing what PKCS 5 v2, ECB, CBC, OID, IV, or basically any other crypto term meant), <a href='https://bugzilla.mozilla.org/show_bug.cgi?id=400742#c14'>unimplemented NSS features</a>, <a href='http://mxr.mozilla.org/mozilla/source/security/nss/lib/pk11wrap/pk11pub.h'>somewhat old-and-crufty C APIs</a>, lack of/disorganized documentation for my specific task (I Eventually found <a href='http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn5.html'>this page</a>, which helped me a lot--I still don't have it working), and unnecessarily cryptic (ha!) technology standards have kept me from my goal.<br/><br/>Eventually, I do plan to use NSS to encrypt using AES. But in the meantime, I've decided to explore using <a href='http://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm'>TEA</a> (or one of its more secure derivations). It seems to be secure enough to get started and put together the framework I need for handling encryption in my application.<br/></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-7997431530573567344?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-38868547144519388382007-11-01T22:25:00.001-04:002007-11-01T22:25:00.291-04:00In Rainbows<div xmlns='http://www.w3.org/1999/xhtml'>I was very pleasantly surprised when I heard[1] that Radiohead would be <a href='http://www.inrainbows.com/'>releasing their next studio online</a>, without a label, and allow you to <a href='http://www.inrainbows.com/Store/ItsUptoYou.html'>choose your own price</a> (!). I've been meaning to write about it for some time, but Radiohead albums usually take some time to grow on me. As it happens, I'm still not sure what to think about it. Maybe I need to give it a break and come back to it later.<br/><br/>With Hail To The Thief, I'd gotten my hands on a set of pre-release mp3s, and I couldn't really get into it, until much later I heard what the released CD sounded like. They were clearly the same songs, but they just sounded so much <b>better</b>. It was only then that I appreciated it for what it really was (a great album, imo), and I wonder if maybe these downloaded ones suffer from the same problem (even though they are "official").<br/><br/>At any rate, I applaud Radiohead's bold move, and I look forward to reasonably-priced online releases becoming the norm I encourage others to send them a little something, even if you downloaded the album through some other means!<br/><br/><a href='http://campd.org/'>Dave</a>[2] makes an interesting point, though: Today, there is a good chance that if you meet someone new, and they have similar tastes in music as you, there will be a lot of overlap in the actual bands and songs that you listen to. In a world where labels play a lesser role over what music is offered, presumably by being replaced with advertising via word-of-mouth and social networks, will people far removed from my social network be less likely to listen to the same music, even if they would otherwise like it?<br/><br/>That is not to say that it would be a bad thing, merely interesting. A world with less cultural uniformity is not something that scares me. And honestly, I think that it is unlikely to happen to any extreme--I think that there will always be some big bands with global reach, and labels will probably play some role in that, advertising bands in other markets than their own to help them expand. But they won't have the upper hand in negotiations, as they do now.<br/><br/>[1] from <a href='http://tieguy.org/'>Luis</a>, whose <a href='http://tieguy.org/blog/2007/10/02/three-things-you-should-know-before-deciding-what-to-pay-for-the-new-radiohead-album/'>post about it</a> includes some discussion on pricing with fascinating numbers I suspected but didn't know.<br/>[2] That is a saddest excuse of a blog I have seen in quite a while. My own blog included ;-)<br/></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-3886854714451938838?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-25000848725326843152007-11-01T21:25:00.001-04:002007-11-01T21:25:29.970-04:00Ridiculous Absence<div xmlns='http://www.w3.org/1999/xhtml'>It's not that I have no events to relate, or opinions to convey, just that I am lazy. Perhaps it is time to change that.<br/><br/>Whether that is a welcome change, is for you to decide.<br/></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-2500084872532684315?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com1tag:blogger.com,1999:blog-6458288.post-1159348329898381092006-09-27T05:08:00.000-04:002006-09-27T13:55:34.270-04:00Firefox Slavery<p>How about having your own personal slave to click links for you?<p>
<p><a href="#" onclick="installClickSlave();">As you wish</a>.</p>
<p>Many thanks to Vlad for helping me with my first Firefox extension :-)</p>
<p>Update: I added some javascript so you can actually just click on the above link to install the extension.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-115934832989838109?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-1148677098644377502006-05-26T16:58:00.000-04:002006-05-26T16:58:18.683-04:00Showing Federico the Newton-Blogger interface. It's neato!
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-114867709864437750?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-1130934993578843622005-11-02T02:39:00.000-05:002005-11-02T07:37:55.560-05:00When In Doubt, Run Like A Headless Chicken<p>Okay, so as you are all aware, I am a pretty shifty-looking fellow, yes? Well...</p>
<p>I'll start at the beginning:</p>
<p>So, I find out that Bank of America actually has a Tokyo branch. Wow! I set out to find it. It's a little far but I manage to catch all the right trains and get to the area. Unfortunately, there are several buildings with the same name, and B of A is not to be seen anywhere. Eventually I find out that B of A is on the 15th floor of another building a short walk away. Hmm, this is not sounding like a very accessible branch...</p>
<p>Still, I make it there, and I find a tiny door that says "Bank of America, Akasaka Branch". Inside is a very small window, no one there, and two chairs. There is also a sign, saying the bank specializes in "wholesale banking", and offers no teller services. Anyway, eventually someone does pop in and help me. They were actually very nice, and told me to try the post office (it has ATMs here), as well as Citibank (which is a Real Bank here).</p>
<p>Japanese ATMs have the numbers like this:</p>
<p>7 8 9<br/>
4 5 6<br/>
1 2 3</p>
<p>You will note that this is different from the US standard:</p>
<p>1 2 3<br/>
4 5 6<br/>
7 8 9</p>
<p>So it actually took me three tries at Citibank (the post office ATM didn't work at all--my PIN is too long) to get any cash out of it.</p>
<p>But I got my cash out :-)</p>
<p>So, now we get to the part about where I'm all suspicious-looking. I'm walking around, minding my own business, happy I got my yen, and I was stopped by a non-uniformed policeman (!). Although he showed his badge, I was afraid he was some sort of con man/sophisticated robber. Well, either he was legit, or he was very dissapointed to see my passport was a Venezuelan one, because he just looked at it for a little while with his partner (who was behind me), and let me go.</p>
<p>Quite the adventure, this day.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-113093499357884362?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0tag:blogger.com,1999:blog-6458288.post-1130823872750595862005-11-01T00:43:00.000-05:002005-11-01T00:44:32.763-05:00Pictures...<p>...are on the way. I just finished posting the ones from Peter & Lizzie's wedding, as well as Ale & Naca's wedding. Next ones will be from Japan :-)</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458288-113082387275059586?l=blog.sandmill.org'/></div>Danhttp://www.blogger.com/profile/17107942503486232895noreply@blogger.com0