A good Python server source code to read is the CherryPY WSGI server. You can read it in the web.py git directory here.
http://github.com/webpy/webpy/blob/master/web/wsgiserver/__i...
599 karma · joined December 30, 2008
http://blog.kpicturebooth.com
contact:
karthik UNDERLINE tharavaad AT yahoo DOT com
A good Python server source code to read is the CherryPY WSGI server. You can read it in the web.py git directory here.
http://github.com/webpy/webpy/blob/master/web/wsgiserver/__i...
>>> Drupal is Freaking Hard to Use and Has a High Learning Curve <<<
The author uses the "layperson" as the targeted audience yet the only alternative he offers is rails. Yeah, enter rails, a layperson would have to learn programming, database, deployment just to get a rails site up. Comparing this with the WYSIWYG interface of drupal, I'd say the latter is much much easier for the lay person.
in my experience of working with clients clients, most of them haven't found much trouble making minor edits to the site itself after I've set it up given them some instructions. For me this is godsend compared to 1, doing things the old way of giving them static pages and having them email me every single time they need a change or 2, using my custom cms-like solution which is buggy and hacked together.
For these simple CRUD type operations, drupal is simply the easiest way for the lay person to modify a pre-built website.
>>>>Drupal’s Design is Piss-Poor<<<<
Inheritance? Objects? Keep in mind that drupal was started back then in 2001 when PHP didn't have any real OOP capabilities and that heritage carried through. As for the issues with upgrades, most modules and templates..etc shows prominently what version they are compatible with and if you use the correct versions, it usually doesn't break.
>>>>consider hiring a Ruby on Rails developer<<<
There are so many useful things that are built out of the box for you in drupal, the taxonomy system, thousands of modules for all of the most common operations and a generally helpful and supportive community. Through modules, you can get internationalization for free, you get a free forum, a free user-groups, blogs..etc. You also get a pretty good degree of customization with the Views and CCK module for the edge cases. I really don't see how building it yourself from ground up can be a money saver for 95% of the common cases.
And why specifically rails? compared to other web frameworks like Django, does rails offer something that makes it especially scalable, easy to learn or especially suited to the CMS type application?
From what I know, the Django admin site, its apps system, better documentation and python's consistent syntax makes it easier to learn and more suited for CMS type applications. And if you use Pinax for the some of its out-of-box functionality, it makes life even easier.
>>>All other web frameworks will break down and cry if you ask them to process more than a few dozen simultaneous requests on a single machine.<<<<
Isn't this what facebook Tornado, Orbited and all the other servers using select()/epoll() solves?
That being said, Congrats on the execution, its a very nicely done flex app. However, you might want to set
horizontalScrollPolicy=off
verticalScrollPolicty=off
for the itemRenderers of the HList of your Camera chooser page, because on my mac, the Label control overflows and cauese the scrollbars to popup.
Good luck guys!
Also, Instead of emphasizing on your personal stats ( 30 year old, wife, kids ), why not talk about your vision and ideas, if people find them interesting, they'll probably be more willing to talk to you about them.
Good luck on your search.
Looking at your app, it seems to do a lot of different things such as:
- Form Editor
- Calendar
- Permission based file access system
You could build just one of these components and get it out of the door and see how the market responds to your product and then evolve the product from that point onwards. Chances are that what you will end up with will look nothing like what what you have in mind.
Good luck on your venture.
Granted its not your fault but sometimes that just how things are.
If you want to promote it, I'd recommend spamming myspace or something, its the more appropriate audience.
There should be a guide or services for smaller companies and Startups to incorporate in tax shelters so they too can enjoy the tax benefits and thus level the playing field with the big boys. Are there such resources around?
2) I like the fact that the interface is built with Objective-J/cappacino, it feels more "native" than flash, which is what a lot of similar apps use
3) At the same time, the interface can be "broken" sometimes in that it doesn't react like you expect it to, for example, modal dialogs don't close when you press the "escape" key and the alert dialog ( after registering ) don't close after pressing the enter key.
4) Right click doesn't work.. would be nice to have a context menu to do various operations.
5) Shouldn't the loader only allow image files? I tried to upload a .pdf and it seemed to work (progress bar showed up..etc ) but afterwards it doesn't show up in my library.
6) I don't know about the whole "room" concept, I mean.. whats wrong with albums??
7) Although the cappacino based interface is super awesome, I could also see this limiting what this app can do, I mean, if its done in flash, you could do all kinds of cool stuff like the rest of the functions in iPhoto..etc
From what I can see, all of the ideas which you have listed deal with viable markets. HR, E-learning and Problem-Solving(??) are all useful domains but whether you will succeed really comes down to how you execute your startup.
But I do applaud you for sharing your ideas with the community, I've seen way too many people who are so secretive about their idea.
sounds remarkably like the advice in the Seth godin's "Permission Marketting" book.
http://news.ycombinator.com/item?id=684343
Since many think I'm being disrespectful towards the hardwork of others, i've abandoned cloning SO and decided to write something else for fun.
As for what I did over the weekend. I didn't get as much done as i expected but the project itself is coming along, as I have a working first prototype, i will put it up somewhere and then post about it.
I guess I'm not the only one to make the "shitz easy" blunder (http://news.ycombinator.com/item?id=678501 which really kicked up a shitstorm on the net =P ) and this disease doesn't seem to be limited to just programmers.
http://www.thinkgos.com/index.html
Ironically, its called gOS which implies strong google connections and thats reinforced by the integration of all the google apps.
I think it boots up in a few seconds, only has a chrome-like browser running and custom launcher for certain apps.
This was posted 5 days ago:
http://news.ycombinator.com/item?id=684343
That being said, yes, I did learn my lessons.
Thanks for keeping me honest!
>>>>it looks like something that can be thrown together in a weekend.<<<
It was mostly a reaction at the huge amount of money they want to charge for a such a software. But after reading the various responses, it has helped me understand the amount of engineering, user-experience studies and hard work that has gone into this fine web app. Regardless though, I still think its overpriced.
Yep, I probably fell into the "shitz easy" trap there and I will probably fail, publicly and humiliatingly in this case =( to implement all of StackOverflow's functionality in one weekend.
EDIT: Actually, as a sign of respect to SO and their folks, I'm not going to clone SO anymore, it has just become a totally no-win proposition for me. Another reason is that the project here:
http://code.google.com/p/cnprog/
Already does a really good job of emulating SO and there's little point in me writing another one.
But, I will spend the weekend cloning another piece of highly vaunted ( and overpriced IMO ) web software which does NOT have an opensource alternative.
To me its just a fun little thing I'll try to do over the weekend and hopefully it'll offer a bit of refreshing perspective into web-based app development again since I've been stuck in the flex world (what pays the bills for now) for so long.
But actually his post offers a pretty good to-do list for the list of things I need to do to get it working, so basically, there is:
1, Asking and Responding to question 2, can't downvote person too many times in certain amount of time 3, spam bot detection/prevention 4, user icons 5, sanitizing html lbrary 6, karma 7, full-text search with search-as-you-ask 8, user bios 9, important questions that bubbles down slowly 10, bounties 11, email notifications 12, javascript smart tags 13, user configurable badges 14, history of karma, upvotes and downvotes
and oh yes, I'm not going to attempt to implement the design, i'll prolly start off by using the stackoverflow css and html as a template like what cnprog did when they started off and perhaps let someone else ( or do it myself ) replace it later.
The software you listed are simply a part of the system which they developed use, the tracking/scene analysis part of it. And you are right, that part of the software is not overly difficult to write, in fact you can throw together a Harris Corner detector + RANSAC to find correlation between the points and it'll do quite ok. In their case, they decided to use the Voodoo camera tracking system available here:
http://www.digilab.uni-hannover.de/docs/manual.html
which is comparable to the software you have listed
What I'm most interested in is the speed of processing their warps. From my experience of playing with ITK/VTK, generating non-rigid warps using b-spline, MFFD or any of the current algorithms takes a LONG time if you take the image content into account. I need to read the paper more carefully to find out.
http://code.google.com/p/hackerexchange/
I'm aware of the chinese solutions done in Django but after looking it over, I think I can do better.
I'll prolly write it in PHP too (gasp) so any n00b can basically rip it off and throw it unto shared hosting! ahh, gotta love opensource =)
Can you explain how this is different from Rescuetime?
Besides, by handing in fake homework, you are just cheating yourself of education.
http://research.microsoft.com/en-us/um/people/viola/
(scroll down)
Dr. Paul Viola is also the guy created the first realtime face detector ( the one in openCV ).
I wasn't interested in this book before but I'm going to buy it now after reading so much about it. Its almost like a brilliant PR move. Perhaps there is some truth to "There's no such thing as bad publicity"
1) The detector doesn't like faces that are slightly rotated, either in-plane or out of plane.
2) The detector is "racist" in the way that most of the training images used were Caucasian people and therefore it works best on Caucasian.
3) It fails badly on kids because they aren't present in training data.
Try normalizing your data a bit for that and see how it works out. If you want a detector that works better , simply use the one in openCV since it does a more thorough detection. The performance optimizations I did also cuts down the accuracy of the algorithm ( assuming his port has those too ).
1, the algorithm use something called haar filters, its simply box filters with a "White" and "black" area - for each region of the image, you take the sum of the pixels in the "White" area and minus the sum of the pixels in the "black" area. Thus the filters output a simple single number;
- First you generate a gazillion of these filters for different regions of the image with different shapes. such as a 2 horizontal rectangle or 2 vertical ones ( one black and one white ).
- You take the result of the output of the filter to find the threshold which differentiate the faces and non-faces in your training images the best.
- Using all the filters and outputs you have, feed it into an machine learning algorithm called "Adaboost", which attempts to minimize an exponential loss function of the error of classification. These different filters are then assembled with different weights.
- The final structure of the detector is a "detection chain", which is a degenerate decision tree (like a chain) with nodes consisting of the aforementioned filters assembled together. This is how the algorithm achieves its speed, by rejecting non faces early in the detection process. Only when a image region passes all the nodes in the detection chain that its labeld as a "hit";
- After that you scan all regions of the image at all sizes ( brute force ) and then assemble the detection results.
To be honest, the first time that I saw the description of the algorithm, it seemed a little "magical". The underlying reason why these "box filters" work so well is because the human face is well-defined by "boxy" feature such as our eyes, nose, eyebrows, lips..etc. Its a wonderful wonderful application of Machine learning to a specific domain.
This is also why this algorithm has MUCH lower detection rates for cascades trained to detect side view faces, because these "boxy features" that are so well detected by these filters are simply not as prominent in the side view
For more, refer to the Viola and Jones paper , of all the versions out there, I find this the best:
http://lear.inrialpes.fr/people/triggs/student/vj/viola-ijcv...
to be perfectly honest, this detector sucks.... Although its fairly illumination invariant, its not rotation invariant and sucks for side-view faces detection. I've been trying for the longest time to implement the histogram based detector outlined in this paper: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/hws/www/CVPR00.ps
which is also what pittpatt uses for their detector and IMO its a much better detector. However the lack of training images and time has been impeding my progress. It'll be opensourced when I'm done.