It’s sad what people go through and are ultimately driven too, just because of who they are. Hate is unnecessary! We could all be so much happier if we all got along.
Author: johncongdon
I listed a bunch of things on CraigsList recently and started receiving a bunch of people asking me if I wanted to trade for crazy things. Do I want to trade my $300 item for a $25 camera? Of course not, so I just didn’t reply.
After the third or fourth one, I really wanted to know why they were asking me for these ridiculous trades. I brainstormed for awhile, initially thinking they were trying to get my email address to sell it. Then it hit me like a ton of bricks! They have an Amazon Associate Account (AKA affiliate account). They don’t want the trade, they just want me to click the link and forget about it. Now if I buy from Amazon any time in the next month, they will get a percentage of the sale.
It’s ingenious and yet so deceptive. Part of me wants to do this. But the honest part of me can’t. 🙁 Should I participate in this type of scam?
I have done this to myself many times. Have you ever thought, I want all my tables to look like XYZ. So you throw table { border-color: blue; … } into CSS.
The problem is now you are stuck with that for all tables. I think you should have a table style like table.blue_border { border-color: blue; …} that you can now apply to only the tables you want to with <table class=’blue_border’>.
You will inevitably need a standard table somewhere without the same style as the rest, but now you have to do more work to make that happen. Do yourself a favor, use a reset for all HTML elements, and don’t style them directly. Style a class that you will put on those elements.
PHP|Tek 2012
The Backstory
Two years ago, I attended php|tek 2010, and that is when my life began to change. I met a few people and had a great time, but I was overly shy and didn’t get as much out of the networking opportunity as I could have. One night, I went to dinner by myself at Harry Caray’s. A nice expensive dinner, with nobody to share it with… 🙁
This is not meant to be an “oh woe is me” post. However, this conference had a HUGE impact on me as a developer and my confidence from that point began to grow. I saw myself in a different light, and made it a mission to change myself for the better.
I can honestly say that TekX changed my life for the better. At least it was the catalyst for me to change my life.
The New Awakening
With the confidence from TekX, I began to do things like attend Orlando PHP and even considered starting up Daytona PHP again. Over the two years I continued learning as much as I could, attended user group meeting, local events (like PHP Codeworks), etc…
I then started hanging out in IRC and met some great people virtually. I learned about a fun podcast call “/dev/hell” and listened to Chris Hartjes make a really great point about being shy at conferences. I bought him a beer this year because of that simple point. Sorry, Ed, you weren’t there at that point, or I would have bought you one too.
Anyway, I stepped outside my comfort zone immediately by talking to someone (Tom, sorry I didn’t catch the last name) outside the airport. I wasn’t even sure he was there for php|tek, but I did it any way and had many great conversation with him the entire week.
I went out to dinner with different people every night of the week and had a blast. I joined into conversations, and even started conversations. This was no ordinary trip for me, it was exciting and I didn’t find myself shying away into a corner like I had in the past.
Thank you to all the great people that I had great conversations with.
I have so much more to say, maybe another post soon.
I am attending php tek12 next week. One thing that I think the tek team should do is make it super simple for me to choose the sessions that I want to attend.
My vision: Since the majority of each session on the schedule page is a link, maybe add a check box/radio bottom for each time slot. This would dim the other 2, making the ones I want to attend standout. The printed version would look nicer.
Also, if I am logged into phparch.com, a simple ajax call to store my choices, so when I came back, it would be all preselected set for me. And I could make changes if I wanted to.
Probably a little to late for tek12, but there is always tek13 🙂
HollywoodSEOGuru.com: 0 stars
The doctors office I go to has a website, as you would expect. I went there today to get a phone number, and when I went to their home page, I saw a rather humorous message.
If I were going to choose a website design/hosting company, it would not be one that tried to bully me, or embarrass me into paying them. If I owe the company money, I prefer they contact me for payment through normal channels. If I don’t pay, then simply take my website down.
I truly feel the hollywoodseoguru.com should not be used based solely on this disgusting practice. Shame on them. I would rate negative stars if I could, so 0 stars, do not use this company for services.
Moving On – About My New Gig
After 7 years full time at bowlingball.com, I have decided to make a change. This decision did not come easy, and I want to thank Keith Spear and the team at bowlingball.com for everything I have learned during my time there. I am a different person today (in a positive way) because of them.
My decision was based around the fact that my wife and I want to move out of state when we sell our house. I knew that when we moved that I would want to find a job doing remote development. I started thinking that if I made the change now, there would be many positive things because of it. One, I would have a job already in place during my move, this itself would lower my stress levels of worrying about that and a move at the same time. Two, by taking a remote job while waiting to sell my house, it leaves me closer to bowlingball.com to help with the transition. I in no way want to desert them and make it any harder on them. I know that they would survive, but I want to make that easier on them.
So, where is my new gig? I start on Monday, May 7, 2012 (the day after my wedding anniversary) working for Networx Online doing PHP development from my home. They have a fantastic business model that allows workers the flexibility to work on their terms. They request that I am available during normal business hours, but it’s not a hard and fast rule. I am really excited about getting started and have already completed my first task (changing my password on the development server).
I really want to thank Keith Spear for being so completely understanding. He showed me the upmost respect when he heard the news. While he may not have been happy about it, he was happy for me. He seems to support people that make a move to better themselves and lives by the saying:
“To change one’s life; Start immediately. Do it flamboyantly. No exceptions.”
William James
I received an email about upgrading AMTU today from Amazon. I tried following their directions for command line installation which were VERY lacking.
The XML file is a pain in butt. I am still not sure if the account name I chose is correct, or even matters. The Access Key, Secret Key, Merchant ID are all available in seller central with some digging around.
The Account Configuration took me a couple of minutes to figure out. Helps to jump to the bottom of their sample.xml file to understand more.
The Marketplace ID is also located at the bottom of the file. Hint, for the U.S., it is ATVPDKIKX0DER.
The real pain was actually running the configure command.
#sudo ./configure SETUP config.xml
Database instance started successfully with driverorg.apache.derby.jdbc.EmbeddedDriver
Welcome to Amazon Merchant Transport Utility version 2.1.8 Configuration Utility!
Error: file does not exist.
Request completed with errors.
That “Error: file does not exist.” was driving me crazy. Turns out, I just need the entire path to the file, not relative.
#sudo ./configure SETUP /ABSOLUTE/PATH/TO/config.xml
13″ Macbook Air vs 17″ Macbook Pro
I have been using a 17″ Macbook Pro since 2007, and a 15″ Macbook Pro before that.
My video card went bad 5 months after the NVIDIA would be willing to replace it for free. Frustrating, to say the least. So I had to make a decision to purchase a new machine, or pay to fix that one.
Here were my factors in purchasing the 13″ Macbook Air.
I have been noticing how much I don’t use the Macbook Pro in conferences, airplanes, meetup groups, etc… I have also noticed the weight as I have carried it through airports and also to and from work. The size and weight of the machine was a deterent to using it at times. I also have known many developers in my circle that use a Macbook Air all the time happily.
I have been using the Macbook Air for a few weeks and I am very happy with my decision. The screen size has not caused any issue like most people would think. The resolution is great and has been very usable.
The Macbook Air does not have a CD/DVD drive, but I have not needed it so far. I am sure I will cross that bridge one day.
My wife and I did end up fixing the 17″ Macbook Pro for her to use. She is happy with the machine so far, as she has needed a new laptop, and only uses it at home. So portability is not much of an issue for her.
I remember a couple of years ago I spent many hours searching for how to move from development to production. I was so confused. I am an experienced developer, but I have always done it wrong. I knew I was wrong, but I didn’t care at the time (shame on me).
Let me clarify, I did care. I wanted so desperately to do have a development environment and to stop making stupid mistakes in production, I just didn’t have the know how. Everything I read seemed to talk over my head, and I just didn’t understand. It seemed like I needed to know what I didn’t know to do what I wanted to do that I didn’t know how to do.
So what have I learned? It’s more about workflow and processes than a single answer. More like, find a workflow and stick to it. In the end, the chosen workflow only matters if you use it and stick to it.
Because I am currently the only developer, I use a simple workflow that works for me. I am committing all day and when I have something that works, I want it in production as quickly as possible.
My Workflow:
- My development and production files are on the same machine. I do this because I was used to working in production anyway, and I know that the environment is the exact same (Apache, mysql, memcache, all my tools)
- I use GIT for version control. (This was a huge stumbling block for me, I had started/stopped version control SOOO many times over the past years. It was hard for me to see the value as a sole developer with no “releases” to speak of.)
- I have a continuous integration server (phpUnderControl).
- I follow the Git-Flow model (very loosely)
- For daily work/small changes, I work directly on the develop branch. (THIS IS NOT A BEST PRACTICE)
- For extended large changes, I use feature branches (ALL WORK SHOULD PROBABLY BE DONE THIS WAY)
- When I am ready for something to go into production I have a “bumpVersion.php” script that automates most of it.
One of the biggest problems I had before this workflow was constantly saving a file and assuming everything worked. Sometimes I had syntax errors that I didn’t catch right away. With git hooks, I have it setup where I can not commit a file into the repo unless it passes php linting. This is run with php -l filename, which just checks the file for syntax errors. This has saved me many times since having this workflow.
My bumpVersion.php script:
This is a simple script that allows my git tags to be numerical (sequentially) and for my tags to be named in a consistent manner. It will also handle some other tasks if necessary, such as compiling/minifying javascript and CSS. This actually does quite a bit, by putting these assets into RackSpace CloudFiles and waiting to make sure they are available before continuing with the build. This prevents any changes from going into production until all the assets are available. In the end, it uses git flow release start/finish to create a release tag, this merges everything into the master branch. The script then pushes the master branch into a bare repo.
phpUnderControl:
phpUnderControl is constantly monitoring the bare repo for changes. As soon as it detects some, it does a git pull, runs the unit tests, if successful it then publishes the build. This really entails a simple call to another script that does a git pull from the bare repo into production. (THIS MAY NOT BE A BEST PRACTICE).
Conclusion:
Don’t be afraid when coming up with a workflow.