I’m bit fascinated by what NodeJS lately came up with. So i was just wondering how it could help me on setting up my staging server. I’ve been using Capistrano for a long while so it was suppose to be easy to do another capistrano based deployment. But i’m more into nodejs these days. So searched about what nodejs and other contributors can provide for SSH client implementation. Thus i’ve figured out “Control” is something i’ve been looking for.
Just after couple of hours efforts i could finally complete “Khadok.com’s” staging server deployment. You can check it out here.
Simple ruby on rails based application deployment script using nodejs’s control
Posted in control, deployment, node.js
PhpXperts seminar 2010 a great success!
Being part of it, i’ve been thinking how perfectly it was crafted, it was so mind blowing that I couldn’t even think how could it be so short. So many interesting topics so many passionate speakers just ignited each of us. Their passionate talk just gave us hope that we can MAKE IT!
PhpXperts 2010 proved once again, Bangladesh is the nation where we have plenty of technologically skilled talents. All we were just waiting for leadership. If we can get space, get air and light we can even grow faster than any.
So being active speaker of phpXperts seminar since 2005, i’ve been awarded once again getting chance to be there. Though being de-touched from PHP community, I didn’t feel that i’m no longer part of it. like always phpXperts community is always a place I feel second home. Because of it’s gearing persons in background.
So one fine day I was called by hasin bhai, he informed me about the new event. So when he asked for my topic. He also mentioned me, “hasan I wanna get some techy stuffs from you this time
”
well, I used to give techy speech but recently I turn to be a motivator speaker due to seeing enough lacking here in our IT industry. I believe, everyone can do whatever they wanna do but they need room to grow up!.
Thanks goes to hasin bhai and his team and sponsors to let it be what it has ended up being
These are the few things I loved this time -
- Allowing companies to sponsor
- Passionate venue (brac university seminar room)
- Load of topics
- So many new speakers
- Exciting and passionate talks
- Load of audience
- Audience active participation
- Online video streaming
Few suggestions for next event -
- Splitting event into 2 days long
- Choosing a bit larger space
- Asking sponsor companies to bring their best to present on a small sponsor’s showroom.
- Inviting foreign guest
- Having phpXperts feast or other events (which might require ticket) where we could have barbeque and dinner together and IT chit chat.
- Open career hunting panel (so at the end of the event some of them might be awarded by their final job interview)
My presentation on “CodeMan! NoSQL!”
you can download the source file here.
best wishes
Posted in cassandra, Introduction, noSQL, PHP, seminar, structured storage
WellTreat.Us a Ruby on Rails based SaaS platform to build your restaurant and business web site on it :)
So i guess my blog title reflects what i’m trying to make point here, YES! This is all about running well treat us as a SaaS platform.
Let me draw a line between those who already got it or those who yet struggling ![]()
well, frankly speaking my weekend goes with my newly started start up “http://welltreat.us”
i guess many of those who already have been there might think “Well Treat Us” as a simple platform for reviewing restaurant. This is very true! Indeed, this is a review platform!!
But the fact is far behind the simple review platform
“Well Treat Us” is a platform for reviewing ANYTHING that matters in our daily LIFE
Wait a minute! Did you get it ? “Well Treat Us” domain was intentionally picked up so it could be related with “store.WellTreat.Us”, “electricians.WellTreat.Us”, “CarService.WellTreat.Us”, “BookAuthor.WellTreat.Us”, “Movie.WellTreat.Us”, “Newspaper.WellTreat.Us”, “Doctor.WellTreat.Us”, “Government.WellTreat.Us” and it goes on…
so if you are still not getting the idea! I should blame myself for not succeeding to reaching those above words through your tough skull
anyway! In a brief, “Well Treat Us is a platform to read review about our daily mostly used services and products. It helps people and business to grow mutually with feedbacks from each other.”
Ah! let’s back into the topic
So by now you should have understood, “Well Treat Us” is a platform where it can be used for reviewing on anythings, though currently you can only see “http://restaurant.welltreat.us” but at certain point you would be able to see everything that matters your daily living. (we promise)
Keeping this in mind, we have been developing WellTreatUs platform following agile and lean mindset. Since our inception we have been adding each and every features based on our visitors opinion. Perhaps you spoke that over review or over facebook fan page or in a friendly discussion, we are listening and keeping your wishes in our product feature list (product backlog). So we can give more efforts to bring those for you
. we suggest you better don’t feel shy to share what cross your mind.
So let’s back to the main topic
“Well Treat Us” as a SaaS (Software As a Service) how that stands up ?
Well, as i’ve already mentioned well treat us is built on the concept of “topic”.
In every data structure there is dependent parent object which we call “topic” so whatever goes through the “Well Treat Us” every contents are put under specific “topic”. This topic based architecture helped us to isolate and identify separate type of contents. (ie. Doctors, books, restaurants, donors, stores etc..)
Just imagine your web site is built on “Well Treat Us” CMS
So as “Well Treat Us” is a platform for hosting several topics dependent review platform, we kept another side around which enables us to provide a complete make over using your own preference to build your own business web site or e-commerce store.
Let me make it more understandable. As you can see today you can browse any restaurant page which looks like the following picture -
http://restaurant.welltreat.us/t/restaurants/captains-world/4?l=en
As you can see every restaurant page comes with a simple predefined attributes, such as title, description, tags, location, images and so on. Which can be varied from topic to topic, for example – doctors review site might need different attributes than what we have with restaurant. Fortunately everything could be configured over topic administration system as we have in well treat us admin panel.
A different make over as your wish!
“Well Treat Us” is not only about having multiple topics based review platform it is also about creating web site for your own business need. Where “Well Treat Us” as SaaS comes into play.
The following image is an illustration how it could help you to build your web site as your own wishes and preferences. Check it out -
Also don’t forget about having your own web site address (ie. Http://laalshop.com) and so much customization that you can do with any CMS these days. (like joomla, sitefinity etc..)
“Well Treat Us” Web Site Content Management System – “We kept Everything Visual!”
Till now we haven’t unveiled the GREAT secret about “Well Treat Us”, you might be wondering what that could be ? Well you know! You know!
the secret is all about secret we shouldn’t unveil it
well here is the secret -
“We have build “Well Treat Us” for our own usages” it means, we haven’t built it for having another fancy service around, we built it because we meant it we wanted it. We kept it mind that we are gonna use it for our own purposes. Our business ideas and web sites will be built on it.
So you can understand, how much efforts we give only to keep it more useable for our own demand. We have been doing it with passion for us and for our clients.
Let us show you some examples, how does it looks, when you have a web site on well treat us SaaS platform

This is another example which demonstrates how easy it is to let you manage your web site menu on the fly.

Also you are king of your own content edit it live on the site in edit mode so you can see how might appear on screen
I guess i should have completed my post bit earlier
but my passion toke me further. Anyway! Thanks for reading the whole thing
best wishes,
Posted in ruby on rails, SaaS, WellTreat.US
Ruby Twitter OAuth API : 401 Unauthorized error also says Failed to validate oauth signature and token
Ah! what a waste, after trying out for couple of hours i’ve suddenly found out a blessing post from “blaine garrett” . hussss! he really got it fixed through synchronizing system time. my system time was around 30 mins beyond twitter server time.
so far i can assume, this problem was occurring due to twitter oauth service call validation, since the attached timestamp (through OAuth timestamp or some other header which was carrying request time stamp) was giving far beyond time (ie 30 mins beyond in my case). thus twitter was rejecting the request.
anyway, after synchronizing my system date and time, i can see it’s working.
thanks “baline garrett”
Posted in OAuth, Ruby, ruby on rails, twitter
Continuation of “Internship monthly salary” related discussion on agile bangladesh group
[This is the continuation of the on going thread at agile bangladesh group]
Hi sudipta,
i think you are doing great!, you have raised your concerns and showed up your eagerness to talk about this with all of us.
frankly speaking i think this group would be better utilized when more concerning, frustrating and real problem oriented mails are poped up.
i’m damn sure i ain’t only enjoyed reading out this thread as well as i’ve enjoyed seeing people’s different room of thoughts about internship.
so far i’m more sure till now, we all wanna see bangladesh as the BEST IT software development base.
wanna see we have pool of passionate talents those who never care about any challenge.
who can put sharp edge of bleeding sword to any technological challenge. can slice challenge into pieces and solve with GUT and passion!
@sudipta, you guys are doing great!, all you need just a little adjustment to understand what is internship is all about and what you can expect and how you can build.
software is thought product, software developers are used to be very emotional and creative. most of them are right brainers, they love to illuminate software with their skill craftsmanship.
did you see any artist ? (who draw other’s portrait)
so far i understand no education can build artist, artist are born with right brain dominated. later they figure out where they are the best on.
and they pursue their own dream rather not pursuing their parents dream. (becoming doctor, pilot, engineer etc..)
let me ask you another question, why did you join IT ? Is it your own will or you parents will ?
i saw people who has picked up IT because their parents or other influences told him this is good career to earn money!.
frankly speaking this is modern and more trendy profession where you can have smart salary as well.
BUT, to get smart salary you need to be SMART! i guess damn SMART!
the way you expressed your mail, it feels to me, you are having ZERO (0) confidence on your OWN!.
seems like you just stumbled upon something you were never ready for.
let me ask you! if you were computer science student what else you have done rather addafying with friends, gossiping with friends, studying for better grade ? did you write any program which blows the whole SYSTEM ? did you write any code which bought other’s attention to your coding skill?
did you beaten your poorly knowledge teacher by your PASSION and overwhelming study over wikipedia ?
did you read any software industry related magazines or books EVER ?
i don’t get it, how come you guys passed 4/5 years without even thinking about industry ? where you have to settle in.
i understand our teachers should have played as mentoring role,
it feels to me, teacher are providing their service because they ain’t get any other options left (not all teacher).
just cut the crap! if we consider you to take as an intern in our company. we would have asked for the following key values from you -
- Can you hold up your negative thought and keep focusing on learning ?
- Are you focused on software development ?
- Do you study yourself (from wiki, google) ? or do you need spoon feeding?
- Can you move alone when you are shown to a path ? (self study, try to understand or ask too many questions to understand)
- Did you ever joined in any other bangladeshi software groups beside Agilebd ? (like jpgroup for java, phpexperts for php)
- Do you have the craziness ? do you feel it! do you feel you can ignite yourself ?
i have another question for you -
- Can you tell me where do you wanna see yourself in next 5 years ? Is it europe or bangladesh?
i know 5 years is far away, but not so far than 10 years or rest of your remaining life times.
if you wanna get well paid, you gotta prove it. you gotta prove why company won’t pay you more.
you have to show up your GUT! your passion. otherwise you have to be happy with what you are getting (by the bless of BASIS minimum 5K suggestion). if you are having such attitude (not self learner, not passionate, no patience to give try out) and come to us for internship. we would never let such guy in our company (sounds rude! but you know it’s very very very TRUE!).
you gotta PROVE yourself then you will create your need, otherwise you are not welcomed ![]()
so my last few suggestions for your own improvement -
- You ask yourself, “Am i in love with Software programming?”
- You start reading book from the scratch.
- You build personal projects to learn more inside.
- When you have completed 1/2 books and practiced lotta times. you try to join in any company as trainee, intern or junior developer
- You become the most proactive, never care what company is paying you now!
- Perhaps you might face hard time to survive, you NEVER GIVE UP! you can take money from you friends and family but don’t invest yourself in tuition or other none IT related profession.
- Keep single company focus
- Learn as much work as possible
- Prove yourself “Why won’t company kiss you
“ - Create your own image with the colleagues and company.
I guess you guys can understand this is not a short process, you might need at least 2/3 years to insert into a better level.
so you better get ready and sail your boat.
btw, we (hasin hayder (leevio), emran (right brain solution and me (tasawr interactive) have started workshop in university campus. (right now we are at brac university, we have already taking 7/8 classes)
where we are training students to learn web development with whole domain coverage. (ie we also let them get in touch with html, css, javascript with jquery, database, php, php with codeigniter)
we are planning to improve our curriculum frequently and bring this workshop from BRAC university to any other universities through out the whole nation.
frankly speaking we are doing it for free! actually we are investing our time. since i have office on saturday, my company (tasawr interactive) allowed me 3 days weekend, where i’m utilizing my 3rd day (on saturday) to take class here. thus my company is also investing. all we want better IT growth in bangladesh.
i think other bangladeshi IT professionals should be coming forward to take such initiative to improve our university students, encourage them motivate them and add more fuel on them so they can ignite
anyway! thanks guys for reading out this pretty long mail
khekk!
Posted in agile, motivation
Learning how not to use “AND” or “OR” condition while you are breaking down the tasks
_), Suddenly this topic came out, i think it is one of the important
issues to keep sprint task simple and easy to accomplish and
estimate.
i was about to write this sprint backlog task for my pet project
(http://welltreat.us)
“Email notification should include review content Or comment content”
so while i was writing it down, suddenly this thing poped up!, how
about if i break it down and accomplish part by part, since
technically it states two tasks in one sentence. also more preciously
i can’t work on the different tasks at the same time.
so, if you break it down you might see the following tasks -
1. Review notification email should have user’s review content
2. Comment notification email should have user’s comment content
Now it came up with more implementable units.
from my personal observation, i found breaking down task to very small
implementable units make it very easy to discuss, implement as well as
test.
moreover usually very small unit of task is easy to implement a day,
which gives developer better satisfaction. because you have completed
some tasks.
psychologically it helps to build confidence and GUT on the their
ownself, which is very important to keep their motivation level high
to bring coolness and WOWness with in the team.
already posted in agile bangladesh group
best wishes,
see you guys in ruby on rails seminar on 13th (10 am) at basis
conference room
_)
Posted in agile
OpenAgile and related stuffs!
Posted in agile bangladesh group
Guys!
can anyone enlighten me here? i’ve read an article yesterday on OpenAgile,
which actually drew my attention, you can read it here
it seems to me a combination of lean and scrum, they kept nearly synonymous terms adhered from scrum world.
so far i can understand, they want to keep it open and collaborative. where scrum is religiously maintaining all related practices & terms otherwise inferior complexion is created through ScrumBut.
here is a peek from the blog -
….Another major difference between OpenAgile and Scrum is how the community operates. OpenAgile is an open-source method that has a specific structure for community involvement that allows for continuous improvement of the system. Scrum is closed. It is closely managed by it’s founders and this has led to challenges with the method becoming dogmatic. OpenAgile is meant to constantly evolve and grow…..
so it seems like OpenAgile will be an openly accepted ScrumBut. Sounds to me cool! again,
i wish they will keep it as thin and more adaptive like lean (3 processes) & scrum (8/9 processes)
from my understanding, prescriptive process is always rigid and provides less option to adapt companies own branded culture thus it might fail or irritate everyone. or it might ended up with cloning the same formal attitude.
probable this is the reason why most of the creative companies create their own way to ensure everyone get’s chance to be creative.
on the other side, less prescribed process such as lean can motivate you to learn how to do better in what situation. gradually it helps you to come up with your own process.
but one problem might happen, people used to pretend they understood the principles very well, in reality, they actually didn’t get it. thus they miss use it. hence it becomes burden and becomes unstable.
it seems me, like writing all logic in View rather not understanding why MVC (model view controller) and why those separations are needed. MVC got very few principles (only 3 infact) but you got bunch of other practices adhered from community, design patterns and technical prophets (mentors
_)
best wishes,
Ruby process & ActiveRecord data set executing in multi cores
You know what! in one of our (tekSymmetry LLC) projects, we have so many background calculations,
which usually takes so many hours to get fully completed. ever since we have introduced those processes,
we were having problem with it’s execution time. sometimes it get’s in nerve
as you know a single ruby process can use a single processor’s core at a time.
this is probable one of the reasons why muli processes based deployment
strategy is picked by ruby on rails community.
anyway, these days our servers got more than one core! more precisely,
in our case each of our production server got 8 cores based intel xeon processor.
so you see the question rose if we could run those long running expensive process in multicores
our system could have better chance to get faster!.
well this blog post is intended for showing you the technique how we have done it in ruby on rails.
for better understanding, let me give you some hints so you can get the context -
- we have big database table rows!
- processing a single row doesn’t require anything from the same database table.
- we are using linux (in our case debian lenny)
so here is the way we have done it -
- we took the max rows count for the main query
- and divided by the number of cores we have
- then we forked child process with each subset of the rows
- and executed the logic and related stuffs!
- on the parent process we initiated a loop where it was checking the newly forked process status
- if all the pid files (which are generated by the newly forked children) are removed,
parent process will flag it as successful execution thus it will end the loop.
so you see, it is damn! simple
_) and it is working for us
_),
it has improved our execution time 8x faster, because of getting 8 cores in new server.
here is the code in ruby how we did it. (we created a helper “multicore_execution_helper.rb“ and included in model, thus execute_in_multicores became usable)
1 module MulticoreExecutionHelper 2 3 def execute_in_multicores( 4 p_cores, p_total_rows, p_model, p_conditions = {}, &block) 5 6 p_cores == 2 if p_cores.to_i == 0 7 total_items_per_core = p_total_rows / p_cores 8 logger.info "[BATCH-PROCESS-LOG] Total processes - #{p_cores}, " + 9 "total rows - #{p_total_rows} [#{total_items_per_core} / 1 core]" 10 11 # Create job id for each process 12 job_ids = p_cores.times.collect{|i| rand.to_s } 13 14 # Fork process for each core and execute the block 15 p_cores.times do |offset| 16 Process.fork do 17 logger.info "[BATCH-PROCESS-LOG] Starting thread - #{offset} " + 18 "assigned # #{job_ids[offset]}" 19 20 # Keep job track through the created process pid file. 21 pid_file = File.join(RAILS_ROOT, 'tmp/pids/', "#{job_ids[offset]}.pid") 22 File.open(pid_file, 'w') {|f| f.puts Process.pid.to_s} 23 24 # Since fork process is created from the sample of the parent 25 # process's memory so we need to reconnect all live connections. 26 begin 27 ActiveRecord::Base.connection.reconnect! 28 29 # Retrieve data from the specific row through the defined 30 # offset and limit 31 teams = p_model.find( 32 :all, { 33ffset => (offset * total_items_per_core), 34 :limit => total_items_per_core}.merge(p_conditions)) 35 36 block.call(teams) 37 rescue => $e 38 logger.error "[BATCH-PROCESS-LOG] Exception raised during " + 39 "execution - #{$e.inspect}" 40 end 41 42 # Remove pid since we are done here! 43 FileUtils.rm(pid_file) 44 end 45 end 46 47 # monitor whether the process is completed or still in progress 48 # don't return this method unless all the forked processes have 49 # completed their job 50 sleep(2) 51 52 while 1 do 53 fully_completed = true 54 for job_id in job_ids 55 pid_file = File.join(RAILS_ROOT, 'tmp/pids/', "#{job_id}.pid") 56 if fully_completed && File.exists?(pid_file) 57 fully_completed = false 58 break 59 end 60 end 61 62 break if fully_completed 63 sleep(2) 64 logger.debug '[BATCH-PROCESS-LOG] again...' 65 end 66 end 67 68 end 69
here is the usages code -
143 execute_in_multicores(p_total_cores, SomeStuff.count, SomeStuff) do |some_stuffs| 144 # Do.. whatever you wanna do with the stuff here! these are gonna run on multicores! 151 end see it is really simple!_) if you like it let me know! how much you like it
_) here you can find the code on github best wishes!
Posted in framework, multicore process, Ruby, ruby on rails, tekSymmetry.net
Posted in ruby on rails
In response to motivation beyond career kick start (on agile bangladesh)
Nice post indeed! really loved the topic!. thanks for the post!
I liked riasul bhai’s comment, it explains a lot.
in 2003 i kicked started my IT career doing part time web development job in a company,
i did my secondary and higher secondary school in commerce faculty as my dad wanted me to study further on commerce.
after completing my higher secondary school, i was suppose to choose my business college to complete my under grad.
at that time i took the risk i invested myself. ate my own fear and kicked myself to ignite.
though everything happened without my own concern (because i was really loving the way it was moving on),
i started studying in IT college later i hated and dropped out. as i was getting an impression
that i’m studying to let someone certify me. as i don’t wanna be certified by other as i will be certified by my own creation.
lastly, i told my dad “i’m not chasing your dream i’m chasing mine”. since then i felt like i am “working for fun”.
money or financial improvement is byproduct. money was never my motivational factor where it does for my parents
since they are not from IT background and they can’t measure how i’m progressing.
i guess this is very common challenge thus most of the people can’t control their temptation, so they move company for better salary or financial benefit.
i again ditto raisul bhai’s opinion, many people think money is the factor but it’s not exactly the reason to leave a company,
as long as company environment has enough fun and challenge to live with.
i saw many talents want to settle early in the life and they dream the same thing as zillions of the other people do on earth. (i.e.. getting married, having kid, own apartment, car and bla bla)
i think this should be changed, guys should have more passion on learning and patience for climbing up to the peak of the intellectually hill.
guys!, just chase your own dream, just wake up be what you dreamed and dared to be
_) just have fun! be your own idol be the icon for others.
money can buy so many stuffs, but it can’t buy what you have dreamed about.
we need more passionate coder (architect coder), passionate product owner (who just love to interact with client and team to build the better software), passionate scrum master (who just love to facilitate people)
i think company needs to care about few responsibilities -
1. company should grow up
2. Be trustworthy, honest and earn your respect (as a company, brand, manager whatever)
3. they should treat developers (programmer, tester, designer) as human not machine
4. they should pay them the fair amount of salary so they don’t have to be concerned about it.
5. they should facilitate them placing themselves on their side.
6. they should build relation rather not employee and boss culture
7. they should help to create an environment where everyone (even the newly joined one) can speak out loud enough to be heard.
so everyone knows where is the frustration hides.
8. they should help to create an environment where people never backstab rather they speak face to face and help the colleagues to be better human, better team member.
9. management should be the first team who demonstrates their accountability then expect everyone to do the same.
best wishes,
btw, this is my birthday writeup
_)
On Dec 20, 10:17 pm, Mostofa wrote:
> Well ..
>
> When you started off your career in IT what motivated you to choose a
> company ?
>
> Was it the salary or something else ?
>
> I had some negative experience on this recently and would like to know
> what others think .
>
> regards,
> Mostofa
Original thread on agile bangladesh group
Posted in adopting, dream, motivation













Recent Comments