بایگانی برچسب: s

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

هانی یک ایمیل مفصل زده و خاطره اش رو گفته از اولین و آخرین روزش از کار در یک شرکت نرم افزاری. بعد از همه مصاحبه ها و مراحل اداری در نهایت رفته اون شرکت و لپ تاپش رو گرفته. لپ تاپ ویندوزی بدون پسورد ادمین و نیازمند مجوز برای نصب هر برنامه اضافی. به گفته خودش حدود ۱۵ نفر دیگه بدون هیچ مشکلی اونجا کار می کردن ولی هانی مجبور شده همون روز بگه که دیگه نمی یاد.

این شرایط برای خیلی از ما غیرعادی نیست. اینترنت محدود. کامپیوترهایی که دوست نداریم. سیستم عامل نخواستنی. اجازه نداشتن برای نصب برنامه و … جزو فضاهای کاری خیلی از شرکت ها هستن. حتی چیزهای حادی تر مثل دوربین یا عدم اجازه صحبت با موبایل یا حتی چک کردن اون در پشت میز تا مجوز تنها دو تا چایی سر ساعت معین در طول روز.

با اینها باید چیکار کرد؟ هانی استعفا داده. بقیه کار کردن. من الان در شرکت جدیدم با مک کار می کنم چون نیاز شرکت است ولی مثلا تو شرکتی که دوربین کار گذاشتن، استعفام رو همون روز دادم. اینجا دو جور جواب می شه داد:

انتخاب های شخصی هر فرد

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

انتخاب های شخصی افراد به خودشون مربوطه و ممکنه برای بعضی هامون بسیار عجیب باشه و برای بعضی هامون اصلا به چشم نیاد. مثلا من اگر مجبور بودم با ویندوز هم کار می کردم ولی غیر ممکن بود روی پیشرفته ترین لینوکس حاضر باشم کار کنم بدون اینکه پسورد ادمین بهم بدن یا مثلا محدودیتی روی نصب برنامه که هیچ، روی انتخاب تم برام بذارن.

من شخصا در این موارد خط قرمزهام مشخصه. محدودیت اینترنت، نظارتی مثل دوربین یا نرم افزار چک کردن مصرف و …، محدودیت دیوایس، نداشتن کنترل صد در صد روی کامپیوترم و .. باعث می شه همون روز تصمیم بگیرم از جایی که هستم برم.

در چنین مواردی اولین قدم مطرح کردن مشکل است. گاهی در سازمان ها پذیرفته است که سیاست ها مورد علاقه من نباشن ولی بتونن تغییر کنن. مثلا در یک سازمان ۳۰۰ نفری من انتظار ندارم که آی تی به همه پسورد ادمین بده ولی انتظار دارم به بخش فنی یا حتی کسی که درخواست کنه اینو بده. مثلا در نوکیا اینطوری بود که شما در حالت پسورد ادمین نداشتین و فقط اجازه نصب برنامه های مرسوم از طریق پورتال بود. ولی خب این امکان هم وجود داشت که یکی بگه خودش مسوولیت رو قبول می کنه و هر چی می خواد نصب می کنه؛‌ مثلا من می تونستم لینوکس نصب کنم ولی دیگه آی تی شرکت فقط در حد مسائل کلی مثل تعریف ایمیل و اینها پاسخگو باشه نه تنظیمات و مشکلات روزمره من.

انتخاب های گروهی

اینجا مساله فرق می کنه. ما به عنوان مهندس کامپیوتر،‌ برنامه نویس،‌ آی تی کار یا هر چی که هستیم باید یکسری حمایت های گروهی از هم بکنیم. مثلا می شه گفت اگر کسی جایی کار می کنه اونجا باید ابزار کار در اختیارش بذاره. ایده اینکه «لپ تاپ خودت رو میاری دیگه؟» مثل اینه که به یک کارگر کارخونه بگیم موقع اومدن باید آچار فلان رو بخره بیاره سر کار یا اگر قراره من از خونه کار کنم باید شرکت هزینه اینترنت خونه رو بده یا اگر قراره با تلفن با من تماس بگیرن اصلا غیرعادی نیست که هزینه های تلفن رو بتونم بگیرم. این هنوز به اندازه کافی جا نیافتاده تو ایران و لازمه روش کار کنیم.

در واقع بازهم یم گم که ما توی ایران باید چیزی داشته باشیم به اسم سندیکای برنامه نویسان و مدیران سیستم که به شکل جمعی توش عضو باشیم و حق عضویت بدیم و در مقابل حمایت های حقوقی و غیره بگیریم. مثلا ما نیازمند یک شکل از قرارداد هستیم که یک وکیل از طرف ما تاییدش کرده باشه و هر کس عضو اتحادیه است با اون قرارداد استخدام بشه. در چنین قراردادی درخواست سفته موقع استخدام ممنوعه منطقا و توش اضافه کاری و کار از خونه و تلفن نصفه شب که می گه سرور خراب شده لطفا ریستش کن و … دقیقا بر اساس قانون کار حقوق میگیره. چنین سندیکایی می تونه علیه کارفرمایی که بالا سر برنامه نویس ها دوربین نصب می کنه شکایت کنه و سعی کنه تو دادگاه برنده بشه و اگر شد اینکار همه جا غیرقانونی باشه و این حرفها.

به نظرم این تیپ چیزها یک گروه جدا هستن که باید در موردشون به بلوع برسیم و در نهایت بپذیریم که فلان چیز خط قرمز همه برنامه نویس ها است و مثلا اگر شرکتی هست که می گه باید لپ تاپ خودتون رو برای کار بیارین،‌ ما توش کار نمی کنیم. حتی اگر بعد از گرفتن لپ تاپ هم به دلایل بسیار متنوع تصیمم بگیریم با لپ تاپ خودمون کار کنیم (کاری که من معولا می کنم).


چیزی مثل امضای سفته در مقابل استخدام برای منم پیش اومده و بسیار برخورنده بوده ولی در نهایت قبول کردم چون به نظرم چاره ای دیگه ای نبود. اینه که می گم خوبه با هم حرف بزنیم سر این چیزها. حداقلش اینه که می تونیم بگیم تا شنیده بشه یا کارفرماها شناخته بشن. گفتن تجربیات و خوب و بد اولین قدم درمان یک چیزه. شما چطور؟‌ چیزی هست که حس کنین لازمه به این متن اضافه بشه؟ شرط عجیبی که تجربه کرده باشین؟ شیوه برخوردتون باهاش چی بوده؟ برام جالبه مجموعه ای جمع کنیم که حداقل به بقیه ایده بده.

۲۸ نقل قول از شخصیت های جنگ ستارگان +‌ ترجمه بهترین هاش در این لحظه

اینها در این لحظه به نظرم بهترین هاش هستن:

  • توانایی صحبت معنی اش این نیست که هوشمند هم هستی – کویی گن جین
  • جلوی تغییر رو همونقدر می شه گرفت که جلوی خورشیدها رو از طلوع کردن – شبی اسکای واکر
  • خودت رو آموزش بده که چیزی که نگرانی از دست بدی رو ول کنی – یودا
  • پس اینگونه است که آزادی می میرد… در خروش تشویق ها – پدمه آمیدالا
  • ترس منجر به عصبانیت می شود. عصبانیت منجر به نفرت و نفرت منجر به رنج -یودا
  • هیچ انرژی مرموزی وجود ندارد که سرنوشت مرا کنترل کند – هان سولو

[ منبع ]

سینرژی رو بچرخون مهندس؛ با لینک، ریتوییت و معرفی چیزهایی که ازشون خوشت میاد

توی دنیای فنی، ما از خیلی چیزها سر در میاریم و می تونیم به همدیگه کامنت های خوب بدیم. ممکنه شما یک مشکل امنیتی در سایت من کشف کنین و بهم بگین، ممکنه من یک اشکال تو سینما آزادی پیدا کنم بهشون بگم و یا حتی فقط یک ایده برای بهتر شدن یک سایت داشته باشم و بهشون خبر بدم. من قبلا زیاد از این کارها کردم. مشکل فروش سینما آزادی رو گفتم و هفته بعدش اصلاح شد – حالا اتفاقی همزمان بود یا با دیدن مطلب من. چند روز قبل به یک آژانس مسافرتی مشکل امنیتی جدی اش رو گفتم و نه فقط جدی گرفتن و تماس گرفتن که حتی خیلی با پشتکار پیگیری کردن و از بخش فروش پیشنهاد تورهایی با تخفیف خیلی زیاد یا مشاوره های خوب دادن.

نمونه دیگرش هم مطلب چند وقت قبل در مورد سایت تیوال‌ بود که خیلی خوب جواب دادن و در مورد جزء جزء مطلب توضیح دادن و گفتن دو بخشش رو هم اجرا می کنن. که کردن و برام اسکرین شات فرستادن (تیک اینکه «این مطلب ممکن است اسپویل کنه»). این کار خیلی قشنگی است…

سینرژی یعنی جمع کردن دو تا چیز و رسیدن به چیزی بزرگتر از جمع اون دو تا؛ اضافه کردن دو تا انرژی و رسیدن به انرژی بزرگتر.

این سینرژی یکی از بهترین اتفاقات در یک جامعه / گروه است. چیزی که یکهو می تونه جایی رو واقعا پیش ببره اینه که چند نفر با هم همراهی کنن و انرژی خیلی بزرگتری از جمع انرژی خودشون ایجاد کنن. سینرژی است که باعث تحول می شه. توی دنیای برنامه نویسی ما هم شاید سینرژی همین چرخوندن یک حس خوب باشه. مثلا برنامه دوشنبه ها و لینک دادن به آدم ها سینرژی ایجاد می کنه. یا مثلا اینکه من بگم از صفحه چهارصد و چهار باهمتا خوشم اومده اصلا لازم نیست یک پست تبلیغی باشه یا براش پول بگیرم. همینکه شما هم خوشتون بیاد و اونها هم لینک بگیرن به نظرم وب بهتری می سازه.

شما هم اگر توان این رو دارین اینکار رو بکنین، ریتوییت کنین، لینک بدین و معرفی کنین (: چی بهتر از این؟

امروز چهارم می، روز جهانی جنگ ستارگان است

امروز چهارم می است. متاسفانه ماجرای کشته شدن کلی معدن چی رو داشتیم که حال و حوصله ای برای کارهای گیکی باقی نمی ذاره. طبق قانون کار ایران هر کسی که برای کار و خدماتش حقوق می گیره، کارگر است. در واقع همه ما برنامه نویس هایی که حقوق می گیرم هم جزو کارگرها هستیم و منطقا باید اول ماه می تعطیل می بودیم؛ که خب در نبود اتحادیه و غیره، به این حق نمی رسیم. اما وضع کارگرهایی که کارهای یدی یا سخت انجام می دن بدتره. ما حداقل می تونیم تا حدی قدرت چانه زنی فردی داشته باشیم یا در محیط های کاری راحت کار کنیم و …

به هرحال. هوم.. امروز چهارم می است یا به قول خارجی ها 4th of May که تلفظش می شه «فورث آو می» که خیلی نزدیک است به «May the 4th be with you» که شعاری مهم در جنگ ستارگان است. امروز رو توی جهان روز جنگ ستارگان می دونن و فرهنگ و اخبار خودش رو هم داره. درسته که توی ایران روز مهملی شد ولی به هرحال زندگی ما همینه دیگه.

توضیح: دوستانی ایمیل می زنن و کامنت می ذارن که اصطلاح درست، May the force be with you است. کاملا هم درست می گن. در متن من نوشته ام 4th تا برسونم که به وجه شبه اشاره می کنه برای کسانی که استاروارز رو می شناسن. در کامنت ها توضیح کاملتری هست.

اینستاگرامی‌های مشهور، واقعیت بدنشون رو به شما نشون می دن

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

حالا یکسری آدم – شامل همون هایی که عکس های فیتنس روحیه بخش تو صفحه شون می ذارن – شروع کردن به گذاشتن دو تا عکس کنار همدیگه: اولی عکسی که بهتر از همه در اومده و قراره منتشر بشه و دومی عکسی که چند لحظه قبل یا بعد از فریم قبلی، گرفته شده. اونها اینکار را می کنن تا یادآوری کنن که حتی اونی که کارش منتشر کردن عکس های «خوش هیکل»ش است هم در حالت «عادی» شکم و چربی و چروک و … داره و پشت هر عکس «خوب»، یک نور عالی، عکاس خوب، شانس خوب و ده ها عکس «بد» وجود داره.

این مجموعه عکس باحال به شما می گه که.. بذارین از زبون خودشون بگم:

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

پس یادمون باشه در عین رعایت سلامت و اهمیت دادن به ورزش، لازم نیست نگران این باشیم که چرا بدن ما بیست و چهار ساعته شبیه کسی که یک عکس فلان شکلی داره نیست (:

مرتبط:
بدن پرفکت ویکتوریا سکرت
شعر شاعر هندی در مورد موی بدنش
آرزوی سیندی کرافورد

گیت لب عالیه؛ از هر دو نظر

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

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

حالا چرا عالیه؟ چون شفاف و معقول اینها رو گفته و چون یک داکیومنت آنلاین درست کرده که هر قدم تعمیراتی رو به ما می‌گه:

GitLab.com Database Incident - 2017/01/31



This incident affected the database (including issues and merge requests)
but not the git repo's (repositories and wikis).

Timeline (all times UTC):

2017/01/31 16:00/17:00 - 21:00

YP is working on setting up pgpool and replication in staging, creates
an LVM snapshot to get up to date production data to staging, hoping he
can re-use this for bootstrapping other replicas. This was done roughly
6 hours before data loss.

Getting replication to work is proving to be problematic and time
consuming (estimated at ±20 hours just for the initial pg_basebackup
sync). The LVM snapshot is not usable on the other replicas as far as YP
could figure out. Work is interrupted due to this (as YP needs the help
of another collegue who’s not working this day), and due to spam/high
load on GitLab.com

2017/01/31 21:00 - Spike in database load due to spam users - Twitter
| Slack

Blocked users based on IP address

Removed a user for using a repository as some form of CDN, resulting in
47 000 IPs signing in using the same account (causing high DB load). This
was communicated with the infrastructure and support team.

Removed users for spamming (by creating snippets) - Slack

Database load goes back to normal, some manual PostgreSQL vacuuming is
applied here and there to catch up with a large amount of dead tuples.

2017/01/31 22:00 - Replication lag alert triggered in pagerduty Slack

Attempts to fix db2, it’s lagging behind by about 4 GB at this point

db2.cluster refuses to replicate, /var/opt/gitlab/postgresql/data is
wiped to ensure a clean replication

db2.cluster refuses to connect to db1, complaining about max_wal_senders
being too low. This setting is used to limit the number of WAL (=
replication) clients

YP adjusts max_wal_senders to 32 on db1, restarts PostgreSQL

PostgreSQL complains about too many semaphores being open, refusing
to start

YP adjusts max_connections to 2000 from 8000, PostgreSQL starts again
(despite 8000 having been used for almost a year)

db2.cluster still refuses to replicate, though it no longer complains
about connections; instead it just hangs there not doing anything

At this point frustration begins to kick in. Earlier this night YP
explicitly mentioned he was going to sign off as it was getting late
(23:00 or so local time), but didn’t due to the replication problems
popping up all of a sudden.

2017/01/31 23:00-ish

YP thinks that perhaps pg_basebackup is being super pedantic about there
being an empty data directory, decides to remove the directory. After
a second or two he notices he ran it on db1.cluster.gitlab.com, instead
of db2.cluster.gitlab.com

2017/01/31 23:27 YP - terminates the removal, but it’s too late. Of
around 310 GB only about 4.5 GB is left - Slack

و از اون بالاتر حتی لایو استریم می کنه تو یوتوب من در واقع گیت لب رو دوست دارم و به نظرم خوبه در موردش بیشتر حرف بزنیم و حتی بهش سوییچ کنیم. دلیل اصلی اش اینه که اجازه می ده ما رپوزیتوریهای خصوصی هم داشته باشیم و خب وقتی اجازه می ده من رپوزیتوریهای غیرآزادم رو روش بذارم به نظرم قشنگتر اینه که من رپوزیتوری های آزادم رو هم ببرم اونجا. این مستقل از بحث های فنی است و قابلیت هایی که برای کار داره.

همینجا تصمیم رو قطعی می کنیم که در مقابل شماره رادیو گیک در مورد گیت هاب یک شماره هم در مورد گیت لب بسازیم. بسیار شرکت جالبی است و آدم های جالبی پشتش هستن. امیدوارم این استرسشون زودتر تموم بشه.

مرتبط:
چرا دراپ باکس می گه پسوردهاش لو رفته؟