On Thu, 26 Feb 2015, Tom Hayward wrote:
(Please trim inclusions from previous messages)
_______________________________________________
On Thu, Feb 26, 2015 at 12:16 AM, G1FEF <chris(a)g1fef.co.uk> wrote:
> 5. I have asked for help with programming, translations, documentation,
> etc. So far the only person to actually do anything has been Tom - SP2L
> who very kindly provided the Polish translation. If you want things to
> progress it really should be a group effort.
Yes!
I think if you were to open source the portal you
would get more
volunteers. I, and many other open source developers, tend to wait to
jump in to a new project until we have an itch that needs scratching.
When a bug affects me, I'll look to the source to see if I can squash
it. If I can, the project maintainer can expect a patch from me. If
the source isn't public, I'll send a bug report to the developer. I
presume you would prefer patches to bug reports.
Everyone has rightful ownership to the programs they write, and naturally
no-one can be forced to make his project open source, but I believe being
open source would be beneficial for the portal & other infrastructure
components of amprnet. I'll try to make a point in favor of that.
I'd like to highlight that Tom is not just ranting there, he's really,
actually doing what he's saying he's doing. Here's an example from another
amateur radio service.
The
aprs2.net service consists of roughly 90 APRS-IS servers, which
provide APRS service to the vast majority of the APRS users (5000-6000
clients connected). The servers are run by a bunch of sysops, much like
the amprnet gateways (there's probably some overlap within the set of
sysops).
The
aprs2.net servers need to be on the DNS, each server has a hostname
like 'finland.aprs2.net' or 'tokyo.aprs2.net'. There are also round-robin
hostnames such as 'rotate.aprs2.net' which points to an ever-changing set
of servers which are currently working, and currently have less users than
the other working servers. End users put the rotates in their config
files, and should always get to a working server.
The
aprs2.net servers have a sysop portal, which is conceptually very much
like the one Chris has made for the amprnet. Sysops use it to enter
and change details (like IP addresses) of the servers. Tom made that
portal, in Python, on top of the popular Django framework. The source code
is here for everyone to see, improve and reuse:
https://github.com/kd7lxl/aprs2netportal
I made the backend code (
https://github.com/hessu/aprs2net-backend) which
downloads a server list from the portal, tests the servers (testing from 3
servers on 3 continents), and updates the DNS every few minutes as
necessary, and provides a status page:
http://status.aprs2.net/ - you can
also look at individual pollers / testers,
http://t2poll-us.aprs2.net/ is
the one in the US. Click on table header column "Tested" to sort and see
the real-time updates.
If you want to improve it, you can just download the source code right
away, and start doing it, without asking Tom or me. If you want your
improvements to go to use, you can make a pull request. If you get tired
or don't have the time to finish your improvements after all, you can just
stop, no-one will need to know or be bothered about your laziness. These
are actually grand features, they greatly lower the barrier to just go and
try to make a little change, even if you're really busy and you're not
sure if you'll be able to finish it, or if you're not so sure about your
programming skills.
Also, when Tom at some point is busy with his life or otherwise finds
something more interesting to do, the portal's source code is there, a
bunch of people have a copy of it, and we can happily continue developing
it from where he left, instead of starting from scratch. It's OK, people
move on with life, get old, have kids, get sick from time to time. That's
just life.
...
This week I've been at home, with a nice little flu. On Tuesday I got
bored, and wanted to play with radio a bit. Namely, I wanted to try full
duplex using my two hackrf SDR radios. Turned out it didn't work - the
drivers and the firmware did not support more than 1 of these half duplex
USB radios to be connected at a time, although it had been said that it
would be possible to do just that. With a bit of googling I found out that
Jared Boone had already written most of the important code that was needed
to do it, but it was "hacky" and not ready for release. He had published
his unfinished work anyway in May 2014, hidden in a branch on github, with
a documented set of Things That Need To Be Done before Release:
https://github.com/mossmann/hackrf/commit/3c1c49f7bf36b7
I had no idea whether it would work, and whether I could get those done,
whether it would simply be a bit too difficult. But with a day to spare, I
tried, item by item. Turns out it wasn't that hard, took just 1 evening,
and a bit of additional time the next morning. Mike Ossman will test and
review my additional changes (
https://github.com/mossmann/hackrf/pull/158)
and soon multi-device support could be in the main hackrf driver &
firmware for everyone to use. If I had failed for reason or another (it
happens often enough), it would have been another one of my secret
failures, but no damage or embarrassment to anyone. :)
This is how it works - some developer has an itch and a bit of time, and
he scratches it right away, and then gets on with his regular day-to-day
programming.
- Hessu