Procedure for making changes and deploying those changes to the web site which is powered by Wordpress:
All links should be relative using /. Do not hard code the URL scheme or the host name.
We should have a web based tool to copy the database from one environment to another. We never make change to the production wordpress database. To make change to the web site, we must first copy the production database to another environment (probably the QA environment), make all the changes in that environment, do a thorough test on all the changes, and then copy the database from that environment to production.
We do nightly backup for the wordpress database on production.
The above scheme may work well, but we may lose user comments.
How to mask different ports?
Because we have different products which maybe implemented using different technology, each product may need to run on a different port, how can we allow transparent access to each product so that we do not have to remember the port numbers? To do this we can set up an Apache VirtualHost which proxy the request to different port for different product. We can also set basic authentication, force https on certain resources, and other things that the technology being used by the product does not offer.
- We should take break (days off) between the cycles to recharge ourselves
- Use e-mail for notification. The email should not contain the data that need to be discussed. What ever tool we use for collaboration should be able to send out the URL for the resource being discuss. The sender address should be moc.baltlob|ylper-on#moc.baltlob|ylper-on. If the recipient accidentally reply to the email, he should receive a bounce message.
- Sign up for AWS free usage
- Set up Subversion server (allow access through an SSH tunnel, no http)
- Install wordpress for in.boltlab.com
- Set up Tomcat to run the Java application
- Install Redmine or or MantisBT
- Install rsyslog. Configure it to work with Apache (both error log and access log), subversion, logrotate (keep the log files for 7 days).
- Put together a script that I can use to delete stuck email queue for Clinical Cafe.
- Extract out the tooltip library that I created for AstoundLearning and put it on github
- Learn Node.js and Meteor
- Learn more about using Selenium and other front-end unit-testing to test against the html prototypes. See if we can test the html prototype, and re-use that test suite to test the actual application.
- Learn "Ruby on Rails"
- Learn more about AWS (VPC, Email, HIPPA)
- Evaluate justinmind, axure, Fire.app to see if we can re-use the prototype code so that UI designer can focus on designing the UI, and back-end developer can focus on the back-end code that provides data to the front-end
- Evaluate tool to manage user stories. If all these project management stuff is too complicated, perhaps we should use Wordpress for project management. Perhaps, each week, we can create a new blog to document the tasks that need to be done.
- Blog (a blog post) about my background and the challenges that I have at X (see below)
Long term items:
- Parse the aggregated access log and store the result in a database. Keep it in the database for one day. We should be able to run the script that parse the access log at any time so that we can query the table that contains all the requests to debug problem. We also want to graph the load pattern to see historical trend, and project future needs. The aggregated access log can be parsed by a cron-job every 3 minutes, and it also submit the sum of all requests with that interval to Nagios.
What I want to do with the intranet?
The intranet is a communication platform, as well as a repository of knowledge which my contains some sensitive information. Therefore, in certain areas (in the intranet), information should flow freely among internal folks, and in other areas (in the intranet) information need to be protected by different realms. We can use Apache htpasswd Users and Groups.
Whenever someone publish a page, publish a post, or provide a comment, I want the system to email all users who should have access to the content. For this purpose, I may need to write a plugin that would query the htpassword file and retrieve all users who should have access to this content. The htpassword database does not contains email, so when I configure the users, I must make sure that the username that I put inside htpassword file match the username used by Wordpress.
Perhaps we can use some iphone / mobile RSS reader which we configure to remember the authentication credentials (htpassword user name and password).
The home page of the intranet should show an activity stream.
Naming themes for our releases / conference rooms / anything:
- Popular city / vacation spots: when going into meetings, it’s nice to counter act any feelings of stress, anxiety or intimidation with themes that create positive emotions, as in the feelings generated by getting away
- World leaders
- Popular athletes
- Popular movie stars
- Popular singers
- Greek Gods
How to pin a web site or mobile web application to your mobile device home screen?
eHow: How to Pin a Bookmark to an iPhone Home Screen
Open source micro-blogging software:
The idea behind this is to allow us to blog, tweet, share information, update our thoughts and status from anywhere using our mobile device. We will be using Wordpress for our corporate intranet. Of course, our intranet will be locked-down. On the intranet landing page, we should be able to see activity stream from our micro-blogging app. Ideally, we should be able to use Wordpress from our mobile device and we would not need a micro-blogging software, or we can use a micro-blogging software without using Wordpress.
How to detect mobile browser from the server side?
If the mobile user hit the regular home page, redirect him / her to the home page for mobile devices. The home page for mobile devices would have a link to allow the user to view the regular content. Perhaps we can do this using mod_rewrite (if certain parameter is present in the URL then our server would not redirect the user to the home page for mobile devices).
The idea is to achieve clear separation of responsibility between UI designers and back-end developers. UI designers should not have to wait on the back-end developers to make a change. Back-end developers should not have to tweak UI stuff. If we achieve this, we would be a lot more efficient.
Open source project management tools:
If we use Gmail Tasks, can we share our task list?
Open source collaboration tools:
Open source mind mapping tools:
What is mind mapping and how it can help us?
Open source bug tracking tools:
Open source ERP / CRM tools:
Open source time tracking tools:
Open source test case management:
http://www.octantsoftware.com/EMS For Proposals and Proposal-Management/Sales Capture and Proposal Management Software For SharePoint and Documentum.htm
Challenges that I have at X:
- I am a bit shy. I don't talk about myself enough. And due to a variety of reasons (family, language), I tend not to hang out in a group. Therefore, I would like to use this page as a forum to share with you my background, believes, and challenges so that we can work together on the same level of understanding.
- My first hand experience with Agile Development. The core principles of Agile Development.
- I prefer transparent culture. If I am struggling, I want my peers to know (without me having to tell them, or the environment allows me to tell them of my problems seemlessly) so that the team can help me to solve the problem move the entire company forward. I believe that if one person fails, the whole company is impacted at some level. Of course, the world is not perfect. There are people that will take advantage of this and try to put me down, or to argue in their favor, but collectively, the entire team would know.