Archive for the ‘Random Thoughts’ Category

Lumbar Epidural Steroid Injection

Friday, June 19th, 2009

Today I had a series injections of anesthetics and steroids in my spine. These are supposed to temporarily relieve my pain over the next two or three weeks. After that, we get to see if I am still in pain, and how bad it is, and that will be the lead determining factor of whether I go in for a discectomy to take care of the herniated disc. The discectomy would be a minimally invasive micro endoscopic procedure, which depending on the results may or may not be an outpatient procedure.

The shots I had today were painless, and the radiologist who administered them was amazing. The hard part though was lying on my stomach long enough to receive the injections. This three minutes of lying on my stomach was probably one of the most painful experiences of my life. My back just can not support that position right now. But relief came quickly afterward, so the three minutes of extreme pain was worth it.

What I’m hoping for, of course, is that after three weeks and the wearing off of the steroid injection, that the ejected disc material pushing up against my sciatic nerve will have been reabsorbed or receded away from my nerves. That’s really the source of all this pain; not the rupturing of the disc, but rather the pressing on and displacement of my lumbar nerves. If I’m not in pain after that, I can start some more serious physical therapy and hopefully get some strength back. But the radiologists reaction to my MRI was not encouraging, and he gave the impression that any relief he could offer would only be temporary. Only time will tell.

New England Baptist Hospital was impressive though. No smoking anywhere on their campus, super clean and modern, all the support staff were in suits… it just felt like a very well run operation.

In light of all this JobVent.com prospecting goes well… I’ve had several good conversations over the last few days. The power of online social networking in situations like this is becoming extremely clear. LinkedIn and Twitter have been indispensable.

Ouch

Monday, June 15th, 2009

My Herniated Disc
I’m trying to sell JobVent.com. Here’s why.

About a week ago, I had an MRI, which revealed a 19.4mm herniation in the disc between my L4 and L5 vertebrae. What happens when you have a disc herniation is that the outer casing of the disc ruptures, and the gel within the disc is forced out. In some cases, the herniation is bad enough that it puts a great deal of pressure on the nerves that run through the back of the spine. This is currently what is happening to me.

Walking is now difficult, sitting in a chair even more so. And we software developers, well, we like to sit in chairs. I’m comfortable when standing, but only after standing for about 10 minutes.

It seems more and more likely that I will be having spinal surgery to address this problem. We’ll find out after I talk to several surgeons.

After the family tragedy we went through this winter, and the pain I am going through right now, its becoming more and more difficult for me to find energy and time to maintain JobVent.com. I find myself with several new main focuses in my life, and these are as follows:

  1. Recover. Be it through surgery or physical therapy or a combination of the two, I simply cannot function while in this much pain. My main goal right now is the restoration of my own physical health.
  2. Family. We had a very tough winter, but we go on. My wife is my world. We will have children.
  3. Work. I write great software, and my main focus is mobile development. I enjoy it, I work with an amazing team, and we’re going to continue building amazing products for multiple platforms.

Unfortunately, as you see, JobVent.com does not make the list. So if you, or someone you know is interested in acquiring what turns out to be a fairly popular website, please, send me an email. I’ll answer any questions you have.

Interview Question

Tuesday, April 7th, 2009

I just read an interesting article about a well known marketing executive in NYC. One specific part of the article talks about how horrible he was to work for; the example given is that he would make employees do push-ups in front of clients (the reason for which is not provided).

This got me thinking about a story I heard once about an interesting question encountered at a job interview. The question was “What would be your response if I asked you to do some push-ups?” The job being interviewed for was something software related, development or testing; I forget. The nature of the job is unimportant except for the fact that there are not any physical requirements for the job, other than being able to show up at the office and operate a computer.

The answer that landed the job? “I’d ask you why you want me to do push-ups.”

From what I understand, the employer in question would not hire anyone that upon hearing the question decided to get down on the floor and do push-ups. Nor would they hire anyone who asked “How many would you like?” or any variation thereof. Many candidates when asked this question immediately got defensive, telling the interviewer it was inappropriate for them to ask for push-ups at any time, especially during a job interview. These candidates were also not considered for the job.

What most candidates for this particular company forgot to do was listen to the question. No one was asked to do push-ups. A question was asked about a hypothetical scenario in which an interviewee would be asked to perform a physical activity. The ideal candidate would know there is something wrong with an interviewer asking someone to do push-ups, but would be inquisitive and open-minded enough to inquire as to “why” push-ups would be requested before making their decision. Those candidates that immediately became defensive of their right not to have to do push-ups are not considering that there may be, even though they are unaware of the possibilities, a valid reason for such an odd request. It represents a closed-mindedness that the company was trying to avoid having in their employees. Candidates who immediately decided to do push-ups or ask for details about the push-ups they were about to do, while obviously eager to work for the company and willing to sacrifice, did not listen to the question, and lack the important instinct to question authority.

So, remember its OK to ask “why” during a job interview. But if an interviewer actually asks you to do push-ups, ask yourself if you’re OK with that level of disrespect.

JobVent on Good Morning America

Tuesday, August 5th, 2008

Yesterday, JobVent.com and a few sites like it were discussed on ABC’s Good Morning America.

Here’s the link:
http://abcnews.go.com/Video/playerIndex?id=5509206

Traffic spiked yesterday due to the segment, and has now tapered off, but is still higher than normal.

iPhone GPS Development and API inadequacies

Thursday, July 24th, 2008

I’ve been writing an application for a client utilizing the GPS functionality of the second generation iPhone. I’ve found that the interface to the location data leaves a lot to be desired.

On the iPhone you have no idea where the location data is coming from. The iPhone uses a combination of cell tower triangulation, wireless access point mapping and GPS to get a fix on the phone’s position. With the provided SDK, all you get is a geographic point, and an accuracy. You can not ask the system how it determined the point; it would be nice to know if a point is based on satellite data, or if it is from another source.

I’d like more access to the raw data. On an HTC device running Windows Mobile, I’m getting much more precise data regarding my location, and I know the source of the location data is definitively the GPS satellites. I know the strength of my signal based on the number of satellites the GPS is reporting. None of this data is available on the iPhone; you only get what the Core Location Manager decides to give you, along with an accuracy level in meters, which is a bit vague.

Lets say that it has been 3 minutes since the Core Location Manager has given any position data to my application. I have no way of knowing why. Has the user not moved? Is there no location data available? Has the device gone into power save mode?

The inability for 3rd party application to prevent the iPhone from going to sleep is a huge issue for GPS based applications. When the device is asleep, our application stops receiving GPS positions, even if the device is in motion. The best we can do is include a notice to our application users that they must manually configure the device before using our application to prevent the device from going to sleep.

So now the user has configured the device to stay awake. Great… our application keeps running, we get the full path as the device is moved from one location to another over the course of a few hours. But the screen stays on, which is a huge battery drain. We don’t need the screen to stay on; just the GPS and the application. If Apple were to expose advanced power control features to third party developers, it would be extremely helpful.

IRC and CakePHP

Tuesday, June 3rd, 2008

So I have recently jumped into CakePHP development with both feet. There is definitely a learning curve, and I’m often tempted to just do things by hand as I’ve done it in the past. Why spend 4 hours looking for a solution for a very simple problem where if I produce the HTML myself it would take no more than 3 minutes? But I’m committing to using a framework because from everything I have read, this will ease long term development efforts.

I am, however a little disappointed with the documentation. As a newbie, I shouldn’t have to dig around message boards and newsgroups to find out how to use their MVC to produce a view’s related select field. Google made it clear that I was not the only one to hit this wall when getting acquainted with the framework, though nowhere in any of the threads I read was the solution.

Enter Greg’s brilliant idea of IRC. I hadn’t been on there since college when I trying to compile Linux. But there it was, a #cakephp group on irc.freenode.net. I asked my question. No response. Politely clarified my question. No response. Reiterated my question. No response.

It wasn’t until I alluded to the fact that I was about to abandon CakePHP that any of the hundred or so people in the room decided to hear my question. Then I got called out for “threatening” them. But at least I did get the help I needed, from someone called liquidIce.

Having received the help I needed, I thanked them, and let them know it was now more likely I would stick with Cake. To which one responded “I was afraid of that”. Real supportive community you’ve got there. This is a problem I’ve read about before in open source communities; new users are looked down upon and condescended to simply due to their inexperience with a system. How can you expect to build your community when new users are shunned?

GPSTwit Beta

Sunday, May 25th, 2008

The first GPSTwit client is finally at a point where I feel comfortable letting other people have a look. Keep in mind, this software is nowhere near complete; what you’ll find here is a starting point. We’re going to build a ton of services on top of this: Mobile Social Awareness (where are my friends), Mobile Ads (Targeted ads based on your location), and others that I can’t talk about right now. And the application will improve vastly from this point on in… we just haven’t gotten there yet.

Download:
http://gpstwit.com/clients/WinMoPro/GPSTwitSetup.CAB

This software is currently Windows Mobile 5.0 and above only. This is for Windows Mobile Pro devices: those that have a touch screen. It will not work on blackjacks or Qs; in fact the only platform on which it was tested was a Sprint Mogul running Windows Mobile 6. You’ll need to have at least Compact .Net 2.0 installed on your phone before trying this software, as well as the latest firmware that enables GPS. And for now, you’ll need a Twitter account, until we enable other services, such as Facebook.

So if you’re a Mogul user, or any other windows mobile smart phone with built in or connected GPS, give it a shot. Please let me know your results: I’m expecting it to work on some phones/networks and not others.

Vista 64 on my Macbook

Sunday, May 25th, 2008

I recently picked up MacBook from a guy on Craigslist. Nice machine, a little over a year old. Core 2 Duo running at 2.33 Ghz.

I am, however, a windows user, and have no intention of making a permanent switch right now. I’ve been a Microsoft user and MS centric developer since the first MS DOS PC came into our household in the 80′s. I’ve got a few projects I’m working on right now which are for Windows or Windows Servers, so my reliance on Windows is not about to change.

The motivation for the MacBook however is that this is now a platform that a developer like me needs to be concerned with. I need to learn it and become as adept at writing OSX specific applications as I am with Windows applications.

I don’t want to carry around 2 laptops though. And while virtualization could work for me, I’m not comfortable running one OS inside a virtualized (fake) hardware environment, where access to the hardware is severely deprecated. I would be partitioning the 200Gb hard drive in two, and booting Vista from its own partition, as well as OSX.

Now, its a 64 bit processor. I really wanted to try out Vista 64, instead of 32, which is what Boot Camp was saying was the only supported option for my hardware, given its relative age. Installing the “unsupported” OS was easy: use Boot Camp in OSX to partition the drive, and when the Vista 64 installer is running, format the new partition. Once the windows install is complete, boot into windows, and with your OSX (10.5.2 only) disk, run the file D:\Boot Camp\Drivers\Apple\BootCamp64.msi. You have to do it this way because just running the file D:\Setup.exe will result in OSX telling you that Boot Camp x64 is unsupported on this computer model. Rubbish!

All the drivers install, and Windows works beautifully, aside from the keyboard quirks. Remember, Fn-Delete performs a normal delete, not backspace.

Small Business Email – A Decent Solution

Wednesday, May 21st, 2008

I’m a big fan of Exchange Server; in fact, next to Visual Studio 2008 it is probably my favorite piece of Microsoft Software. In a large corporate environment, Exchange Server is an easy to manage solution for providing email for thousands of users, which works seamlessly with Outlook (another product I’m fond of) as well as a plethora of devices, including Windows Mobile phones and PDAs, Palm Pilots, Blackberries, and now even the iPhone.

Large companies have the resources to have someone manage their Exchange servers and the rest of their IT infrastructure. They have the budget to spend on the tools that adequately block some level of spam, without which email would become fairly useless.

I know very little about Email server management, but as part of a family that runs a small business, a few years ago, we installed a Windows 2003 Small Business Server. Part of that relatively affordable package was Exchange Server, which was great, because we were using Outlook on the clients anyway, and everyone wanted mobile device support. And it worked great, for a while. We opened up the necessary incoming mail ports, changed our MX record to point to the server, changed all the client configs to use Exchange instead of local PST files and POP3 accounts, and we were up and running. We even had Palm Treos and Windows Mobile handsets working across different mobile providers working with Push Email. Everyone was happy.

And then came the SPAM. Just a trickle at first. So we implemented Intelligent Message Filter on Exchange. And we got our slight decrease in SPAM, for a while.

Keep in mind at this point Exchange is an absolute necessity. The calendar integration with outlook and Excel is at the core of the scheduling of my families small business. They rely on Outlook Web Access while on the road and need their outlook clients on multiple computers per account to all stay in sync. There are cell phones as well as old PDAs that need to stay in sync with the calendars and email.

Round 2 of the SPAM was like nothing I had ever seen. Thousands of messages a day, across all users on our server, and these were messages that looked as if we were being spoofed, en masse. Which makes accountants very, very nervous. We would either have to hire a consultant or outsource our exchange hosting to an external service. There was a third option though. This was to continue using Exchange Server on our own SBS box, but have someone else handle the MX record. That someone else would need to be someone who is an expert at handling volumes of SPAM.

Both Google and Microsoft recently opened up the ability to have their web mail applications host an external domain’s email. Google’s solution is Gmail for domains, and Microsoft’s solution is Hotmail (Windows Live) for domains. They both handle and filter spam beautifully. The difference is the openness of the services. Google’s accounts allow IMAP as well as POP3 access completely free of change. Microsoft Live, did not.

Moving the MX record to gmail was simple; it was in fact an option built into our domain registrar (Dreamhost). Integrating POP3 with Exchange was not as straightforward though, because the POP3 Connector that shipped with Exchange 2003 had several limitations. The first limitation that would prevent us from using this built in POP3 connector to download email from the gmail accounts was that it only supported standard POP3 communication: No POP3 over SLL. The second limitation was the scheduling; the built in POP3 connector would only pull email from an external account once every 15 minutes. I’m used to somewhat more synchronous communication than that.

The solution was a relatively inexpensive 3rd party piece of software called Native POP3 Connector. It provided all the SSL connectivity we needed for POP3 connections to Gmail, and was able to be scheduled for very short intervals. It even allows you to specify how many threads you’d like it to utilize on your server when it is downloading mail.

We get very little SPAM now and when I do log into any of the gmail accounts (which is rare, because outlook/exchange is our main interface), their spam folders have thousands of new messages in them. I hope Google continues to allow us to use their service this way. They’re not making any money off of us, since we never see the ads they serve if we were to use their web gmail interface. It would make more sense for Microsoft to deploy a free service that we could connect our Outlook clients to, and remove our exchange server all together. This would at least keep us tied into a Microsoft product, which in the long term, is not guaranteed. Once we get better device support for a service like gmail and google calendars on our phones and old school PDAs, we’ll be able to pull the plug on Exchange/Outlook all together. And then our next server doesn’t really need to be running Windows, does it?

Microsoft should walk away from Yahoo

Monday, April 28th, 2008

The one time I visited a friend of mine in his office at Microsoft, he was working as a PM in the SQL Server team. Everyone I met there was super motivated about the product, and excited to be competing with other big companies in the DB industry. I overheard one conversation, and in reference to Oracle, one of the team members literally chanted “kill, kill, kill”. What I saw was a competitive environment which was breeding motivated, happy employees.

Yahoo employees clearly do not want to work at Microsoft. In the past few months there have been stories of mass defections of top engineering talent over to other companies, in particular, Google. If a deal were to go through between Microsoft and Yahoo, Microsoft would stand to claim thousands of employees who would have an attitude of having been defeated. These are not the employees Microsoft needs to compete with Google.

The employees Microsoft needs are its own employees. If Microsoft decides to walk away from this deal, which it should, this whole series of events can be used to drum up a competitive spirit among their staff. Yahoo didn’t want to join us? Fine, now we crush them. Build an environment around that which has the competitive spirit of Microsoft projects of the past. Vista’s lukewark adoption and bad publicity has probably been a severely demotivating factor in recent months, and a new target, in a space that matters more than a desktop operating system (web search/advertising/other distributed services), is probably exactly what they need.