ubuntu classic gnome session config
eye
[info]lafoi
sudo gedit /usr/share/gnome-session/sessions/gnome-classic.session

[GNOME Session]
Name=GNOME Classic
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;
DefaultProvider-windowmanager=gnome-wm
DefaultProvider-notifications=notify-osd
IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
FallbackSession=gnome-fallback
DesktopName=GNOME
Метки:

ftp mount & smb mount
eye
[info]lafoi
sudo curlftpfs -o umask=0777,uid=1000,gid=1000,allow_other ftp://user:password@ip_address /mnt

sudo mount -t smbfs -o username=login,password=password //remote/path ~/local/path
Метки:

xfce4 и мелькание Desktop
eye
[info]lafoi
Поставил на ноуте Linux Mint 11 Katya. Все ничего, даже проприетарные дрова на wifi и видуху предложило само скачать и поставить O_o Поигрался с compiz fusion, но что-то он в gnome подглючивал, да и привык я на работе к xfce. Дай думаю поставлю. Все, уже xfce. Стоит. При загрузке правда рабочий стол xfce мелькает и переключается на тот, что был раньше в gnome. Хм.. Последним остается тот, кто и мелькал последним) Нашел две волшебные команды:

$ gconftool -t bool /apps/nautilus/preferences/show_desktop -s false
$ gconftool -t bool /apps/nautilus/preferences/exit_with_last_window -s false

И еще есть такая:
$ gsettings set org.gnome.desktop.background show-desktop-icons false
Метки:

Kill processes by name. Bycycle.
eye
[info]lafoi
#!/bin/bash
#kill process by name

if [ "$1" = "" ]; then
  echo "One argument required (process name)" 
else
  kill -9 `ps -ef | grep $1 | egrep -v grep | awk '{ print $2 }'`
fi

exit 0
Метки:

Собираем git-1.7.7 без root-привилегий
eye
[info]lafoi
1. В ~/.bashrc добавить строку
       export PATH=$HOME/opt/bin:$PATH
2. Запустить команду
       source ~/.bashrc
3. Проверить настройку
       echo $PATH
4. Перейти в каталог с исходниками git
       cd ~/git-1.7.7/
5. Запустить
       ./configure --prefix=$HOME/opt CFLAGS='-I/usr/kerberos/include'
   ("CFLAGS='-I/usr/kerberos/include'" - это, как оказалось, для моего случая было обязательно)     
6. Если все сконфигурировалось успешно - то смело запускаем
       make && make install
7. Проверяем жив ли git
       git --version
       git version 1.7.7
8. Ура Товарищи! :)
-----------------------------------------
Пример запуска gitweb:
ruby /DATA/GIT/project/gitweb/webrick.rb /DATA/GIT/project/gitweb/webrick.conf
Метки:

День города
eye
[info]lafoi
Сегодня день великого города Днепропетровска. Как всегда, как каждый год. Куча пьяных граждан, куча пустых бутылок и мусора. Я сегодня ездил к родителям. Пообщался с бабушкой. Потом закрыли мост и мне пришлось ехать в обход через ж/д вокзал. И я попал в интересную компанию в одном из богданов. Я ехал стоя, рядом сидел мужик в костюме и светлой рубашке с дочкой. Чуть дальше сидели 4 пьяных девочки, явно откуда-то типа Зачепиловка. Мужик оказался проповедником, читал библию. Но девочки стали фотографироваться, он наставил одной рожки в кадре, потом им стало скучно и он включил мелодию на телефоне, потом он попытался завести разговор на непонятную тему с ними. А рядом маленькая дочка, а он клеит пьяных девок, а он проповедник хренов. Жутко мне стало... Я приехал и купил себе два бекса ... Не люблю день города.

JavaScript interception
eye
[info]lafoi
Дано.
Есть один массивный xsl-стиль, который собирается из маленьких фрагментов. XSLT-процессор преобразовывает xml с помощью этого собранного стиля в html + js. В результате получается одна большая форма, элементы которой валидируются перед отправкой содержимого формы на сервер. Функция валидации стандартна и генерируется динамически, в зависимости от значения определенных тегов xml на входе. Имя функции детерминировано, параметров нет.

Задача.
Нужно разработать фрагмент xsl, который будет включен в результирующий xsl-стиль, который будет расширять исходную html-форму и будет иметь проверки на корректность введенных данных. Фрагмент xsl со стандартной функцией валидации по возможности не править.

Решение.

  <?xml version="1.0" encoding="utf-8"?>
  
  <xsl:template match="rp-loc">
               
  <!-- ... -->
  <script>
            //interception
            if (typeof (mycontr)=="function"){
             mycontrOld = mycontr;
               mycontr = function(){
                 <xsl:choose>
                 <xsl:when test="/cover/dat/p3[.=10510 or .=10516]">
                  if ( $.trim($("#brn1").attr("value"))!="" &amp;&amp;
                     $.trim($("#adr1").val())!="" &amp;&amp;
                     $.trim($("#lat1").attr("value"))!="" &amp;&amp;
                     $.trim($("#lng1").attr("value"))!=""
                    ){ //блок SMS-информирования заполнен, продолжаем валидацию
                 </xsl:when>
                 <xsl:when test="/cover/dat/p3[.=10511]">
                  if ( $.trim($("#brn1").attr("value"))!="" &amp;&amp;
                     $.trim($("#adr1").val())!="" &amp;&amp;
                     $.trim($("#adr2").val())!="" &amp;&amp;
                     $.trim($("#lat1").attr("value"))!="" &amp;&amp;
                     $.trim($("#lng1").attr("value"))!=""
                    ){ //блок SMS-информирования заполнен, продолжаем валидацию
                 </xsl:when>
                 <xsl:when test="/cover/dat/p3[.=10512]">
                  if ( $.trim($("#brn1").attr("value"))!="" &amp;&amp;
                     $.trim($("#brn2").attr("value"))!="" &amp;&amp;
                     $.trim($("#adr1").val())!="" &amp;&amp;
                     $.trim($("#adr2").val())!="" &amp;&amp;
                     $.trim($("#lat1").attr("value"))!="" &amp;&amp;
                     $.trim($("#lng1").attr("value"))!="" &amp;&amp;
                     $.trim($("#lat2").attr("value"))!="" &amp;&amp;
                     $.trim($("#lng2").attr("value"))!=""
                    ){ //блок SMS-информирования заполнен, продолжаем валидацию
                 </xsl:when>
                 <xsl:otherwise>
                  if ( true ){
                 </xsl:otherwise>
                 </xsl:choose>
                    mycontrOld(); //штатная функция валидации формы
                  } else{
                    alert("Блок SMS-информирования должен быть заполнен!");
                    return;
                  }
               }
            }
          
            //...
  </script>
  </xsl:template>


Jeditable jQuery plugin
eye
[info]lafoi
   I like jQuery framework. It's simple and convinient for everyone. If I will develop new enterprice web-application I'll use Vaadin or Sencha, but I have already written app and so I should use existing code and existing principles. So I need to create web-page with editable fragments. It's my current problem. Ok, I found one beautifulf jQuery plugun - Jeditable. This is my code:

  1. <html>
  2.   <head>
  3.     <title>Jeditable plugin test</title>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=cp1251"/>
  5.   </head>
  6.   <script src="./jquery-core.js" type="text/javascript" charset="utf-8"></script>
  7.   <script src="./jquery.jeditable.js" type="text/javascript" charset="utf-8"></script>
  8.   <script>
  9.     function setEditable(id){
  10.       $('#'+id).editable('http://url.com/post.htm', {
  11.          name : id+'_value',
  12.          tooltip  : 'Двойной клик позволит переименовать текущий элемент',
  13.          event: "dblclick"
  14.        });
  15.     }
  16.     $(document).ready(function(){
  17.       $("p[id*=el]").each(function(){
  18.         setEditable($(this).attr("id"));
  19.       })
  20.     });
  21.   </script>
  22.   <body>
  23.     <h3>Редактирование элемента по двойному клику</h3>
  24.     <p id="el1">[ el1 ]</p>
  25.     <p id="el2">[ el2 ]</p>
  26.     <p id="el3">[ el3 ]</p>
  27.   </body>
  28. </html>

Enjoy it.

Sample on my dropbox public folder

Метки:

What? SSL? Pimp It Up!
eye
[info]lafoi
Завалялся чудесные метод, который полезен при "неправильной" установке https-соединеия с помощью Java. Кусочек кода говорит Java: "Доверяй любому сертификату":

  1. public static void simplifySSLConnection(){
  2.     // Create a trust manager that does not validate certificate chains
  3.     TrustManager[] trustAllCerts = new TrustManager[]{
  4.                 new X509TrustManager() {
  5.                   public java.security.cert
  6.                         .X509Certificate[] getAcceptedIssuers() {
  7.                             return null;
  8.                         }
  9.                   public void checkClientTrusted(java.security.cert
  10.                         .X509Certificate[] certs, String authType) { }
  11.                   public void checkServerTrusted(java.security.cert
  12.                         .X509Certificate[] certs, String authType) { }
  13.                 }
  14.     };
  15.     // Install the all-trusting trust manager
  16.     try {
  17.       SSLContext sc = SSLContext.getInstance("SSL");
  18.       sc.init(null, trustAllCerts, new java.security.SecureRandom());
  19.       HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
  20.     } catch (Exception e) { }
  21.     HostnameVerifier hv = new HostnameVerifier() {
  22.        public boolean verify(String urlHostName, SSLSession session) {
  23.         System.out.println("Warning: URL Host: " + urlHostName + " vs. " +
  24.                   session.getPeerHost());
  25.         return true;
  26.        }
  27.     };
  28.     // Now you are telling the JRE to trust any https server.
  29.     // If you know the URL that you are connecting to then this
  30.     // should not be a problem
  31.     HttpsURLConnection.setDefaultHostnameVerifier(hv);
  32.  }

В бонус немного смешного - ссылко.
Метки:

Mike Zito
eye
[info]lafoi
You know, I like blues at all. And I should make some notes in English because my next level in AEC will begin in few months. Perhaps in autumn. So :) I found one blues singer. Mike Zito - cool guy. I like his music and songs.

"Mike Zito is one of those rare artist that can sing like nobody’s business, can write songs that instantly grip you, play one hell of a mean Gulf Coast style guitar and has the stage presence to draw in any audience. "



It's amazing fact! It's realy true. Try to listen.
Метки:

Вы читаете журнал [info]lafoi