<< >>
justin = { main feed , music , code , askjf , pubkey };recent comments
search
Searching for 'bleh' in (articles)... [back to index]

September 14, 2023
inefficient programming

Someone asked if I would post something about programming. I wish I had something interesting to offer. The best I can do is describe an area in our current work where there's a considerable productivity drain ("technical debt", I suppose).

We're still using Windows .rc files for dialog boxes. VC6 is my preferred dialog editor, but it has a limit of something like 32k or 64k controls in total for the entire .rc file, if you exceed that it crashes. We've long exceeded that, so now we pretty much edit .rc files by hand with lots of trial and error (I don't seem to be getting any better of adding/subtracting fixed values to the Nth column of a bunch of lines). We could temporarily trim the file, do the edits, then restore the rest, but meh. Or we could write a .rc file editor lol. At any rate it's completely inefficient.

On a more specific points related to that, adding options to REAPER's preferences takes far too much work. There's the manual .rc file editing, the juggling around of options in a fixed amount of space, moving things to other tabs, etc. It's stupid and a time suck. But there's no reasonable alternative without a ton of extra work. Some day, maybe.

So anyway, it's often the case where we want to add something simple, and a good half of the work is spent with UI nonsense. Yes yes we could move all of our preferences to a list of attributes and make it all generated from data and that would be great but that would be a huge project.

bonus:

People ask about making a mobile sequencer. The underlying core of a DAW would be the same, but doing the UI would require basically a separate implementation to be useable. I don't really want to maintain two DAWs. Also phones bleh (x 1000 -- the ecosystem, the lockeddownness, the lack of keyboard, the mercy of the OS, etc). :/

12 Comments


December 5, 2015
time lapse

bleh colors fail:

2 Comments


November 5, 2010
Missing England

They do train stations right. Bleh.

1 Comment


September 3, 2009
WTF OS X you can suck it

This should work:

    [menuitem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
    [menuitem setKeyEquivalent:@"t"];
It works if I replace the "t" with "q", etc. wtf.

Edit: ahh, a system item added to the edit menu takes it. bleh.

Comment...


February 24, 2009
Wonder why autosong.ninjam.com keeps hanging...

It does seem to relate to one of my processes (ninjamsrv), but still, shouldn't that not be able to bring the system to its knees?

Debian, linux 2.6.18 on a 2.4ghz P4.. bleh. The remote power switching box gets lots of use (every few weeks) as a result.

---

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Oops: 0000 [#1]

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: SMP

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: CPU: 0

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: EIP is at do_page_fault+0xa0/0x481

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: eax: f695c030 ebx: 6b67cadd ecx: 0000007b edx: 00000000

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: esi: a714c051 edi: 48f20084 ebp: 48f20000 esp: f695c00c

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: =======================

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Oops: 0000 [#2]

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: SMP

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: CPU: 0

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: EIP is at show_trace_log_lvl+0x3e/0x6a

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: eax: 00001ffd ebx: 0000007b ecx: 00000046 edx: 00000000

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: esi: c0291c24 edi: 00000000 ebp: c0291d8d esp: f695bf24

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: ds: 007b es: 007b ss: 0068

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Process ninjamsrv (pid: 2490, ti=f695a000 task=dfa82000 task.ti=f695a000)

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Stack: f695c06f 00000018 00000000 c0291d8d c0103c21 c0291d8d c0291c52 c0291d8d

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: f695bfd8 f695c00c 00000002 00010206 f695bfd8 f695c00c c0103d51 c0291d8d

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: c0291d81 00000001 00000068 c0115344 00000000 f695bfd8 00000206 c0103f44

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Call Trace:

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Code: 1c 56 68 5d 1e 29 c0 e8 9a 9d 01 00 89 f2 b8 df bc 29 c0 e8 06 25 03 00 58 5a 83 c3 04 39 fb 76 2a 8d 87 fd 1f 00 00 39 c3 73 20 <8b> 33 89 f0 e8 cc 83 02 00 85 c0 74 e2 eb c7 55 89 cb 68 24 1c

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: EIP: [] show_trace_log_lvl+0x3e/0x6a SS:ESP 0068:f695bf24

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: ds: 007b es: 007b ss: 0068

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Process ninjamsrv (pid: 2490, ti=f695a000 task=dfa82000 task.ti=f695a000)

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Stack: 00000000 f695c030 e671cf24 31635f75 6b67cadd a714c051 c01152a4 48f20000

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: c01037f9 6b67cadd 0000007b 00000000 a714c051 48f20084 48f20000 f695c088

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: 2098007b dcb8007b ffffffff c0115344 00000060 00010206 00000000 f695c088

Message from syslogd@test at Fri Feb 20 06:28:04 2009 ... test kernel: Call Trace:

4 Comments


February 14, 2008
to my love, OS X.

JUST KIDDING. Quite the opposite in fact. It's been really exhausting porting stuff to OS X. Here are some reasons why:

1) Poor (and often hard to find) documentation-- Yes, some of the newer APIs are decently documented, but dig in and try to use ATSU to render text, and it's a world of pain. Looking through header files that all seem to assume you know what to do. This is tolerable, though, with enough digging you can find what you want.

2) The AudioUnits SDK-- the API for AudioUnits is defined in a header, but not documented. So to use AU, you'd have to either just use the SDK (with EXTENSIVE amounts of code), or reverse engineer it to figure out what calls you need to do to control the plug-ins yourself. Someone obviously spent a lot of time defining an extensible plug-in API, why the fuck don't they document it?! I mean, really, just a "first, call this, then, call that, then, when you're ready to process X, do Y." If this info is somewhere, someone please let me know... (see the next point)

3) The previous two points might to be related to the fact that Apple seems to assume that as a Mac developer, I've been developing for macs continuously since 1984, and have religiously read the developer mailing list since whenever it was created. Apple: for the love of god find some way of getting those mailing list posts linked to/from the relevant documentation pages.

4) There are WAY too many ways to accomplish similar things. The classic example which I bitch about a lot is text rendering--last I checked, there is CoreText (apparently awesome, but 10.5 only), CoreGraphics text functions (seem nice, but lots of limitations including non-functioning text measuring), HITheme rendering (which is nice but doesnt give you much for font style selection), AppKit NSString/NSAttributedString drawing (great, but slow), ATSUI (seems to be the best all around but takes a bit to get to the point where you get what's going on). I understand that there are historical reasons for these APIs, but again, this can be fixed with proper documentation (perhaps a page describing all of the APIs and their benefits and drawbacks).

5) Addition of new APIs in new OS versions. I know Apple wants to sell new OS versions, but from a developers standpoint, it's really difficult to properly support multiple versions of OS X. I'd like to use new OS features if available, but fall back to old versions if not. If there's a clean way to do this, I'd love to hear about it -- on Windows we usually just load the appropriate DLLs if available..

6) Performance on OS X for basic graphics drawing seems terrible. Perhaps if you take advantage of the highly OS X specific stuff, you can get around some of this, but as an example I made two native projects, one for OS X and one for Win32, that create a 640x480 window and try to draw at about 30fps. They fill the background black and draw white lines. On Windows basic double buffering is used, on OS X the system buffers the drawing. The OS X version uses Cocoa and CoreGraphics to draw, and the view is opaque.

The source code which you can build is here (VC6/win and Xcode2.4+ for OS X required).

Results: on the same Core2 hardware: OS X: 11% CPU use. WinXP: 1% CPU use. In fairness to OS X, it was drawing pretty antialiased lines, however when I disabled AA on the OS X build, the CPU use went _UP_ to 20%. Go figure. It's not really the line drawing, either--make it draw just one line the numbers dont change much...

February 14, 2008
and Windows...


Well I don't have anything to really bitch about Windows right now, but I'm really disappointed with all of the VC++ builds after VC6. The issues are a plenty, but it makes it hard to upgrade. All dynamic linking uses msvcrt71.dll etc which even MS doesnt distribute anymore, so you end up having to static link. Bleh.

I guess most people don't care about the size of their software, but for us keeping the program size down is also part of keeping the development process fast and efficient. If I have to upload a 30mb installer and everybody has to download one to test...

14 Comments


January 7, 2006
too much data (and cpu)

Got a bit frustrated this evening with the amount of data that I've made myself deal with. There's just so much of it. The mp3 collection and photos are so small and manageable, and the full recordings of all of our jams and rehearsals are somewhat tolerable, but in keeping all of the NINJAM recordings that we host, too much data gets created. And for some extremely stupid reason, I insist on trying to keep it all. And what's the point of keeping it unless you do it redundantly. and I don't just mean on RAID. I mean on RAID, and on another drive, preferably one that doesnt spend all of its time over 100F, etc. So much data, bleh. Nevermind the data that is less big, but scattered around (backing up web servers like this one, cvs databases, etc). There's a lot of irreplaceable bits out there.

Oh yeah my other complaint was that in processing the NINJAM autosongs it ends up using alittle of CPU on my main workstation (which has plenty of CPU to spare), but uses way too much disk bandwidth. So I'm setting up a box just for that processing.

Back to my first paragraph, perhaps it just makes sense to say fuck it. You can't keep information forever. Or if you can, it's not worth bothering. If only we had our 100gb blu-ray recordable discs. if only I can hang on til then, I'll be able to put everything I will have by then on 20 of them or so. times two. plus the online (RAID) version. sigh.

I guess it's not really that much data.. I mean, everything fits within my 1.2tb array. so maybe I should just get another, and keep them synchronized. and set up rsyncs to backup other stuff to them. or just keep getting more firewire drives for the seocnd copies. rOn got one of those usb->IDE cables, that might be a good way to go, and just buy a few 400gb IDE drives..

4 Comments


January 4, 2006
so much stuff

I have the nastiest cough I've had in a long time, bleh.

So I've added basic VST support to REAPER, and in doing that I also added VSTi support, which then required me to add MIDI input support, which is pretty much done (there are some sync issues). So now I'm going to add MIDI file reading/writing, and I suppose MIDI output as well, and that will be hot. I can't wait to merge a lot of this into NINJAM, too, so we can use softsynths (as well as DX plugins and VSTs) directly. I'll do that someday soon.

Other stuff that will be in the next version of REAPER (in the next week or so):

+ moved config files to application data instead of the program directory

+ effect bypass support

+ directx plug-ins use the current samplerate instead of 44khz

+ made it so you can arm/disarm tracks while recording

+ option to create new files when recording every X megabytes

+ a bunch of preferences updates

+ tons more

Yay.

Now I'm going to go cut an EP from a relatively productive new years eve...



Comment...


October 31, 2005
coming back to life

Had some weird terrible nastiness that I don't what it was. Some sort of flu or food poisoning or some shit, bleh. There went the weekend. At least I had a wonderful wife(!!) to take care of me.

The video from the show is up, currently in three formats (CAUTION: if you lack a sense of humor your probably don't want to watch these): high quality xvid/mp3 AVI, low quality xvid/mp3 AVI, and as a flash video on youtube. Thanks to Newton and Penny for videotaping it. Overall it went pretty decently, we all fucked up a fair amount, but nothing too catastrophic. Forgot to play a Led Zeppelin cover, though.

10 Comments


October 4, 2005
bleh

Feeling oh-so-assy.

Here's the halfway done Tunnel Vision app. Need to do the background image modes and an installer and I'll be pretty happy overall.

Got the piano fully tuned, though it's pretty off (I guess tuning strings flattens the others, when it was used to being so far out of tune), so I'll probably go tweak it again soon. Biderman and I managed to record some stuff with it, but I fucked up and haven't put it online yet. It sounds approximately halfway decent, which I'm happy about.

On friday I also cleaned a couple years of gunk from the fretboard of my guitar and bass. Yuck. I guess playing in a dirty garage has its downsides. Anyway...

Once I finish the tunnel vision app, going to make my Jesusonic/MT (multitrack)... a Jesusonic that's good for doing live performance, setting up loops etc. For making crap like this or this.

Comment...


July 19, 2005
funny

Terrible is this. Not only is it stupider than stupid, they 
misspelled Shawn Fanning.

Saw some of Beck's show last night at Bill Graham Civic. I guess I've been 
spoiled by bands like Dungen, The Pixies, and Radiohead. Bands that know how
to do a proper live show. Beck's was just uninspiring, which I should've 
predicted, having seen him play SNL recently. And what's with the useless guy,
anyway? I can see the humor in it, but only to a point. What a lot of crap.
And all of the music, at least the parts not just played as samples by a guy
hidden way in the back, was a bit lacking in energy and execution, compared to
the album versions. It seems either Beck isn't that great of a guitarist, or
just doesn't try when playing shows... (OK so the tons of drums up on stage was
cool, but I didnt feel like they were properly used, and Beck doing his own 
little playing of them at the end of a song was kinda pathetic.. ugh)

Anyway. We've released NINJAM as GPL software. Yay. Rejoice.

The power supply for my Shuttle ST20G5 died. Their tech supprot number won't call
me back, so hopefully I can manage to order a new PSU for ~$60 from their sales
office sooner rather than later. They were supposed to email me a order form, 
but I'm still waiting for it (hoping it's taking its sweet time coming through
the spam filter).

Bleh.


Recordings:

how i feel now

7 Comments


May 26, 2005
AMD rules

So I got a Shuttle ST20G5 (I think) and a 90nm AMD Athlon64 3800+, and let me say this thing
rocks. It runs at the same clock speed as my old P4 2.4ghz, and is way way faster, and
insanely quieter/cooler (I can hardly hear it). And once the Athlon64X2s come out, I will be
able to upgrade to dual core easily. Hot (but not TOO hot).

It's been a while since I've seen an Intel CPU that has impressed me this much. 

Had some pain getting XP to install since I didn't have a floppy drive and my HD is SATA.
Got to learn how to add it to an XP CD, which was, err, fun. And had some annoying times 
getting my printer/fax/scanner to work (the drivers included with XP were hanging the system).
After a good 8 hours of fudging I got it all where it needed to be. Now to go grab a couple
USB-Serial converters for doing AVR development (since my old box had two serial ports, and
this one has none).

Bleh, my back hurts. WTF. More to this story later.


9 Comments


December 2, 2004
hate apple much

Getting so frustrated, porting stuff to the mac, and getting
the powerpc assembly portions to work right, but now it seems
like there's some other bug in my memory allocation code, ugh.
Been hunting it for so long, and it's compounded by the fact
that the only mac I have access to at the moment is on the other
side of some terrible DSL that disconnects me after every 5 
minutes (thank god for screen), bleh. I better get my old powerbook
back from Brennan soon, or I'm gonna go insane with it.

December 2, 2004
i rule, really.

What do these two URLs have in common? http://web.archive.org/web/19990420022838/www.winamp.com/ vs http://www.digisette.com/en/products/DUOdx.asp. You're welcome for the idea, haha. Not that it appears to have been particularly successful...



Comment...


September 3, 2004
over

Woot got it resolved. Thank you kind admin at the university who's network
originated the attack. It was really lame, someone flooding my network
with thousands of 1 byte UDP packets on random ports, per second. And my
ISP (XO) said it would be 1-2 days until they thought it would be resolved.
ugh. but when I talked to the right person at ncsu, it was taken care of in
5 minutes. I should've done it sooner, I guess. bleh.


Recordings:

freeform jam with brennanfrancis

Comment...


June 6, 2004
public domain is good for everybody

Did this a couple days ago, combined a jam from a few weeks ago with 
a pd sample.

happened to fit pretty close, heh.

bleh. drama.


Comment...


May 8, 2004
hot damn

So I'm finding that my Fujitsu laptop is like a hard drive oven.
It looks as if my new disk in it may have failed-- it's only been
in there for a year or so (edit: since last august), and the last one failed.. 
In all fairness this one is a Hitachi (*cough*IBM*cough*) Travelstar, so 
where the fault lies, I don't know. I'm trying to recover my ntfs partition,
and it's being a real pain. Might just do a fresh install, but if
the drive is what's failing, I should wait til I get a new one.
But if the laptop is killing the drives, maybe it's time for a new
laptop.. :/ spent all day dealing with this shit, makes me hate 
computers. oh well, anyway, I'm not losing any data thankfully 
(hooray for backing up non-replaceable data. oops I forgot to back
up WINNT\, oh well (it's a pain to backup anyway) ). 
Having said that, if it wasn't for the heat, I would completely love
this laptop. But it gets soo hot. bleh who needs laptops anyway, they
just break all the time.


Comment...


August 21, 2003
the worms take over

blah got about 15,000 virus related emails today. ugh.
if you use my nullsoft,winamp, or landoleet email, I probably won't get
your email. use the blorp one, or something.
bleh this virus was mildly annoying, but easy to filter. what sucks is all
of the mailer daemon errors, virus scanners, etc etc etc who seem to think
that just because the goddamned mail has my email address as the return
address, that it's valid. which sucks. people need to configure their
mail servers to just eat virii, not reply to em. ugh ugh ugh.


Comment...


July 23, 2003
sickly from the travel, I think

ugh somehow I managed to get sick again. bleh. set up a new shoutcast
stream though, muhaha. bleh I go get in bed.

(later)
Decided to just embrace modern technology and took drugs. That was about
an hour ago, so now I'm feeling a little bit less miserable.
the shoutcast stream I spoke of is at http://scastsrv2.shoutcast.com:8058
fear.


Comment...


June 21, 2003
work work work

Happy solstice or thereabouts.

Been back for a while now, got all the work stuff sorted out. I'm at
least content now to get Winamp 5 out, we'll see how it all goes from
there.

I got some stomach bug or something, I think Allison had it a week ago.
Bleh, feeling a little better today though.

I joined the man-purse club the other day. Hah hah. Now I can carry
around lots more shit with me. But not _too_ much, meaning no 8lbs
laptop (thank god, that thing was pain to carry).

Was gonna get to go to the AOL Lou Reed show at the Warfield tonight,
but my fever just broke this morning, so I better take it easy.  Going 
to see Mogwai monday, which I'm excited about, though.

Recorded this in a couple of hours last week:
http://www.blorp.com/music/Alone/030617%20-%20deja%20vu.mp3

It's kinda groovy, and has a few problems, but overall I like it.
My sister's gonna come visit in 10 days, and we're gonna play around.
She may have some [good?] influences on me, what with getting me to 
make more structure in things. But then again, maybe structure is 
overrated? Anyway, fun stuff.

Hmm I still need to make the real finger work on this, I think I'll
do that now. :)


Comment...


June 5, 2003
psuedo-vacation-wedding-going-comments

I'm now on an island in North Carolina going to a wedding (well, the 
wedding is this weekend) of a friend. Just catching up to the shitstorm
[erm, not really a shitstorm, just a flood of supportive emails]
from the previous entry, heh. Apparently some vague typo-laden comments 
can become the basis for a pretty inaccurate and assuming AP story. Bleh.
[and it didn't stop there, so much of these writers/reporters seem to be
taking huge liberties in their reports. makes me 
not believe _anything_ I read in the press... ]

Alas, now there's the beach. It's hot outside. Good times.


Comment...




Search comments - Ignore HTML tags
search : rss : recent comments : Copyright © 2024 Justin Frankel