Bamdad Dashtban


Category: Uncategorized

Friday Hack Night: Adding HighCharts to Taverna Workbnech


For this week Hack night I’m going to implement HighCharts for the Taverna Workbench.


Taverna is a workflow management system which lets the users to drag and drop different service, connect them and compose workflows. It is being usually used in scientific areas for designing in silico scientific experiments.

I’ve seen the hardness of visualizing data in Taverna workflows because of the lack of tools or components which helps workflow designers to visualize the final data.

I selected HighCharts since it has a big set of charts and it supports Themes.

My aim is to create a component family so that designer can easily drag and drop the components to the workbench and visualize the data.

There may be a need to create few adopter services to change the data format into the appropriate format that my components will need to show a chart. I’m not sure about the details now. The component plugin is currently under development and it doesn’t support workflow annotations. So I may need to create workflows separately and create components around them not to loose the annotations.

Wish me luck and don’t forget the #FridayHackNights at Twitter


Friday Hack Nights


I’m about to finish my masters course in the Manchester and fortunately I’ve got a nice nice job here.

My plan is to work on few side projects while I’m working and preferably they are going to be open source projects. So, finally my Github account is going to be active after all.

I have few ideas in my mind to work on and one of them will be pure experiment which might lead to publish a a scientific paper. This project is related to text mining and linguistics and I have no idea how the output might looks like and as far as I’ve checked there has not been any similar works before. I’d like to apply things I’ve learned in my masters course on this project.

However, beside this project I’d like to do some hacking and coding on different areas to keep myself on shape and satisfy my curiosity. I have three ideas to work on here.

  • A project around BitCoin. If you haven’t had time to check out BitCoin now go and check it, it is really cool way to transfer money.
  • The other project is about sending and receiving parcels in a new way.
  • The latest geeky project is around my Raspberry Pi that I’ve talked about before.

My plan is to work on these projects on Friday nights and that’s the reason I’ve called them “Friday Hack Nights”. Feel free to join me on twitter with #FridayHackNights .

I’d like to write about my findings frequently here, but as you might have already understood I’m too lazy for writing. So, lets hope and see what will happen.
Just a quick update about my RaspBerry Pi: I’ve used RaspBMC for converting my RP to a media centre and it works almost perfectly and nearly stable. I’m writing a plugin for that which I’ll publish soon.

I have an idea of making my RaspBMC to work with Siri then I can talk to my Raspberry Pi which is kind of cool and super geeky!

Wish me luck with my studies and my loads of ideas.

ps. If you are in Manchester don’t forget to check HackManchester

Raspberry Pi

My Raspberry Pi has finnaly arrived.
I’m eager to play with it.I have two goals in ordering this attractive board. The first one is to learn basics of hardware and embeded systems since, I know nothing about it and the other one is to creat a “Linux From Scratch” as a media center.
This can help me to learn more advanced topics in linux and also create a media center for myself to play music,video and also download latest clips.

If everything goes well, I will create a github repo for it.
I’m waiting for the SD memory, HDMI cable , micro USB charger and USB hub which I ordered from Amazon.
As soon as I find time and my orders arrive I’ll start.

Google code jam 2012 Qualification Round

Today I was coding for Google code jam.

It was my first experience on this competition. And hopefully I’ve got qualified to participate for the next level.

In this level I had to solve 2 problems from 4 problems to get qualified.
I’ve solve 3 out of 4. the last one needed to think alot and I was really tired.It was about the mirrors and I wish that I could remember the mirror fomulas which I have learned while i was studying in the first year of high school.
Each question (except the first one) had 2 parts: first with small data set and second with large dataset.
To be able to solve the problems with large data set you should have to optimize your algorithm to find the answers quickly. some times you had to find a shortcut and not to solve the problems completely.

By the way, I was really enjoying the moments. it was more fun that I expected.
But they didn’t let us to post in the IRC channel so it decreased the fun.

Machin Learning

I’m learning machine learning these days.
I’ve starded understanding basic concepts through and University of Manchester machine learnign course. My goal is to mix it with some image processing and text mining techniques.
The outcome of this research might be an opensource project which helps detecting and understanding texts on images.
I have some ideas to mix it with semantic web to annotate the result too but not sure exactly how.
Just like previous project I’ll post the detials here and it will be available on my github account again.

See you soon

Banging KDE on Ubuntu!

Finally , I switched to KDE desktop , I’ve downloaded KDE desktop manager for my Ubuntu and right now I’m using it. the whole process was extremely easy just a simple “sudo apt-get install kubuntu-desktop”
It seems more fun , since I didn’t get used to the ubuntu unity , the KDE seems more rational and nice to me .
Try it if you are not satisfied with Unity …

برنامه ریزی استراتژیک شرکتهای نرم افزاری

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

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

2. یک جریان ثابت مالی ایجاد کنید: همانگونه که در نوشته قبل هم به آن اشاره کردم، یکی از دشواری های شرکتهای پروژه محور آن است که یک جریان ثابت و مشخص از ورودی مالی وجود ندارد و همه چیز بسته به موفقیت در گرفتن پروژه جدید و موفقیت در دریافت ها صورتحساب ها و صورت وضعیت های آن پروژه است. هنر شما به عنوان مدیر آن است که برای جبران هزینه های ثابت و جاری، بتوانید یک جریان درآمدی هر چند اندک -همان آب باریکه خودمانی!- را ایجاد کنید. برای کسب این درآمد ثابت می توانید روی فعالیت های زود بازده تر و یا دائمی تر توجه کنید: برای مثال در کنار واحد تولید و گروه های مجری پروژه، یک واحد آموزش ایجاد کنید، فروش سخت افزار داشته باشید، درآمد های پشتیبانی را به یک سطح مطلوب و دائمی دربیاورید و یا فروش بسته های نرم افزاری آماده (Package) را در دستور کار قرار دهید و با با شرکتهایی برای اجرای خدمات مرتبط به صورت سالانه با پرداخت های منظم قرارداد ببندید.

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

4. دولتی ها متفاوت از خصوصی ها هستند: در مورد هرکدام از تقسیم بندی های بازار باید در همه بخشهای فروش و پشتیبانی و مالی رفتار متفاوتی داشته باشید. در بحث مالی هم رفتار خرید و رفتار پرداخت ها در دولتی ها و خصوصی ها با یکدیگر تفاوت دارد، برای اینکه خیالتان از پرداخت ها راحت باشد تلاش کنید حتی در فروش Package های آماده در دولتی ها قرارداد ببنید و در خصوصی ها فاکتور با پرداخت یک مرحله ای داشته باشید، حتی اگر در خصوصی ها مایل به عقد قرارداد هستید تلاش کنید برای همه مراحل پرداخت در همان زمان عقد قرارداد چک مدت دار دریافت کنید. به این ترتیب می توانید خیالتان نسبت به عدم سوخت و سوز پولتان اندکی راحت باشد.

5. مراقب ۸۰/۲۰ باشید. تئوری ۸۰/۲۰ در بحث مدیریت تقریبا در همه موارد دیده می شود، حواستان باشد ۸۰% مشتریانتان خوش حساب باشند و ۲۰% بدحساب، بنابراین در بخش فروش یا عقد پروژه با هر مشتری کار نکنید، حواستان باشد حداقل ۸۰% دریافت های مالی پروژه را تا قبل از تحویل نهایی پروژه دریافت کنید و حداکثر ۲۰% را به مرحله پرداخت آخر موکول کنید تا در صورت عدم موفقیت در دریافت ضرر مالی چندانی به شما وارد نشود، تلاش کنید قسط های اول پروژه حداقل ۸۰% هزینه های ثابت شما را پوشش دهند و از پرداخت های مراحل بعد، حداکثر ۲۰% صرف هزینه های پروژه گردد و بتوانید از باقیمانده روی سود و سرمایه گذاری حساب کنید. تلاش کنید ۲۰% مشتریانی که ۸۰% درآمد های شما از آنها تامین می شود را شناسایی کنید و روی آنها حساب ویژه باز کنید. از آن سو وقتی می دانید که اکثر هزینه های شرکت نرم افزاری شما (۸۰%) مربوط به نیروی انسانی است، چرا ۲۰% توجه خود را به آن معطوف کنید، شما باید به نیروی انسانیتان به عنوان یک سرمایه نگاه کنید و برای آن سرمایه گذاری کنید (توانمند سازی، آموزش،افزایش بهره وری(کارایی + اثر بخشی) فراهم کردن شرایط مناسب برای محیط کار و ….)

6. پشتیبانی یا فروش، سود در کدام است؟ ایده آل آن است که شما بتوانید از طریق پشتیبانی (یا همان جریان ثابت مالی مورد ۲) هزینه های شرکت را پوشش دهید و در آمدهای حاصل از فروش را به عنوان سود، سرمایه گذاری و یا توسعه محصول یا بازار کنار بگذارید. البته اینکار برای شرکتهای نوپا و یا با محصولات غیر حیاتی دشوار است و اینگونه شرکتها می توانند به صورت معکوس عمل کنند تا زمانیکه یک سهم قابل توجه از بازار بدست آوردند و نیاز مشتریان به نرم افزار آنها واقعی و اساسی باشد و به تدریج این روند را معکوس نمایند. در کنار این باید مراقب بود که فعالیت های فروش و خدمات پس از فروش خود به یک مرکز هزینه جدی که سود اقتصادی ندارد تبدیل نشود و منابع حاصل از فروش صرف آن نگردد. ایجاد یک نرم افزار درست از طریق تست های چند لایه متعدد، ساده سازی محصول، تهیه یک رویه سیلابس آموزشی استاندارد و مشخص، مستند سازی کامل و جامع نرم افزار، فروش یک نرم افزار مشخص به چندین مشتری و تقسیم هزینه بین آنها، توانمند سازی تیم پشتیبانی، ارانه خدمات به صورت راه دور و یا از طریق نمایندگی های محلی، کاهش زمان نصب از طریق ارائه زمانبندی دقیق برای انجام کار و معتقد بودن به آن، عینی سازی نرم افزار از طریق ایجاد الگوها (prototype) و مدل های مشخص و … تکنیک هایی برای کاهش هزینه های پشتیبانی است.

7. بحث تولید قبل از فروش را جدی بگیرید. پیشتر به بحث فروش قبل از تولید یا تولید قبل از فروش اشاره کرده ام (اینجا) اصولا تولید تحت فشار و یا تولید پس از فروش هزینه بالاتری نسبت به تولید قبل از فروش دارد. بنابراین هزینه های تولید را تا آنجا که می توانید کاهش دهید. برای شرکتهای فروشنده محصول آماده، ایجاد نرم افزار های پویا و دقت در فرآیند نسخه بندی (versioning) نرم افزارها و فروش نرم افزار در تیراژ بالا می تواند موجب کاهش منطبق سازی (customization) اختصاصی برای هر مشتری و طبیعتا کاهش هزینه های تولید و قیمت تمام شده محصول گردد و در شرکتهای پروژه محور، ساخت کتابخانه های آماده، ایجاد کامپوننت ها و مولفه های پرکاربرد، حرکت به سمت نرم افزار های متن باز، ساده سازی و اختصاصی سازی متدولوژی های توسعه نرم افزارها می تواند مد نظر قرار گیرد.

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

9. با دولت شوخی نکنید! این اشتباه بزرگی است که سازمانهایی مثل دارایی، تامین اجتماعی و ادارات کار را دست کم بگیرید و هزینه های بیمه، مالیات تکلیفی، مالیات بر ارزش افزوده، مالیات حقوق و یا قراردادهایی مانند کار را سرسری گرفته، در آنها تعویق بیاندازید و یا با بکارگیری حسابدار ناوارد، دچار مشکلات و سوء تفاهم با این سازمانها شوید. شاید بکار گیری یک حسابدار با تجربه گران باشد، اما اگر واقعا ارزشش را داشته باشد، بسیار به شما کمک خواهد کرد و می تواند هزینه های جاری و کسورات قانونی شما را تا حد قابل توجه ای پایین نگه داشته و کنترل کند.

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

مجدا تاکید می کنم که دقت کنید ما فنی ها عقل کل نیستیم و باید از کمک افراد خبره در زمینه مسائل مالی کمک بگیریم. بنابراین به موارد بالا صرفا به عنوان یک به اشتراک گذاری تجربه نگاه کنید تا یک دستورالعمل شفا بخش!


منبع : رادمان

مشکلات من در تهیه کتب خارجی

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

برای همین  چند روزیه که با همه مشورت می کنم که یه راهی برای اینکه کتاب هایی رو که می خونم به صورت کاغذی تهیه کنم تا بلکه چشمام آروم تر بشه.

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

از اونجایی که کتب مورد نظر من هیچ یک در ایران حتی چاپ افست هم نمیشه تنها راه حل خرید آنها از سایت هایی مثل آمازون و ارسال آنها به ایران هستش

سایت آدینه بوک برای شما سرویسی را فراهم می کند که با استفاده از آن می توانید تمامی کتاب های موجود در آمازون رو سفارش بدید منتها چند ایراد وجود دارد

  • اگر تا به حال سری به آمازون زده باشید حتما متوجه شده اید که در اکثر مواقع کتاب ها با مقداری تخفیق ارائه میشه برای مثال کتابی که من در نظر داشتم قیمتش 40 دلار بود که تخفیف خورده بود و به 31 دلار رسیده بود که نسبتا قیمت معقولی داشت, ولی آدینه بوک تخفیف آمازون رو حساب نمی کنه و کتاب رو با قیمت بدون تخفیف براتون تهیه می کنه
  • آدینه بوک به ازای خرید هر کتاب مقدار زیادی پول ازتون  برای هزینه ارسال و سود می گیره که با قیمت اصلی کتاب برابری می کنه و اگه کتابتون ارزون باشه شاید از قیمت اصلی کتاب هم بیشتر بشه , برای کتابی که من سفارش دادم 27 هزار تومان هزینه ارسال در نظر گرفته شد
  • کتاب اگه برسه پس از 25 روز به دستتون می رسه که حتما توی اون 25 روز ایبوک کتابو خوندید و چشمانتوتم اذیت کردید

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

هدف من از نوشتم این مطلب این بود تا از دوستان بخواهم اگه راهی میشناسند که کتاب های آمازون را با قیمتی منصفانه تر در تهران تحویل بگیرم به من هم بگویند …


شروع مجدد

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

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

در این مدت که نمی نوشتم خوش بختانه وقتم را با مطالعه و یادگیری گذراندم و بیکار نبودم ، دوست دارم نوشتنم رو دوباره آغاز کنم.

خوب حالا راجع چی مطالعه داشتم و چی می تونم بنویسم؟ کاملا روشن هستش که توی این مدت تغییر مسیر ندادم و مطالعات من در همان  راستای برنامه نویسی وب بوده با این تفاوت که به دید خودم کاملا منظم تر و علمی تر شده

مطالبی که در نظر گرفتم به برنامه نویسی در زبان جاوا ، تولید اپلیکیشن های غنی شده ، اپلیکیشن های سازمانی برنامه نویسی Test Driven  می باشد ولی حتما مطالبی خواهم نوشت که  برای علاقه مندان به وب هم مفید باشه.

قول نمیدم که خیلی مرتب بنویسم ولی تلاشمو می کنم ، این میون اگه شما هم  نظر بدید و انرژی برسونید حتما به رونق این وبلاگ کمک بزرگی خواهید کرد.

در ضمن شاید شما منو بشناسید و دلتون بخواد راجع به مطالبی بنویسم یا نظر بدم پس درنگ نکنید و حتما یادآوری کنید.

امیدوارم که مطالب مفید باشه و من بتونم در نوشتن پایدار باشم

پریانا سایت برتر جشنواره وبنا شد!

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

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