justin = { blog , askjf , music + brainal , pics , code , cockos = { reaper , wdl , ninjam , js } };
[ present 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... past ]
this makes me think of escape from new york.
Feb 01 2012 2:27am - No Comments

watch out for the mines!

<No Comments>

the rain is warm
Jan 18 2012 12:13am - 1 Comment

<1 Comment>

music and claymation
January 11 2012 - No Comments

I saw this excellent claymation music video:

...which hooked me. "Portugal. The Man" is great, I've listened to this album ("In The Mountain In The Cloud") more times than I can count:

...and the animator of the first video, Lee Hardcastle, has some fantastic videos. Check out Pingu's The Thing (which is quite popular on YouTube, so you might have already seen it):

Sorry for the flood of YouTube embeds, but I enjoyed them greatly, and having already spammed many people with links, felt compelled to continue.

<No Comments>

Big Ideas
December 23 2011 - 4 Comments

I have occasionally found myself in conversation, often in the presence of alcohol, about the ownership and value ideas. This post will attempt to document my current state of mind in these matters.

We routinely say "I have an idea", but I assert that nobody can own an idea. The closest one can come to owning an idea is to have private (possibly exclusive) possession of it. Sitting on an idea (or indeed implementing it and using it privately) could prevent others from implementing the idea, but it also would not prevent them. What is interesting about this, too, is that one would have no way of knowing if they had exclusive possession of the idea, since others could also possess it privately.

I've often heard things such as: "If I have an idea for something great, I should be able to benefit from it." I don't think it is that simple, nor do I think it should be. I like to imagine it from the perspective of conservation of energy. In my opinion, "having an idea" doesn't cost anything -- there's no work done, no trial and error, no refinement, no experimentation, it's purely the creation of an abstract concept. All of the work, all of the energy required to develop the idea into something real, that happens after having an idea. All of the work of implementing (or at least designing an implementation or possible implementation) is the where the value is created, and that is from what a person should be able to derive benefit.

If you suppose for a moment, that someone could have some sort of exclusive right over an idea, what would that actually mean? Could they prevent other people from doing anything that could be conceivably based on that idea? Could they demand a share of any derived revenue, or control? Could they demand credit? For how long? Ugh, chaos follows. The world would grind to a halt due to this complexity. The advantage you get for having an original (or at least somewhat original) idea is a slight head start.

An idea is something that one can benefit from, but that the rest of society also has the same opportunity for benefit. This actually makes me quite happy.

What does one do if they have an idea and want to make it into something real, but have no applicable skills? Hire people. No money? Make non-disclosure agreements or other contracts which will help protect what other people do with the information you given to them, and prevent them from doing other things that could possibly relate to the idea. This is a joke, though, few talented developers will agree to these sort of terms. Both sides need to have something of value to offer, and ideas are not value held by either side, because they are not able to be owned.

A friend brought the subject of Facebook up after seeing The Social Network.

  1. Facebook became huge because of how it was made and marketed.
  2. The idea for Facebook wasn't a new, nor original, idea.
  3. Even if it was some brand new idea, it doesn't matter, since nobody can own the idea.

TL;DR: Ideas are worth a lot to society, but not much to individuals. Execution is the opposite.

Finally, some advice for anybody who wants to make things and profit from them: figure out something you can contribute; ideas aren't enough. If you're content to just contribute to society: publish your ideas, let people use them, and hope for the best.

(also, a related post that I previously linked to and agreed with, but the notion that the worth of ideas differs for society as a whole vs the "owner" is new for me)

<4 Comments>

I am liking this Phil Selway song
Dec 16 2011 2:50am - 2 Comments



The rest of the album is pretty solid, too, but the feel of this one does it for me.

I will also go ahead and say that, for the record, the last two Radiohead albums are completely awesome. Just in case anybody wondered.

<2 Comments>

coucher de soleil
Nov 13 2011 10:29pm - 2 Comments

<2 Comments>

yay snow
Oct 29 2011 4:15pm - 3 Comments

a little early, I admit...

<3 Comments>

Bread
Sep 10 2011 2:34am - 2 Comments

mmmm

<2 Comments>

We are so very proud of this
Aug 12 2011 4:50pm - 2 Comments

<2 Comments>

At the end of an enjoyable 8 months of development...
August 3, 2011 - 8 Comments


Hooray! Thank you to my fine coworkers/coconspirators: Schwa, Christophe, Ollie, White Tie, Geoff, and all of the lovely people who helped test and gave valuable feedback. Schwa and White Tie did a fantastic job on the new web site, too, I must say. <3

Soon after posting the new website (thank you, git, for making that easy), and after grabbing a celebratory coffee, I noticed the web site was a bit slow. The CPU use was low (an Amazon EC2 instance), but on looking at the bandwidth graph I saw it was pushing a ridiculous amount of traffic (presumably saturating the link, even). After mirroring the downloads to a CDN (CloudFront), all was well. Thank you, Amazon. I'm very impressed with AWS/EC2/etc. It's good stuff.

<8 Comments>

It's the most wonderful time of the year
Jul 24 2011 12:17am - 2 Comments

OK maybe after cherry season.

<2 Comments>

Fun with denormals
July 14 2011 - 3 Comments

Something that often comes up when writing audio applications are things called "denormals". These are floating point numbers that are very small, so small in fact that for some reason CPU designers think they are quite rare (OK so they are), so the circuitry that processes them is very slow, when compared to that of a "normal" sized number.

If you read that (awful) explanation, and didn't understand it or care, I apologize, you can stop reading now because it will only get more boring and less intelligible.

We have made some common code to filter out these numbers, as many others no doubt have done:

// boring code omitted, see WDL/denormal.h for the full code
// WDL_DENORMAL_DOUBLE_HW() is a macro which safely gets you the high 32 bits of a double as an unsigned int.

static double WDL_DENORMAL_INLINE denormal_filter_double(double a) { return (WDL_DENORMAL_DOUBLE_HW(&a)&0x7ff00000) ? a : 0.0; }

The above code pretty simply looks at the exponent field of the double, and if it is nonzero, returns the double, otherwise it returns 0.

Recently it came to our attention that we actually needed to filter out larger numbers as well (when sending those numbers through a process such as a FFT, they would end up as denormals). If we pick a number around 10^-16 (not being picky about the exact cutoff), which has an exponent of 0x3C9, we can choose to filter when the expoenent field is under that value:
static double WDL_DENORMAL_INLINE denormal_filter_double_aggressive(double a)
{
  return ((WDL_DENORMAL_DOUBLE_HW(&a))&0x7ff00000) >= 0x3c900000 ? a : 0.0;
}
That was pretty much free (ok slightly larger code, I suppose). One nice thing that became apparent was that we could filter NaN and infinity values this way as well (exponent == 0x7FF), with only the cost of a single integer addition:
static double WDL_DENORMAL_INLINE denormal_filter_double_aggressive(double a)
{
  return ((WDL_DENORMAL_DOUBLE_HW(&a)+0x100000)&0x7ff00000) >= 0x3cA00000 ? a : 0.0;
}
Note that the exponent is increased by 1, so that 0x7FF becomes 0, and we adjusted the cutoff constant for the change.

An extra thought: if you need to pick the cutoff number more precisely, you could change the mask to 0x7fffffff and the cutoff (0x3cA00000) to include some of the fraction digits...

Additional reading: IEEE_754-1985.

Oh and happy bastille day!
<3 Comments>

$50 of fun
Jul 09 2011 6:58pm - No Comments

A small r/c car, led lights, and wireless camera.

<No Comments>

Spotted last month
Jun 27 2011 9:25pm - 3 Comments

Al thought this would make a good picture.

<3 Comments>

I have this dream
Jun 16 2011 11:49pm - 2 Comments

where I'm flying through space
hoping there are no power lines

<2 Comments>

incredible industrial design
June 8 2011 - No Comments

s/incredible/sleepy/
Yawn:

<No Comments>

Lots of people
May 18 2011 7:02pm - No Comments

I am not at a Pink Floyd concert.

<No Comments>

A fascinating article from 1987
May 14 2011 10:08pm - No Comments

Reading this piece from the New Yorker about the Mississippi River from 1987 (at schwa's recommendation). I wish it had pictures, but wow.

<No Comments>

Caffeinated walks ftw
May 13 2011 5:00pm - No Comments

<No Comments>

Memories from winter
May 10 2011 7:10am - No Comments

...are now so distant...

<No Comments>

Another test
May 10 2011 5:29am - 1 Comment

I like analog clocks.

<1 Comment>

Columbus Park
May 10 2011 5:27am - No Comments

<No Comments>

yet another tame impala bootleg
April 26 2011 - 4 Comments

<4 Comments>

tame impala
April 19 2011 - 4 Comments

I love these guys, I can't wait until next week for their show. Anyway some of their (old?) demos/unreleased tracks have shown up on youtube, and are really wonderful. Such low quality and such good result. Here's a little playlist of some of them I put together:


Also, I would highly recommend their album "Innerspeaker", as well as the EP that has the song "half full glass of wine" on it. Both of those are outstanding.

<4 Comments>

power consumption
April 12 2011 - 1 Comment

I wonder what the total number of kW hours required to say, run the Apollo 11 mission. One factor would be in the fuel required, but I also mean in running the whole operation, manufacturering components, running control rooms, processing fuel, moving the rockets around, etc etc.

Which brings me to the fact that I just got a "Kill-A-Watt", after reading this blog post. I haven't tested everything yet (nor will I ever hah), but here are the results for the things I have:

  • iPhone charger: 0.0W when no iPhone connected, 6W when charging (the classic "you should unplug wall warts when not in use" thing doesn't necessarily apply!)
  • ReadyNAS NV (old sparc model, 3 WD and 1 Seagate 1TB disks): 50W
  • Samsung 24" LCD: 45W, or 0W when in powersave mode
  • Q6600 2.4ghz computer with single 7200rpm disk, GeForce 8600 GT, UAD-1 PCI-E card, idle: 115W, full load (with UAD-1 going): 185W.
  • Sony VPC-Z12 laptop (dual core i7, SSD, 13" 1920x1080 screen, full brightness): 17W when idle in "speed" mode. 35W when idle and charging battery, 77W under full CPU load while charging battery.*
  • Updated: Brother laser printer/scanner/fax: 6W idle
  • Updated: Thinkpad X60 (1.83ghz C2D): idle 23W, 28W with full brightness setting
  • Updated: PS3: 1W off, 100W idle, 120W in RE5.
  • Updated: LG 36" LCD: 0.5W off, 45W on
  • Updated: 24" C2D iMac: 125W idle, screen at full brightness, 146W full load
  • Updated: ZT lunchbox amp: 18W cranked but not playing anything, 23W when playing loud
The biggest thing that struck me is that my laptop, under normal use conditions, is using less power than desktop's monitor ALONE. Wow. I'll test more things soon, I get to reboot once again to remove the Kill-A-Watt from my desktop now.

*I should also mention that this laptop is really wonderful, despite lacking home/end/pgup/pgdown keys, which makes me sad. It weighs only 3LBs, and is fast (i7 dual core, 4 threads, goes up to 3.2ghz or so in singlecore mode automatically), and even has an optical drive built in.
<1 Comment>
[ present 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... past ]


Search comments - Ignore HTML tags
rss : recent comments : Copyright © 1996-2010 Justin Frankel : powered by hl-- : 557142