:: Re: [DNG] wifi roaming (was Systemd…
Top Page
Delete this message
Reply to this message
Author: Didier Kryn
Date:  
To: dng
Old-Topics: Re: [DNG] Systemd Shims
Subject: Re: [DNG] wifi roaming (was Systemd Shims)
Le 21/08/2015 00:34, Steve Litt a écrit :
> On Thu, 20 Aug 2015 22:28:45 +0200
> Didier Kryn <kryn@???> wrote:
>
>> Le 19/08/2015 20:09, Edward Bartolo a écrit :
>>> The power inherent in C is due to it not
>>> getting in the way of the coder, and I like that.
> [snip]
>
>>       I didn't review your code. This has been done by others anyway.
>> My problem is that I don't see the big picture.
> My understanding is that the big picture is that Edward's making a very
> simple system for dealing with Wifi, both in your house and travelling
> from hotspot to hotspot. His solution has minimal dependencies and can
> be run by anyone with just about any Linux configuration. One reason he
> uses C is because there's no guarantee that Python or Ruby or Lua is
> installed on the system.

>
> Edward's front end obtains a list of Wifi transmitters, together with
> their signal strengths and encryption type, by spawning "iwlist $netdev
> scanning", where $netdev is typically but not always "wlan0". The user
> chooses one wifi transmitter from the front end, sends its ssid to the
> back end. The back end looks at its list of known ssids. If this ssid
> is known, it connects with the known password. Otherwise (and here I
> might be wrong), the back end signals the front end to query for the
> new password for the new ssid, and after the user puts in both, the
> front end sends it to the back end, that now does these two things:
>
> 1) Writes a new interface file, for this ssid, for future reference.
>
> 2) Connects to this ssid with the inputted password.
>
> My understanding is the back end is calling the ifup program, which I
> believe but am not sure, somewhere calls wpa_supplicant to do the work
> on Wifi. But I could be wrong about that.
>
> It's a pretty simple and, IMHO, robust architecture. One beauty of it
> is that, although Edward's using Lazarus to make a nice GUI front end
> for the thing, most people on this list could make a shellscript front
> end for it. Or zenity. Or Tcl/Tk. Or Python. Or whatever. If I
> understand correctly, his back end, and only his back end, is in C.
>
>>       I would also like to know what your understanding is of how the
>> things are handled by the cooperative interaction of ifup, ifdown and
>> wpa_supplicant. This is something for which I cannot find a
>> comprehensive description, and I think a full understanding is
>> necessary *prior* to endeavour what you are doing.
> You and I have a philosophical difference here. All too often, by the
> time people reach *full* understanding, the project languishes and
> nothing happens. Prior to the invasion of paid programmers in Open
> Source, the world was full of software written with a partial
> understanding, and incrementally improved (or rewritten) later.

>
> I wrote the original VimOutliner in 2 days, using Perl, Vim, and
> shellscripts. Kludge-city. If you'd seen that version 0.10, you'd have
> laughed.
>
> But unlike the other outliners of that era, VimOutliner worked, and
> worked fast. People started using it. People started depending on it.
> People a lot smarter than I started improving it. Within two years it
> was head and shoulders faster and more convenient and easier to use than
> any other outliner on the planet. That never would have happened
> without my two day kludge.
>
> Look at it another way. I was mouthing off about making a replacement
> for NetworkManager and Wicd. But I did nothing. Several others were
> talking about it, but they did nothing. Now Edward did it.
>
> There are different kinds of Open Source. When Redhat pays three years
> salary to Lennart and Kai and the gang, they can afford to take the
> time for full understanding. When a guy with a day job makes something,
> he gets it out there and the improvements come later. And for my money,
> I prefer the stuff made by unpaid guys with day jobs: They (we) don't
> have enough time to make entangled monoliths.
>
>> This is because
>> these 3 tools are doing a lot of things, and rather well and it is
>> a waste of time and talent to re-invent the wheel.
> He's not reinventing them at all. He's gluing them together so they're
> fast and convenient for a user walking his laptop from McDonalds to
> Starbucks.
>
> SteveT
>

     Please guys, don't keep "Systemd Shims" whent the true subject is 
completely different.


     ifup, ifdown are there anyway, wether you depend on them or not.
     wpa_suplicant is there because you depend on it.
     Both are in your way; they already do, very well, 90% of what you 
want to do. Either you find a way to disable them, or you manage to 
cooperate. The second way has my preference; I would consider it smart. 
But it means understanding how it all works.


     wpa_supplicant has a control socket to talk with it, which is 
group-writeable. What do you need sudo for? If it is just to manage yet 
another password database, then yes, waste of time and talent. 
Otherwise, please explain me why.


     Didier