Created http://jimplush.com to use for my blogging articles from here on out. The old software was just too much of a pain to maintain so I started out from scratch with CodeIgniter.
Why you should never read comments on blogs
November 30th, 2010
Here is an article from 2005 on techcrunch: 85% of College Students use FaceBook
http://techcrunch.com/2005/09/07/85-of-college-students-use-facebook/
And here are some insightful comments from TechCrunchers as always:
"I think that the Facebook is worse than pornography."
"I think Facebook is a really bad idea."
Its getting old and boring.
"I thought Facebook was the dumbest thing in the world"
"Honestly, FaceBook isn't that great. It's like LiveJournal for retards."
"Opening Facebook for high school kids is just stupid. Facebook should only open to those who are in college or University."
"Anyone else notice how the intelligence of the comments plummeted? This is exactly why I don't use the facebook (or facebook now is it?)."
"Facebook sold out when it started connecting college and high school"
I could post more but it's pretty hilarious to see how wrong most people are in the comment world. Ever since DIGG went to shit I've been avoiding comments in blogs and articles for that reason.
http://techcrunch.com/2005/09/07/85-of-college-students-use-facebook/
And here are some insightful comments from TechCrunchers as always:
"I think that the Facebook is worse than pornography."
"I think Facebook is a really bad idea."
Its getting old and boring.
"I thought Facebook was the dumbest thing in the world"
"Honestly, FaceBook isn't that great. It's like LiveJournal for retards."
"Opening Facebook for high school kids is just stupid. Facebook should only open to those who are in college or University."
"Anyone else notice how the intelligence of the comments plummeted? This is exactly why I don't use the facebook (or facebook now is it?)."
"Facebook sold out when it started connecting college and high school"
I could post more but it's pretty hilarious to see how wrong most people are in the comment world. Ever since DIGG went to shit I've been avoiding comments in blogs and articles for that reason.
New Twitter Account
November 8th, 2010
So I created a new twitter account should you care to follow: jimplush
http://twitter.com/#!/jimplush
http://twitter.com/#!/jimplush
This is one reason I quit corporate coding
July 22nd, 2010
I got this instant msg from a buddy today at Panasonic:
MyBud
1:07
today i got spanked for putting out issues of rolling stone that i was done with; apparently some female around here didn't appreciate the provocative pose of shakira on a previous cover
1:07 went to HR to complain
*sigh*
MyBud
1:07
today i got spanked for putting out issues of rolling stone that i was done with; apparently some female around here didn't appreciate the provocative pose of shakira on a previous cover
1:07 went to HR to complain
*sigh*
Farewell Panasonic
November 13th, 2009
After 5+ years at Panasonic I've decided to accept a new position with Blue Rover Labs. It will be an exciting change back to start up life and I'm looking forward to getting started. I bought a Civic Hybrid with carpool stickers this morning so I'm all set for the commute :)
It was a pleasure to work with everyone at Panasonic. They really do take care of their employees and that really made the decision difficult.
We'll see what happens in the future!
It was a pleasure to work with everyone at Panasonic. They really do take care of their employees and that really made the decision difficult.
We'll see what happens in the future!
I believe I'm a MySQL Certified Developer Now
June 8th, 2009
I just passed the 2nd test over the weekend for the MySQL developer certification. It was definitely harder than the Zend Certified developer test. There is no way I could have passed without some serious studying. The test covered tons of topics such as Client/Server Concepts, Joins,The mysql Client Program,,Subqueries,Connectors ,Views,Data Types ,Importing and Exporting Data,Identifiers,User Variables,Databases,Prepared Statements,Tables and Indexes,Stored Routines,Querying for Data,Triggers,SQL expressions,Obtaining Database Metadata,Updating Data,Debugging MySQL Applications,Basic Optimizations.
It's a two part, 70 questions per part test. I would definitely suggest getting the study guide as well as reading the online manual.

It's a two part, 70 questions per part test. I would definitely suggest getting the study guide as well as reading the online manual.

The Right MySQL Engine for High Capacity Servers
April 22nd, 2009
As you may know there are many storage engines in MySQL MyISAM, InnoDB, Falcon, CSV, Blackhole, Archive, etc...There is a storage engine that comes with the MySQL Max Download called the "Blackhole Engine". According to the documentation it basically dumps it's storage to /dev/null. A storage engine that doesn't store anything? What good could that be?
Well if you run in a high volume production system where you may have one or more master databases for writes/updates/deletes and a whole farm of slaves reading the log from that master than this may be of interest to you. The concept is pretty simple. You have a Master database that is in charge of all your inserts, deletes, updates which in turn has connections to all those slaves. That means network traffic, disk I/O, CPU power all taking up resources that you really want for the Master's primary goal of collecting and maintaining data.
This is where the Blackhole Engine comes in. The actual process of logging the SQL statements that hit the Master database that the slaves consume lives above the storage engine level in the main MySQL server level. So with the Blackhole Engine piping data to /dev/null you can actually use it as a proxy to your slaved databases without the need to duplicate the data on that machine (it could very well be on the same machine!). See below for an example image...

What you then have is the Master only replicating to one database, increasing the Master's capacity to process transactions. The slaves consume the log file from the Blackhole server. It acts as a proxy at this point, with the benefit of freeing up resources on the Master's server. This could also benefit multi continent replication set ups where you can have farms of blackhole servers farming data to farms of slaves around the global for faster local access times. The possibilities are endless!
Well if you run in a high volume production system where you may have one or more master databases for writes/updates/deletes and a whole farm of slaves reading the log from that master than this may be of interest to you. The concept is pretty simple. You have a Master database that is in charge of all your inserts, deletes, updates which in turn has connections to all those slaves. That means network traffic, disk I/O, CPU power all taking up resources that you really want for the Master's primary goal of collecting and maintaining data.
This is where the Blackhole Engine comes in. The actual process of logging the SQL statements that hit the Master database that the slaves consume lives above the storage engine level in the main MySQL server level. So with the Blackhole Engine piping data to /dev/null you can actually use it as a proxy to your slaved databases without the need to duplicate the data on that machine (it could very well be on the same machine!). See below for an example image...

What you then have is the Master only replicating to one database, increasing the Master's capacity to process transactions. The slaves consume the log file from the Blackhole server. It acts as a proxy at this point, with the benefit of freeing up resources on the Master's server. This could also benefit multi continent replication set ups where you can have farms of blackhole servers farming data to farms of slaves around the global for faster local access times. The possibilities are endless!
All this just for some MySQL training?
April 16th, 2009
So I had a little wiggle room in the budget and one of the things I wanted to do was to improve the team's knowledge level. I contracted out training and consulting with several firms the first of which is MySQL(sun microsystems). I wanted an onsite developer training course for a week. Seemed simple enough at the time, how hard could getting training be I already had the approval from the higher ups to go ahead. Here is the process I had to go through.......
1. Contact MySQL to put together a training package, work out costs, requirements, etc...
2. Get Statement of Work from MySQL to start the process on our side... ok everything is fine so far
3. SOW has to go through procurement (2 weeks), they start looking over all those "terms & conditions" pages that we all usually ignore, they make tweaks to justify salaries
4. Legal gets involved to help justify their salaries as well, giving blessing to Sun's terms and conditions.
5. SOW goes back to originating department for approval of new terms
6. SOW goes back to procurement to issue a PO number
7. Now with a PO number we can finally schedule the training session
8. Now with the date booked, email goes out to management for approval on lunches for the week for the devs and training
9. Need to find out who is in charge of the training room bookings, found the person, booked the training room for the week
10. Lunches OK'd now need to find the person who will be ordering/paying/managing the lunches for the week
11. Found the person, worked out where we can order from locally, assign the task of working with this person to one of the developers cause I don't have time for all this crap :)
12. Need to get trainer access for the week, have to start NDA and Badge process
13. Work with several different departments, first department sets up the NDA that the training will have to sign on arrival, had to fill out paperwork
14. Second department deals with badge access, need to fill out paper work for trainer's visit and define when and where trainer should have building access
15. Building access needs to be approved by higher ups
16. Third department deals with the laptop that the trainer will bring. Their laptop will need to be kept track of since it's not a Panasonic issued laptop.
that's about as far as I've gotten so far. Hopefully those are the last hoops I have to jump through. The sad thing is I have to go through all this for 5 more vendors in the next two months :(
**UPDATE**
A week later I was informed by legal that Sun/MySql's badge access was not approved. *SIGH* I had to be the one to tell them that MySql was here and gone and thanks for the timely response. They replied "WHO AUTHORIZED THIS???". I never replied at that was the end of it. "Security Theatre".
1. Contact MySQL to put together a training package, work out costs, requirements, etc...
2. Get Statement of Work from MySQL to start the process on our side... ok everything is fine so far
3. SOW has to go through procurement (2 weeks), they start looking over all those "terms & conditions" pages that we all usually ignore, they make tweaks to justify salaries
4. Legal gets involved to help justify their salaries as well, giving blessing to Sun's terms and conditions.
5. SOW goes back to originating department for approval of new terms
6. SOW goes back to procurement to issue a PO number
7. Now with a PO number we can finally schedule the training session
8. Now with the date booked, email goes out to management for approval on lunches for the week for the devs and training
9. Need to find out who is in charge of the training room bookings, found the person, booked the training room for the week
10. Lunches OK'd now need to find the person who will be ordering/paying/managing the lunches for the week
11. Found the person, worked out where we can order from locally, assign the task of working with this person to one of the developers cause I don't have time for all this crap :)
12. Need to get trainer access for the week, have to start NDA and Badge process
13. Work with several different departments, first department sets up the NDA that the training will have to sign on arrival, had to fill out paperwork
14. Second department deals with badge access, need to fill out paper work for trainer's visit and define when and where trainer should have building access
15. Building access needs to be approved by higher ups
16. Third department deals with the laptop that the trainer will bring. Their laptop will need to be kept track of since it's not a Panasonic issued laptop.
that's about as far as I've gotten so far. Hopefully those are the last hoops I have to jump through. The sad thing is I have to go through all this for 5 more vendors in the next two months :(
**UPDATE**
A week later I was informed by legal that Sun/MySql's badge access was not approved. *SIGH* I had to be the one to tell them that MySql was here and gone and thanks for the timely response. They replied "WHO AUTHORIZED THIS???". I never replied at that was the end of it. "Security Theatre".
Yet ANOTHER opening for Zend Framework Developers here at Panasonic
April 7th, 2009
We now have yet another opening for Zend Framework php developers here at Panasonic. To be clear this is the Avionics division of Panasonic, there have been ZERO layoffs in our division. We're meeting all our numbers. So lets get some decent resumes over here :)
jiminoc @AT@ gmail.com
jiminoc @AT@ gmail.com
Rebrand your web app just like AIG
April 6th, 2009
By now we've all seen that AIG has removed their logo from their main corporate headquarters in New York. The name is tarnished and they will be forced to re brand themselves to attempt to gain trust from investors and clients again. Phillip Morris just recently made the same move. So how does this help you with your application? We've most likely all had to maintain someone else's code base at some point. You're the new guy and you get stuck on the project no one else wants to do. Sometimes this project has high integrity and has a good reputation within the organization, then there are times where you are tasked with re-tooling or re-implementing an existing tool.
I find myself in a situation here where there is an existing tool that was contracted out to be built without supervision, not in a standard framework of any sort. It's a huge tool at this point over 200,000 lines of php code, javascript mixed in with php, no separation of code, functions declared in individual pages, Numerous security holes, really just an unmaintainable mess at this point. Let's say the application is called "X123". X123 has a horrible reputation here. Customer complains, internal complaints, etc... no one has faith in this tool. As we start the requirements gathering process for an internal rewrite the first order of business I wanted to get done was re-brand the new application. You don't want people mentioning X123 anymore. It's name is tainted, you want your new application to instill confidence. Now we can call it "A987" (names changed to protect the innocent).
No one knows "A987" it has a clean slate with our user base. It's up to us to keep that name untarnished. Re branding has already enabled us to work with stakeholders without the negative feelings X123 brings, people get exited knowing there is a new project to replace it. Sometimes you're in a position to re-brand these legacy internal applications, but what if you can't? What if the name is set in stone but is a tarnished name? The best thing you can do is let the user base know there is a new sheriff in town and you want to work with them to address existing issues they have. Create a bug reporting link on your application, treat each customer complaint like a stage 1 missle alert. Give constant feedback to users on the status of their bug reports, make sure you track all changes and send out release notes to show progress. Make sure you show people the app is moving in the right direction. Everyone has a customer, even for internal applications your co-workers are your customer, make sure you treat them as such.
Remember you and your team control how you are viewed to the outside organization or world. Professional programmers value that reputation and want to see it stay solid. Scripters are there for a paycheck and aren't overly concerned with customer satisfaction. Be a pro.
I find myself in a situation here where there is an existing tool that was contracted out to be built without supervision, not in a standard framework of any sort. It's a huge tool at this point over 200,000 lines of php code, javascript mixed in with php, no separation of code, functions declared in individual pages, Numerous security holes, really just an unmaintainable mess at this point. Let's say the application is called "X123". X123 has a horrible reputation here. Customer complains, internal complaints, etc... no one has faith in this tool. As we start the requirements gathering process for an internal rewrite the first order of business I wanted to get done was re-brand the new application. You don't want people mentioning X123 anymore. It's name is tainted, you want your new application to instill confidence. Now we can call it "A987" (names changed to protect the innocent).
No one knows "A987" it has a clean slate with our user base. It's up to us to keep that name untarnished. Re branding has already enabled us to work with stakeholders without the negative feelings X123 brings, people get exited knowing there is a new project to replace it. Sometimes you're in a position to re-brand these legacy internal applications, but what if you can't? What if the name is set in stone but is a tarnished name? The best thing you can do is let the user base know there is a new sheriff in town and you want to work with them to address existing issues they have. Create a bug reporting link on your application, treat each customer complaint like a stage 1 missle alert. Give constant feedback to users on the status of their bug reports, make sure you track all changes and send out release notes to show progress. Make sure you show people the app is moving in the right direction. Everyone has a customer, even for internal applications your co-workers are your customer, make sure you treat them as such.
Remember you and your team control how you are viewed to the outside organization or world. Professional programmers value that reputation and want to see it stay solid. Scripters are there for a paycheck and aren't overly concerned with customer satisfaction. Be a pro.
