Best Buy Bodhisattva

No comments:
I'm not sure who the author really is, but it's a beautiful piece of writing, and a wonderful story about the intersection of gaming and enlightenment.

Best Buy Bodhisattva


It's also a very interesting site for some of my friends, "gamerswithjobs.com". Probably a more LOTRO than a WoW crowd, I reckon.

NSFW: Topless Wii, video games, and sleaze

No comments:
This video is an old meme, but one that is remarkable for a few reasons:
  • It came to my attention because of a video lambasting the meme, which is ironic.
  • It involves semi-nude attractive women, which is normally OK with me.
  • Despite beautiful, attractive women, it's not sexy and actually a bit sleazy.
That last part deserves explanation, I suppose. The lack of sexiness is not because the girls aren't themselves attractive, or slicked up with oil, or almost naked, or young and have flawless skin, it's just that they're doing something that isn't sexy. They are literally just playing a video game, naked. Perhaps I am odd, but this doesn't turn me on. In fact, it makes me feel a little bit rude.

It would be sexier if I got the impression that they were playing the game in order to titillate me, the viewer, in the same way that some exhibitionist women like to dance with each other suggestively on the dance floor. There is a big difference when the woman is really dancing with someone, and when they are doing it for a show. I got the impression with the Wii video that these young girls were actually enjoying the game, forgetting their nudity, and it made me feel a bit awkward, and, well, sleazy, to be watching them.

Taking a wild leaping guess, these girls are professional models, probably not technically inclined, and I bet they really were having a good time playing Wii sports for the first time. Who knows, it may be the first video game either of them had ever played. It's a moment of almost tender, innocent discovery, and to sexualize it doesn't seem right to me.


(At 15 I would have had a different opinion.)

An interesting side-effect of web-based mail: non-repudiation

No comments:
The thing about web-based mail is that you can't mess with the data. If you run you're own mail server, you can mess with the data. This is actually a very good reason to use webmail, even if you have the skill and desire to run your own webserver. Indeed, if you get in the habit of sending signed messages, it's even better.

Of course, privacy is very good reason to NOT use webmail.

There is an elegant solution that allows one to have both: encrypted web mail. FireGPG is a wonderful little plugin that modifies the gmail interface so that you can sign, encrypt, or sign & encrypt outgoing email.

The only drawback is that your recipient has to know how to deal with such messages, which is a nontrivial problem. (even with nice tools like GnuPG, FireGPG it's a tough row to hoe. PKI (public key infrastructure) is difficult for people because not only does it require the installation of special software, but it absolutely requires that they have some bits with them (their private key) and remember a password (to unlock the private key). There can be no "I forgot my password" function in the system (at least, AFAICT).


P.S. Solving the PKI adoption problem is bound to be more social than technical. However, one could go a long way by a) pre-installing PKI tools in operating systems and web interfaces, b) offering hosted private keys (very safe if password is strong), and c) reducing the number of passwords people have to remember to 1 and making sure that they never forget it (which really helps achieve b), too).

Movie: Into the Wild

No comments:
Into the Wild: A story about extreme pain, extreme action, hard-won wisdom, and one tiny, fatal mistake. It's a warning to parents about the pain they may cause their children; it's a catharsis to children who suffer but don't know why. One must see through the railing against society to see the inner core; yes, society is sick (aptly shown with the "waiting list to paddle down the river" thing), but that wasn't at the heart of Chris's pain. He needed to learn for himself about Truth, and first he had to throw everything away. And when he found Truth, he died.

Ain't life grand?

Don't put packing blankets in the dryer

No comments:
I have some nice packing blankets I picked up from Costco which I have been using to protect my car when I put stuff in it and also to go over my couch. I made the mistake of washing them today. Well, that wasn't the problem. It was the drying part. Now they have burn holes!

Warning to everyone who likes packing blankets: wash them all you want, but do NOT machine dry!

Help port Java 6 to the Mac!

No comments:
Danial Spiewak gushes about the Landon Fuller's attempt to do an open source, 3rd-party port of Java 6 to the Mac. Got a Mac and an itch to code? You might want to help out.

Cheese

1 comment:
At the beginning of Ratatouille (my favorite movie) Rèmy asks Emil about the cheese he found. It was unpronouncably French and I couldn't find out what it was, until I hit on an idea: turn on English subtitles! And now I know what it is, it's not just any cheese it's:
Tomme de chèvre de pays!
Still needs mushrooms, rosemary, sweet grass, saffron...and lightening!

Ah ha! Here is a nice British site about cheese that mentions it. The vast majority of hits are french.


ScribeFire: don't get burned

No comments:
ScribeFire is one of the best Firefox plugins around. But it is a dangerous tool. It will destroy your work without warning. If you have a post active, unless you "Save As Note", or "Publish" the data will be lost, and there will be no warning. I've been pressing ScribeFire into service for more and more things (it's actually a very nice way to do WYSIWYG HTML editing), but there are a few rough edges.

Cooling Down an Overclocked World

No comments:
Polar ice is melting. Our world is overheating. Maybe humans should take a page out of Intel's playbook and start thinking more about efficiency than raw speed. People don't want loud, hot, obnoxious computers. And people don't want loud, hot, obnoxious planets either. So how about trying to live a bit more efficiently? Repair instead of buy. Shop used. Telecommute. Carpool on road-trips. This mostly corresponds to "living like you're poor." Except if you're not really poor, you can spend the money on items that last, perhaps even generations (in other words, avoid Wall-Mart).

Skip the kick-ass home theater. Go to a REAL theater instead. Get out of the house and get rewarded not just with a screen larger than you'll ever be able afford and loud sound that won't annoy the neighbors, but be happy that you don't have to worry about upkeep, and even at $10 a ticket, it will be cheaper in the long run. (I also find that the reaction of people around you can really add to the experience.)

Why buy DVDs? They're going to be outdated anyway, and you may as well do Netflix.

And for God's sake, don't buy stuff until you really need it. For example, your cooking and realize you can't slice through a tomato anymore, and you really need a sharp knife. And you can't slice cucumbers either. So you decide to buy a knife sharpener (and learn how to use it). (As opposed to going to the store and seeing a knife sharpener and thinking "gosh, that might be useful" and buying it. That's an impulse buy and bad bad bad!)

One way to live more efficiently is to use cash for everything. It hurts paying for stuff in cash, especially expensive stuff like flat screen TVs. I promise that you'll think more about whether you need a thing when you start counting out that stack of $100 bills. I highly recommend paying in cash for cars (and always pay in full for cars - no loans). You may think twice about buying that shiny new BMW, and that maybe that used Corolla wasn't such a bad deal after all. (When I get my Tesla I will pay in cash, promise!)

We are so wealthy (speaking of the west in general and Americans in particular) we've lost track of what is necessity and what is luxury. That's unfortunate because there is a certain joy in maintaining the distinction. In this season of giving, to be able to give and receive luxuries would be much more pleasant. It seems like gift-giving today is driven mostly by obligation and precedent. We know that the recipient could afford anything we choose to give them. The gift becomes more an expression of how we view that person rather than an act of generosity. (At it's worst gift-giving is a sycophant's attention-grabbing tool). However if the recipient is frugal, or genuinely poor, then we can truly give them something special - something they simply would not possess otherwise. To provide something that was wanted but denied either by circumstance or self-control is the best sort of giving. By not controlling our consumption we deny this pleasure to others (and heat up the planet, too).




[Update: just ran into this wonderful blog, to which I will subscribe. I really like this post about giving fewer gifts too, although I would add "gift exchange" to the list. This blog is written by someone named "Penny Nickel" of Washington DC.]

OCJUG Meeting December 2007 Notes

No comments:
Richard Brown of Allergen (makers of Botox) works exclusively with Documentum at work (and SharePoint for MS Project integration) and recommended that I check out Alfresco, a GPL CMS written in Java, and Stringbeans, an open source Portal. (Frankly I was more interested in Alfresco than in Stringbeans! I realized how very little I like even the idea of a portal...) Alfresco really does look quite impressive. I wanted to attempt a rewrite of the OCJUG using Alfresco right then and there, but Richard had to leave, so we nixed that idea.

There was a young database guy who's into groovy and postgres (good pick!) and an older Russian sounding fellow who claimed to be into "everything" Java. I am awful with names.

Jim White showed off his toy hydrogen car for a few minutes: it's a small device that has a balloon bladder for the hydrogen, a small open-air fuel cell, and a tiny engine. It had no radio control, but would run for several minutes on a full "tank". Hydrogen came from a tiny battery-powered generator that separates water into ozone and hydrogen via electrolysis. Very cool.

Later on Jim explained how he would like to solve the longstanding CJAN problem (CPAN for Java). However, he revealed that he's never used Maven in his life, nor has he ever written a package for any of the main package managers out there (apt-get, rpm, fink, etc) nor has he ever used the closest thing we have in Java, which right now is Maven (or arguably Eclipse's OSGi based plugin architecture). Nor was he aware of the upcoming Java module changes in Java 7 (JSR 277 and 294). Of course, this did not stop Jim from having deeply held beliefs on how it should (and should not) be done. In the end I was not convinced that he has the experience required to solve this important problem. (It also did not help his chances at getting collaborators that he declared "My part is done!", I think referring to his "Ant Anywhere" code. In my opinion the phrase "My part is done" should not be part of the vocabulary of any collaborative software effort before the final product is shipped. And given the inevitable burden of maintenance, perhaps not even then!)

In the end, given the option of either implementing someone else's half-baked idea and solving my own half-baked (but perhaps more humble) JNI accelerometer problem, I left a bit early so I could work on the JNI problem.

(I will hyperlink this post later. Promise.)

Personal: Year in Review

No comments:
  • Learned to corner well on my motorcycle
  • Learned to do a decent "warrior 2" - thanks to Omadawn
  • Learned to take better photographs
  • Didn't manage to meditate every day, but working on it
  • Started drinking. Quit drinking.
  • Won a few pool tournaments
  • Wrote some code.
  • Had a great time working at Blizzard.
  • Didn't get addicted to WoW - thankfully!
  • Got addicted to coffee - thanks Bogarts!
  • Discovered the Best Hummus in the World (Sunnin)
  • Having a great time at a secret Startup 2.0
  • Learned about sublime love
  • Learned about terrible love
  • Got seduced by a beautiful woman during a lunar eclipse.
  • Got rid of a lot of junk and organized my Seal Beach apt. thanks to my sister and brother-in-law.
  • Got an iPhone, love it
  • Got a scented oil burner, love it
  • Procrastinated on my taxes
  • Burma broke my heart
  • Lost friends
  • Made friends
  • Favorite book/movie/music: The Peaceful Warrior/Ratatouille/She Wants Revenge
A good year.

Idea: Sun Widgets with JavaME

No comments:
You know, I think Java may have a chance on the desktop. Konfabulator is a very nice development model. But it's a resource hog (10-20MB per widget). And I don't think people really know how to use these widget systems, yet.

Let me comment on that second part first. Widget systems should help people shrink down the information flow into the major pieces (e.g. summaries), and shrink down the type of interaction you have with programs (constrain the interface). And when you do this you also get an opportunity to make it pretty. Widgets should reduce clutter, not add to it. Widgets should always elide information. And yet, it seems like people think that widgets are for gathering even more information onto their desktop, usually crap they don't need. Indeed, even Yahoo seems to promote that idea by distributing all manner of useless widgets (who needs a weather widget?!) I actually believe that widgets would be hugely appealing to developers looking to control and manage their running services (think a Tomcat widget that allows for graphical start, stop, monitor of the server and all contexts, with pretty lights and sound effects.)

Widgets are small in every way. They are tiny programs that offer a subset of the functionality of their larger cousins. They have graphics, and maybe some vague interaction with the local system. What does that sound like? Sounds like JavaME to me.

So this hypothetical "Sun Widgets" (or how about "Solar Flares") product would be a JavaME VM - basically a Smart Phone on your desktop. On first principles, the overhead would be very small. I don't know much about JavaME development, but it seems to fit. I heard that Sun is working with OpenLaszlo on making a JavaME renderer - if that's true then OL would be the natural way to write graphically intense widgets.

Google's Android would also be a good fit for a widget host, come to think of it. I haven't looked at their Desktop SDK but I bet there are likenesses to Android.

Well, if Sun wants to make a play for mobile and the desktop at the same time, I think this is a way to do it.

Idea: the poor man's package manager for Windows

No comments:
We might also call this a "software mind-map". Wouldn't it be nice to keep track of all the stuff you install on your Windows box, especially when you're a developer who tends to install a LOT of different stuff? Here's one way you can use Windows folders to do this for you.:
  1. Create a new folder
  2. Adjust it's view settings
    1. set it to be an icon folder
    2. auto-arrange off,
    3. align-to-grid on.
  3. Go through your download folder and drag an "important" file, like Firefox, into the new folder.
  4. Repeat for every related file: add-ons, documentation, and even things like Fiddler.
  5. Add a note to the end for everything that isn't represented by a file (addons, and even special configuration. for some programs you can put special file locations and passwords in this file)
  6. Repeat for every "program of interest"
Here's what you might end up with:

http://joshrehman.com/img/firefox-stack.jpg

What is a program of interest? Anything complicated enough to justify this treatment. For example, I have XAMPP with all it's addons (I included SQLyog with it for good measure), PostgresQL along with a Windows Service icon, pgAdmin III, and the JDBC driver, and installation notes, Eclipse with a bunch of stuff, Tomcat with a bunch of files (mostly docs but a few shared libs), and even Cygwin, PuTTY and PuTTYCyg (which is great, BTW) all lined up.

Stuff that isn't that customized and relatively standalone doesn't get this treatment. Things like Synergy, PSPad, Textpad, Photoshop, Office, JDiskReport, etc don't need to be laid out like this. However, I've made some exceptions. pgAdmin is basically standalone, but it's meaningless to me without PostgreSQL.

Why is this useful? It helps me remember what I have installed, how I installed it (and most importantly) how to start it, stop it, and mess with it. I guess it's kind of like a mind-map of software.

Warning: this positional information you worked so hard for can be lost in a variety of ways. Windows is very eager to move your icons around for you. If you right click and "arrange icons" in any way your work will be lost. If you change your view type (e.g. list details), your work will be lost. If, in another folder you "apply folder settings to all folders" (I think) your work will be lost. In addition, if you do this on the desktop and your screen resizes, you guessed it, your work will be lost. (I actually rather like the desktop as the place to do this. If Windows had a "don't move my icons no matter what" setting I would be pleased.) Trust me when I say that you won't want to do this work ever again. Here's a larger chunk of my desktop:


http://joshrehman.com/img/software-stacks.jpg

And yes, you can do this on your desktop, but I don't recommend it. If your screen resizes you loose all that positional information (horrible UI design, BTW - you should never make it easy for users to loose information).

Note in the above picture how I put a shortcut to Services next to SVN and CVS. This reminds me that to control these things I need to use a generic interface - they are headless services or daemons. Also notice I put a shortcut to tortoise next to SVN - that's really just to remind me I installed it, and it's related. Also note that, if I didn't have puttycyg installed, I wouldn't have put either putty or Cygwin on the desktop. Indeed, it may still come off!

With XAMPP you see above it bugzilla and mediawiki - two packages I will eventually install with XAMPP, but I haven't yet so their of to the side. (The installation of bugzilla is not going smoothly - I'll probably have a lot of notes for XAMPP by the time it's working, which I promise to share.) SQLyog is there because it's my favorite MySQL front-end, and XAMPP is in charge of the installation.

[Golly, I really don't feel like hyperlinking everything I should here. Seems like someone should write a "hyperlinker" that learns from you and can link stuff up automatically. I'm sure it exists, as the need is obvious and it would be simple to write.]

[Update: Just discovered another way to loose positional information - copy the folder. That's right, icon positions are lost when you try to copy the folder. Sigh.]

[Update: Discovered that others have had this problem, and there are many solutions. WinTidy 2 was the first util I found, but it doesn't work with SP2. Then I found this shiny, tiny little program. Yes, it's terribly unsafe, installing a mystery DLL into system32. But it seems to be innocuous. BTW it's a very elegant installer: a DLL, a batch file, and a .reg file. Nice!]

Idea: Mark exceptions to avoid long logs

No comments:
Mark an exception as "logged" so that catch blocks further up the call chain don't relog the stack trace. This gets a bit tricky for wrapped exceptions; I'll leave dealing with that as an exercise for the reader. :)

Smoking really does look cool...

No comments:

smoke &
Originally uploaded by cybele malinowski
...but too bad it smells like crap, tastes like dirt, and makes your lungs burn.

(What a wonderful candid.)

Thinkpad Accelerometer: mystery solved

No comments:
According to MSDN, that strange path-like structure is a "communication resource handle" on which there are several possible operations. These operations are fully documented (for example the CreateFile function).

Oddly, I noticed similar path strings in Windows Services. Take this executable path: "C:\bin\Tomcat 5.5\bin\tomcat5.exe" //RS//Tomcat5. My guess is this is an internal attempt to avoid running tomcat twice, similar to using a PID file. But that's probably not what it is since tomcat won't start again because of port conflicts - a sort of port PID.

Here's another - "C:\bin\Tomcat 5.5\bin\tomcat5w.exe" //MS//Tomcat5 (for monitoring tomcat)

When is Eclipse going to bundle Subclipse in the default download?

No comments:
It's weird that they don't. It reminds of of the bad old days when you had to download and install optional.jar for Ant.

Installing Bugzilla part 2

1 comment:
Well, I got this crazy idea to try to install Bugzilla on Windows using XAMPP.

Apache Forum :: View topic - Help on Bugzilla
I have tried to install Bugzilla on the XAMPP in the folder C:\xampp\htdocs\bugzilla for dates. I used (zipped versions) XAMPP 1.6.3a, XAMPP Lite 1.6.3a, Perl Addon 5.8.8-2.2.4 and Bugzilla 3.0.2 . basically, I unzip the xampp, unzip the bugzilla and follow the quickstart in the bugzilla folder. Is there anybody done that already ... please give me some clues.


Apache Forum :: View topic - Help on Bugzilla
When installing on Windows you follow the instructions from this page under the heading Configure Bugzilla. http://www.bugzilla.org/docs/win32install.html Most of the Win32 Instructions are for installing the components that you have already done by installing XAMPP. Did you create the database and then create a user for that database using phpMyAdmin? There is instruction on how to obtain free support for installation etc. here: http://www.bugzilla.org/support/ The Win32 FAQ is here: http://wiki.mozilla.org/Bugzilla:FAQ:Bugzilla_and_Win32 This Google search might help: http://www.google.com/search?&q=installing+bugzilla+on+windows

But I wanted to do it the easier way, with XAMPP. Downloaded this, with the perl add-on (and the tomcat add-on for good measure).
Ran into some problems running bugzilla's checksetup.pl - first, perl couldn't be found (add a symbolic link in /usr/bin/perl to wherever the XAMPP perl addon was installed). Then, the ppm instructions didn't work. This post said that I should use the interactive package manager (very slick BTW). And I did.

But checksetup.pl insists that those packages are still not installed, and at this point I'm stuck. Is it possible the interactive installer does something different than the command line? One issue that I had was with cygwin paths versus real windows paths. Perhaps I shouldn't invoke ppm from Cygwin?

The problem is working with perl packages in XAMPP. I can't solve it right now because it's time for sleep.

Why the GPL is bad for the world

3 comments:
A recent Slashdot article on the Verizon GPL infringement suit got me to thinking - the reciprocal nature of the GPL may be partly to blame for the whole SAAS movement, which itself encourages the continued concentration of power into the hands of a few.

You can deploy all the GPL'd software you want to a server - in that case you're not distributing binaries, you're just using them to deliver something else. But for companies that want to sell software, GPL is a poison pill. They can't sell software that anyone can just take for free. Preventing people from selling software will tend to concentrate power into the hands of the few organizations that can use economies of scale to barter their services for end-users' attention.

That's right - I'm saying that commercial software is actually the answer to unchecked consolidation of power in the software business. It's time people got used to paying for software again, with cash, rather than paying for it below the table (where consumers tend to get screwed).

Heads up for OCAML folks: a new Eclipse plugin for you!

No comments:
Eclipse has a new OCAML plugin! Haven't used it yet, so I can't comment. The feature list looks good.

Java mobile edition in the browser?

No comments:
What about putting Java Mobile Edition on the browser (with a decent plugin installer, of course)? It's a shame that Java has so many unneccesary libraries - so why not shed them, as Java ME has done, for browsers?