<<
 
>>
 
 
justin = {main feed = { recent comments, search } , music , code , askjf , pubkey };
 
So excited...
November 18, 2010
(and here is the video for a song I mentioned in a previous post):


4 Comments
Missing England
November 5, 2010

They do train stations right. Bleh.

1 Comment

these days, disk is fast
October 31, 2010
Just made a synthetic test to generate 128 .WAV files (large, to avoid staying in cache) that when summed, produce a nice clean sine wave, and when any are missing, produce noise. REAPER seems to have no problem playing them all at once, at least on my fast laptop or desktop, with Win7 x64. Mmmm. It's only 18MB/sec, even.

Comment...
An incredible bargain!
October 31, 2010



3 Comments

Emotions
October 31, 2010
Happy


Sad*



* but feeling good?

P.S. I love you, allpress.



2 Comments

music is good
October 29, 2010
Riding the tube listening to 'tame impala - half full glass of wine', and I can't imagine that any of the other people who are listening to their headphones are enjoying themselves more than this. Not possible.

2 Comments
reinventing the wheel
October 28, 2010
making a fun little vector format because parsing SVG (and comparing renders of it in different programs) makes me sad.

Comment...



3 Comments

Music
September 29, 2010
freeform jam with newtcrappydrums
Music
September 24, 2010
brenchradara - 1 -- [74:01]
brenchradara - 2 -- [6:32]
Music
September 16, 2010
freeform jam with chrvideo
A Wagonfull
September 15, 2010



Recordings:

freeform jam with bren
freeform jam with chrvideopoo

1 Comment

A Nice View...
September 15, 2010

...on a nice warm day in the recent past.

1 Comment

Music
September 13, 2010
freeform jam with chrvideo
Music
September 8, 2010
freeform jam with brennewtjoshnoj
Music
August 24, 2010
hot as balls
Music
August 18, 2010
freeform jam with brennewt
I am drinking kool-aid
August 17, 2010
This is a good video for anybody who does software development:

Some people I know don't like Linus when they've watch this, but I think he's awesome, even though he called me stupid and ugly. He was right, I guess.

Using SVN was a great thing for me, as I'd constantly diff my work to make sure it was what I wanted. It also (obviously) enables collaboration.

Git, however, is utterly awesome, an order of magnitude more useful. Branches in SVN were a huge pain, we rarely used them. In Git, you can actually use them, effectively and without having to deal with nonsense, it is fantastic.

It is fast, efficient at storing data, easy to synchronize and automate backups, I love it.

The only downside I see is that TortoiseSVN doesn't exist for it, TortoiseGit is getting there, from what I hear, but I've just been using the command line thus far.

Anyway, I'm just giddy with it. I would say life changing, but that would be overdramatic. It is work-changing, I guess.

4 Comments
Music
August 12, 2010
freeform jam with chr
Home made iPhone tripod
August 11, 2010

I find my iPhone 3GS does a decent job as a video camera, so I made this:

4 Comments

Music
August 4, 2010
freeform jam with chr
Music
July 31, 2010
freeform jam with newt
Here's a youtube collaboration I accidentally participated in:

I must say, these are exciting times... We have all kinds of crazy tools, it is so awesome.

1 Comment

Music
July 28, 2010
freeform jam with brennewtjoshnoj
Music
July 25, 2010
freeform jam with chr
Music
July 23, 2010
freeform jam with chrwiener
Music
July 21, 2010
newtbrenjosh - 1 -- [82:17]
newtbrenjosh - 2 -- [51:16]
Music
July 19, 2010
freeform jam with newt
I am posting this in case anybody debugging something needs to find it -- I did find mention of it on some Java related site, but nothing conclusive. This may affect VC2010, too, but I haven't tested it.

While VC 2005/2008 targeting x64 generates SSE code for floating point code, fmod() still uses the x87 FPU, and more importantly it assumes that the divide by 0 exception flag is clear going in (meaning if it is set prior to the call, the call will throw an exception or return #.IND regardless of the input). Apparently they assume that since the compiler won't possibly generate code that would cause the divide by 0 floating point exception flag to be set, then it would safe to assume that flag will always be clear. Or it could be a typo. If you use assembly code, or load a module compiled with another compiler that generates x87 code, this can be a huge problem.

Take this example (hi.cpp):

#include <stdio.h>
#include <math.h>

extern "C" void asmfunc();

int main() {
  asmfunc();
  printf("%f\n",fmod(1.0,2.0));
  return 0;
}

and hihi.asm (compile with nasm -f win64):

SECTION .text

global asmfunc
asmfunc:
  fld1
  fldz
  fdivp
  fstp st0
  ret

Compiling this (cl.exe hi.cpp hihi.obj) and running it does not print 1.0, as it should.

The solution we use is to call 'fclex' after any code that might use the FPU. Or not use fmod(). Or call fclex before fmod() every time. I should note that if you use ICC with VC200x, it doesn't have this problem (it presumably has a faster, correct fmod() implementation).

6 Comments

Music
July 12, 2010
brennewtjoshnoj - 1 -- [20:50]
brennewtjoshnoj - 2 -- [38:08]
Music
July 6, 2010
balls at 102
Music
July 2, 2010
chrwienerschwa - 1 -- [4:40]
chrwienerschwa - 2 -- [4:30]
chrwienerschwa - 3 -- [4:12]
chrwienerschwa - 4 -- [4:45]
chrwienerschwa - 5 -- [5:12]
chrwienerschwa - 6 -- [5:34]
chrwienerschwa - 7 -- [5:47]
chrwienerschwa - 8 -- [3:56]
chrwienerschwa - 9 -- [2:48]
chrwienerschwa - 10 -- [7:08]
chrwienerschwa - 11 -- [5:06]
chrwienerschwa - 12 -- [6:51]
chrwienerschwa - 13 -- [6:10]
chrwienerschwa - 14 -- [3:06]
Music
June 30, 2010
freeform jam with brennewtfritznoj
Music
June 19, 2010
freeform jam with 100623-newtbrennoj
Music
June 14, 2010
brennewt - 1 -- [79:16]
brennewt - 2 -- [23:24]
Music
June 8, 2010
freeform jam with newt
LICEcap!
June 7, 2010
We've just released a new piece of open source software for Windows, called LICEcap! It allows one to create animated screen captures. I know, there's a lot of software out there that does this already, but none of them are both free and meet my needs, so we made LICEcap.

LICEcap has a nice UI (in that you position/size the window where you want to capture, and can move it around while recording). We support writing to .GIF directly (big thanks/credit/blame to Schwa for getting the palette generation working as well as it does), as well as to a new format called .LCF.

LCF compresses by taking a series of frames, say, 20 frames, and then dividing each frame into slices, approx 128x16px each. Each slice is then compared to the same slice on the previous frame, and (if different) encoded directly after the previous frame. zlib is used to remove redundancy (often slices don't completely change from frame to frame, i.e. scrolls or small updates will compress very well). This is all done in 16bpp, and the end result is quite good compression, and lossless (well, 16bpp lossless) quality. REAPER supports playing back the .LCF files, too. The biggest down side is high memory use during compression/decompression (20 frames of 640x480x16bpp is about 12MB, and for smooth CPU distribution you end up using twice that).

I should mention that the primary reason for us making this tool was the desire to post animated gifs of new features in REAPER with the changelog. Hopefully we'll follow through on that.

On a related note, tomorrow (or soonish), I plan to post my latest additions on how to make OS X applications not perform terribly (new one: avoid avoid AVOID CGBitmapContextCreateImage() like the plague. HOLY CRAP it is bad to use). Apple: please, for the love of God, either make your documentation a Wiki, or hire someone who actually writes (multi-platform) applications with your APIs to write documentation.

9 Comments

search : rss : recent comments : Copyright © 2025 Justin Frankel