Twister with python

26 views
Skip to first unread message

Micheal.X

unread,
Mar 24, 2015, 12:27:14 AM3/24/15
to twist...@googlegroups.com
Hi, I known port twister to python is a big, big project, but we can do it step by step.

What is good for python version twister:
1. Easy to port to any platform
   python is more easy to port to any platform.
2. Easy to maintain and add function.
   Python is more productivity, more libraries available. 
  more people use python, more people can help.
3. performance
  Python 3.4 support async IO, which is important for network operation.
  The hot point is SHA/Crypt and IO. 
  Python control the logic only .
  Any hot point can use C implement module.
4. Open source
  no compile, easy to check code.
  no back door promise.
  Which is import for an anonymous project.

How to do it Step by step:
1. first, setup a python client side, improve the user experience.
  because client can work in background, so we can do:
  a. new user can register fast( register can work in background)
      new user can post message before really registered to network.
      background can post it after really registered, nor give fail notify.
  b. new message display, better experience like twitter.
     client can remember which message have read, which is new. and display clearly.

2. add file attachment support with python-libtorrent
  python is more easy to program with.
  file attachment can work like normal bit-torrent.
  Twister message just give the .torrent content;
  Then DHT network act as the tracker.
  

3. replace twister build-in bittorrent logic with python
  python can work with twisterd with RPC api

4. replace dht/bitcoin network step-by-step, 

Every step we can get a better version twister, We can stop moving anytime.
We can setup pure python light weight client, with public server support.
like the idea to create a Chrome plugin.

We can create Android and IOS client with Kivy( a python + OpenGL mobile framework SDK, open-source)

Python can help us move more fast.

Any idea?
Hope some feed back.

Thank you.


Micheal.X

Miguel Freitas

unread,
Mar 24, 2015, 7:47:24 AM3/24/15
to twist...@googlegroups.com
Hi Micheal,

On Tue, Mar 24, 2015 at 1:27 AM, Micheal.X <xxne...@gmail.com> wrote:
Hi, I known port twister to python is a big, big project, but we can do it step by step.

What is good for python version twister:
1. Easy to port to any platform
   python is more easy to port to any platform.

I tend to agree (i like python very much) but my experience with android says otherwise: i've found it much less hassle to compile native C++ to android than packaging a mobile python app + interpreter etc. Not to mention the overhead (every app packing the python interpreter all over again and again).

Would python help with ios? afaict this is the only big platform we don't currently support.

 
2. Easy to maintain and add function.
   Python is more productivity, more libraries available. 
  more people use python, more people can help.

Yes.
 
3. performance
  Python 3.4 support async IO, which is important for network operation.
  The hot point is SHA/Crypt and IO. 
  Python control the logic only .
  Any hot point can use C implement module.

I agree that *good coded* python project shouldn't be slower than native c++. Mercurial is here to prove this point. But i wouldn't expect it to be better performing than current implementation.
 

4. Open source
  no compile, easy to check code.
  no back door promise.
  Which is import for an anonymous project.

twister is already open source, compiled with open source gcc.

 

How to do it Step by step:
1. first, setup a python client side, improve the user experience.
  because client can work in background, so we can do:
  a. new user can register fast( register can work in background)
      new user can post message before really registered to network.
      background can post it after really registered, nor give fail notify.
  b. new message display, better experience like twitter.
     client can remember which message have read, which is new. and display clearly.

2. add file attachment support with python-libtorrent
  python is more easy to program with.
  file attachment can work like normal bit-torrent.
  Twister message just give the .torrent content;
  Then DHT network act as the tracker.
  

3. replace twister build-in bittorrent logic with python
  python can work with twisterd with RPC api

4. replace dht/bitcoin network step-by-step, 

Every step we can get a better version twister, We can stop moving anytime.
We can setup pure python light weight client, with public server support.
like the idea to create a Chrome plugin.

We can create Android and IOS client with Kivy( a python + OpenGL mobile framework SDK, open-source)

Python can help us move more fast.

Any idea?
Hope some feed back.



I have absolutely no objections to the idea of creating this python client with improved user experience. It would be great!

But i think that what would help us move fast is more developers, not python.

regards,

Miguel


Julian Steinwachs

unread,
Mar 26, 2015, 4:55:09 AM3/26/15
to twist...@googlegroups.com
I think, the more different p2p-clients, the better. It really helps to
identify inconsistencies in the implementations. If there are enough
people willing to do this, great.

When in comes to android, i think that it makes more sense to utilize
proxy servers for interacting with the p2p-network. The p2p stuff is
simply too energy consuming, espacially for lower end phones.

Regards
> --
> You received this message because you are subscribed to the Google
> Groups "twister-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to twister-dev...@googlegroups.com
> <mailto:twister-dev...@googlegroups.com>.
> To post to this group, send email to twist...@googlegroups.com
> <mailto:twist...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.

Net XX

unread,
Mar 28, 2015, 12:03:46 AM3/28/15
to twist...@googlegroups.com
2015-03-24 7:47 GMT-04:00 Miguel Freitas <mfre...@gmail.com>:
Hi Micheal,

On Tue, Mar 24, 2015 at 1:27 AM, Micheal.X <xxne...@gmail.com> wrote:
Hi, I known port twister to python is a big, big project, but we can do it step by step.

What is good for python version twister:
1. Easy to port to any platform
   python is more easy to port to any platform.

I tend to agree (i like python very much) but my experience with android says otherwise: i've found it much less hassle to compile native C++ to android than packaging a mobile python app + interpreter etc. Not to mention the overhead (every app packing the python interpreter all over again and again).

Would python help with ios? afaict this is the only big platform we don't currently support.
yes, packaging python is not easy.
but if it is done, no more work left.
and Kivy have do it, include Android and IOS.

Python work in mac/windows/linux is easy.

 

 
2. Easy to maintain and add function.
   Python is more productivity, more libraries available. 
  more people use python, more people can help.

Yes.
 
3. performance
  Python 3.4 support async IO, which is important for network operation.
  The hot point is SHA/Crypt and IO. 
  Python control the logic only .
  Any hot point can use C implement module.

I agree that *good coded* python project shouldn't be slower than native c++. Mercurial is here to prove this point. But i wouldn't expect it to be better performing than current implementation.
Yes, must be Good coded.
If one can good coded in C++, he can do it in python too. And do it more easy.
Python can't run faster then C++, If python can run like C++ performance, that is enough.

 
 

4. Open source
  no compile, easy to check code.
  no back door promise.
  Which is import for an anonymous project.

twister is already open source, compiled with open source gcc.
Yes, twister is open source. but I can't trust an unofficial build.
We need more people to use it.
More user can get more developers interest it.
So it is important to improve the user experience, that need UI more friendly:
Easy to install, easy to register, easy to use everyday, run it in background without worry about performance and power consume
There will be a lot of work with OS detail, like detect power plugin or not, mouse moving.
It can be done with python more easy and fast.
 

Hope twister can act as a populate social platform, use by everyone everyday.



best regards,

Micheal.X

Reply all
Reply to author
Forward
0 new messages