justin = { main feed , music , code , askjf , pubkey };
Ask Justin Frankel
No reasonable question unanswered since 2009!

Suggested topics: programming, music, sleep, coffee, etc.

Note: please do not ask questions about REAPER features, bugs or scheduling, use the forums instead.


Name: Ask: Human (enter yes):
[newer questions][unreplied] | [replied] | [recent comments] | [all]
[older questions]

Question: What made playmedia's "bad quality"? wiki.hydrogenaudio.org/index.php?title=Best_MP3_Decoder...
Asked by Will (70.173.150.x) on May 29 2010, 8:54pm
Reply on May 30 2010, 12:24pm:
    I never noticed a problem, sometimes people would get picky about +-1 sample errors from ISO compliance, but meh...
Comment...
Question: Recommendation for a good regex library in C/C++?
Asked by _gio (62.103.65.x) on May 29 2010, 7:53pm
Reply on May 30 2010, 12:24pm:
    Hmm I usually end up writing php when I'm needing regex type stuff. :)
Comment...
Question: Could you tell us how many lines of code winamp 1 was? approx..
Asked by Eric (83.79.96.x) on May 29 2010, 6:37pm
Reply on May 29 2010, 7:12pm:
    I don't remember about v1, but v1.9 had about 11k LOC in winamp.exe, plus about 8k LOC for the mp3 decoder, 11k LOC for the (mikmod) mod player.
Comment...
Question: tricky-one:) is it possible to make a ".so" on linux self-aware (i.e. no host patching) of its own location (dir) on load-time?
Asked by lubo (95.42.114.x) on May 29 2010, 12:15pm
Reply on May 29 2010, 1:10pm:
    You can use dladdr() on an address within your module's code, I believe. To be safe that address might need to be exported (not sure).
Comment...
Question: Was there any time that you wanted to give up winamp.. before it became popular?
Asked by Eric (83.78.14.x) on May 28 2010, 6:49pm
Reply on May 28 2010, 9:05pm:
    Heck no, it was a great time :)
Comment...
Question: Why bother implementing virtual windows, as you did in WDL? Are actual HWNDs that much of a pain?
Asked by MattC (75.34.93.x) on May 28 2010, 5:58pm
Reply on May 28 2010, 9:06pm:
    HWNDs are not a pain, but they do use a lot of resources (there is a systemwide limit on the number of HWNDs that can exist at any given time, etc). Also, the virtual windows allow us to do proper composition and some other fancy things using LICE. You can do some of this using Windows 2000+ APIs with HWNDs, but meh.
Comment...
Question: In a very early version of winamp, the changelog mentioned "add EQ, but how?" Where did you eventually find out how?
Asked by Will (24.234.128.x) on May 27 2010, 3:28pm
Reply on May 28 2010, 2:31pm:
    Initially I just experimented with tweaking the MDCT coefficients in the mp3 decoder. Later on I found some stuff on IIR filters (so that the EQ could work on other formats etc), I have no idea where from, then eventually another person (I think someone from 4front) gave us better filters, too. These days, though, I'd look at the RBJ filter guide...
Comment...
Question: One reason I like java is the great static analysis tools eg FindBugs. Do you use any of those for c/c++ work eg lint/splint?
Asked by Daniel (110.21.131.x) on May 27 2010, 3:23pm
Reply on May 28 2010, 2:31pm:
    We do use Purify from time to time, which is pretty good. Shame the licensing is such a pain (IBM really makes it a pain in the ass). Our one license is pretty much tied to a laptop we have.
Comment...
Question: why don't you like/use java?
Asked by poop (67.88.171.x) on May 27 2010, 6:59am
Reply on May 27 2010, 12:23pm:
    There's no real advantage that I can see that I would benefit from. That and, most applications I've seen written in Java are utter pieces of crap.
Comment...
Question: If Google sent you an Android device, do you think you'd use it?
Asked by roberttheiii (192.249.47.x) on May 26 2010, 9:18am
Reply on May 26 2010, 10:15pm:
    I'd give it a shot.. And I'd try programming it as long as I don't have to use java...
Comment...
Question: so how much beer takes you to stop coding?
Asked by Eric (83.78.177.x) on May 25 2010, 10:44pm
Reply on May 26 2010, 10:16pm:
    A lot.. Coding with a buzz isn't bad.
Comment...
Question: Do you make plans (the things you want to do) for tommorow, next month or next year.
Asked by asafonov (83.149.3.x) on May 24 2010, 6:39pm
Reply on May 24 2010, 7:51pm:
    Sure, though usually those plans are things that need to be done, rather than things I really want to do.. The "want to do" things usually get squeezed in whenever I can.
Comment...
Question: Also, since someone mentioned that you like multi-core, have you checked out Haskell at all?
Asked by jerff (208.102.133.x) on May 24 2010, 3:52pm
Reply on May 24 2010, 7:50pm:
    No, I like lower level programming, where I can imagine the machine code that the compiler is outputting, etc. Or PHP if I'm just doing a lot of string manipulation.
Comment...
Question: Is C still the defacto language for shipping cross-platform Desktop applications?
Asked by jerff (208.102.133.x) on May 24 2010, 2:42pm
Reply on May 24 2010, 7:47pm (edited at May 24 2010, 7:48pm):
    C or C++, sure. I don't see any real advantage of using C over judiciously using C++, and C++ has numerous substantial advantages over C (mostly convenience stuff, I admit).
Comment...
Question: Have you ever thought about writing a memoir about your journey, kid->Computer->Mp3->College->Winamp->Love->Life after AOL->Now
Asked by AnalSeducer (71.142.83.x) on May 24 2010, 12:04am
Reply on May 24 2010, 7:45pm:
    Nah, I don't think it'd really be that interesting!
Comment...
Question: Are you ever going to write the coding tutorials you mentioned way back? It'd be great to read how some avs effects work.
Asked by Will (70.173.150.x) on May 23 2010, 3:05pm
Reply on May 24 2010, 7:45pm:
    Those would be two very different tutorials (Win32 app programming vs leet gfx effect coding). But maybe someday...
Comment...
Question: How do you see yourself 10 or 20 years later?
Asked by asafonov (80.239.242.x) on May 23 2010, 8:11am
Reply on May 24 2010, 7:45pm:
    Mostly doing the same sort of thing, hopefully! Maybe with better posture and more symmetry.
Comment...
Question: Would you be interested in writing a music player for Android? The stock player sucks and we're in need of a great player.
Asked by David K (92.239.9.x) on May 23 2010, 2:52am
Reply on May 24 2010, 7:44pm:
    I'm somewhat over the music player writing... If I wasn't, I don't have an Android device, either..
Comment...
Question: are you going to write more open sauce tools soon?
Asked by poop (207.154.59.x) on May 21 2010, 7:15am
Reply on May 22 2010, 9:03am:
    I do enjoy sauces. If you meant open source, we may be open sourcing a tool called "LICEcap" (available now via the REAPER Pre-Release forum).
Comment...
Question: What's the difference between stack and heap allocation, and why is the stack so much faster?
Asked by John (24.234.128.x) on May 20 2010, 1:19pm
Reply on May 22 2010, 9:02am (edited at May 22 2010, 9:03am):
    Well I could link to the appropriate Wikipedia articles on their basic structure, but instead I'll highlight the practical differences from the top of my head:
    1. The stack is much more limited in size, and is thread-local (meaning it is faster because it generally does not need to synchronize any threads to access). On Windows it's typically reserved at just a couple of megabytes, even.
    2. Memory allocated on the stack is temporary, but because of this, it's highly predictable where the memory will be allocated from (which means it is faster to calculate), and also often more likely to be in cache.
    3. The heap is much larger, persistent, and can have allocations managed across threads. This requires thread safety, and more data structures to search for free space when allocating.
Comment...
[newer questions][unreplied] | [replied] | [recent comments] | [all]
[older questions]
Copyright 2025 Justin Frankel. | RSS