Page 26 of 30

Do you need to change a filename before sending it ?

Rails action to send binary data

I have one old application where the attachment is store as an id in the filesystem. The customer wants to have the attachment with the right name. So I have made this small action which accepts the id of the requested object and send the file data.


  def send_bios
    redirect_to :action => 'bios' if params[:id].blank?
    @artist = Artist.find(params[:id]);
    contents = File.open(@artist.bios_path,"rb") {|io| io.read}
    send_data contents, :filename => "#{@artist.name}.pdf", :type => "application/pdf", :disposition => 'attachment'
  end

GPS POI and other interesting links

Bulgarian track:

http://www.gpsenjoy.com/
http://topomaps.info/
http://www.poiplaza.com/

Bulgarian POI collection

Debian/Ubunto notes

How to save and installed packges

http://www.cyberciti.biz/tips/linux-get-list-installed-software-reinstallation-restore.html

$ dpkg --get-selections > /backup/installed-software.log

# dpkg --set-selections < /backup/installed-software.log

Now your list is imported use dselect or other tools to install the package.
# dselect

Select ‘i‘ for install the software.

Upgrade Debian

http://www.cyberciti.biz/tips/upgrading-debian-sarga-3-to-etch-4.html

Commands

cat /etc/debian_version

Fix the W: There are no public key available for the following key IDs:

4D270D06F42584E6

apt-key update

gpg –keyserver wwwkeys.eu.pgp.net –recv-keys XXXXXXXXXXXXXXXX
apt-key add /root/.gnupg/pubring.gpg
apt-get update

debian tracd initscript

Trac startup script.

Continue reading

Back to the crack scene

I have cracked one bulgarian software for window

Continue reading

Bulgarian stopwords

I want to start such a list so I will become maintain a Bulgarian list here which I will use for my website www.cenite.com

As a base source I will use this list here

Please submit your suggestions.

Note: I have removed a lot of words from the starting list.

 Continue reading

Javascript in the window.name

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

Thumbnail for a webpage

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

  1. start the xvfb
    
    mkdir /tmp/tmpfbdir
    Xvfb :1 -ac -screen 0 1600x1200x24  -fbdir /tmp/tmpfbdir

  2. run the firefox
    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

Random images helper for Rails

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;">
 

Future optimization

Put some caching, not to make

Dir["#{RAILS_ROOT}/public/#{web_root}/*.jpg"]
 

on every request.

10x Bl8cki to the nice code optimizations :)

Opera beautifully engineered…for my desktop

I was nice surprised when I tried Opera browser for PC after aprx. one year Firefox usage.

Zooming is faster and smarter than in every browser that I have used.

Firefox boot like MS Windows, and is almost stable like it.

Opera is faaaaast. Gmail is fast. And my work is going fast because all webpages are opening fast.

What? Why you need faster browser if it doesnt support right CSS, DOM, or what ever?

Who said this ? Check the tests for CSS2 and see that Opera and FF are failing apx on the same tests on the same places I am not sure even who is the winner. Check also this those acid tests also

Does someone has tried the dragonfly plugin – analog for the firefox firebug ?

I must agree that the Opera release 9.50 (Build 10063) has some strange javascript support. It happends that when I paste an URL for RSS in Opera, the current page disapears, maybe this is a feature and not a bug :)

Also I am very very disapointed that I should write this article in FF because the build-in WordPress editordoesnt work for Opera :)

© 2025 Gudasoft

Theme by Anders NorénUp ↑