Twitter and the #IranElection

I’ll admit…I used to be one of those that looked at twitter for the first time, and just thought it was worthless. I joined, I made a few tweets, added a few friends, and that was about it. Used it at Microsoft PDC to find out some cool events going on, but that was really it.

The Iran crisis has shown how powerful and useful it is a communications mechanism. I wonder if the founders ever thought it could be used like this, or if they only were thinking about making some cool web 2.0 website to impress their friends. The flow of information just simply cannot be stopped, and it’s failing in all of these countries like Iran, China, and other’s that feel the need to censor what their citizens can know about. The use of VPN, proxy servers, Tor, and other future technologies will make this next to impossible for governments to do this.

The world is watching what is happening in Iran through twitter, and Facebook, and Flickr, doing what the traditional media members cannot do right now. It’s a historical moment to see both the events in Iran, and how they are being broadcast out to the world.

Xdebug, eclipse, and PHP

I wanted to try setting up a debugger for PHP on my Kubuntu dev box. After struggling for a few hours with setting up the Zend Debugger on my LAMP server, I stumbled onto this page, which had me up and running in about 5 minutes:

http://techmania.wordpress.com/2008/07/02/debugging-php-in-eclipse-using-xdebug/

I can now step through my PHP, view variables, set breakpoints, etc, on my Kubuntu 9.04 machine. Wish I had tried that first over the Zend debugger.

A followup to my last post about career goals

I was at a Microsoft event a few months back, and attended a Brian Prince’s talk on Career Introspection. One statement that struck me then, and remains in my head today:


Change
the company you work for, or change the Company that you work for.

I feel that I’m in the ‘former’ group, trying to push through modern technologies and breaking new ground. I feel like at some point I’m going to feel like I’m pushing a rope though. However, like Brian suggests, I did commit myself to stay this year, and I have a good idea of where I want to be at the end of ’09 (I have half a year to make it happen). We’ll see how close I end up.

Overall, the most important items from Brian’s talk was to make sure we realize that the company is not going to manage your career for you. Your manager will be plenty happy if you continue to do a great job exactly where you are today for the next 10+ years. You have to manage your career and make sure your job lines up with your career. To do this:
  • Find some recruiters, maybe through LinkedIn.com: Having recruiters in your network is a good thing, and I’ve had several conversations with them. It never hurts to hear about a new opportunity, or to chat with them about what skills are big in your area. I’m always upfront and say that I’m probably not looking to move, but it’s good to have the conversations.
  • Keep your resume ready: In today’s job market, things can change quickly. I’m sure that a lot of my colleagues who are in the same position for 15-20 years were not ready for what happened. I have a resume that I update every few months, because you never know what’s around the corner.
  • Network: User groups, such as .NET SIG, Java, Linux, are a great way to hear about opportunities. Training events where you’re sitting in a room with people from other companies, or big industry events like Microsoft PDC are a great experience. I learned a lot by chatting with other’s at PDC, and it was great to poke my head out of the shell a bit and see what was going on. My passion for new technology was awakened after PDC when I realized how far behind my company is.
  • Freelancing: Yes, the extra hours suck and it’s difficult to find work, but if you don’t feel that you are doing what you want, consulting is a great way to get started. I’ve been able to use a lot of technology that my company doesn’t use. Incidentally, I’m now starting to use some of what I have done as a consultant for my day job, and it has helped a lot.
It’s hard to say with any certainty what will happen this year. All I know is that I need to keep reviewing where I’m at, and trying to figure out where I want to go and how I get there.

Career crossroads…

I had a call from a recruiter Thursday at work about a job opportunity using C#. I wasn’t really interesting in jumping ship at this point, but I always like to return these type of phone calls, because you never know. I told her I didn’t have much experience in C#, most of what I’ve done for the past 11 years is using C++. She said the client wants C# experience, and even though C++ is similar in many ways, that doesn’t count.

Which immediatly started to worry me. My company tends to prefer old technologies and old way of doing things (jumping to Scrum being the only real diversion). Am I eventually going to take myself out of the job market, like the Cobol programmers who never picked up another skill after new languages surpassed it?
Sure, through my consulting efforts, I have done some PHP and Ruby on Rails, but that doesn’t match up to someone with 3-5 years experience. And .NET, which is really the market leader here, is something that I’ve only used to write things like test clients and other apps that are not meant to be shipped to customers. I’m now doing some Java for work, but I have about 2 months experience, not the 3-5 years that I would need to apply for a job in that space.
Talking to the recruiter, she said .NET jobs far outweigh Java and C++ in this area. She also said the Cleveland job market ‘sucks’ now for IT, which isn’t surprising since it was a shitty job market for IT even when we weren’t in a recession.
The big question is how do I fix this. Do I continue to push for change in my company, to move forward in technology? If I only keep working with the technology that my company wants, I will be pushed out of this job market. Do I try to do more consulting work where I can use these newer technologies? That seems like the logical choice, but it comes with a cost of personal time/family time, etc. Or do I just dig in, and prepare to be at my current company for the long haul (meaning learning new technology isn’t as important)?

So long Time-Warner…

After reading far too many stories like this about Time-Warner’s internet policies, we’re dropping them for AT&T DSL. Now, I have no problem with companies earning good profits, but the low bandwidth caps along with the fact that their bandwidth costs are so low, pushes me over the edge. Now their blackmail attempts by withholding DOCSIS 3.0 make it an even easier decision.

We ended up with AT&T DSL….for now….my $35 6Mbps package is ~$10 cheaper than TWC, but I’m only getting about 2 Mbps down right now. Not too happy about that. It looks like we can also do AT&T U-Verse for much faster speeds (without actually getting the TV service), so we might upgrade to that later on. However, if we can only get 1/3 of our download speed now, I’m not sure if the U-Verse DSL will be that much better.

My First Symbian App…

I just recently purchased a Nokia E71, and have found a ton of good, free software out there. One app that I really wanted, but couldn’t find, was some kind of stock application. After searching, I’ve started to write my own.

I started reading about Symbian development, and more specifically their Java environment. It looks like there is really good support for J2ME, and it seems that Symbian was an early adopter of Java on their OS. The development tools are all free, and run on Windows/Linux without costing you a dime.

I’ve been impressed with the emulator environment so far. With my Windows CE embedded experience, the emulator was never really an option and we always had to debug on real hardware. Which is good and bad. While I have yet to actually run my application on my phone, it seems to run well on the emulator.

Another thing I like about Symbian development is being able to work with C++, Java, and Python. So far, I’ve only tried Java, but I’m feeling the urge to try out the other ones.

So there’s a screenshot of my stock app so far, just using some hard-coded static data. I’ve started to write some code to pull the stock data off of yahoo (is that allowed?) and update the screen with a refresh command, but now I’m just trying to make it not look like a 4th grader designed the UI (which is a tough task since I don’t write UI’s, ever, unless it’s something that a customer won’t see). I’ll take any UI advice that you can offer.. 🙂