روزنوشت های محمد فروغی

بیشتر مطالب مرتبط با لینوکس و هک (به معنای خوبش) و کار های گیکی
شاید هم قدری مطالب فلسفی ;)

نکته مفیدی برای تبدیل کتاب ها به فرمت کیندل

فروغی محمد | 19 November, 2017 08:56

مدتهاست که از کیندل برای کتاب خواندن استفاده می کنم و واقعا راضی ام. کتاب ها را بهتر است به فرمت خود کیندل تبدیل کنیم تا راحت تر بتوان خواند. مشکلی که با کتاب های تبدیل شده داشتم این بود که نرم افزار تبدیل (calibre) بین پاراگراف ها enter یا همان newline اضافه می ساخت. حقیقتش این بود که مدتها تنبلی می کردم که سرچ کنم و مساله را حل کنم. بالاخره امروز بر تنبلی خود فائق آمدم و پاسخ مشکل خود را در پستی در سایت ردیت یافتم. از آنجا که فیلترچی دانا (!) ردیت را هم فیلتر کرده است متن مورد نظر را اینجا می گذارم:
 

You're not actually getting a line break every two lines, you're getting a line break after every line (basically, every line gets turned into its own paragraph) - it's just that at your preferred font size the new "paragraphs" don't fit horizontally on a single line.

This is very common when converting from PDF sources.

To fix this the right way, do this:

  • Open the conversion dialog as usual
  • Select the desired output format as usual
  • On the left, click on the "Heuristic Processing" category
  • Check "Enable heuristic processing" to enable the rest of the controls on the page
  • Then (and this is what will actually fix this) check "Unwrap lines". Hold your mouse over the checkbox to read the help text in a popup. Please note that this isn't 100% accurate due to the nature of PDFs, there will still be lines where the problem manifests itself, but much, much fewer. Optionally adjust the line unwrap factor right underneath (explanation follows).
  • Check or uncheck any other options on that page - they control different things, not paragraph unwrapping.
  • Convert and check the results. Retry with different unwrapping factors is not satisfactory.
 
البته راه حل فوق برای ویندوزی ها است. امثال بنده که لینوکس استفاده می کنیم می توانیم از پارامتر خط فرمان زیر استفاده کنیم
 
 --enable-heuristics
 
مثلا:
 
 ebook-convert Hypercomputation\:\ computing\ more\ than\ the\ Turing\ machine.pdf Hypercomputation.mobi  --enable-heuristics
 
ایدکم اللهCool
 
 

خاطره ای از استاد دکتر شاهرودی

فروغی محمد | 08 November, 2017 16:12

 

سال ۸۸ بود و من تازه دانشجوی ارشد فلسفه شده بودم، سر کلاس دکتر شاهرودی بودیم، ایشون هر کار می کرد تصویر کامپیوتر روی پروژکتور نمی افتاد، یه همکلاسی داشتم که می دونست من لیسانس کامپیوتر خوندم خیلی هم رو‌ من حساب می کرد، با صدای رسا به دکتر شاهرودی گفت: اقای مهندس فروغی می تونند درستش کنند.

منم با اعتماد به نفس کامل، خیلی شیک و مجلسی رفتم پشت میز استاد و‌ شروع کردم به ور رفتن با ویندوزشون....

بعد پنج دقیقه که کاملا ضایع شدم دکتر شاهرودی گفت: حالا شما بفرمایید بشینید، یه مهندس دیگه هست بگیم بیاد درستش کنه...

دو‌ دقیقه بعد اقای خادمی با دمپایی، لخ لخ کنان، با آرامش خاصی وارد شد، مستقیم رفت سمت کامپیوتر، پشت سر دکتر روی دیوار یه فیوز برق‌ بود، وصلش کرد و با همون استایلی که وارد شده بود از کلاس خارج شد...

پی نوشت: آقای خادمی بزرگوار از زحمت کشان خدمات دانشکده الهیات هستند که در حال حاضر بازنشسته شده اند.

روش صحیح اخراج یک کارمند

فروغی محمد | 07 March, 2017 16:46

اصل مطلب را در اینجا ببینید:
 
لینک
 
 

Linux Performance Tools

فروغی محمد | 18 October, 2016 14:11

برای مشاهده تصویر در اندازه واقعی کلیک کنید

 

 Linux Performance Tools

 

ریبوت زورکی از طریق اس اس اچ

فروغی محمد | 24 September, 2016 08:12

گاهی پیش میاد که به سرور دسترسی اس اس اچ دارید ولی هیچ مدله نمی تونید ریبوتش کنید. وقتی دسترسی فیزیکی دارید می تونید کارهای مختلفی بکنید: برق رو بکشید، کلید ریست رو بزنید، یا اینکه از شرتکات alt+print screen+b استفاده کنید.
 
از طریق اس اس اچ می تونید با این دوتا دستور سرور را درجا ریبوت کنید:
 
 
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

emacs cheat sheet

فروغی محمد | 01 August, 2016 09:26

Master doc: http://www.gnu.org/software/emacs/tour/

exit: C-x C-c
rum emacs in terminal mode (no X): emacs -nw
quit from a command: C-g
gdb: M-x gdb
diff: M-x ediff
dir browsing: M-x dired
    switch to dir edit mode:  C-x C-q
news/rss/email: M-x gnus
tetris: M-x tetris
tutorial: C-h t
shell command: M-!
switch between widnows: C-x o
switch to previous buffer: C-x b

forward one word: M-f
back one word: M-b
previous sentence: M-a
next sentence: M-e
beginning of buffer: M-<
end of buffer: M->
jump to specific line: M-g g
search forward: C-s
search backward: C-r

mark: C-SPC
note: some command set mark for you automatically: yank, kill, search, ...
swap point and mark: C-x C-x
cycle through mark ring: C-u C-SPC

As you can see, Emacs tries to be helpful: many commands that have the potential to take you long distances set mark so that a simple C-x C-x takes you back to where you were.

start highlight: C-SPC
select all: C-x h
select current paragraph: M-h
copy higlighted section: ESC w
kill to end of line: C-k
kill to end of sentence: M-k
kill 10 lines: C-u 10 C-k
kill next word: M-d
kill to end of sentence: M-k
kill region ( "cut" ): C-w
note: there is a kill ring too, so it is so difficult to lose data ;)
save region to kill ring without deleting ( "copy" ): M-w
yank: C-y
replace yanked text with previously killed text: M-y

Narrow buffer to the current region: C-x n n
Restore ( "widen" ) buffer: C-x n w

Narrowing restricts the view (and editing) of a buffer to a certain region. Then commands like incremental search, or beginning-of-buffer or end-of-buffer don't lead you out of the region of interest, and commands like search and replacement don't affect the entire file.

Undo: there are 3 commands for undo:
C-/
C-_
C-x u

After any consecutive sequence of undos, Emacs makes all your previous actions undoable, including the undos. (This will happen whenever a sequence of undos is broken by any other command.)

If this sounds complicated, just remember that "undo" is always capable of getting you back to any previous state your buffer was in (unless Emacs has run out of memory to store the undo history). The principle here is that Emacs makes it very difficult to accidentally lose your work.

code autocompletion: M-/
code autodocumentation: M-;

برج سلمان در آتش سوخت!

فروغی محمد | 11 July, 2016 07:04

برج سلملن در حال سوختن دیروز عصر بنا داشتم بیشتر بمانم و پروژه ناتمامی که دستم بود را به سر و سامان برسانم، خصوصا این که مدیر عامل هم تاکید کرده بود که این کار خیلی فورس است و باید سریعتر جمع شود.
 
حدود ساعت شش بود که علی آمد پیش من و گفت: نمیای بریم خونه؟ منم گفتم بذار یکم دیگه روی پروژه کار کنم. تا حدود شش و نیم شرکت موندیم (طبقه یازده). کم کم راه افتادیم. موقعی که بیرون میامدیم همه چیز عادی بود و هیچ خبری هم نبود.
 
حدود ساعت هشت شب بود، رسیده بودم منزل و در حال استراحت بودم که یکی از بچه از طریق تلگرام به من اطلاع داد که برج داره می سوزه!
 
خوشبختانه از همکاران شرکت فقط یک نفر توی ساختمان مونده بود که اون هم موفق شد خودش ونجات بده.  در تصویر می بینید که یه چراغ روشنه. اون چراغ شرکت در طبقه یازده است که همکار ما توش بوده و خبر نداشته برج داره می سوزه!!! خوشبختانه بچه ها بهش زنگ می زنن و موفق میشه خودشو نجاب بده.

میانبرهای tmux

فروغی محمد | 02 May, 2016 11:22

 

  مقدمه

برای کاربران حرفه ای لینوکس یک ترمینال خوب و راحت از نان شب واجب تر است. قبلا من از برنامه yakuake استفاده می کردم که دو ایراد کلی داشت:

 

۱. نیاز به محیط گرافیکی kde و کتابخانه های qt داشت که برای من که کاربر gnome و بعدها کاربر xfce بودم اصلا خوب نبود

۲. برای سویچ کردن بین تقسیمات صفحه مجبور بودم از موس استفاده کنم و استفاده از موس = جدا شدن دست از کیبورد و این امر = فاجعه

 

لذا تصمیم گرفتم جایگزین مناسبی برای آن پیدا کنم و بعد از جستجو به این ترکیب عالی رسیدم:

 

guake+tmux

 

Tmux Cheat Sheet


window commands

Ctrl-b c            new window
Ctrl-b n            next window
Ctrl-b p            prev window
Ctrl-b w           cycle windows
Ctrl-b 0            switch to window #0

pane commands

Ctrl-b "               split pane horizontally
Ctrl-b %             split pane vertically
Ctrl-b o              next pane
Ctrl-b ;               prior pane
Ctrl-b ←↑→↓     jump to pane
Ctrl-b Ctrl-o      swap panes
Ctrl-b space      arrange panes
Ctrl-b-←↑→↓     change pane size
Ctrl-b !               pop a pane into a new window

scrolling and copy/paste

Ctrl-b [            enter scroll mode
Esc                  exit scroll mode
Ctrl-space       begin highlighting
Alt-w                copy
Ctrl-b ]            paste

session control

tmux ls                   list
Ctrl-b d                  detach
tmux attach           attach
tmux attach           attach
tmux attach -t 2    attach to session 2

source

 

 
Accessible and Valid XHTML 1.0 Strict and CSS
Converted to use with ITS. Powered by FUMblog