چگونه یک گیک لینوکسی در مسابقه حدس زدن کلمه انگلیسی اینستاگرامی شرکت می کنه

یک اکانت اینستاگرام که نمی دونم کی فالوش کردم مسابقه جمعه‌ها برگزار کرده:

Screenshot_2015-04-17-14-35-43

موضوع مسابقه پیدا کردن یک کلمه ده حرفی است که مربوط به این شکل باشه و ده حرفی باشه و در جاهای مشخص شده a‌ و q نشسته باشن.

بریم برای جواب؟ در لینوکس بسته scowl‌ رو می‌شناسم (یا با سرچ بهش می رسم) که بقیه غلط‌یاب‌های دیکته ازش استفاده می کنن. این بسته حاوی کلی فایل است که همه کلمات زبان‌ انگلیسی توشه (از آمریکا تا کانادا و دستاشون).

نصبش می کنیم:

jadi@funlife:/tmp$ sudo aptitude install scowl 
[sudo] password for jadi: 
The following NEW packages will be installed:
  scowl 
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,249 kB of archives. After unpacking 7,516 kB will be used.
Get: 1 http://ir.archive.ubuntu.com/ubuntu/ utopic/universe scowl all 7.1-1 [2,249 kB]
Fetched 2,249 kB in 9s (248 kB/s)                                               
Selecting previously unselected package scowl.
(Reading database ... 639459 files and directories currently installed.)
Preparing to unpack .../archives/scowl_7.1-1_all.deb ...
Unpacking scowl (7.1-1) ...
Processing triggers for cracklib-runtime (2.9.1-1build1) ...

و به دایرکتوری اش می ریم. چون برنامه اجرایی نیست و تنظیمات و موقت هم نیست منطقا باید راحت در usr/share بشه پیداش کرد.

jadi@funlife:/usr/share/dict/scowl$ cd /usr/share/dict/scowl/

حالا یک نگاه بندازیم ببینیم چه تیپ چیزهایی داریم اینجا:

jadi@funlife:/usr/share/dict/scowl$ ls -ltrh | tail
-rw-r--r-- 1 root root  13K Oct 23  2011 special-hacker.50
-rw-r--r-- 1 root root 2.4M Oct 23  2011 english-words.95
-rw-r--r-- 1 root root 238K Oct 23  2011 english-words.50
-rw-r--r-- 1 root root  34K Oct 23  2011 english-words.10
-rw-r--r-- 1 root root 787K Oct 23  2011 english-proper-names.95
-rw-r--r-- 1 root root  57K Oct 23  2011 british-words.80
-rw-r--r-- 1 root root  56K Oct 23  2011 american-words.80
-rw-r--r-- 1 root root  15K Oct 23  2011 american-words.70
-rw-r--r-- 1 root root 9.1K Oct 23  2011 american-words.50
-rw-r--r-- 1 root root  303 Oct 23  2011 american-words.10

و توی یکیشون رو به اتفاق نگاه می کنیم:

jadi@funlife:/usr/share/dict/scowl$ tail canadian-words.10
realized
realizes
realizing
recognize
recognized
recognizes
recognizing
rumour
spelled
storey

بعله. فایل های خودمون هستن.

حالا کار راحته: گشتن در همه فایل ها و پیدا کردن چیزی که ترکیب مورد نظر اونها رو داشته باشه. دقت کنیم که در egrep، علامت نقطه یعنی «هرکاراکتری»… علامت ^ یعنی اول خط و علاقمت $ یعنی آخر خط. پس:

jadi@funlife:/usr/share/dict/scowl$ egrep "^a...q.....$" *
english-words.35:antiquated
english-words.35:antiquates
english-words.80:antiquarks
english-words.95:ablaqueate
english-words.95:alfaquin's
english-words.95:antiquer's

یوهاهاها… دو تا آخری که جذاب نیستن. آنتی کوارک که می دونیم چیه، ablaqueate رو توی گوگل سرچ کردم مهم نبود پس جواب ما antiquated است که یعنی کهنه و منسوخ و خارج از مد. جواب رو دادم و منتظرم ببینم چی می‌گن.


آپدیت: نوید راد پیشنهاد می ده به دلیل نبودن بسته اسکاول در اکثر توزیع ها کد زیر رو هم بذارم:

curl -O -J -L http://sourceforge.net/projects/wordlist/files/latest/download?source=typ_redirect
tar -xvf ./scowl-yyyy.mm.dd.tar.gz # say, scowl-2015.02.15.tar.gz
cd scowl-2015.02.15/final
grep -Ea "^a.{3}q.{5}$" *

بخش اول که دانلود کردن اسکاول از منبعش در سورس فورج است و خط آخر همون رجکس من که کمی بهتر / کمتر خوانا نوشته شده و عوضش یک چیز جدید به شما یاد می ده اگر درست نگاهش کنین:‌ روش اینکه بگیم «از همین قبلی سه تا».

  • majid

    :)) شما شرایط مساوی برای این مسابقه رو به چالش کشیدی. خیلی خوب بود.

    • جادی

      البته مسابقه حادی نبود. می بینی که کلا بعد از دو ساعت ۱۰۰ تا لایک گرفته (: احتمالا این تاپیک شهرتش رو بیشتر می کنه تا خود مسابقه (: بعد هم فکر کردم تقلب است یا نه ولی جایی نگفته بود فقط از حافظه کمک بگیرین و اتفاقا به هدفش هم رسید و من دو تا کلمه یاد گرفتم (که فکر نکنم هیچ وقت به درد بخوره و احتمالا سریع فراموش می شه یکیش). جایزه هم که در حد «آفرین» است (:

  • این پکیج scowl تو مخازن فدورا نبود :(

    • نوید راد

      http://wordlist.aspell.net


      wget http://downloads.sourceforge.net/wordlist/scowl-2015.02.15.tar.gz $
      tar -xvf ./scowl-2015.02.15.tar.gz $
      cd scowl-2015.02.15/final $
      egrep -a "^a...q.....$" * $

  • سعید

    آورین آورین .. دوست خوب گیکم! :) !!

  • بدیعی

    جعبه دستمال کاغذی از ملزومات سرسره ناصری متعلق به شاه شهید سلطان صاحب‌قران
    محل نگهداری موزه کاخ گلستان

  • احسان

    بسیار عالی.

  • احمد

    وقتی که به فیلتر شکن وصل نیستیم این دستور apt-get ده برابر زمانی که به فیلترشکن وصلیم طول میکشه که دانلود کنه. دلیلش چیه؟

    • جادی

      به خاطر اینترنت اسلامی عزیزمون است (:‌ تا تک تک بسته ها رو باز کننن ببینن توش فتنه وارد نشده باشه طول می کشه (:

    • میلاد

      فکر میکردم فقط مشکل منه. برای من سرعت در حدی پایین اومده که به زحمت میشه باهاش ۱۰ مگابایت پکیج گرفت.

    • Moeini

      اسم فیلتر شکنون رو به ما هم بگید، ثواب داره :D

  • البته یک راه آسان تر هم داشت و آن راه نگاه کردن به کامنت بقیه بود :)

    • ض ص ث ق ف غ

      خود خود_ جادی اول نفر büd

      • جادی

        تازه امروز جایزه ام رو هم گرفتم: ازم تشکر کردن (:

  • ساجد رسولی فر

    یادم میاد یه سایتی یه مسابقه ای داشت که یه عکس از یه گیم رو انتخاب می کرد و کاربرا باید حدس می زدن عکس کال کدوم بازیه.
    منم سریع میرفتم سایت tineye.com رو باز می کردم و عکس رو وارد میکردم و جواب رو می گرفتم.
    قضیه تا اونجایی پیش رفت که ادمین سایت شک کرد و مسابقه رو هر چی سخت تر کرد باز من جواب رو دادم تا جایی که عصبی شد و گفت راهشو بهم بگو و منم گفتم کلکی تو کار نیست من این بازی هارو میشناسم و ادمین کلا مسابقه رو با جایزه اش بست رفت پی کارش.
    من به جایزه ام نرسیدم ولی اونم آخر سر نفهمید قضیه از چه قراره :)
    فکر کنم هم اون کار من و هم این کار تو جفتشون نوعی هک باشه.درسته؟

    • جادی

      بله هر دو نوعی هک حساب می شن. ولی پیشنهادم می کنم از هک برای بهتر کردن دنیا، شادتر کردنش، فان تر کردن و آموزش دانش به دیگران بهره بگیریم که فان تره (:‌ زدن تو ذوق بقیه یا خودنمایی یا … بیمزه می کنه جریان رو و بیشتر ناراحتی و عدم خلاقیت دیگران رو گسترش می ده. این بود پیامی از یک آدم اهل خوشحال کردن بقیه (:

    • مانی

      فرقش اینه که جادی دروغ نگفت، اما شما به دروغ گفتی همه بازیها رو میشناسی

  • امیر

    معنی کلمه و تلفظش و تصویر همون آنتیک خودمونه که :)

  • نگار

    یک روش غیرگیکی و حوصله‌سربر اینه که گوگل کنیم:
    10 letter word start with a
    روی اولین لینک کلیک کنیم٬ ctrl+F کنیم “q”
    از بین ۲۷ نتیجه که خیلیاشون هم‌ریشه‌ان ۴تا کلمه ی متفاوت رو گوگل‌ترنزلیت کنیم و به همون جواب جادی برسیم!

    :|

  • John Smith

    روی رزبری پای 2 هم امتحان شد
    مثه شیر کار کرد

    با همون روش اول

  • جادی با این حساب باید یه تغییری تو سیستم مسابقه بدم (:
    اینطوری هر هفته تو برنده می‌شی (:

  • جسیکا مک‌کین؟ یا همچین چیزی….!!!! :))))
    موقع درس دادن پایتون و مشخصا کار با متن و خلاصه رگیولار اکسپرشن ها، همیشه این بازی رو مثال میزنه که چطوری بدون رغیب؟رقیب؟ پوست طرف مقابلش رو میکنه! :)))