Fail early, fail often, succeed better

I failed yesterday.

I’ve been trying to architect a better way for our primary application at work to be written to ease our development pressure. So far, I’ve had great success. Our app is now practically instantaneous in the way it works rather than the sluggish way the old system runs – it’s now a SPA, or Single Page Application, and runs out of the browser’s memory rather than tons of calls back & forth to the server. This is important because we need to be able to offline our solution. Our clients often run our app on tablets in places that don’t have power, much less internet connectivity (even cellular!).

Everything has been great so far, but one issue we’ve had with the old system was that events like click, touch, drag, pinch-zoom, etc. have been so complex and buggy that the system didn’t allow enough isolation. We’d have a bug in Chrome that we’d fix, but it’d break Internet Exploder. Fix that one, and suddenly the iPad stopped working along with Firefox (by the way, FF has taken the crown of ‘suckiest browser to write for’ from Microsoft. Just sayin’).

So I started down a path to isolate, extrapolate, interrogate, and prognosticate. Or something. All I know is my design utterly failed. In fact, it started making things worse and ended up creating the exact same problem we had before.

My concepts aren’t wrong, my execution was. So I failed. And that’s ok. Sure, I lost a day’s worth of effort, but I know more now than I did 24 hours ago. And I’ll be able to use that knowhow to better the system even more.

I’m always flummoxed by people who have a hard time admitting failure. I find it liberating because I learn from the mistakes and become a better [whatever it is I failed at]. Even worse than not admitting it are people who double down on the stupid, as if sticking to your failed guns long enough will equal success.

Back to figuring out the best approach again. Now I know what not to do, and that’s 87.54% of what experience is all about.

posted by Robb Allen @ 9/23/2014 9:40:13 AM | Feedback (0)
Mi gato estúpido

For some reason, Lego likes to chew on white cables and only white cables.He managed to chew through my S5 charging cable which now no longer charges my phone. This is the third cable he’s chewed through. I had to order a new one and of course ensured I ordered it in black.

Stupid cat.

posted by Robb Allen @ 9/23/2014 8:41:20 AM | Feedback (0)

I have a bajillion presets on probably a hundred different synthesizers at my fingertips. I use Native Instruments products routinely because they’re very well put together and have some great tones. One of the reasons I bought the Komplete line was because I wanted both FM8 and Massive, and since I already owned Guitar Rig Pro, the discount for Komplete was about what I’d have paid for both those synths. I got nearly 40 different products and will probably never find my way through all the possible sounds.

I do love FM8 something fierce. FM synthesis is easier to understand than additive / subtractive synths and the sound is pretty awesome to boot. FM8 has 960 presets which give you a great wealth of sounds to use either straight out of the box or as starting points for your custom sounds. It’s hard to create a sound from scratch so often you find something that’s close and start from there instead.

One of my huge fears, of course, is using some preset and then having people go “Oh! That’s Seasick Penguin from Such & Such”. Usually, only people who own your synth might be able to discern that, but still it’s a fear.

Oddly, I’ve found out that many, many, many musicians use out-of-the-box presets & I happened to have found one this weekend.

I was pouring through FM8, listening to all the sounds I could, just for fun (sometimes it’s great to just be mindless and make weird noises). Suddenly, I get to a preset called “Life Out of Balance” and instantly, I knew I had heard it before. It took a day for me to remember where I heard it, and it’s from Junkie XL’s song “Beauty Never Fades” which I had from the Animatrix album.

Listen to this snippet – the first few seconds is from Beauty Never Fades,  the next is the exact same sound from FM8. It’s identical – same tone, same rhythm, same underlying drone, everything. So, that was kind of neat, to hear a ‘professional’ use something straight out of the box (and why not? It sounds great on the song).

Worse though than presets are samples. I love Zomboy, but one day I was tooling around some samples and I realized that he used many of same ones I have. Lots of them.

I avoid using samples for anything other than drums & hits. I know the chances of more than 100 people ever hearing my work is beyond reality so the chances of someone going “AHA! I KNOW THAT SOUND!” is nil, but I have OCD, and that stuff bothers me because I’ve been able to do it (see my snipped above!). Still, presets can be very handy, especially as you’re building your sound out and don’t want to start from scratch.

Now if you’ll excuse me, I have to make my guitar sound like no other guitar ever did. With my playing ability, that’s easier than you think.

posted by Robb Allen @ 9/22/2014 4:00:00 AM | Feedback (1)
Renewing old apps

I got a ping from the Book Face thing last night that someone mentioned me in a comment. I rarely even open the Book Face, but I went to check it out anyway because I’m vain.

Someone was talking about one of their rifle outings and how good their grouping was. They knew this because they used my Shot Group Analyzer, which I promptly thought “That’s still around???”

Which is odd because every here and there I see it on the Interweb Tubes. I see screenshots of people’s targets with my graphics on them so I know people use it, but then I promptly forget people are using it.

I did that back in 2010 and I did it in (*shudder*) Silverlight. Mostly because I was doing a lot of Silverlight work back then anyway and I was using it as an excuse to practice.

Well, now I’m doing a crap-ton (metric, not imperial) of AngularJs so I’m starting to rewrite it in pure HTML5 so that a) you’re not cursed with Silverlight & b) more people should be able to use it.

Glad I found the source code though because had I not, I wasn’t going to go through that math again. Maths are hard & that one was rather brutal trying to build a ‘hull’ around all the shots to get specific data. But I do, and now I have to convert everything over to JavaScript, so hopefully someone else out there will find it handy and all my work will not be for naught.

Any users of it have any upgrade suggestions?

posted by Robb Allen @ 9/19/2014 12:01:40 PM | Feedback (2)
9 out of 10 doctors recommend a daily dose of Confirmation Bias

Or, as I read this from one doctor, I am nodding my head in agreement.

The comments, as all gun related comments go, get nasty at times. Insults are slung rather than thoughtful commentary (and this is from both sides) although my favorites are the ones that go “Why can’t you gun-tard NRA freaks be reasonable?” Although thoughtful doesn’t always equate to reasonable either. Some people thoughtfully find ways to dehumanize gun owners, and if you read through the comments, you’ll see what I mean.

I try to keep an open mind though about this. I’m 99.9% sure that over the years, I’ve determined truth regarding gun ownership. Gun control does not benefit society, but I’m always open to data that proves me wrong. However, the comments have people in there who have done the same soul searching & thinking & have come up with the exact opposite opinion.

People post links to confirm their views but seem to completely ignore those that don’t. This tends to happen more on the anti-gun side yet I see some people on our side do the same thing. This scares me – how often do I ignore conflicting data? I see people do it all the time & they must not be able to see they’re doing it or they’d have to accept it, right?

Or am I simply projecting how I look at life?

posted by Robb Allen @ 9/17/2014 9:35:57 AM | Feedback (9)
I’m talking Florida flat

Wednesday, I got delivered a pair of Presonus Eris 5 studio monitors and a Focusrite 2i4 USB Audio Interface to start building up my studio a bit more. Unfortunately, I’ve been so busy at work that I didn’t have any time on Wednesday to really do anything with them. Luckily, yesterday we managed to fix a ton of our issues and last night was the first night in almost 2 weeks that I could just sit down & relax for a bit.

It was Georgia’s birthday, but she was busying playing with her new Legos & watching A Nightmare Before Christmas (one of her favorite movies & we got it for her on Blu-Ray) so I had some down time. I finally got the speakers hooked up as well as the Audio Interface and wow.

I finally understand what “a flat response rate” means. Most consumer speakers are tweaked so they push a particular frequency. For example, Beats by Dr. Dre really, really, really push the bass to make everything thumpy. Desktop speakers do the same thing to try to make the sound fuller.

Flat speakers provide the same level for every frequency across the spectrum (or as close as they can). If you mix you music so that it sounds excellent on those, the chances that they will sound good on speakers that push other frequencies goes up exponentially. This doesn’t mean once you’ve got it nailed on the monitors that you are done, but it really does get you about 95% of the way there. Even the best studios will do their mixing, then listen on cheap speakers, computer speakers, earbuds & even a speaker ripped out of a TV for mono (you’d be surprised how mono can be a nightmare with phasing issues!).

My problem is I was mixing in headphones only then pushing to my cheap computer speakers later. I was WAY overpowering my bass levels so when I got in my car, it would sound like crap (but awesome on earbuds!). Just playing around a bit with an older song of mine, I was able to correct it on the monitors and when I put on my headphones, it was like an eargasm.

The other nice thing is that each monitor is independently powered and nicely so. My old speakers required the sound be above a certain level before they’d kick in. So listening to something quietly wasn’t really an option. These things can go from gnat-fart to ear-bleeding without a hitch. Plus, being flat, you don’t have to turn it up to make it sound good, it sounds the same regardless of volume.

As far as the Focusrite goes, it’s a nice little unit. Still trying to learn the ins & outs of ‘monitoring’ which isn’t as straight forward as “plug in & listen”. There’s also some configuration I have to do if I want to do guitar stuff since my foot pedal is much better at it than the box as the Guitar Rig Kontrol is the fastest USB Audio device I have. The Focusrite will run at about 27-32ms latency. At 30ms, you can hear it. Generally the GRK runs at 900µs but that requires a very specific setup. So if I’m going to be doing very precise guitar work, I’ll have to swap back out to my old way of doing things which isn’t a big deal.

Now, USB audio has issues. You can get snaps, crackles, & pops as the OS prioritizes other things over USB. PCs that are specifically geared for doing audio kill off any process that might get in the way (and I really need to see how to do this so I can script it on & off). When I first tried out the speakers, I loaded up Absynth which is geared towards ever-evolving soundscapes. It has some really friggin’ cool sounds, but alas, it was popping & clicking something fierce.

So I fiddled with the ASIO driver. Still, pops & clicks. More fiddling. Pops & clicks. I started feeling bad because I thought “great, this AI isn’t going to work”. Then I tried another sound. It was perfect. Went back to the original sound. Pops & clicks. It wasn’t USB, it was part of the sound (I verified by hitting a lower key. The pops & clicks were now at a lower frequency).


There are a few things that I have to iron out. There’s a difference between just listening to things and monitoring. If I use the Focusrite for my guitar, it will always have the dry sound go through the headphones. This is actually effective while playing at times, but most of the time I just want to hear the final product. My daughter’s drums use MIDI and the Focusrite has 0 lag for them (where as my GRK had just enough MIDI lag to be annoying). Now, she has access to thousands upon thousands of drum kits and can even practice without headphone.

All in all, things are good!

posted by Robb Allen @ 9/12/2014 11:23:59 AM | Feedback (20)
A day to celebrate

12 years ago, on the first anniversary of 9/11, I was not mourning with the rest of the country. I was celebrating bringing my first daughter into the world. At 10:16 AM, when most people were contemplating the horrific attack that had hit us the year before, I was seeing my daughter Georgia for the first time.

The new father
from this

Perfect in practically every way
to this!

It has been 12 utterly amazing years. I’ve learned what being a father is all about. I’ve learned how hard it is to be firm, how much it hurts to have to discipline your child, the aches of not being able to sleep because you’re worried about how you’re going to feed them or how sick they are – And I wouldn’t change a single minute of it.

Georgia is amazing (both my daughters are, but today is about her). She was reading by the time most kids were just beginning to understand that eating crayons was a bad idea. She has always been empathetic without being a pushover. She understands economics better than many adults for Pete’s sake.

The worst thing in my life right now is knowing these days are short. She’s twelve already. 4 more years, she’ll be driving. 6 more, she’ll be ready to leave the nest, and that horrifies me.

So I enjoy every last minute I can spend with her because she is awesome and when I’m on my deathbed, I will be able to look back, see what a wonderful human being I helped raise has become, and be able to die in utter peace.

I love you Georgia, and happy birthday!

posted by Robb Allen @ 9/11/2014 12:23:29 PM | Feedback (8)
Well, hell. Talk about belated

Just realized my first post went up on May 11th, 2004.

I totally missed my 10 year blogging anniversary.

That, and my archives somehow have gotten fubared so my first post is not my first post any more. Dammit. Who wrote this shitty piece of software?

posted by Robb Allen @ 9/9/2014 12:15:50 PM | Feedback (3)