A great idea

From Patryk Zawadzki:

Here’s an idea for GNOME 3.x. Instead of showing a static wallpaper, start treating the wallpaper as an infinite plane. Basically instead of using a JPEG or PNG file as input, build a library that given a rectangle returns the image data (raster or even better vector) corresponding to the surface it covers. As monitors and workspaces come and go, the shell can expand and contract the background, calling the library as needed to build the missing parts.

Awesome! And parallax, multiple monitors. Great idea!

A great idea

From Patryk Zawadzki:

Here’s an idea for GNOME 3.x. Instead of showing a static wallpaper, start treating the wallpaper as an infinite plane. Basically instead of using a JPEG or PNG file as input, build a library that given a rectangle returns the image data (raster or even better vector) corresponding to the surface it covers. As monitors and workspaces come and go, the shell can expand and contract the background, calling the library as needed to build the missing parts.

Awesome! And parallax, multiple monitors. Great idea!

Mirrored from Aria's Blog.

Terms and conditions details are important

Today, a customer introduced me to a free(!) fax-to-email service, FaxBetter. Neat idea, looks like a solid implementation. I almost signed up for a free account to try. I didn’t. Here’s why: at the foot of their “Terms and Conditions” (A click-through contract: you do have to check a box saying you agree when you sign up. Legally binding: maybe.

NON-DISCLOSURE/NON-COMPETE AGREEMENT. The DepositDox Non-Disclosure/Non-Compete Agreement located at www.faxbetter.com/Legal/nda.aspx discloses our Non-Disclosure/Non-Compete policy. By signing up for DepositDox and/or by using DepositDox, you consent to the policy described herein as it changes from time to time. (link) Okay, that’s slightly scary, to have an updatable document included by reference. It gets worse. In the referenced document: IV. Prohibited Acts: User understands and agrees that, other than in the ordinary course of business, all Confidential Business Information is to be preserved and protected, is not to be disclosed or made available, directly or indirectly, to any third Persons, whether by private communication or by public address or publication, without prior written authorization of Board or Shareholders (or other authorized Officer) of the Company, and is not to be used, directly or indirectly, for any purpose unrelated to the business objectives of the Company without prior written authorization of the Board or Shareholders (or other authorized Officer) of the Company. Specifically, and without modifying or limiting this Agreement, User understands and agrees that, except in the ordinary course of conducting business for the Company, no Confidential Business Information, nor any part of it, either in original form or in duplicated or copied form, is to be (i) removed at any time from the premises of the Company, or (ii) disclosed or made available, verbally, by electronic transmission, or by any other form or manner of communication, to any Person for any reason or purpose whatsoever, without prior written authorization of the Company. Must defend a company because you used their free service. C. The Company and User agree that it may be difficult or not feasible to establish whether a former employee of the Company was working within the geographical areas served by the Company, was using the Company’s Confidential Business Information or was soliciting the Company’s Customers. Accordingly, for the protection of the Company’s interests, User agrees that, during his employment and for a period ending two (2) years from User’s last day of employment by the Company for any reason, he will not engage in any of the following acts, directly or indirectly, within the “Restricted Territory,” for himself or on behalf of a Conflicting Organization:

1. be employed by, join as a partner or member with, hire out as an independent contractor for, or associate in a business relationship with a Conflicting Organization or Person managing, employing, or contracting with a Conflicting Organization;

2. engage in a consulting practice with a Conflicting Organization;

3. acquire or maintain any financial interest in any Conflicting Organization unless specifically approved by Board; or

4. seek or accept employment, partnership, membership, or association with any Conflicting Organization or acquire a greater than five percent (5%) shareholder or equity interest in any Conflicting Organization unless specifically approved by Board. Can’t get hired by GoDaddy, eFax, or Google for two years afterward. I couldn’t even run my own eFax service.

No, thank you. FaxBetter is evil.

{placekitten}

{placekitten}.

Generate placeholder images for web page designs … yielding kittens!

Now someone just has to integrate this into Quark Xpress and get rid of the ugly old X.

1323

[22:43:01] Aria: Build systems are like printers. [22:43:10] Aria: They’re the interface between nice neat logical stuff and ugly reality. [22:43:26] Aria: And unfortunately, that predisposes us to think of them as being part of the nice neat logical stuff. [22:43:28] Aria: Which is NOT TRUE.

New blog URL

I’ve moved my blog into my own personal domain, finally. The new address is http://aredridel.dinhe.net/. The old site should redirect everything here.

Setting the date and time on a Syntek 'G100' MicroSD video camera

Make a file called time.txt in the root of the SD card. In it, just put the date, year first, second last: 2011/02/17 10:26:50. Save it and fire up the camera. If you check the SD card, the time.txt file will be gone if the camera accepted it.

Gluten-free, fruit-sweetened coconut-banana custard roll cake

Make the filling first. The cake has to be hot to roll around it.

Filling:

Blend 2 bananas, a can of coconut milk, 3 eggs, a little cinnamon and coriander.

Bake at 350 until set.

Cake:

Drop oven to 325.

Separate five eggs. Beat the whites into stiff peaks.

Blend three bananas, 2 tbsp coconut flour, 2 tbsp almond meal and the egg yolks until smooth.

Add 3/4 cup unsweetened coconut shred.

Fold the two parts together gently, trying not to destroy the loft of the egg whites

Pour onto a parchment lined sheet pan.

Bake until golden and egg has set.

Pull it out of the oven and immediately spread the custard over the surface, then roll the cake end over end. Put it seam side down on a tray. The cake will stay moist without any trouble or wrapping.

A fruit-sweetened ketchup recipe that will knock your socks off

1 teaspoon coconut oil 1 can tomato paste

Fry the paste in the oil, keeping it moving as it starts to caramelize

1 cup pineapple juice 1 teaspoon guar gum

1/4 teaspoon nutmeg 1/4 teaspoon clove 1/4 teaspoon cayenne pepper 1/2 teaspoon hot paprika

a few drops of smoke flavor

toast 1/2 teaspoon fenugreek seeds, grind and add.

Cook stirring constantly, caramelizing as much as possible.

Adjust the amount of juice to get the texture right for ketchup. Dip things in it and pretend you’ll have enough left to save for later.

Mint-tomato sauce

1/4 cup peppermint leaves 1 small can diced tomatoes 1 small can tomato puree or crush. 1 tablespoon ras el hanout, or at least cumin, cinnamon and clove salt and pepper to taste.

Cook in a pan greased with olive oil, letting it start to caramelize around the edges between stirs (it should look like “barely beginning to stick” each time, and have the pleasant hissing noise of fresh moisture hitting a hot pan as you stir.

Serve over cous-cous with meatballs.

Cold eggplant and mushroom relish

1 eggplant, cut in 1/2 inch cubes 5 or 6 mushrooms, small dice 1 shallot or 1/3 red onion, chopped fine 1 tablespoon ras el hanout spice mix garlic to taste

Sautee in olive oil (rather a lot – a quarter cup or more is awesome)

Add a half can of diced tomatoes, and salt to taste. Sautee until starting to dry again.

Serve cold.

Moroccan lamb meatballs

1 pound ground lamb, room temperature
1 egg, beaten
1/4 cup almond meal (optional, and bread crumbs would be fine if you're not being gluten-free)
2 tablespoons dried parsley
2 tablespoons dried peppermint (I stole it out of my tea jar)
1 or 2 tablespoons _ras el hanout_ spice mix. (See below)
the zest from one lemon, chopped fine
one tablespoon fresh ginger root, chopped fine

mix ingredients gently, trying not to overwork the meat.

Pan-fry in a couple tablespoons of olive oil on all sides (6-10 minutes total or so), then bake at 200°F for 20 minutes.

Ras el hanout
There's no one perfect recipe, but mine was approximately equal parts of:

fresh toasted cumin seed, ground afterward
fresh toasted coriander seed, ground afterward
cinnamon
garlic powder
ginger root powder
paprika
mustard seed, toasted and ground

plus pinches of turmeric, clove and allspice, and a grating of nutmeg.

The Seven Sins (plus one!) with Anonymity on the Internet

Anonymity + Greed = Spam (Thanks to @mblumenthal)

Anonymity + Pride = Trolling and off-topic rants comments

Anonymity + Gluttony = BitTorrent running 24/7

Anonymity + Sloth = Spending all day watching Youtube videos

Anonymity + Lust = Watching lots of porn

Anonymity + Envy = Comparison shopping and stalking exes and potential dates on social networking sites.

Anonymity + Wrath = Racist, homophobic and nationalistic comments and defacing websites because one can.

And, for Randy at ThisIsTrue.com, maker of Get Out of Hell Free cards:

Anonymity + Stupidity = Misinformation, badly written Yahoo! Answers questions and answers, and forums full of people half-solving problems and no real fixes with understanding of why the problem happened in the first place.

Routing analog input to HDMI output under Linux

Fedora gets close on my audio machine, but it lacks the actual hardware to pass analog input to HDMI output in the audio chip itself– I suspect the route doesn’t exist.

I set the GNOME sound settings (FC14 – pulseaudio based) to Digital Output + Analog Input. Then run (make a script you can click, if you want) this gstreamer pipeline:

gst-launch pulsesrc ! pulsesink

Modern Mac Java Development

The latest releases of XCode don’t ship with Java anymore. You’ll need the Java Developer package from Apple.

(For me, this means downloading Eclipse, Java Developer, Tomcat, and the Java Web tools for Eclipse.)