Acts_as_tree_on_steroids plugin
We’ve been using a home-made extension of acts_as_tree on our production site for quite some time. We finally found some time to release it as a plugin You can find it on github
posted by gchatz 10 commentsWe’ve been using a home-made extension of acts_as_tree on our production site for quite some time. We finally found some time to release it as a plugin You can find it on github
posted by gchatz 10 commentsIf you prefer 140 character updates then watch out for Rails 3 in Q1 2010, otherwise read on, interesting info inside.
posted by gchatz 5 commentsLast time I checked spam meant robots. Stupid little applications from brilliant people gone the wrong way. That was the last time I checked and it was a long time ago. Lately spam is generated by Oompa Loompas with enough intelligence to override captchas and all that jazz. Below is the log of my attempts to limit spam on this blog.
posted by gchatz 6 commentsNormally, when you setup Nginx and Passenger to serve your rails application, all static files are served by Nginx without hitting Passenger. What really happens is that all static files that do exist are served by Nginx and the rest are passed on to mongrel.
For example http://www.mydomain.com/javascripts/prototype.js will be served by Nginx , but http://www.mydomain.com/javascripts/iamastupidrobot.js will continue to Passenger going all the way through the Rails stack. Instead of a simple 1ms nginx process , you get a full stack rails request with a route recognition error. Not good
posted by gchatz 5 commentsIf you are working on a project long enough you’ll probably think that every link, button, image is exactly where it should be.
If you coded it or designed it, then there’s something worse: You’ll have a hard time accepting that noone saw that big, bold sign up link.
Rails is a framework about conventions. It generates a basic structure which you mold into your dream application.
Over the course of the years, we have gathered some basic, rails specific, hints and tips you might want to check before going live. They are split into sections to make it easier to scan them, and pick the ones you haven’t indulged (yet) in. Read on, have fun, and comment a lot…
Sitemaps are a cool way for describing your site’s structure to search engines.
They can be more than useful when your site’s link aren’t always that easy discoverable (like searches for example).
There are some examples for generating sitemaps on the fly using an .rxml template, but if you site contains a large number of links you’ll need more than that.
posted by gchatz 58 commentsIn the previous article Using Paypal with Rails we showed how to implement a Paypal form using some of the Rails magic.
What’s equally important to the actual form, is, well …testing it.
Transactions are about customer’s money so you can’t rely on point and click testing.
Up until the redirection of the user to the Paypal gateway, testing can be done like usual, using the build-in mechanisms Rails provides.
What you can’t test in an automated way is Paypal’s IPN call back.
And you can’t test it because Paypal’s sandbox is unreliable. It can fire the call back after 2 seconds or 2 hours or 2 years.
For our latest joint venture we need to implement some kind of payment gateway.
The requirements were simple:
The project was a complete overhaul of a job posting site : www.freshwebjobs.com
The talented folks over at Extendio had done a very nice job reskinning the site, and they wanted us to update the codebase, add RoR hype ,some new hooks and features.
A while ago we stumbled upon a design studio in Romania, Extendio
They are the coolest guys to ever work with, and their designs are what we think the web is all about.
posted by gchatz No commentsApache has been good to us, and we have been good to him.
For quite a while we’ve been using Apache and mod_proxy_balancer to distribute requests to mongrels .
But, while adding a new twin server for Skroutz we had to say goodbye.
YSlow says I should move my scripts to the bottom.
It sounds somewhat reasonable since no DOM manipulations can take place, unless the DOM is fully loaded.
Moving the scripts to the bottom will allow the user to see most of the page without waiting for that 400kb of javascript to load. But…
posted by gchatz No commentsThanks to HAL9000 we now have a picture of how our page looks on the IPhone.
The interface looks awesome, and the browsing experience very tempting…
As I was browsing our price aggregator (Skroutz), looking for things we might need to rethink or change completely for the next version, I was trying to determine the way the page loads, and how we could improve the user experience.
A very nice tool, I am sure most webdevelopers are almost familiar with is the firefox Firebug extension. Besides allowing you to actually write to the dom tree as it is rendered by the browser and many other goodies, it shows you the HTTP requests a page load performs in the background.
posted by vdimos 2 commentsWeb 2.0 – The buzzword of the last 2 years, now slow but steadily reaches cooperate ears, and even here in technology-ghetto Greece you can here suit wearing junior managers throw around terms like community, usability, ajax etc….
But was is Web 2.0 really? Is it Digg, reddit and newsvine? Is it myspace, youtube, or the google apps?
posted by vdimos 1 commentRails before_filters in controllers can help you keep your code DRY.
I have coded cases where all action functionality was included in 2-3 before_filters.
I’ll try to showcase some of the methods that work for me.
posted by gchatz 1 commentWhile It has been more than a smooth ride with Rails for the last 2 years, the framework sure has some idiosyncrasies you have to get used too.
In a recent project, a small programming bug of me, caused quite a large problem.
posted by vdimos No commentsCombo boxes require at least 2-3 clicks to figure out which option to choose (clicking on the arrow for the drop down to pop-up , then moving through the list and selecting). Once you’ve selected there is no way of reviewing your selection and compare it to other selections (you have to repeat the process).
Multiple selects, allow you to review the whole or part of a list, but inexperienced users will never guess the ctrl-click or shift-click operations. Placing instructions like “ctrl-click to select multiple items” may solve some problems, but you are rely on users actually reading instructions, which they don’t.
Moreover, ctrl-click operation can create havoc if user accidentally selects an item without holding ctrl (even worse if selected items are a few scrolls up and the user can’t even see that they are now de-selected).
To παγκόσμιο internet έχει το slashdot, digg, reddit.
Υπάρχουν και πολλά που λειτουργούν ως specialized digg-clones (για μουσική, αυτοκίνητα, μόδα κτλ).