Walla.co.il is one of the most visited web sites in Israel, it is some sort of an all-purpose-portal and holds the homepage spot for many people.
I wanted to check how many people are visiting in rubyonrails.org to walla.co.il at compete.com, this is what i got back.
Ruby On Rails and a Conning Israeli entrepreneur
Buzz: rubyonrails.org vs. walla.co.il
How to save money in your startup company
- Buy Macs, They are a little more expensive, but worth a hell lot of money in productivity terms
- Buy a second monitor for every programmer, passing through windows (a.k.a: browser to Textmate and back) take a lot of time. worth the money.
- Buy everyone food, all week long. when people go out to work it takes a lot of "extra" time, by buying them the food, you'll cut off about 20 min. per lunch break.
- Expensive chairs, crappy desks. most of the programmers i know, appriciate their chair more than their table, their chairs are those big high-backed cousins, while the desk looks like a dump, besides everything you buy should be ergonomically designed
- Programmers don't need phones, don't buy an expensive phone system, most of the programmers i know talk to each other across the room using Skype :), save the money for an executive phone system, if needed at all.
- Rent to grow, don't rent offices with no space to grow (expected growth is something you need to calculate prior to renting an office). rent 100% more than what you need.
- Outsource HR, YOU DON'T WANT THE HEADACHE, assign a professional employee to view the final candidates
- You don't need an office, you need Google. Don't buy Microsoft office for everyone, buy for 4-5 stations and the rest can use Google Docs of one of those Java based editors (OpenOffice or Neo Office)
- Use Google Apps, Emails, Documents, Wiki.. why hiring a system programmer for those? or even waste your employees time on building a wiki
- Key programmers should get a laptop, do i need to expain?
- Hire devoted programmers, these guys (when payed to the full) will work harder and faster than anyone else in the crazy startup life, compansation via paycheck will be required, but these are valuable employees.
- Refrigerator, everyone knows that programmers drive on Coffee, Coke and Bamba (in Israel at least, in USA it's Cheetos or something:) ) so i suggest a Coffee machine and a snack drawer in the kitchen, a chocolate bar can do wonders to code.
- Just finish, allow your employees to work in their own hours, (within reason and except the situation a bunch of programmers is needed to work together) when they are aware that they have a deadline, some people need to sleep until 10:00am, this does not mean they are not right for you
- Cars, very important, an employee that needs to drive around buses for 2 hours in the morning traffic, is not a happy man
- Clients don't speak to programmers, they don't speak the same language, use a dedicated person to bridge between the programmers and the clients, or if possible, hire a support personnel
- Source Control, use Svn, Git or something, just do it...
- Allow remote connectivity, you can hire people from abroad and still not to micromanage them, think about online collaboration too
- Task management, use an online application, like basecamp or something, they keep your life easier and cost almost nothing.
- Open Source, use open source software when possible.
- (No) power to the people, empower a power saving policy in your startup, turn off screens and hibernate stations on the end of work for starters
- Big Bad Bandwidth, there is nothing more annoying than slow connections so buy the biggest bandwidth possible, BUT, keep an open eye for Emule connections and such, you don't want it around.
that's it for now, thank to all of my programmer friends that helped me composed this one, i'll view the comments and update if necessary
Rails Tip: Annotate models
Ever happened to forget what columns does a Model has?
well, instead of Model.column_names, you can easily install the annotate_models plugin which adds the models schema info as a comment at the top of your model.rb file.
install from
script/plugin install http://repo.pragprog.com/svn/Public/plugins/annotate_models
and from the project root
rake annotate_models
Rails Tip: Render, Better, JS Later
There are certain standards we got used too when creating rails views and layouts, which may cause a problem or some set backs to our applications.
We are all used to coding the JS includes way up in our document, moving the JS to the bottom of the page will render your page a little bit faster, and this is why.
When a browser reads a page, it goes through from the top to the bottom, So when we put the JS include's up, the browser will attempt to download them and hold the dom parsing until it finishes.
Rails Tip: AR eager loading and :select
The AR::Base.find support the options of :include (for adding associations as JOINs in the select) and :select (which pinpoints the columns you wish to select.
For some reason, it is impossible to do them both toghther for example
Article.find(:all, :include => :author, :select => 'authors.name')
This line will raise an exception.
Luckily, there is the select_with_include gem which enables this feature!
first, install the gem
gem install select_with_include
next, require it in your environment configuration file (or in environment.rb)
require 'include_with_select'
Now, you can use the :select option, remembering to use the table name even if a column name is not unique.
There is a single fault back, in case you want to select all the table columns, you need to write them all, one by one. yeah, it sucks.
Restful Web services gem
i recently read at John Nunemaker's blog about a gem he wrote for simplifying the consumption of REST web services.
Read more about the HTTParty Gem
Rails Tip: URLs ending with .html
This is not a must by all means, just for the hack of it.
add to ApplicationController
def default_url_options(options)
{ :format => 'html' }
end
and you don't need any routes.rb changes.
Rails Tip: image_tag, SEO Optimization
when you use rails's image_tag, by default it sets the HTML attributes of alt and title to the filename of the image. so for
image_tag 'dscn0001.jpg'
will produce the following html something like that
<img src="images/dscn0001.jpg" alt="dscn0001" />
the alt attribute for image tag is meant to explain the content of the image in case the actual image was not found, or for non-graphic browsers.
The default value for the alt attribute should not be used, unless the file name does not really supply information about the image. my suggestion is to use the :alt option in the image_tag helper.
important: do not attempt to use the alt for keywords heaping ('elad-rails-blog-ruby.jpg'), this will not help you in your SEO.
Ruby On Bells
This one is great.
some kind of musical instrument that plays random midi tracks according to a ruby script.
here it is:
Ruby on Bells -- RAD Madrona Fork from jd barnhart on Vimeo.
Unveiling the new startup
I am currently up to an exciting new skeem, me and some of my fellow programmers are working for some quiet time on an amazing, innovative music related startup.
What is it about?
Sorry, can't tell ya yet, hold on and don't be so indomite. :)
What am i doing there?
I am 99.5% responsible for the server side (yap, Ruby on Rails!),what seems to be emerging as my finest work. Barak Edry which helped my on Pdfetch.com and worked with me on Creopolis is busy working on the GUI for both the client and the server (yaii, no views for me... i think) and since Ohad Asulin is our Oracle-ninja-C++-shark and therefore too busy to help me on Rails, i was left responsible for the server side. no sweat :)
OK, but you didn't tell us nothing yet
Right, and i am not going to... just wait and see.
When?!
Soon, every on who is playing on ANY kind of instrument, please e-mail me and you'll be notified as sooooooooonn as the public beta goes out.
more on the secret-amazing-startup to come.
Stand Alone ruby on rails application
Ok,
I Don't really know if anyone has ever done this before, but after viewing some unrelated posts regrading ruby and rails, i succeed in creating a stand alone ruby on rails application.
By saying stand alone, i mean you can copy your application to a usb driver, and start your mongrels anywhere you want!.
i wrote some scripts to setup what the application needs prior to loading, and got it running in no time.
i succeeded doing this with rails 1.2.6 so far, but i don't see any reason why i should not do it with 2.0/1.
now my offer goes a little of something like this, if you will come up with an idea how to make me (and you :) ) some money with this new trick, i'll give up 45%.
start thinking :)
Working in the USA
In 3 weeks i am moving to Florida (yeah, i heard everything everyone has to say) and i am currently looking for a job (Rails related of course).
here is my resume, don't be shy...
Ruby on Rails Screen Casts (rated R :) )
I came across during my never-ending quest for Rails and Ruby related websites, in this cute site (re-design, fast) at Ruby Plus.
They composed over 90 (to this day) screen casts about ruby and rails, including some Rails 2.0 roundups, Ruby metaprogramming and so on.
use it, bookmark it, watch it. (and get the feed too :) ).
why i hate Adsense
As it should be clear already, i am the owner of Pdfetch.com. just until the recent facelift, i used Google's Adsense as my ad operator.
and i did an honest mistake.
i copy-pasted a snippet right above the adsense script, which contained the words "click here".
Google didn't like it so much, and sent me an email which says that i violated the usage terms of Adsense by forcing users to click on ads and they will block my site from using Adsense if i will not remove this phrase in 3 days.
WHHHATTT?
lucky me, i saw this message 2 days after my ultimatum was over (they give you 3 days to complay.... mmmm... some counter-terrorist are consulting Google? :) ). anyway by the time i saw this message and begged them to let me remove this error and get back my ads and explaining them what really happaned,
they replied by saying that the will not allow my to use it anymore on Pdfetch.com
real thanks.
that's why i like amazon now :)
Rails and Oracle, new blog
Hi all,
I am happy to announce that Oracle On Rails, the too-much-anticipated blog from Ohad Asulin about working with Oracle and Rails, Ohad is one of my colleagues and is an excellent Oracle-Ninja, i strongly advice going up on this one (and generally move to Oracle for large scale applications),
you might really like to hear what this guy has to say.
Working with Rails mixup
Uhhh, what can i say..... i am stupid.
PAUSE
Now i will explain what happend as simple as possible (for you all to laugh at me real good).
Smart:
"mmm, i need to fill in the email i registered with, oh it's
after 5 seconds when i realized that i can't read messages from that box.
"oh men!!!!!"
Short and less annoying version for what i did:
PDFetch facelift!!!!
Pdfetch.com was just facelifted al little bit, i was really unhappy for some reason from the previous design, so i did about a 2-hour-fest to do it in another way.
Finally Decided: JQuery, not Prototype
JQuery (for those of you just landed from Mars) is an unobtrusive javascript framework. read more at the JQuery home page.
jQuery supports Behavior driven development and is based on traversing HTML documents by CSS Selectors.
vs.
Prototype,
Prototype is also JavaScript library for Class driven development which makes life easier working with JavaScript. Prototype library has a good support in Ruby on Rails via helper functions and is basically well embedded in.
i decided to try to match both of these libraries (and dojo for the matter of fact, but the project was halted), and here are my conclusions.
- BDD
JQuery is very similar to CSS by assigning the HTML element behaviour out-side the HTML, so it is generally more adequate for MVC.
for ex:
$(element).click(function() {
alert("warning");
});
simple. - Chaining
Chining methods is as simple as ruby. period - CSS Selectors
Since JQuery is based upon CSS, you can access any element by it's CSS path, and avoid these annoying pesky ID's you have to put using Prototype.
for some more comparisons, visit the Ajaxian article
Finally:
Jquery and prototype are both great. For me, i prefer JQuery since it's approach appeals to me more than Prototype's, Although prototype is kinda Rubish and has inbound support from Rails, JQuery is still cleaner to me.
Did someone said JQuery to Rails integration?
Ruby On Rails Developer Salary in the US
the graph is right here
Data Provided by of simplyhired.com, a search engine for jobs.
As i can see, $86,000 per year, that makes it about $7,100 USD a month, which is just a little more than what a super-rails ninja can get here in Israel, probably more for a short period projects.
how come?
web 2.0 validator
Rails.il... Finally!
I ran across the newly and very anticipated rubyonrails.org.il.
Use Facets
i am ashamed, i just recently noticed some of my associates are using a gem called "facets".
Run RUBY!!! RUNNN!
According to a Nimble Method post, ruby is slow (i don't really agree on the other hand) cause' of a garbage collector bugs.
Apache X-SendFile in Rails
" There's this slick HTTP header called "X-Sendfile" that Apache and Lighttpd support. It was made to address this kind of problem (isn't that convenient?). Now, when you send an HTTP response, all you have to do is tack on an X-Sendfile header with the path of the file you need to send—don't worry about actually reading the file or sending any of those bytes yourself. The web server will load the file you specified and send it downstream."
Ruby Coding Convetions
When working in a team, you must be able to understand and to complete/continue other people code, although rails itself is very easy to understand, some of us need some further instructions :).
RandExp Gem
Twiters Around
About Me
- Elad Meidar
- I am a web developer for more than 9 years, managed, cried, coded, designed and made money in this industry. now trying to do it again.
Blog Archive
-
▼
2008 (91)
-
▼
July (27)
- Buzz: rubyonrails.org vs. walla.co.il
- Top 10 Design mistakes on the web
- How to save money in your startup company
- Rails Tip: Annotate models
- Rails Tip: Render, Better, JS Later
- Rails Tip: AR eager loading and :select
- Restful Web services gem
- Rails Tip: URLs ending with .html
- Rails Tip: image_tag, SEO Optimization
- Ruby On Bells
- Unveiling the new startup
- Stand Alone ruby on rails application
- Working in the USA
- Ruby on Rails Screen Casts (rated R :) )
- why i hate Adsense
- Rails and Oracle, new blog
- Working with Rails mixup
- PDFetch facelift!!!!
- Finally Decided: JQuery, not Prototype
- Ruby On Rails Developer Salary in the US
- web 2.0 validator
- Rails.il... Finally!
- Use Facets
- Run RUBY!!! RUNNN!
- Apache X-SendFile in Rails
- Ruby Coding Convetions
- RandExp Gem
-
▼
July (27)
Labels
- 1.9 (1)
- 2.0 (1)
- 2.2 (1)
- 2.3 (1)
- 2.x (1)
- accessibility (2)
- account (1)
- actionmailer (1)
- activerecord (3)
- adsense (1)
- affiliate (1)
- ajax (3)
- amazon (4)
- analytics (1)
- api (3)
- application (1)
- array (1)
- associations (1)
- attachment_fu (1)
- autocomplete (1)
- aws (2)
- blog (4)
- books (4)
- boolean (1)
- browser (8)
- browsers (3)
- bugs (4)
- buzz (1)
- callback (1)
- callbacks (1)
- caller (1)
- capistrano (1)
- chronic (1)
- class (2)
- classes (1)
- classifieds (1)
- client (1)
- coding (2)
- collboration (1)
- console (2)
- convert (1)
- core (2)
- core. object (1)
- cost (1)
- css (7)
- database (10)
- date (3)
- dating (1)
- db (2)
- debug (2)
- deploy (5)
- deployment (3)
- design (11)
- development (5)
- dojo (1)
- eager (1)
- ec2 (2)
- effects (1)
- elad (2)
- email (3)
- engine (1)
- engineyard (1)
- english (1)
- entrepreneur (1)
- environment (2)
- erd (1)
- error (1)
- example (1)
- expire (1)
- explorer (1)
- extention (1)
- extra (2)
- facebook (2)
- fast (1)
- file (1)
- files (1)
- firefox (4)
- fixtures (1)
- font (1)
- form (1)
- framework (16)
- free (6)
- funny (2)
- gem (7)
- gems (2)
- git (5)
- globalize (2)
- gmail (3)
- google (8)
- graphes (2)
- graphics (1)
- guides (4)
- hacks (1)
- hosting (1)
- html (1)
- http (1)
- ie (5)
- ie8 (1)
- image (2)
- indomite (1)
- install (1)
- iphone (1)
- israel (2)
- javascript (19)
- JQuery (10)
- js (3)
- legacy (1)
- leopard (1)
- lib (1)
- library (3)
- links (2)
- list (1)
- loading (1)
- log (1)
- logger (2)
- logging (1)
- love (1)
- mac (4)
- mail (2)
- manuals (1)
- mapping (1)
- mass (1)
- mephisto (3)
- mercurial (1)
- meta (1)
- metaprogramming (3)
- microsoft (1)
- migrations (2)
- minimagick (1)
- mistake (1)
- mistakes (1)
- model (1)
- money (4)
- mootools (4)
- move (1)
- movies (2)
- music (1)
- mvc (2)
- mysql (2)
- native (1)
- nested (1)
- network (1)
- new (1)
- newsletter (1)
- num_to_english (1)
- numbers (2)
- object (1)
- observer (1)
- ohad (1)
- open (1)
- operators (1)
- optimization (4)
- oracle (4)
- overload (1)
- parse (1)
- pdf (4)
- php (3)
- plugin (11)
- plugins (7)
- programming (4)
- programs (1)
- projects (5)
- prototype (1)
- queries (1)
- rails (50)
- rails 2.0 (10)
- rails 2.1 (6)
- rake (2)
- rants (1)
- record (1)
- reflections (1)
- release (3)
- rendering (1)
- reset (1)
- resize (1)
- rest (1)
- rjs (1)
- ror (1)
- routes (3)
- routes.rb (2)
- ruby (49)
- ruby on bells (2)
- ruby on rails (28)
- ruby-debug (1)
- s3 (2)
- salary (1)
- scaling (2)
- schema (2)
- screencasts (1)
- script (4)
- scripts (1)
- search engine optimization (1)
- security (3)
- seeking alpha (1)
- select (1)
- sendmail (1)
- seo (2)
- sequencer (1)
- sessions (1)
- share (2)
- shell (1)
- site (3)
- site map (1)
- sites (1)
- skype (1)
- social (2)
- source (1)
- source control (4)
- sprites (1)
- sql (1)
- stand alone (1)
- standards (1)
- startup (6)
- storage (2)
- subversion (4)
- svn (1)
- team (1)
- technology (1)
- testing (1)
- textmate (1)
- thread (1)
- time (1)
- tips (45)
- tools (5)
- tracking (1)
- tricks (36)
- tutorials (5)
- ui (4)
- uml (1)
- update (1)
- upgrading (2)
- url (1)
- usability (2)
- user interface (7)
- validations (1)
- vector (1)
- vote (1)
- web (9)
- web services (2)
- web2.0 (4)
- webistrano (1)
- wire (1)
- wwr (1)
- xhtml (1)
- yahoo (1)
- yui (1)
- רובי (8)
- רובי און ריילס (7)