<< >>
justin = { main feed , music , code , askjf , pubkey };recent comments
[ present ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... past ]
October 9, 2005
(Perhaps Obvious) Thoughts On Being an Individual Software Developer (Part II)

Part II - Making Open Source Work

From my experiences, there really seems to be a right way and a wrong way to begin an open source project.

The Right Way

    + If you haven't already, write a usable working proof of concept of your software.

    + Do NOT create a sourceforge.net project for your software (see below).

    + Make a simple web page for your software. Provide downloads for the source and (if it runs on Windows or Mac) binaries. Perhaps even bundle the source with binaries, if it's not too big.

    + Put an email address on the web page with a link that says "send updates/patches/requests/etc to ". It often is also useful to put a list of things that you are intending to add, i.e. a "todo" list.

    + Continue to update and USE your software.

The big push here is that a sourceforge.net project should only be created for a project once it has enough people working on it to warrant it (i.e. more than a few).

From my experiences it is much easier for developers to get involved with a project if they can download a source tarball or ZIP file, make their changes, and send them back to the project owner, who can then merge changes appropriately. While the project owner should definitely be using some sort of version control, setting up a CVS server for other contributors isn't really that important, at least until other people start doing a very big percentage of the work, and having it as the recommended mechanism for access initially is a really bad idea, because the barrier of entry is higher.

The other things I suggest are:

    + If you use other SDKs/libraries, include a text file with the names, versions, and (preferably) download links for those SDKs/libraries.

    + Try to use only the most common libraries, to make it as easy as possible for other people to run and build your code.

The ideal scenario is, you create the initial version of software and thus begins the cycle:

    + Someone finds out about your software

    + That person wants a particular feature or functionality, so they add it

    + They send you a patch, you merge it into the main release

    + Repeat.

That's really all there is to it. Later on, if you have many people actively working on your project, you might want to consider public CVS etc, but even that isn't really that helpful, as you'll only want people whose code you trust to have commit access.. anyway, hope this helps people! I know it might obvious, but hey, that's why I named this post what I did.

1 Comment

October 7, 2005
I love it when shit works

So I built my power filter for the camera in my plane out of a 1000uF cap and a 2.2ohm resistor, and behold, it worked like a charm. It was extremely windy today (really bad), but I couldn't wait, so I found a field that was at least mostly empty (Balboa Park), and did a couple of test flights. I had to fight to keep the plane in control, the wind was so great and gusty, but I managed to (most of the time). Using this recording setup, I managed to take this lovely video (about 15mb, XVID/MP3 AVI) of 2 of the flights. Tomorrow I hope to do some longer, more controlled flights, if the air is calmer. Woohoo! So much fun.


October 6, 2005
plane stuff

Test flew my RC plane with camera mounted in it today, was fine. Balance good, weight not too bad, added power draw seemed OK, etc. Didn't have the receiver for the camera, though, so I don't have any video footage of it.

The main thing left to fix is that when the motor is on, the power gets so noisy that the camera starts fucking up. So after researching online, I've decided to go to Radio Shack in the morning and buy the appropriate resistors and capacitors (well, just one of each really), and build a lowpass filter. Judging by how the video looks when the noise is there, it appears to be correlated to the speed of the motor (the motor probably spins at upwards of 2000 RPM), so it seems relatively easy to build, say, a 30Hz lowpass (which using a 2.2 ohm resistor and 2200microfarad cap will give me a (workable) voltage drop of 0.2 volts, at 80mA load), which will hopefully take care of it. I'll buy some variety of resistors and capacitors to tweak the filter once I see how it works, too. Fun fun, math meeting electronics, mmm. I'm not sure what the frequency response curve is for a lowpass like this, so I'm shooting really low. Anybody have any experience with doing this? :) I guess I'll find out if I'm completely wrong...


October 6, 2005
(Perhaps Obvious) Thoughts On Being an Individual Software Developer

Part I - Choosing a License

Disclaimer: I am not a lawyer, these are my thoughts as a software developer.

For me, there are three basic licenses I consider when I'm releasing a piece of software.

1. A Proprietary License

This often seems like a safe first step--keep the source code to yourself, let people use binaries, etc. I'm not aware of any "standard" closed-source licenses one can use (are there any?). So it seems a lot of people end up copying other peoples (expensively crufted) legal text, which may or may not be that good, and raises copyright questions for the license itself.

At any rate, releasing software with a proprietary license has benefits, especially since you can completely monopolize the software, giving you potentially more opportunities. You can always open source it later, too.

The drawbacks to keeping source private are obvious, though. You can't get people to work for you for free! (See Part II, below)

2. General Public License (GPL)

When I want to open source my software, and also want to ensure that any derived versions of my software remain open source, I'll usually choose to use the GPL.

Contrary to what many people seem to mistakenly believe, by releasing your software GPL licensed, you do not give up any ownership or other rights. While you grant other people limited permission to your code, you still have rights including the right to license your code under other (potentially lucrative) licenses as well.

Licensing the software under other licenses does get more complicated once other peoples contributions find their way into your codebase, though. If you intend to license your GPL software under other licenses, you will want to control who can contribute to the codebase (See Part II, coming soon), and work out agreements with them.

3. BSD-like license

Using a BSD-like license on code makes it available for everybody to use, with very little restriction on what they can do with it or how (usually the main stipulation is how credit is attributed). It's really not too far from making the code public domain.

The upshot of a BSD-like license is that you (and everybody else) can do just about anything you want with the software. When other people contribute code, they're giving you that permission as well.

The downside of a BSD-like license is that someone else can take your software, and go make it (via big modification, or slight modification and promotion) into something huge-- and all you will be entitled to is a small credit. Now, the reality is that this could happen if the software was GPL licensed as well, but at least then you'd get access to the modified source code.


Ultimately whatever license you choose someone can always go and (rewriting if necessary) make something big out of your software, so (I keep telling myself to) worry more about the upsides and less about the down.

Proprietary licenses are really good for software where you feel you (or your close associates) will be working on the software a LOT, and want to maintain complete monopolistic ownership and control. This is very attractive to many people (myself included) for a lot of projects. It is completely respectable in my opinion, as long as you feel it is justified.

If however, you feel like a project would benefit greatly from having other people contribute, and the project has potential to be bigger than you've made it already, using the GPL can be a good choice.

I find BSD-like licenses to be good for licensing of libraries (or any other software that you generally want to be used as widely as possible), since people can link (and optionally compile) them with their projects, and not worry about the terms. Take zlib, which is used everywhere, or jnetlib, which isn't used as much but I'll mention for selfish reasons.

Coming soon: Part II (or: how to get other people to work on your open source project)


October 5, 2005
musica es muy divertida

Tuned the piano some more today, most everything had gone flat, no doubt due to the wood adapting to the new pressures of being in tune. Lather, rinse, repeat. Here's me and Biderman jamming with the piano and drums a couple of days ago. mmm. And here's me by myself today.

I'm starting to write a individual software developer's guide to software licensing and open sourcing, at least thoughts and tips from my experiences. I should be posting Part I (choosing a license) tomorrow, and Part II (how to make worthwhile open source software, i.e. how to get people to contribute etc) soon after. I know there may be other guides, but this will be my take (AND I AM RIGHT, DAMMIT! JK).

1 Comment

December 31, 1969
freeform jam with bren

October 4, 2005
tunnel vision is now public, and open source

The topic pretty much said it.. Tunnel Vision, baby. GPL licensed, too. Not completely useless, just mostly.

OK so to make Christophe and others happy, here's LanMon, too. BSD licensed this time. Speaking of which, should probably make the other small utilities that are GPL'd BSD too. It's smaller to distribute... ha ha.


October 4, 2005

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.


December 31, 1969
freeform jam with biderman and pianoalmosttuned

October 2, 2005
logo, music, etc

Saw Dungen last night, for their second SF show. Totally ruled. Wish I had a bootleg.

Also got the piano almost tuned. Tomorrow I'll spend another hour or so and it'll be in rough tune (then if I'm feeling it I'll go tweak it into even less bad tune). Yay. Sounds like a piano now.

I ended up using that last Cockos logo for the web site. Yay. I prefer it white on black, too.

And finally, decided to go ahead and finish the old TunView proof of concept I made over a year ago into a more complete application. Woot. Should be a day's work, and it's kinda useful (paranoia, mmm).

1 Comment

December 31, 1969
freeform jam with danjosh

September 30, 2005
another logo attempt

Here is my fourth try at making that Cockos logo work. I like how it scales down for 32x32 icons too, kinda maze-like. Maybe I'll try doing a rainbow colored one, too.

Piano tuning toolkit arrived, I'll get my tune on shortly. woot.


September 29, 2005
rhodes, logo

Picked up a Rhodes Stage MK I off of craigslist, built in 1978, the same year I was born. Sounds sexy.

Experimented for a few minutes with making a Cockos logo, here are three versions of the same basic concept: revision 1, revision 2, revision 3. I think I like the last one best. Before you complain that it's too annoying looking, understand that it is supposed to be. There's a faint bit of humor in there somewhere...

Oh, and here's a very good NINJAM autosong (the first 5 minutes anyway). Random people rule!

Now L1quid is coming into town to commence his 21st birthday drinkin'. Get ready to get tired of drinkin! I am (ready (to get tired of drinkin))!


December 31, 1969
freeform jam with brenchrdanjoshnewton

December 31, 1969
freeform jam with brenchr
freeform jam with colebiderman

December 31, 1969
freeform jam with brenchr

September 25, 2005
a song, more updates

OK so updated things more, went away from the ol' <pre> formatting, and more to normal html, but only in presentation, not so much in the actual writing of entries, anyway. Maybe it'll look right on my treo, now...

The real reason I wanted to update, however, is this acoustic song (featuring David Wiener), which was a couple of first takes (since there was no time to do more), and I totally dig. He's so talented (in my opinion anyway) that he can take some crap I recorded as a ditty and make it completely work as a song. Anyhoo.

1 Comment

September 25, 2005
page updates

Did some nice little updates to the comments system to better show URLs and auto-link them. Also made a recent comments page that shows you comments sorted by date. And fixed a bunch of stuff (displaying bugs, security holes, begone). Perhaps I should publish this modified version of hlscript as hlscript++, or something.

/me drools and waits for the piano tuning kit to arrive. and my blisters to heal.


September 24, 2005
piano workin

Spent a few hours carving/painting/attaching new black (sharp) keys for the piano today, woot. Also started tuning it. I ended up killing my fingers (blisters and whatnot) since I lacked proper tools, but it started to take shape. I didn't break any strings, even (though Biderman did, haha). So this evening I ordered a tuning kit, to aid in this venture. I know, I should just hire a professional, but A) I'm not sure if this piano is worth it and B) I'm going to wait until the piano is in a (more) climate controlled environment. Tuning wouldn't last long where it is now. But tuning it myself is proving to be very fun, and you get some really weird sounds at different times, when you have each of the strings for a note off the right amount, the harmonics are really fascinating. Anyhoo...


December 31, 1969

September 23, 2005
hit me, another update

woot, made this page look like the pictures pages etc. fun with php. that is all.

Oh yeah, I also posted the Mac versions of Winamp on my code page, since nobody else seems to distribute them. Not that anybody would really want to use it, but a few people might find it entertaining.


September 22, 2005
planes and pianos

Been flying my F-27 more, so much fun. Tried increasing the throw even more 
today, but it was too much, and the servo/radio combination didnt have enough
precision for me to fly as smooth as I'd like-- which is a shame, cause the
snap rolls were fun.

When Francis was in town we got a Slo-V (made by Parkzone as well), too. We
didn't get to fly it while Francis was here, but I managed to yesterday, and
while it is in fact very slow, it's also very underpowered. At 65F 80' above
sea level, it doesn't seem to have enough power to get out of ground effect!
I don't think I ever got it over 15' up (ground effect is usually 2x the 
wingspan, right?). It does travel nice and slow, though. Anyway...
I picked up a free piano off of craigslist last night (thanks for the help, 
everybody).. Going to start fixing it up a little. And then once it's
somewhere that is more temperate I will have it tuned/etc. Starting to make new
tops for the sharp (black) keys, using some spare basswood lying around. 
If anybody has any good resources for piano parts, let me know. 

A terrible little jam I made with the new piano is here.


[ present ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... past ]
search : rss : recent comments : Copyright © 2021 Justin Frankel