Posts

Showing posts with the label technical

Technical Goals for 2011: Mid Year Review

Although we are already 2 months past the middle of the year, I decided to do a "mid year" review of my technical goals for this year to see how am I doing. Here we go: HAML, SAAS & Coffeescript : No progress :( SproutCore & BackBone.js : After a cursory look, I decided to explore Backbone.js for our upcoming project at Pothi.com. Still getting a feel of it. Learn Haskell : Deferred Git : Since Drupal moved to Git, it is hard to ignore it and I am beginning to get familiar with it. But given that we use trac, I don't think we will be leaving SVN anytime soon. Android : No progress SQL : Finally starting to dig into this. Not a very planned effort but in 6 months managed to understand few more nut and bolts of Mysql. Ran a few Explains finally :). Learnt to generate slow queries log and also managed to fix some obnoxious queries sitting in Ubercart. Beautiful Code : I realized that "finishing" beautiful code is not the right way to appr...

The saga of plain text password

Recently, one of the major Indian payment gateways, CCAvenue was reported to have been hacked. Medianama has good coverage of it including an interview with the very bureaucratic sounding CEO of the company . While a payment gateway getting hacked is a big news, the bigger revelation were the clear text passwords that came out of the compromised database. There have been a lot of comments and discussions about this all over the startup blogs. Reading through those comments it appeared to me that there is a lot of confusion regarding passwords and how to securely store and transmit them. Saurabh Nanda has a good little primer about things to read. This is my attempt to clarify some of the things involved. First a few basics. Any situation that involves passwords has 2 parties. The aim is to establish identity between parties. For simplicity, we will assume that it is the user that wants to establish his identity with the service. Login/Password system works on the basis of ...

The Technical Resolutions for 2011

When running you own company, every year is full of new challenges and learnings. And so was the 2010. However looking back, I am feeling that I didn't gain so much on the technical side. Recap The two major things that happened on Pothi.com this year were e-books and the launch of online distribution. Our e-book platform is in the first iteration and still very primitive. We have identified many issues by now which will get fixed in the installment. Online Distribution required a lot of overhaul to the basic pricing mechanism which meant bunch of new Drupal modules. And as the year ends, I am just about wrapping up the new sales dashboard which was long overdue! We also worked on couple of interesting projects over the summers with 2 interns both of which were in Python/Django. One of them made further improvements to blog2book platform. It is a shame that it has not been pushed to production yet. Primarily due to the memory troubles we are having on VPS and which I have been ...

Fixing Logrotate on Ubuntu Jaunty Server Edition

After about one year of having used the VPS based on Ubuntu Jaunty, recently I had the need to go look at my Apache logs. Now Apache log on my desktop machine are always nicely rotated by logrotate without me having to do anything. However on the server, I found a gigantic 1.2 GB other_vhosts_access.log staring at me with no rotation whatsoever in last 1 year. So I began to learn about logrotate. Running logrotate by hand produced the following which was obviously not true. abhaya@www$ sudo logrotate -d /etc/logrotate.conf rotating pattern: /var/log/apache2/*.log weekly (52 rotations) empty log files are not rotated, old logs are removed considering log /var/log/apache2/access.log log does not need rotating considering log /var/log/apache2/error.log log does not need rotating considering log /var/log/apache2/other_vhosts_access.log log does not need rotating The contents of the status file (/var/lib/logrotate/status) which logrotate uses to determine which log files need ...