Oh-my-SLOW-Zsh

Standard

I am writing this post to debug slow zsh…

Very first thing is to show how slow your zsh is. For that lets run 10 times and see how long does it take to get terminal up and running…

for i in $(seq 1 10); do /usr/bin/time $SHELL -i -c exit; done

Obviously, I assume your default $SHELL is set as Zsh…

Okay, we observed it takes some time with the previous command. Let’s do a bit more debugging. Let’s run ZSH in debug mode:

zsh -xv

This will give you more information it shows the process as the package loaded. So in my case, the rbenv plugin was extremely slow. As I don’t necessarily to use that plugin so I simply disabled by removing the plugin from the plugin section of file ~/.zshrc

I think you should able to reduce start-up time by using the described methodology. However, in order to get more fine-grained approach you can add the following link at the beginning of the very same file ~.zshrc

zmodload zsh/zprof

And add the next line add the end of the same file.

zprof

Close and save and get a new terminal you should learn more details with zprof.  Take your time to analyse the output…

Output of ZSH’s startup via zprof

Again in my case, I can see compinit takes so much time to load. For that I did a bit of googling and reached the following url:

https://gist.github.com/ctechols/ca1035271ad134841284

As aksh1618 indicated, I edited oh-my-zsh.sh file what is stored in ~/.oh-my-zsh/oh-my-zsh.sh. First I found the following line:

# Else, enable and cache completions to the desired file.
else
compinit -d "${ZSH_COMPDUMP}"
fi
else
compinit -i -d "${ZSH_COMPDUMP}"
fi

And changed to

# Else, enable and cache completions to the desired file.
else
compinit -C -d "${ZSH_COMPDUMP}"
fi
else
compinit -C -d "${ZSH_COMPDUMP}"
fi

Moreover, add the following line to ~/.oh-my-zsh/oh-my-zsh.sh

find $HOME -maxdepth 1 -iname '.zcompdump*' -mtime 1 -delete | grep -q "." && source $HOME/.zshrc


As aksh1618, this will make oh-my-zsh.sh recreate any compdump older than a day. In my case, you can see the startup performance improved (check compinit). After your debug is finished, you can remove related zprof lines (at the beginning/end your ~.zshrc) in order to stop printing debug information.

Output of Zsh’s startup via zprof


I hope it helps you to reduce your terminal’s startup time…

Building Source Code of Hadoop 3.0.0 – Problem of Doxia dependency

Standard

I found a problem while I was trying to build the source code of Hadoop v3.0.0, I would like to note this for myself and also share with the community through my blog.

When I tried to build the code with the following command:
mvn package -Pdist -DskipTests -Dtar -X

I got the following maven error:

Basically, it complains because it cannot find the org.apache.maven.doxia. I believe doxia-module-markdown v1.8 is released after the Hadoop release. Therefore, snapshot version couldn’t been downloaded and needs to be changed. To solve the problem, please change the following dependency in main pom.xml

from

<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-module-markdown</artifactId>
<version>1.8-SNAPSHOT</version>
</dependency>

to

<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-module-markdown</artifactId>
<version>1.8</version>
</dependency>

Special thanks to https://issues.apache.org/jira/browse/HADOOP-15122

Tavsiye videolar – yazılar

Standard

Burada beğendiğim video ve/veya yazıları toplamaya çalışacağım. Teknik içerikli olanlar olacağı gibi sadece genel bilgi içerikli bilgilerde paylaşmaya çalışacağım. Her geçen gün elimden geldiğince güncellemeye devam edeceğim…

Premature optimization is the root of all evil ! Donald Knuth

Kenneth Cukier: Big data is better data

Linus Torvalds, The Mind Behind Linux

 

Dr. Steven Hawking ve Microsoft teknolojisini kullanan Intel Labs’in ortak bir çalışma ile yeni bir konuşma sistemi geliştirmelerinin etkileyici hikayesi

 

Computer Security – Privacy

 

Free Software(free as a free speech not as a free beer)

Coding Convention 

Java Code Geeks

Windows 10 ‘a Güncelleme ve İlk Problem

Standard

Hali hazırda beni tanıyan herkes C# ile uygulama geliştirdiğimi fakat Windows’tan pek haz almadığımı Linuxta ise daha rahat olduğumu bilir. Lakin ön incelemem sonucundan Windows 10 başarılı buldum. Belki başarılı bulmamın sebebi bazı linux esintileri de olabilir gibi geldi.(Bknz .Görev Görünümü). Upgrade öncesinde biraz huzursuzdum çünkü hali hazırda çok stabil bir kişisel laptopum olmadığı için genel olarak donanım yazılım uyumu güven vermemekteydi.Fakat Windows 7 den yaptığım yükseltmenin ilk günün sonlarına doğru yazıyorum bu yazıyı hali hazırda Windows 10 ile mutlu sayılırım. Yükseltme sürecinde hiç problem çıkmadığı için hayret ederken hayretlerim çok da uzun sürmedi. Ekran parlaklığı sorunu ortaya çıktı. Özetle ne kısayol tuşu ile ne denetim masası üzerinden battery energy sekmesinde bir türlü ekran parlaklığını değişmiyordu. Araştırmalarım sonucunda problemi çözmüş bulunmaktayım. Hemen bulduğum çözümü not edeyim dedim.

Sorun basit bir registry probleminden öte değil. Korkmaya format atmaya hiç gerek yok.

Önce Regedit’i açıp

Sırasıyla

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Cl ass\{4d36e968-e325-11ce-bfc1-08002be10318}\0000] çift tıklayarak “FeatureTestControl” bulup 0000f048 girmek. Sonra bilgisayarı yeniden başlat yapınca hiçbir sorun kalmayacak. Ekran parlaklığı ayarı eskisi gibi olacaktır.

 

Not :[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Cl ass\{4d36e968-e325-11ce-bfc1-08002be10318}\0001] Bazı paylaşımlarda 0001 altında FeatureTestControl olduğunu belirtiyorlar bende 0000 daydı ondan ilk yaptığımı baz aldım. Ama aklınızda olmasında fayda var.