Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre

Notices

Reply
 
Thread Tools Search this Thread
Old 02-01-2011, 12:37 AM   #1
the.reverser
Junior Member
the.reverser began at the beginning.
 
Posts: 5
Karma: 10
Join Date: Feb 2011
Device: Kindle-3
Learning purpose : Want to port Calibre from Py to CPP

Dear Kovid Sir and Calibre Team,
I want to port Calibre from Python to CPP.
This all I want to do for learning purpose.
My Brother told about this software. I am quite impressed.
Just want to go through the same learning curve, that Kovid sir has went through.
Kovid Sir,
I wont do bombardment of question on you.
Just a small favor I need from that is just to guide me.
I know you must be very busy to read my conversation and reply.
But I am not in hurry, I just want to learn.
If you can help me out or tell me where can I get help, as you know my intension.
I will be very thanks full to you.
Thanks
Alok
the.reverser is offline   Reply With Quote
Old 02-01-2011, 01:39 AM   #2
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,860
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
You will find porting calibre to C++ impossible. calibre alone is over 200,000 lines of code and that is ignoring all the python dependencies it relies on. Since I'd estimate that achieving the same result in C++ would on average require 5-10 times the code, you're looking at writing 1-2 million lines of code. Given that on a perfect day I can write and test about a 1000 lines of python code, it would take atleast 3 years to port calibre to C++.
kovidgoyal is offline   Reply With Quote
Old 02-01-2011, 07:39 AM   #3
user_none
Sigil & calibre developer
user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.
 
user_none's Avatar
 
Posts: 2,488
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
Porting a large complex application from one programming language to another is a terrible way to learn. Calibre uses a lot of Pythonisms (list comprehension and lambda expressions for instance) which don't translate well to C++. All you're going to learn is how to turn Python into bad C++.
user_none is offline   Reply With Quote
Old 02-01-2011, 07:56 AM   #4
andyh2000
Avid reader
andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.andyh2000 ought to be getting tired of karma fortunes by now.
 
andyh2000's Avatar
 
Posts: 826
Karma: 6377682
Join Date: Apr 2009
Location: UK
Device: Samsung Galaxy Z Flip 4 / Kindle Paperwhite
Being slightly more encouraging, he could start building a Calibre look alike in C++, start very simply and implement the most important features first (e.g. add a book, transfer to ereader, metadata, search etc.). It wouldn't be a port, more of a rewrite, but it would be more of a learning experience and definitely more achievable.

Andrew
andyh2000 is offline   Reply With Quote
Old 02-01-2011, 11:10 AM   #5
the.reverser
Junior Member
the.reverser began at the beginning.
 
Posts: 5
Karma: 10
Join Date: Feb 2011
Device: Kindle-3
Thanks to Kovid sir, Andrew and user_none

For me all the response are encouraging.
I have already allocated my self for 2 years for this.
As per Kovid Sir's Suggestion, I will add one more year.
I know, Sir it took years what we see calibre now.
Good things always take time to build up, and I m ready to spend time.
and I know its worth.

Andy : Thanks a lot, for your valuable suggestion. May be this will be a rewrite of great application. I heard in my childhood, "see the master, follow the master, be the master"
Just trying to follow some very experienced persons.

If I can get help of your experience and knowledge.
I will be very grateful to you guys.
I have no fear of books and study, I will do all the study needful for this task.
But only a thing I m finding hard, what and where to start.
the.reverser is offline   Reply With Quote
Old 02-01-2011, 07:41 PM   #6
kiwidude
Calibre Plugins Developer
kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.
 
Posts: 4,637
Karma: 2162064
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
I agree in thinking that a "port" is an insane idea. After all, given how quickly Calibre is updated, do you realise that after 3 years you will now be 3 years behind in the features Calibre offers? I seriously doubt any users out there will want an alternative inevitably bug-ridden version that attempts to offer the exact same functionality they got 3 years ago from Calibre? Without the huge user support base, community added plugins etc? So it would be purely for your own "benefit" in terms of coding knowledge, however as others have said there are alternative ways to do that.

By all means create your own book management application such as andyh2000 suggested above, people have different needs and certainly a "simpler" version of Calibre with far less features aimed at end-users who are less technical could be one such market. However I think you are crazy to spend 3 years full-time trying to emulate exactly an existing application...

But hey, it's your life, good luck!
kiwidude is offline   Reply With Quote
Old 02-01-2011, 11:01 PM   #7
the.reverser
Junior Member
the.reverser began at the beginning.
 
Posts: 5
Karma: 10
Join Date: Feb 2011
Device: Kindle-3
Thumbs up

May be it seems insane ...
but I have no aim to keep that app with.
I am also going to give it to community, that actually not mine.
community help me to develop community has all right over it.
I am putting my time as without considering that there is someone who will love to help in this port but I m sure calibre lovers out there who can jump into to develop this port.
May be I was wrong that I was expecting, acceptance of my idea and gratitude towards Calibre.
But still I am standing by my decision and expecting someone to help me out to figure out the starting point for it. Though I have already started some paper work, but if I can have someone experienced, who can look over my shoulder that I am doing right or wrong will be a such a good help.
Thanks to all for their response. No matter what they are, as you take out time and replied on my thread.
the.reverser is offline   Reply With Quote
Old 02-02-2011, 10:36 AM   #8
Worldwalker
Curmudgeon
Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.Worldwalker ought to be getting tired of karma fortunes by now.
 
Posts: 3,085
Karma: 722357
Join Date: Feb 2010
Device: PRS-505
Quote:
Originally Posted by the.reverser View Post
But still I am standing by my decision and expecting someone to help me out to figure out the starting point for it.
I knew this was going to come up sooner or later.

You aren't going to get someone to help you out, and you aren't going to get community involvement, because people don't want to re-invent the wheel. Look at it from a programmer's point of view: do they want to get involved in your project, and duplicate calibre, so that three years from now they can get exactly what they already have today? Or, if they want to code, are they going to built onto calibre so that, a month from now, they can have something they don't have already? Three years for the same thing, or a month for a better thing ... that decision is a no-brainer.
Worldwalker is offline   Reply With Quote
Old 02-02-2011, 08:18 PM   #9
DoctorOhh
US Navy, Retired
DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.
 
DoctorOhh's Avatar
 
Posts: 9,864
Karma: 13806776
Join Date: Feb 2009
Location: North Carolina
Device: Icarus Illumina XL HD, Nexus 7
Quote:
Originally Posted by Worldwalker View Post
You aren't going to get someone to help you out, and you aren't going to get community involvement, because people don't want to re-invent the wheel.
Update: I might have been slightly brain dead in my assessment. For some reason I missed his last post above before I wrote this.

It sounded like he wanted to do this for his own education and wasn't looking for anyone to help him code. Most likely he is looking for a starting point like the information here.

He may need an occasional explanation but most of his questions should end up in a C++ forum, a book, a class or with him banging his head against the wall.

I personally see very little upside in this project beyond personal education, but I'm not the one that wants to do this.

Last edited by DoctorOhh; 02-02-2011 at 08:47 PM.
DoctorOhh is offline   Reply With Quote
Old 02-02-2011, 08:43 PM   #10
user_none
Sigil & calibre developer
user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.
 
user_none's Avatar
 
Posts: 2,488
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
It sounds to me like he has misconceptions about creating and building communities surrounding open source software. It takes growing a very large user base before you get a user who just happens to know how to code and just happens to want to step in and help develop. You might be the one off patch or two but committed developer that devote a significant amount of time are don't happen right away.

A good idea, a good base to start with, a good attitude and good communication are essential for a project to grow beyond one person. I'm the sole maintainer of an open source project that has a few hundred (maybe one thousand) users and I have had zero code contributions. I took it over from the original creator and the entire code base (aside from a few patches and translations) was his.

It was over four years after the original creator's last release and my first release. He was even publicly asking for someone to take over the project for two(?) years before I stepped up. From his last release to the current release I've probably rewritten about 75% of the application. Community is not some magical thing that just happens it takes a lot of work. None one is just going to jump up and start contributing. This is why forks often fail.
user_none is offline   Reply With Quote
Old 02-04-2011, 10:39 AM   #11
the.reverser
Junior Member
the.reverser began at the beginning.
 
Posts: 5
Karma: 10
Join Date: Feb 2011
Device: Kindle-3
Quote:
Originally Posted by Worldwalker View Post
I knew this was going to come up sooner or later.

You aren't going to get someone to help you out, and you aren't going to get community involvement, because people don't want to re-invent the wheel. Look at it from a programmer's point of view: do they want to get involved in your project, and duplicate calibre, so that three years from now they can get exactly what they already have today? Or, if they want to code, are they going to built onto calibre so that, a month from now, they can have something they don't have already? Three years for the same thing, or a month for a better thing ... that decision is a no-brainer.
Dear Friend,
I an agree with Andy from the beginning, when he called it less port more look alike. I have no problem what it is being called, because motive is quite larger than this.
But just for you, dont take it in offensive way. There would be even no calibre if Kovid sir had thought the same, I m sure there were some ebook reader, may be not very nice.
I am no where disgracing Calibre as it is the cause of that is cooking up in my mind. With all due respect to Calibre team and Kovid Sir's efforts.

And I m sure there would be no operating system, after the first one, as u can consider that as reinventing of wheel.
I have no intension to offend you, just promoting the coexistence.
Thanks a lot for your time to read my post and reply. as every post over helps me one way or another.
I am thankful to all who are posting their thought, we live in free world.
Lets enjoy the freedom
cheers.
Alok
the.reverser is offline   Reply With Quote
Old 02-04-2011, 10:56 AM   #12
the.reverser
Junior Member
the.reverser began at the beginning.
 
Posts: 5
Karma: 10
Join Date: Feb 2011
Device: Kindle-3
Smile

Quote:
Originally Posted by user_none View Post
It sounds to me like he has misconceptions about creating and building communities surrounding open source software. It takes growing a very large user base before you get a user who just happens to know how to code and just happens to want to step in and help develop. You might be the one off patch or two but committed developer that devote a significant amount of time are don't happen right away.

A good idea, a good base to start with, a good attitude and good communication are essential for a project to grow beyond one person. I'm the sole maintainer of an open source project that has a few hundred (maybe one thousand) users and I have had zero code contributions. I took it over from the original creator and the entire code base (aside from a few patches and translations) was his.

It was over four years after the original creator's last release and my first release. He was even publicly asking for someone to take over the project for two(?) years before I stepped up. From his last release to the current release I've probably rewritten about 75% of the application. Community is not some magical thing that just happens it takes a lot of work. None one is just going to jump up and start contributing. This is why forks often fail.
Thanks User_none
Its was quite helpful and informative. Surely I will keep all your idea and thought with me as they are going to help me in long run. of course your experience counts and I can count on that.
I am not expecting initially that somebody will start jump and do code with me.
I know its seems hard or may be harder. But that doesn't distract me to do this. It seems stubborn, but it is not. Just it should be consider my determination. Hard comings are always there when you start something, By physics static energy is always more than kinetic energy.
There is saying in my local "Akela hi chala tha jaanibe Manzil ki taraf, Log milate gaye kaarwaan banata gaya" which means I set out towards destination, people start gathering and we have become large group with same destination.
I don't to create a community, what and all I m creating. if it creates by itself that very good, otherwise I dont mind coding and doing it by myself. As it all started with me.
Thanks a lot for your valuable time. I hope I will be having your post now and then as they are helpful to me anyway whether they are technical or not.
Cheers,
Alok
the.reverser is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
what is the purpose of telling Calibre what your device is? rheostaticsfan Calibre 3 09-03-2010 12:04 PM
The Purpose of Copyright...(in the US) guyanonymous General Discussions 7 08-12-2010 04:09 PM
What is the real purpose of DRM? rleguillow General Discussions 36 04-11-2010 12:15 PM
calibre-server on port 80 problem jquest Calibre 2 11-06-2009 06:04 AM
Savory - a calibre port running on the Amazon K2 Nate the great News 0 04-03-2009 09:22 PM


All times are GMT -4. The time now is 04:45 PM.


MobileRead.com is a privately owned, operated and funded community.