Showing posts with label thoughts. Show all posts
Showing posts with label thoughts. Show all posts

Saturday, April 26, 2014

Knowing All of Your Competition (For Good, For Bad)

Here on PEI, the IT industry is fortunate in that a lot of its business comes from 'off-Island'. It's the typical fairytale IT dream... you don't have to be where your clients are and as long as you have a decent internet connection you can be anywhere in the world. Or, to tweak the old adage, "On the internet, nobody knows you're an Islander".

People on the Island here that are able to have a clientele like that are living the dream, so to speak. The big city clients with their big city chequebooks, paying big city dollars to someone that gets to live in relative peace and quiet out of the way.

Now don't get me wrong... this is not just a PEI phenomenon. The point I want to make with this post is the same point I have made with different people at different times from all over the place. From PEI to New Zealand, there are people living and working this way, but I've found a number of them have a small blind spot.

Over the last few months or so, I've had a strikingly similar conversation with a number of these people. When I talk to them about what they do, they are more than happy to discuss where their clients are and what work they do. I tend to also ask them about the technology that they are working with, mainly because I'm nosey.

After finding out these sorts of things, I tend to ask: do you know anyone else around here (or 'there') that does similar work? It still surprises me, though, when I'm told "I don't know... all of our competitors are not here".

The reason for my surprise has a few facets, so let me explain.

Firstly, I'm asking about other companies that do similar work. I can see why that sounds like 'your competition', but really, it's not. If you're business is a Ruby based web app that tracks your dogs' visits to the dog park, why would you only consider other companies that do the same type of app to be 'doing similar work'? The fact that you're discounting the fifteen companies down the street that have Ruby web apps for tracking your cats' visits to the backyard means that you're not paying attention to the fact that they could pivot quite quickly and become your competition.

From that, what I consider to be 'similar work' generally means 'using the same technology' with a hint of 'in your problem space'. To me, knowing this is just as important as knowing who your competition is.

If you don't know who else in your area is using the same stack, then you don't realise the potential for being able to get help when you need it. If you're working with a Hadoop cluster and starting to bang your head on the wall, isn't it easier to drive 5 minutes and grab lunch with someone who's already been through that (or at least going through the same pain). Knowing these people is important as you want to be able to know who can help you (and who you can help).

Extending that somewhat, you may find that together you can gain some interesting 'purchasing power'. A company I know is using a random JS library for their front end application. All too late, they found out that another company was actually paying a large amount of cash to get on site training for the same library. Imagine if the first company knew about this ahead of time: maybe together they could have got a discount for additional training hours, or at least been able to schedule similar training the following week, knowing that the trainers were already here.

For me, those examples are the 'good' reasons you need to know your 'competition'.

The 'bad' reason comes from the fact that I'm referring to these other companies as 'competition', still. You see, especially when you're working in a small, out of the way place, these other companies are, at some point, probably going to try and hire someone out from under you. If you don't know which companies around you are using the same technologies as you, then you have no idea who might be trying to take away your human resources, right now.

Put differently, your company and products are just a really complex system for consuming inputs and producing outputs. Your obvious competitors are the ones that are trying to push their outputs instead of yours. However, never forget your inputs. If you don't have coders for input, you have no product for output. And just because your traditional competitors are not geographically near you doesn't mean that you can ignore those that use a similar technology as you do.

If you want to be surprised one day, ignore those people that are looking to hire your staffing pool (either current or future). As a bonus, if you know who these people are, you may just have a really great source of help, too...

Thursday, August 8, 2013

Not Going to NEPHP? Try Pandacodium Instead!

You may or may not have noticed that I'm heading to Boston next weekend for the Northeast PHP conference. You also may or may not have realised there was a little sarcasm in that last sentence.

But what are you going to do? Where are you going to be? What if I told you that you could attend a hackathon instead?

Well?

Pandacodium is an online, world-wide hackathon that's going to run for 48 hours starting on Friday, August 16th at 7PM.

I don't know if the theme changes every year, but either way, this one is going to be focussed on developing real-time web applications.

Although I've never been to a hackathon, and I'm probably going to miss the one in Charlottetown in a few weeks, it's something that I'm itching to do... and now you all can! Please, let me live through your adventures :)

Seriously: I urge everyone that can to take this opportunity to flex your coding muscle, stretch your comfort zone, meet new people and more importantly have a heap of fun! Head over to http://pandacodium.ca right now and sign up. If I weren't going to Boston, I'd be doing this.

Let me know if you're going to go in it... I want to hear all of the gory details!

Tuesday, July 23, 2013

Could Second Item Auctions be Used for Ticket Sales?

Every time a big concert, game, show or whatnot goes on sale, we invariably read people complaining about scalpers taking all of the tickets and then jacking up the prices.

Firstly, let me try and summarise my take on both sides of the argument. The anti-scalper argument is that because scalpers are buying as many tickets as possible, and because their business revolves around the fact that they can get these tickets, it means that the scalpers are going to always try and be first to buy, and have a financial incentive to do so. That is to say, the fans have less of a chance to buy the tickets.

The pro-scalper argument is that basically it's the free market, baby! When scalpers can buy and sell tickets for a profit, then that indicates that the original ticket price was 'wrong', in that the sellers were leaving money on the table so to speak.

So with that being my understanding of the problem, I ask: what would happen if tickets were sold off in the form of a second item auction? A second item auction is when you are auctioning more than one identical item, and basically the winners are those people that bid the most... with the 'twist' being that all winners only pay the lowest winning bid.

For what it's worth, I always thought this was called a Dutch auction, but that link to Wikipedia actually says that a second item auction can be confused with a Dutch auction, so I don't feel so bad...

So off the bat, this sounds like a horrible idea: in theory the scalpers are cut out of the process, as those people that are willing to spend big will do that directly with the seller. The fans are probably screwed out of the process too, though, as they are likely going to be outbid.

Over time, though, I wonder if the prices would fall, as there is going to be a group of people that are bidding higher than they would like, just to make sure they get to go to the show? In my head, at least, I think that as this goes on for a little bit and scalpers are essentially squeezed out of the market, these people will find that they can slowly lower their bids and still get tickets.

Either way, it would definitely remove a lot of the incentive for the scalpers, and would even remove the argument for the existence of them: the whole 'the price is not what the market is willing to bear'.

And who knows? Maybe the other fans will be happier, just knowing that there isn't someone there, buying tickets from under them simply to make money. Or not...

Wednesday, July 3, 2013

My Take on the Marshmallow Experiment


I just finished reading an article that apparently explains "What Marshmallows Tell Us About Silicon Valley". It's a take on the classic Stanford Marshmallow Experiment.

On and off, I have considered what I would have done if I were in that situation... and what would I do if I were in that situation now?

I honestly believe that it doesn't matter when it took place, I am 99% certain that if the 'marshmallows' offered were basically of equal value to me, I would eat the first one then and there.

Apparently that implies that I have little patience and not much self-control. While that is true to an extent (I mean, everyone can point to moments in their lives when that is true), I don't believe that is the reason for me eating the marshmallows straight away.

For me, it's a lot simpler: firstly, I don't really care that much for 'more candy' and as far as I can remember, I never have. For me, a second marshmallow in 15 minutes time just seems like a stupid thing to wait for... but then that may be what the experiment proves. Secondly, however, is something that I think more defines why I would not wait.

I was raised to believe that expecting a 'host' to have to do more work for me is unacceptable (where in this case, the host was the experimenter). As far as I'm concerned, a host provides their guests with a venue to facilitate a good time. Although they probably will have food, drink, music or whatever, I've never been to someone's home and then complained after leaving "man, they could have at least offered me a coffee!"

When I was a boy and my friends would come over, my parents made sure that they all knew to "make yourself at home". That means to feel comfortable and if you want something to eat or drink and it's not been offered, that doesn't mean that you have to go without. As my parents would say "you're a big boy... use your legs!".

On a tangent now, but I don't want to give the impression that our home was "that place" where everyone just raised themselves. Quite the opposite, actually. "Make yourself at home" meant "you're part of the family", not "treat this place as the place you live in". Therefore, conversely, if you didn't want to be part of our extended family, that was fine... just don't expect us to offer you the same courtesies. That meant some interesting interactions between my friends and my parents at times... but at least everyone knew where everyone stood!

Anyway, back to the marshmallows. If I am a guest somewhere and I am offered something, with the option of more later, then for me it would just be rude to expect my host to then have to go out of their way to organise the extra stuff. If it was already prepared and they actually wanted me to have it, they would have offered it to begin with. Anything other than that and they were obviously just being nice and I would obviously not want to put them out. If I wanted another marshmallow, surely I should get one myself at a time and place that's more convenient to everyone.

So, long story short: as far as I'm concerned, the reason I would take the marshmallow today has only a little to do with impulse control, and mainly all to do with the fact that I would consider it rude to have the host have to get me something else later on. Instead, stop worrying about me, sit down and have one yourself!

Oh yeah, and you could at least offer me a coffee :)

Wednesday, February 13, 2013

A Friendly Reminder About Something I'd Already Paid For

A few weeks ago I purchased a product online called Texture Packer Pro. The purchase went completely smoothly and without a hitch.

Imagine my surprise, then, when I received an email about my purchase the other day. To be honest, I was a little concerned.

Opening the email was a pleasant surprise. Simply put, the email was a timely reminder about the fact that I should expect a certain payee on my credit card statement, telling me how much it was for, who the payee was and, especially, what the purchase was for.

Such a simple little thing, at the right moment, and there will no longer even be a second of doubt when I look at my statement. I loved it, and intend to do a similar thing as soon as I start selling online, too.

And for what it's worth, if you're looking for a tool to resize and place images into a texture map (and let's face it, who isn't looking for one?) I can totally recommend it!

Tuesday, January 29, 2013

How FLOSS Software Became More Easily Accepted at Work

This was a long time ago now, but it was at a time when things were really starting to get big in the place where open source / free software and the Internet collided. It was also the time that we were looking to replace our in-house built, desktop based, bug tracking system.

It wasn't great, but it did the job. Even so, I started looking at a web-based bug tracking system that just happened to be licensed under the GPL.

I understood the requirements that were on us. I knew what it meant for us to use and change the code, and I knew what our obligations were for doing so.

Even still, a few people had concerns and I wasn't able to persuade them that we were OK. I suggested that we run the license past our (very technical) legal guy: if he knew what we intended to do, he would also know what was expected of us. My theory was, if he approves the license for our use case, then who really could argue differently?

The use of the GPLed software was approved and we went on our way. If the story ended there, it wouldn't be much of a story, though.

As time went on, we found ourselves gravitating to software licensed under GPL. But why? Quite simply, we knew two things: (a) legal had approved it; and more importantly (b) because the GPL itself is copyrighted, the very fact that legal had already approved that license meant that we didn't have to worry about fine print anymore!

All of a sudden, we didn't have to wonder "does this randomly drawn license for this particular software package allow us to do what we want?" and we didn't need to get 're-approved' to use the GPL (assuming we stayed within the parameters that we were given to begin with).

It was a weight off of our shoulders: almost overnight, we were confident that our understanding of the license requirements was correct, as we knew exactly what that license represented. We no longer had to try and understand hundreds of lines of legal terminology... we'd already done that once!

As time went on, we got a better understanding of a few more licenses (especially LGPL and MIT) and with that, we were able to make better and faster decisions about the libraries of code that we were looking at using.

It all really came down to the simple fact that because the licenses we were looking at were themselves copyrighted, any project that claimed to be using that license was not going to have some strange 'twist' to the license.

Yes, there were the odd times that the project tried to add a rider to the license, but even then, we were no worse off as legal would have had to look at it anyway.

To cut a long story short, these licenses made our lives easier because we all knew what we were able to do without ever really having to specifically analyse the license, simply because we knew that it couldn't have been modified from what we already understood.

And that made us happy.

Friday, January 11, 2013

Where's Lad Vampire and Muguito When You Need Them?

Another week, another call from "Windows IT Support" trying to get me to download some malware. I do my best to keep them on the line for a few minutes at least, but all it does is upset me, which leads to me calling them names and then fuming for a bit :)

Artists Against 419 is an awesome site that maintains a database of fake bank sites. Along with actively reaching out to the hosting companies etc., trying to get them to take the sites offline, they also used to have an application called Lad Vampire that was (I believe) replaced by another application called Muguito. These applications participated in what were called "virtual sit-ins". Basically they continually downloaded images and so on from the websites, helping to diminish the available bandwidth to the site and therefore making it less likely that a victim will actually be able to use it.

Some people may call it a DDoS, and to be perfectly honest, I might too. It didn't stop me running it though.

After my last call with "random IT support company" I wondered: at some point in the process of them 'helping' you, there must be something downloaded from somewhere. I'm not talking about the remote access software, but the malware that is intended to run in the background.

So where is the list of the servers that are hosting these files and where's the tool to continually download them? Unfortunately I'll never have the self control to get far enough into one of those calls to find out, but I tell you right now: if there's one use of my fibre-op connection I could get behind, it's downloading that malware as often and as quickly as possible.

For what it's worth, I know that random three letter acronym agencies are trying to deal with these companies, but in the meantime, surely there's something else we can collectively do?

Wednesday, December 5, 2012

Medium vs Regular?

"Run Lola Run" is an awesome movie. It's one of very few films I've seen more than once at the cinema. It's definitely the only one I've seen 5 times in one week.

The funny thing is, of all of that movie going, only one thing sticks out in my mind: my "discussion" with the owner of the place.

Firstly, understand that this was not at some mega-chain-cinemaplex... it was a small, privately run place. The owner was known to be quite self righteous and the only being more important than her was her little dog, that used to walk around the place and snarl at anyone it didn't like. Secondly, being in Australia, know that there are a certain number of people that dislike any form of Americanisms.

Anyway, it was the middle of the movie and I was sorely in need of a refreshment. I briskly walked to the counter and asked the person behind it for "a regular Coke". Note that the cashier behind the counter was not the owner... the owner was at the other side of the foyer at this time.

Apparently my request got the owner riled up, as not a split second after I asked for this "regular Coke", she called out (no doubt over the head of the dog but still down her own nose) "Regular? What size is regular? In Australia, we only have small, medium and large... I have no idea what size you are asking for".

A lot of the time I ignore this kind of useless banter. Other times, I bite. This was one of those times.

I looked at her in disbelief and said "firstly, it doesn't matter if you know what size it is, as I wasn't asking you for it. Secondly, regular would be whatever size is most regularly ordered here... I also don't know what size regular is, as I don't know what size is ordered most, but that's the size I want. I want whatever size is most regularly ordered."

The short "fine then" meant that I was free to continue the transaction apparently.

The best part of the whole interaction was the look on the cashier's face as they tried to stop laughing at their boss.


Every now and again I am reminded of this discussion, generally when I hear one of two phrases... both of which are relatively common in the software industry. The first is any reference to the Robustness Principle ("Be conservative in what you send, liberal in what you accept"). The second thing I hear a lot that reminds me of this incident, of course, is "Shut up and take my money".

Anyway, it only slightly soured the night. Thankfully, I had the rest of "Run Lola Run" to make up for it...


Saturday, May 5, 2012

Farewell HealthcareIT.SE

So I know that I've been absent lately as far as posting is concerned... new jobs always tend to push me underground for a little while. I'll be back up to breathe again soon, but I daresay I might end up with less 'tech' and more 'life'. But we'll see.

I did want to take a quick moment though and just give a shout out to the now closed 'Healthcare IT Stack Exchange' site. This SE site got as far as public beta, but was closed yesterday due to essentially a lack of support.

Going in I knew that it would be a hard fought battle for that site to get traction, but I hoped against hope that it would. Yes, there are other support sites out there for healthcare IT providers. Maybe I haven't looked hard enough but from the few ones I've found, they seem to be either targeted at one particular aspect or product or their not free. Yes, there are other IT support sites out there and I use them regularly. In fact, the reason I knew about the healthcare IT Stack Exchange was because of the regular usage I make of Stack Overflow and other Stack Exchange sites. But don't be fooled: healthcare IT has a lot of nuances, acronyms and assumptions that mainstream IT does not. A normal IT support site cannot do what the dedicated healthcare IT SE site did.

I don't consider this to be a rant. It's just an observation. I find it hard to believe that there's not enough people to make a go of a site like that. I have no doubt, though, that getting enough people to know of it's existence is another problem altogether.

There are a lot of healthcare IT workers. Deep down, I wonder if the lack of support of this site is a reflection on the demographics more than anything. I get the feeling that in healthcare, you're almost always a massive conglomerate and yet I've always felt that Stack Overflow and it's SE offspring are more 'startup-y' than other support sites.

To me, at least, healthcare IT requires some startup shake-up. That's why I am where I am at the moment. It's why I'm also rooting for companies like Drchrono.

Anyway, back to the site: it was a great thing to see that site start up and it's a shame that it never materialised into what it could have become.

Let this just be my public thanks to Steve Wranovsky for proposing the site in the first place, and to all of the people that tried to make a go of it. I did my best to make it active, even if it was just an answer or two and an off topic question :)

Whatever the outcome, I know that there is a need for a site like this and hopefully it will come into existence at some point in the future, once we get enough startups focused on this well deserving industry.

Tuesday, March 20, 2012

Write Once Memory

I used to work with a colleague who I believe had what I liked to call 'write once memory'.

Basically, once they had been exposed to an idea or a solution, it was learned. Straight away. Which is great, really, in that you never have to go back over that stuff again. In theory. Unfortunately, there was also no way to retrain the concepts learned. Which, generally, is quite useful, too.

I remember one time when this person was working on a particular section of the web application that we were co-developing. Working on a particular page that, when reloaded, threw a web server error.

Straight away, they got up out of their seat and proceeded to restart a totally unrelated data service, because they had "seen that error before and it's the data service that causes it".

It wasn't until I walked out of the room and sent them the line from the web application's error log to show that, no, really, it was in the file that you were editing, that they would even *consider* the possibility that it was their mistake. This was not because of some egotistical mindset that refused to accept that they may have been wrong... it was simply that "I've seen x do y before and so when I see y, it must be x".

I know that sounds like an isolated incident, but time and again this person showed me that once they learned a connection, that was it for life.

It was odd and frustrating.

But it did teach me one thing: to this day, I try my hardest to ensure that I've given a problem the best assessment possible before going and making hair trigger attempts at resolving it. Along with this, I always try to work out the cause-and-effect relationship of what I type and what I ended up seeing.

Who knows... maybe I can use those assessments to realise how much I actually learned from that colleague of mine.

Tuesday, March 13, 2012

What You Sell and What They Buy

So this post may be rambling. I apologise in advance...

My dad was a pretty good business man. I, honestly, didn't care too much for 'being in business' as a kid but I did try and pay attention to him. When I was in high school, he started talking about a book called "Behind the Arches", which is a fairly hefty book about the McDonald's corporation, right from the start of it.

I learned lots of interesting tidbits from that book, but the basis of one story sticks in my head. Because this is all looking back a *long* time I really can't remember the specifics but basically it came down to this: when explaining the process of the business to some students, they were asked "so, what business is McDonald's in?". The answer that was given was "fast food".

That answer was wrong.

You see, while McDonald's might be selling burgers, it was said, it's actually in the business of real estate. This is to do with the fact that the McDonald's corporation tends to own the real estate that most of the franchises are built on. A good portion of the income of the McDonald's corporation is from drawing rent, basically. When the time comes (theoretically? :) ) that the franchise is no longer making money, all of a sudden McDonald's has land to sell. And it has a *lot* of land. In a *lot* of high traffic areas.

What you sell is not necessarily your business.

One other bizarre scene from my life has stuck in my head, and it basically talks about the flip side of this little statement. I was at a town hall meeting once (actually, again while I was in high school) and it was attended by a gentleman from the Rocky Mountain Institute. He was talking about renewable resources and recycling etc., looking at it from a "this is good for business" point of view.

He talked about how companies were beginning to realise that what people are buying is not the product, but what the product provided. From there, these companies were realising that leasing products was viable and finally, therefore, the more they can reuse product the better.

There were two examples that I can remember. Firstly, there was the carpet company that realised that people that outfitted office spaces *really* didn't want to buy carpet: they did, however, *really* want to buy the fact that floors weren't hard and cold. This led the company to actually lease carpets, which then made it all the more financially wise to be able to reuse at much of that carpet as possible. The outcome was carpet that could be fed into a wood chipper, for all intents and purposes, and to be able to use 100% of the result to remake new carpet.

The other example was a company that made lifts for office buildings. Again, they realised that people don't want to buy a lift. Instead, people are actually just looking for a way to get to other floors quickly and efficiently. This led to leasing the elevators themselves, which then gave the company a financial incentive to make the lifts as service-able and as reusable as possible.

So that became the reverse of the first story: people aren't buying things for any reason other than the fact that they need that thing to get a result they are actually looking for.

If a mass produced, safe and fast teleporter was built tomorrow, would anyone be actually buying lifts? Of course not. But that is not something to be scared of, even if you make lifts! Why? Because you're not making lifts... you just happen to need to right now to fulfill the requirements of the customer. Because while you may be selling lifts, you're in the business of getting people around buildings...

It's really odd that those two things stuck out to me, because I always just imagined that it was coincidence. The more I think about it, though, I really see that connection and I'm glad that I did pick up on it.

But what does that have to do with you? Well, assuming you're like me and in the IT industry, I think it distills down to something really simple: people aren't paying you to *produce* anything, they're *actually* paying you to get them a way to do something they couldn't before.

Do you really need to write up a whole framework of code to justify the price you put on a site? Not at all! They're not paying you to write code: they're paying you to get them a result.

Just the other day, I had a first time coder ask me "how long would it take me to write a web shop?". I delved a little deeper and the reason he wanted to know how long it would take was so that he could work out how much to charge! Obviously, outside of my current point, I convinced him not to write his own (like I say, this was really his first ever 'real project'), but I just suggested finding a product that already does e-commerce and basically theming it. Then when it came time to price it, he was amazed that he could charge that for such little work... until he realised that he wasn't being paid to write code: he was being paid to get results, and that result has a price on it, no matter how it is achieved.

So what's the moral? This one is especially aimed at the coders at the start of their career: the world doesn't need another framework, but there sure are a lot of people that will pay you to get themselves further ahead. You don't need to write it to justify the cost: you're being paid for information.

You might sell code, but information is your business.