Episode: 188
Title: HPR0188: Expressive Programming Part 2 Perfection vs Production
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0188/hpr0188.mp3
Transcribed: 2025-10-07 13:14:04

---

to
music
Ye
Cannot see the mass
Sp e
know the
actually
imagine
chum
we
know them
until
Welcome to this episode of expressive programming and exploration into programming as an art.
We're all focused on programming, design, and development as an art form, especially as a form of self-expression.
We'll look at open source projects, the projects that I'm working on, the code that others have written, and focus on how that reflects what we feel, what we intend, and how we impact the world.
Special thanks for all episodes go to Hacker Public Radio for helping me get this podcast off the ground, especially in Nigma, and also special thanks to HotBitchArson.
The band's website can be found at HotBitchArson.com for all their wonderful, inspiring, and moving creative comments, music, the paper lad we've used.
They're the cure for the uncommon non-cali.
You can now on to today's episode of expressive programming. Enjoy!
Today's episode is entitled, Producing Perfection.
I had a completely different topic in mind for this podcast, as a matter of fact it's about 75% of the way done.
Might make a episode 3, but there's a problem.
As I've begun audio work and audio hacking, it seems the ethics that I have towards programming are being applied the same way.
I'm a perfectionist, as pretty much all artists are over critical of our work, over critical of how others may think of our work, over critical of exposing ourselves.
I've spent the majority of the last month working on this podcast.
I've added segments, I've created an entirely new audio track, a music track dedicated to the hackers manifesto, or the mentors last words.
It will be definitely worth it when it comes out, but it doesn't work with a deadline.
And so how do you fit art into a deadline? How do you squeeze expressing yourself between 95?
Is that even possible? Do professional programmers get a chance to express themselves?
I know when I was working full time, and for more information on that you can check out the website or follow me on Twitter.
But even when I was able to work on Open Source projects, even my own Open Source projects, I often felt my expression was stifled.
Not because I chose to, but because marketing had promised this feature by this state, which meant the feature got half as implemented, because marketing didn't know what they were promising.
Marketing never knows what they're promising, but they don't all realize either where we put into it.
Another thing that ties into this is my increasing depression at listening to techniques.
I'm referring to the more mainstream techniques, that would be things like CNET or TWIT.
The truth is they talk about products being developed by people, and they even talk about development principles and best practices they don't know what they're talking about but they are.
And they do it in a completely ambivalent and ignorant way that doesn't even take into account the developer as a person, or the fact that the person is actually putting something of themselves into that product.
Even if the programmer is doing it purely for monetary reasons, that's something everyone seems to miss.
Part of us goes into everything we do, everything we create, and I mean that as an artist.
An artist who happens to enjoy programming as her primary form of artistic expression.
I've been doing a lot of drawing this last month, as a way of distracting myself from several lines of code that are annoying the hell out of me.
And there's no utilitarian purpose to my art. When it comes to drawing, there's no function.
I'm not trying to make anyone but my life better.
But when I'm developing something, I try to imagine the ways it could be used, the ways I intend it to be used, the way it could be abused,
the way someone could use it for a way completely beyond anything that I intended.
And these are all things that motivate me to make it better.
Push me to make it more perfect. Push me to get rid of all the bugs, find the bugs, imagine the bugs before they show up.
I hope you all experienced that when doing some form of programming.
Where six months after you programmed something, a situation happens and you think, oh god no, it's gonna crash.
And then you realize, wait, no, I thought of that.
And the bug fixes already there before it was ever bugged.
Essentially, in a way, you could look at it as all programs being a series of bug fixes implemented before it became a bug.
But if you have a sad way of looking at your coding, even a sad way of looking at your past coding experience.
But I can't imagine not being a perfectionist and the things that I do.
In every line of code, in every class, in every function, in every object, and visceral way possible, not trying to make everything perfect.
People talk about feature bloating programs.
I hear that from Leninguza all the time. I'm in a small program that does just this.
Feature bloating happens because programmers want perfection.
It's the artist coming out. They want it to be everything.
We want you to sit in front of it.
If you sit in front of Audacity, I'm constantly hearing people saying it doesn't do what they want the way they want how they want.
This is being developed by people with their free time,
dedicating their energy and their passion into developing this program.
And I think it's amazing.
It's beyond many commercial solutions.
All commercial solutions that I can imagine.
And then you have things like our door, which are even beyond Audacity.
With these tools, people won't be able to sit down and go, OK, click, click, record, do this.
I can see, eventually, Audacity having internet integration where you can automatically record it and post it up to podshew.
And yeah, I won't say they're on the run. The name of that service.
That curry guy just works me the wrong way.
He's an evil vile pervert. That's why.
Back to my point.
We want it to be perfect. We want the user to be able to sit down and do anything they want the way they want.
And then we hear tech pundents and we hear users saying, it's not intuitive. I don't understand how to use it.
It's never because the program didn't try.
And it's never going to be exactly how you want. It's never going to do it exactly the way you want because everybody has an instinctual way they think of doing anything.
That's completely new.
It's the way you do it.
And as a user, when you sit down and go, I do it this way. You expect the program to know that.
The problem is, is the program is writing for a target audience of thousands of people.
And it's our job as programmers and user interface designers to anticipate how those people are going to guess it's going to work.
Just another level of perfection.
I'm putting that same level of perfection into this podcast and I hope that it comes through as much as it possibly can.
I'm putting it into the website, especially into the application platform that goes behind the website, which hopefully you'll get to look at before the end of the year.
But I've spent three weeks working on something and I have an incredible amount of work to show for it.
But it's not ready yet.
So something I'm incredibly curious about is how you balance it. Do you get it just to work?
Do you get it just enough to record it in your Honda Civic 75 going down the interstate?
I don't know if I understand.
But really, when you're doing something incredibly new, something you want to have an impact, how do you balance perfection versus productivity?
Production versus productivity.
Production versus perfection.
How do you balance those?
Can you?
Can you put a dev on a perfection?
Yes, this has become a recursive podcast.
That's because I'm really interested in what you have to say.
I'm really interested in how you deal with it.
I personally have to find other projects that inspire me to think outside the box to solve something I'm trying to implement, or to do something new, or in the case of a certain audio segment.
I want to clarify how I want to have it integrated into the rest of the podcast.
Can we have relays, relays early, relays often, and still have the satisfaction of, wow, I'm proud of that.
I can't.
My open source software is not getting relays early.
It will be released very often.
Unless it's released, you can count on daily patches.
If you want to run off of the get, check out.
But that said, perfection is still what I strive for.
I know I'm never going to reach on any of my projects, but it's what I strive for.
And it's not a balance I found a way to reach.
And I've come to the conclusion that there isn't one.
You make a choice.
You have Windows Vista, you have Linux.
You have thousands of people putting their souls into open code, into sharing, into a community, and to enjoying ourselves into having fun.
And when people say it's at the year of the Linux desktop, you tell them to stuff it.
During the year of the Linux desktop for different people for years, there's nothing we're going to do to make them ready for it.
They have to sit down and realize it does everything that they could have want their computers to do.
It does more than Mac OS does, it does more than Windows does.
It does it all for free.
And it lets you make it better.
And lets you be a part of it.
Maybe that's not what everyone wants from their computer. They don't have to have it.
But there's nothing any of us in the open source community can do to make Linux perfect for the Linux desktop.
People just have to be willing to give it a try.
Are they ready for a perfect desktop?
For a perfect desktop environment?
I can think of 10 off the top of my head. No, I'm not going to list them, don't worry.
But from gnome with comp is to the new kitty for to fluxbox and enlightenment.
Okay, I said I wasn't going to assemble.
I'm currently playing with one name Ion, which is Gorgeous.
And I said there will be a link in the show notes.
I need my please.
Put the links in the show notes.
If not, I'll put them in the comments.
But Ion is designed around using up all screen real estate to easily navigate between many windows with the keyboard.
Frames and tabs and it truly has space for me.
It's super late.
But it is my perfect desktop.
Everyone can have their perfect desktop. It's waiting for them.
But taking us a long time to get here and we have a long way still to go.
Right now we're ahead of the curve and we're going to stay that way.
But I don't think we're going to do it by focusing on productivity.
We're going to do it the same way that we've gotten here.
Programmers.
Perfecting. Perfection.
Then of course I could be completely wrong.
If so, let me know.
Otherwise, be perfect.
I hope that you've enjoyed this episode of expressive programming.
If you'd like more information about me, my projects, my podcasts or anything else, please feel free.
Visit my website at ubersheetgeekchick.com.
If you have any questions, comments or feedback, please feel free to email me at feedback at ubersheetgeekchick.com.
Warning, I'm Flaky and I suck at email.
I'm also a member of the phpwomen.org community.
It's a wonderful place. Any women involved in development, please join us there.
Also another wonderful community that I'm involved in is devchicks.com.
All development principles are welcome. Please come along.
And lastly, I'm a proud member of both linuxchick.com.
That's CHICK CHIC and linuxchicks.org. That's CHIX.
And there you'll find opinions and topics and anything you could want.
So any women out there, please, you're not alone.
Come join us.
Lastly, I'm on Identica, Twitter and on IRC FreeNote Server.
I add ubersheetgeek.com. Feel free to hop in, say hi, find me in a room,
PM me and a polyblock.
Other than that, until next time, express yourself.
Thank you for listening to Hack with Public Radio.
HPR sponsored by Carol.net, so head on over to C-A-R-O dot-N-T for all of those of you.
Thank you.
