What time is it?

Recently, I was writing judge system for my high school for algorithms competitions. Because of short deadline and other activities, I was coding it in a hurry. During this project I experienced strange behavior of linux command “time“.

I knew that “time” can measure time as well as memory used, so I look into manual to see how I could accomplish that. Man said that I need to use -f option. So I typed:
[code lang="bash"]
time -f "%M %e" ./program
[/code]
and get:
[code lang="bash"]
bash: -f: command not found
[/code]
After working out for a while I noticed that there are two types of “time“. A bash built-in and a standalone version. Option “-f” features in standalone version. Although “which” points to standalone version, the default command is built-in. To use more sophisticated “time” program, it is needed to give full path. Such as:
[code lang="bash"]
/usr/bin/time -f "%M %e" ./program
[/code]

To change default version to standalone GNU time I used alias:
[code lang="bash"]
alias time="/usr/bin/time"
[/code]

Sometimes a little of thinking is required to solve strange problems. However that doesn’t change the fact that current state of “time” behavior is weird.

Discussion Join the discussion (1 comment)

Installing printer HP Deskjet 710C in cups

I recently heard that many people have problems with setting up printing in linux. In fact the popular linux printing daemon – cups is often problematic. However, as long as you can read logs, think and use google, every problem with it is solvable. Here is my story:

(I assume that you have already installed cups)
First of all look at site about printing in linux. Find out what driver your printer use and download .ppd file for it. If your printer use no-postscipt driver install that driver. In my case (HP 710C) I have to install foomatic (emerge foomatic). I also copy .ppd file to /usr/share/cups/model/. I need to modify config file (/etc/cups/cupsd.conf). I replace line Listen “*:localhost:631″ with “Listen localhost:631″. Than I run cups daemon (/etc/init.d/cupsd start) and type in web browser localhost:631 and simply add printer. After that steps printing works.

Useful logs are located in: /var/log/cups/
CUPS is sometimes difficult to configure, mostly because it gives strange errors messages. Despite it require some basic knowledge, installing a printer shouldn’t be a problem for advanced user.

Discussion Join the discussion (0 comments)

Additional classes in Informatics

Again my blog is a little unmaintained. That’s not because I’m lazy. In fact It’s completely different. Anyway I have some voluntary work right now. I teach C++ and algorithms in my high school.

Here is the script for first lesson. It covers basic C++ skills.

Discussion Join the discussion (3 comments)

Flash no fonts problem – SOLVED

After last re-installation of gentoo I noticed that in some Adobe Flash programs fonts doesn’t render. It was especially visible in Google Analytics. I check if I have all necessary fonts (like corefonts from Microsoft), but that wasn’t a problem.
At first googling didn’t give any interesting results. I tried to see where flash plugin search for fonts so I run opera, determine it pid and attach strace. Surprisingly, it didn’t search for fonts at all. So, as I quess, it must be X‘s tasks. I googled for a while and found that I need to add FontPath into xorg.conf. After restarting X‘s everything work correctly.

Detail description of using strace:

  1. Launch opera
  2. “ps -aux | grep opera”, to see opera pid
  3. “strace -fp 12345 &> opera_log”, log sys calls
  4. Go to that flash, where no text was displayed
  5. Kill strace (CTRL+C is enough)
  6. “less opera_log”, look for open or read in folders /usr/share/fonts/*

Solution:

  1. “emerge –noreplace corefonts”
  2. edit “/etc/X11/xorg.conf”, in section “Files” add: FontPath “/usr/share/fonts/corefonts”
  3. save and restart X‘s (CTRL+ALT+BACKSPACE)
Discussion Join the discussion (0 comments)