If you want to know more about forking processes vs threading. You should look at TCPServer.py in the standard libary. You can look at the ForkingMixin class and the ThreadingMixin class.
A good Python server source code to read is the CherryPY WSGI server. You can read it in the web.py git directory here.
I've had some experience using drupal and while it can be frustrating at times, my overall experience with it is pretty positivie. I've used it mainly to build websites for clients, these are the usual bread-and-butter variety sites for small businesses. So let me address some of his points.
>>> 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.
Well, its like saying that you should sue the police when your house got robbed instead of the robber. Scribd is the one with the intent of gaming the system, Google just wants to provide relevant search results, so its clear to me who should shoulder the blame.
upped because I hate it when every time i try to search for something, there's a scribd link for something TOTALLY IRRELEVANT to what I'm looking for on the front page of google masquerading as real content. I don't like their SEO practices and I think the company should change its tactics.
Ok.
So we've had Thinkature, Yvew, Dabbleboard, dimdim..etc..etc and a bunch of others. Did any one of them really make MONEY after webEX was sold? So whats so different about this one besides a nicer interface?
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.
Well, posting on YC is a good place to start. There are also a lot of events tailored towards geeks, startups, programmers which you can attend and try to make some friends.
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.
My suggestion is to chop it up and develop it piece by piece.
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.
Its kind of unfair that only big companies can get this sort of competitive advantage while smaller startups are stuck paying taxes through their nose under the draconian tax policies of the US government.
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?
Some feedback and thoughts on Picurio after playing with it for a bit
1) Sweet interface, looks very iPhoto-like
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
I think you should be a little more specific in order for people to give you any real advice.
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.
His advice on
- giving music out for free at un-DRMed format in exchange for email
- and using the email address to sell premium goods such as signed personal items..etc
sounds remarkably like the advice in the Seth godin's "Permission Marketting" book.
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.
>>>>when he overheard one of them say “well even I could do this”. <<<<
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.
I'm sorry if I came across as disparaging. I mean no disrespect to either the Fog Creek employee, Stackoverflow or anyone else. I read both Joel and Jeff's blog and I have the utmost respect for both of them and their work. Thinking it over in my head again, I should have probably thought things over before posting this part:
>>>>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:
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.
Yep, thats me and I'm still going to try do it this weekend =) I think some people takes things way too seriously like the fog creek employee who posted in the original thread whose post this blogpost references. EDIT: it actually appears to be the same guy who wrote this blog post.
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.
I think you missed the point, their key innovation is to use a content preserving warp on a frame-by-frame basis to recreate almost ANY motion path they like ( provided that the path is close enough to the original path of course ).
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:
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.
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...