HN user

hassenben

51 karma

Problem solver

Posts1
Comments23
View on HN

They need to switch to a complete distributed architecture. Where the site, the tracker, everything is hosted by users. This way, no corporate tools can target them.

The "how" is much more complicated though.

models/ORM Doctrine does better job. - abstract model definition via yml file - multiple connections/databases/environments easily managed - Cool API (shortcuts, relations, custom tables etc.) + DQL for queries + support for multiple DB engines

admin interface / CRUD interface - they are easy to generate but easier to customize under symfony. - you can do 90% of the stuff via a config file generator.yml. The rest is extending the generated code and customizing queries to the model

configuration - you can do more via the config files in Symfony and control your project/applications vs Django.

forms system - the abstract forms system comes with generated forms based on your model, widgets with validations, binding with your model, customizable renderers. You can have a custom CRUD interface up and running and linked to your tables in less than a few minutes.

routing - routing.yml and sfPatternRouting does a much better job without using complex regex patterns - Also, all routes are abstract, understandable and well located.

testing - Unit testing and functional testing is very well done. You can launch specific tests, launch failed tests only, call your model/forms easily because they are all objects, simulate a browser session etc. You can do all that stuff with Django but will a lot more code.

framework vs API - symfony abstracts anything useless as a plugin where Django tends to integrate some of it in their Framework (CSV, PDF generators etc.). That's a lack of vision.

Anyway, just a couple of points, I could go on and on ;-)

Agreed.

Get a challenging job where people can criticize your work and not a job where you can code and deliver with no feedback (except from users with no programming background).

In software, just because it works, it doesn't mean it is well done.

Also, if you can't note a significant improvement in your skills over the next three years after graduation, you're not going to make it big in this industry.

Funny how we make different associations when watching movies.

I watched this movie and thought about BCI, computer vision and marvel comics.

A lawyer takes a look at it and sees patents, laws and court. I didn't even pay attention to the part where Peppers was talking on the phone about patents. To me, it was just some business blabla needed for the scene to make her look busy.

However, I did pay close attention to how he manipulated his 3D, his home interface, the jargon used, the software (no comments) etc.

Just interesting.

“So many people think it needs to exist,” Mr. Salzberg said. “We’re making it because we want to use it.”

Selfish motives provide the greatest motivation. At least, they are working on it for the right reasons.

You have to go through at least one company like that.

It is often the only way to find out what type of "employee" you want to be. (environments, coworkers, projects, schedule etc.)

Or, it will motivate you to become self-employed or launch your startup and do things differently :-)

Thank you so much for posting this. It is amazing how you can spend years doing something and realize it doesn't make sense anymore :-)

This should only happen to you once in a lifetime.

and this is why my "rm" is replaced by this script... just moving stuff to another directory (trash) and I clean my trash manually (with at least 2 confirmations)...

With all these precautions, if I delete something important, I don't deserve admin rights :-)

randstring=`date "+%Y-%m-%d_%H-%M-%S"_bak`

while [ ! -z "$1" ]; do mv -b -S "$randstring" "$1" ~/.local/share/Trash/files shift done

-hbt

This is actually quite dangerous. You can use GData to load the document retrieve all contributors and authors.

You can also retrieve the viewers using a cronjob.

GData returns a "Person" objects in 3.0 http://code.google.com/apis/gdata/javadoc/com/google/gdata/d...

and when you know that google docs generates a revision for just clicking around you can retrieve all revisions and email addresses using http://code.google.com/apis/gdata/javadoc/com/google/gdata/d...

Anyway, it is a great idea... but really not a good idea to use a google doc :-)