Wow. What a nice idea.
http://code.google.com/p/quipt/
Note: if you want to make the test.html to work checkout and test on http://… it is some beta but it works great only in Firefox
Wow. What a nice idea.
http://code.google.com/p/quipt/
Note: if you want to make the test.html to work checkout and test on http://… it is some beta but it works great only in Firefox
My colegue bl8cki is real fan of making screenshots from web browsers. Those days he tries the python solution. And today he surprised all with one very nice firefox plugin
With this plugin you can use firefox with some command line parameters to make screenshots.
Here is how we will use it
mkdir /tmp/tmpfbdir
Xvfb :1 -ac -screen 0 1600x1200x24 -fbdir /tmp/tmpfbdir
firefox-2 --display=:1 --no-xshm -height 1024 -width 768 -savepng http://www.cenite.com
Windows solutions
http://webscripts.softpedia.com/script/Image-Galleries/Image-Tools/Website-Thumb-Generator-40121.html
http://web-tourist.net/login/login/view.php?st=1193 h
ttp://www.download32.com/website-thumbnail-generator-software.html
http://www.zubrag.com/scripts/website-thumbnail-generator.php
Multiplatform – I cant manage to compile it:
http://cutycapt.sourceforge.net/ http://iecapt.sourceforge.net/
Python:
http://www.burtonini.com/blog/computers/mozilla-thumbnail-20040614?showcomments=yes#
Firefox
http://pearlcrescent.com/products/pagesaver/
https://addons.mozilla.org/en-US/firefox/addon/1146
Another Linux/Ubuntu way:
aptitude install xvfb xfs xfonts-scalable xfonts-100dpi libgl1-mesa-dri subversion libqt4-webkit libqt4-dev g++
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
cd cutycapt/CutyCapt
qmake
make
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.google.com --out=example.png
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.google.com --out=example.html --out-format=html
http://khtml2png.sourceforge.net/index.php?page=faq
Here is how to make random images generation for your website.
First you must put your images in a folder /public/images/random_images or what ever.
Second you put images there and mark the filenames with a prefix, which image to which section will be visible on.
index_bottom_1.jpg -> for the index page on the bottom :)
index_bottom_2.jpg -> for the index page on the bottom
featured_art_1.jpg -> some panel.
featured_art_2.jpg -> some panel.
and so on…
Paste this method in your base controller. This method will be called to make list for a specific image folder and “filter” the images that are supposed to be showed in the different regions in @variables.
before_filter :init_random_images
protected # :) be carefull for this if you copy paste
def init_random_images
# collect some static images
web_root = "images/imagestorage/random_images"
all_images = Dir["#{RAILS_ROOT}/public/#{web_root}/*.jpg"]
@random_head_images = []
@random_indexbtm = []
@random_featured = []
@random_sales = []
@random_services = []
@random_framing = []
@random_artistcollection = []
all_images.each do |f|
if File.stat(f).file?
@random_head_images << ("/#{web_root}/" + File.basename(f)) if f =~ /head_images_/
@random_indexbtm << ("/#{web_root}/" + File.basename(f)) if f =~ /indexbtm_/
@random_featured << ("/#{web_root}/" + File.basename(f)) if f =~ /featured_/
@random_sales << ("/#{web_root}/" + File.basename(f)) if f =~ /sales_/
@random_services << ("/#{web_root}/" + File.basename(f)) if f =~ /services_/
@random_framing << ("/#{web_root}/" + File.basename(f)) if f =~ /framing_/
@random_artistcollection << ("/#{web_root}/" + File.basename(f)) if f =~ /artistcollection_/
end
end
Then paste this as a helper or in the base controller, to use it in your views. The method will give you from the images array, count number of images.
helper_method :get_random_image
def get_random_image(images, count)
requested_images = []
images_copy = images.clone
[images_copy.size, count].min.times do
index = rand(images_copy.size)
requested_images << images_copy[index]
images_copy.delete_at(index)
end
requested_images.flatten.compact
end
here is an example how to use it.
<div id="static_logo" style="background:url(<%= get_random_image(@random_sales, 1) %>) no-repeat scroll left top;">
Put some caching, not to make
Dir["#{RAILS_ROOT}/public/#{web_root}/*.jpg"]
on every request.
10x Bl8cki to the nice code optimizations :)
I cant live without vim. Today is the day I understand this and have install vim on my home windows:) I hope that no one will start it accidently.
Ok. Here i will keep track of the commands that I use in vim.
configuring vim and nice screenshots tutorial
Here is more on the topic
load words from all pl/pm files: ctags *.p?set tabstop=2
set autoindent
<< >> size is controller: shiftwidth=4Keyboard Shortcuts:
do – Get changes from other window into the current window.
dp – Put the changes from current window into the other window.
]c – Jump to the next change.
[c – Jump to the previous change.
Ctrl W + Ctrl W – Switch to the other split window.
I have a case where the user must select items from a basket and use them with different forms.
It would be easy if the form could be one – less support.
I am starting with those two forms
Here is how it looks the helper form. All the checkboxes are tagged with the class=”selectable”. Here is rails example but you can implement it pure html.
<%= check_box_tag('selected[]', true, image.selected?, :class=>"selectable") %>
Then we can select all the checkboxes with this javascript.
var make_to_hidden = $$('input.selectable');
Put on your action form an id so we can access it easy in this case:
Lets add those checkboxes from the first form to the real action form with this javascript function
function import_selected_basket() {
var make_to_hidden = $$('input.selectable');
make_to_hidden.each(function(item) {
if (item.checked) {
var new_item = new Element('input', { 'type': 'hidden', name: item.name, value: item.value })
$('mail_form').appendChild(new_item)
}
});
Its aways nice to know whats going on in rails field
http://railsenvy.com/2008/6/2/Railsconf-videos
Whats new for me was flog:
Some more video links
От известно време си имаме на http://www.cenite.com чисто нова търсачка.
Преди беше просто досадно да се търси в сайта и макар, сайта върши работа.
Резултатите с новата търсачка са налице, вижте разликата:
Сега:
Изглежда и посетителите също оценяват предимствата на новото търсене, от 1000 посетителя на ден в момента са над 2500 като всеки ден се увеличават.
I got this error when I have to upgrade one old project from rails 1.2.5 to rails 2.1 (the problem is not in rails)
ActionController::MethodNotAllowed Only get, head, post, put, and delete requests are allowed.
The exception:
ActionController::MethodNotAllowed (Only get, head, post, put, and delete requests are allowed.):
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/routing/recognition_optimisation.rb:65:in `recognize_path'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/routing/route_set.rb:384:in `recognize'
I got this error only when I access URL’s with param like
http://127.0.0.1:3000/dod/images/show_big_image/1639
I found that the problem was in the :id because without the :id the method was called correctly
This means that there is something with the routes.
Not working routes.rb: ….
map.connect '', :controller => 'auth' # Install the default route as the lowest priority. map.connect ':controller/:action/:id' map.connect ':controller/:action/:sort_key/:sort_order'
it will work if you swap the last two lines….
map.connect '', :controller => 'auth' # Install the default route as the lowest priority. map.connect ':controller/:action/:sort_key/:sort_order' map.connect ':controller/:action/:id'
It seems that it does reading the comments in the routes.rb is usefull. There is written:
# Install the default route as the lowest priority. This error also occurs if you haven't restart your webserver. I know that there is no need to restart it but its true, try restarting and check.
Here is nice tutorial how to move your project from rails 1.2.x to 2.0
gem update --system
ls /usr/portage/dev-java/sun-jdk/
emerge -av =dev-java/sun-jdk-1.5.0.13
java-config -L
java-config -S 1
/usr/sbin/env-update && source /etc/profile
Taken from here
emerge brings in new packages. equery looks at the package database.
Taken from here
Do this whenever you want a steaming pile of fresh packages.
# emerge --sync
# emerge --update system
# etc-update if necessary
# emerge --update world
I have seen Meddle to do it this way
emerge –newuse –deep –update world
emerge –ask –verbose coreutils
emerge –resume
Looks like mktemp is now provided by coreutils. No wonder. This block has been bugging me (read: I’ve been ignoring it) for months.
To fix just unmerge mktemp and update coreutils.
Update: Same for the setarch / util-linux block should you come across it. Unmerge setarch.
© 2026 Ivo Bardarov
Theme by Anders Norén — Up ↑