Categories
Blogging

7 Years

Been blogging for 7 years now. 975 posts. Hopefully I will get to 1000 this year. I am not doing a ton as far as posting goes, could probably do a lot more. Too many things have my attention now though. My 2.5 year old. My GF. My 75 social networks. My 10,000 things going on at work.

But yet, I still love this blog because it is MINE and I can do what I want, when I want, and control the content and the flow. It has been a good 7 years, It is funny I actually looked up a post back from 2004 today for something I was doing at work.

More to come.

Categories
Geeky/Programming Product Reviews

Moving to Office 365 from Google Apps: Follow Up

Earlier I blogged about Moving to Office 365 from Google Apps, and some of my woes.

In the time since, things have been straightened out. First off, what happened to me sucked, but was resolved. I think Microsoft knows they have some initial bugs and they will work it out. What does stand out is that the customer service is top notch. Their forum moderators replied. Their twitter account @Office365 replied. They actually CALLED me and walked through fixing the issue. This was great. They made sure it was working before leaving me hanging.

After I got the issues resolved, I switched my GoDaddy DNS to MSFT DNS name servers and away we go. I reset up my iPhone, iPad syncing with my new Office365 stuff, worked great, found the server url, etc. Android I had to type it in (to find it, log into web mail and go to about off the help icon). I set it up with Outlook 2010 and it works great. Also Mail.app on Mac, works great there too.

I haven’t done much more than just use it. Some things I miss or want? First, in Gmail, you can archive mail right from iOS. Exchange doesn’t have this, but in Outlook you can set up quick steps to do it, so I did that. The OWA interface doesn’t have quick steps, which would be nice. I haven’t used Lync yet as I don’t have anyone to talk to on it, I will dork around with that later. Haven’t used the SharePoint or Office Web Apps yet, it has been more Mail, Contacts, Calendar to start.

I would like to point my mail.domain.com to the Office365 portal for easy access, haven’t looked into it yet.

One other thing I noticed, is that some mail still comes to my old Google Apps account. Facebook mail alerts for sure. They might have a slow DNS change time as most all other mail comes to Office365. More to come as I get into things though.

Categories
Geeky/Programming Reviews

Moving from Google Apps to Office 365

I have been using Google Apps premier since 2007. Almost 4 years. Before that I used hotmail and tried to use the Microsoft ecosystem as I had a Windows Mobile phone, many of them actually. Before Windows Mobile was “cool”. The thing with Google Apps is that it only offered the “core” apps for a loooong time. (Mail, Calendar, Docs, Chat). Recently they allowed you to “transition” to more Google services (apps), such as Reader, Voice, etc, etc.

Now, this sounds great right? Yeah, except in the last 4 years I had to create a regular gmail account to use most of the Google services (YouTube, voice, Reader), and now I have 4 years of content and what not built up with that account. Google wants me to “start fresh” with my Google Apps account? Doesn’t sound like much fun. Also Google+ just came out, and it doesn’t work with Google Apps accounts, another great way for Google to alienate paying customers, and rewarding free ones. You can’t be signed into both a Google Apps and Google Account at the same time (at least without problems) So I end up having to run one browser with Google account and one with Google Apps? No thanks again.

What I decided to do is try something new. There aren’t many options.

1. Hotmail
2. Yahoo
3. Hosted Exchange (Rackspace, etc)
4. Office 365
5. Other

With Hotmail.. It works, I actually changed it over in a hour or so.. but, there is no 1st class citizen mail client on Mac. Mail, other 3rd party, even Outlook, only connect with POP, not with IMAP. iOS at least uses Activesync. This is somewhat of a deal breaker for me, as I like to use a client on the desktop, or at least try them out.

Yahoo is just out, well, because it is Yahoo. Hosted Exchange looks promising, but too much $$ for not the same features I currently get. Office 365 seems like the logical choice.

I was in the beta for Office 365 and dorked around with it a little bit. I decided to take the plunge.

It is a little more expensive than Google Apps a year, but really no other choices. My first concern was with my Google Talk with my Google Apps. Probably not going to work. Why? Well, with Office 365, if you are on the small business plan, you have to delegate your DNS to Office 365. You can create CNAME and A records, but not TXT or SRV records, etc. Google Apps GTalk needs SRV records in your DNS.

Also, when you sign up for Office 365, you get a weird account, not a Windows Live ID, but Online Services ID, like blah@domain.onmicrosoft.com .. and then you have to set up your custom domain inside the Office 365 web app.

Currently, this is where I am at, and I hope to have a follow up to this..

I made all the DNS changes for Office 365. I created another account in my system, and assigned it a license. I made the account admin, so I had 2 admin accounts. Everything was working.

I decided to cleanup the onmicrosoft.com account, by removing the mailbox and account. It had the same “Full Name” as my regular account, Steve Novoselac. I went to delete and it said “Do you want to remove Steve Novoselac”, I was weary but figured it was keyed on email address of the account record, not name.

Boom, it deleted both the records on my account. Currently I can’t even login to my account. Even better with the small business account you don’t get 24/7 support. Just “service tickets” and the community forum. I did put in a service request and a forum post, and I am working through the issue, but it seems ridiculous. Why?

First off, you shouldn’t be able to remove the “last admin” from an account. Second, it should delete by email address and not full name. We will see how and when I get this resolved, but currently I just switched my DNS back to Google Apps so I can continue to receive email.

Another unknown is the Lync online. It is federated with WLM, but I am curious to see how that is all going to work. Giving support a few days and hopefully will have it all sorted out. More to come..

Categories
Reviews

Thoughts on Google+

A couple of days ago, one of my developers got me on Google+ (or do you write it Google Plus?) Anyways, it is pretty cool. New social network, yay. Kind of like Facebook, but not. More granularity on sharing to “groups” or circles out of the gate. Integrates nicely with some Google offerings.

Do I see it taking off? Well, if history repeats itself, I could say .. it depends.

First off, Google has bombed on social in recent years. Buzz? Wave? yeah, not too good. But they are adding all the pieces that other social networks have and now trying to integrate them (location, micro blogging, sharing, photos, etc, etc).

Second, Myspace is dead. Friendster is long gone. No one though Myspace would topple, but Facebook dethroned them. Can Google do the same thing to Facebook?

Hard to say, but at the current moment they have the best chance.

Categories
Product Reviews

Amazon Kindle Support is Best Ever

For my birthday, Emily and Ella got me a Kindle. And yeah, Kindle rocks. Not just the device, but I have been using it for iPhone, iPad, Mac, PC since it came out. To top it off the device rocks as well, I like that it works outside in the sun the most, and the battery life is stellar. Even as the iPad is “one app” at a time device, really, the Kindle device is “one app” in a device, and it lets you focus. I have read like 8+ books so far this year.

I recently got home from a trip, and finished a book. After shutting down the Kindle, I noticed a blotch on the screen. WTF? I keep it in a case and haven’t dropped it or anything. So I call Amazon Kindle customer service. They ask me about it, really just what happened and in 1 minute they are sending me a new Kindle and instructions and prepaid postage to send the other one back. I get the new one, it is already registered to me, and I am on my way. I was flabbergasted at how good the support was, you don’t get it or see it everyday. Kudos Amazon.

Categories
Agile Geeky/Programming

Agile: Tech Debt Sprint

In software development, the biggest thing you can do for the users of your product is deliver value. Adding business value is critical to maintaining a good product and keeping users happy. But there is another group you need to keep happy as well, and that is your development team.

Technical Debt (think of it like real money debt) is the extra WTF’s that add up in your codebase over time. You add a new feature, and take some shortcuts, you say “we will fix it later” but later never comes. You end up with untested (Unit Tests/Developer Tests) code and with “legacy code” that is hard to maintain. How do you get rid of all that? You have to pay down your debt, that is where Tech Debt Sprints come in.

Just like paying down regular debt or even how people keep regular debt, you usually have some. People have mortgages, or car loans, that they pay down. So in any app you end up having tech debt, but you need to keep paying it down instead of just adding more and more debt, because sooner later you’d have to declare technical bankruptcy, which is no good. (Close Shop? Rewrite? etc).

What I like to do is balance tech debt in two ways.

1. First, in every sprint, there should be a percentage of points dedicated to technical debt. 15-25% is a good number.

2. Second, every X sprints you should flip that percentage. So if you usually do 70% enhancements, 10% bugs, and 20% tech debt, every 4-6 sprints, you should flip it around: 70% tech debt, 10% bugs, and 20% enhancements. I might most later on the concept of another type of sprint, a “Hardening Sprint” where you dedicate 70% to just bugs to “harden” your app.

Now, you may have to negotiate with your Product Owner, which after a while they might get high on the drug that is enhancements and business value. Most reasonably Product Owners though, will realize that the code and developers need to pay down tech debt to make the overall application better and also make it easier to get future enhancements to market faster.

You may even get some stories that I like to call “Trifecta” stories. What are they? Well it is that “magical” story that satisfies three causes, Enhancement, Bugs, and Tech Debt. An example might be a crappy custom control that you’ve had in your app that you can replace with built in functionality or a better architected 3rd party control. Users will get the added functionality (enhancement), crazy bugs from your custom code are gone (bug fixes) and tons of crappy code is just dropped from the codebase (tech debt). Everybody is a winner!

I blogged previously on using User Voice to track your tech debt items at a higher level and have devs vote on them, it works somewhat, better than nothing. Usually stories come out of each “idea”. The bottom line though is to make sure you dedicate time and effort to paying down your technical debt. Far too often dev shops ignore this or always put it off till some mythical “later” that never comes. You need to just do it. It will make your code and app better, your devs happy, and keep things moving forward.

Categories
Geeky/Programming

What is an Operating System?

This is a core question. Might sound stupid or you might even ask yourself why I would blog this. But seriously, we need to take a look at the Operating System our code is running on. Windows? Mac OS? iOS? Linux, etc. But beyond that, what is core and what is “cruft” in the OS?

I think Microsoft got a hard lesson some years ago from the DoJ on what can or can’t be included in the OS from a monopolistic perspective. But even then, Apple adds things to their OS and bundles them, etc. So what am I getting at?

If you develop native apps (more so for OS X or Windows, not the Mobile OS’s) then you are going to run into compatibility problems. Hardware, software, OS level stuff. DLL Hell, the whole bit.

As a developer or even “product” you can only do so much, you have to mostly code for the “happy path” – and give some documentation and direction to your users. ex:

– This software only works with .NET 4.0
– This software only works on Windows XP SP3 and Windows 7
– You must have a sound card to make use of the features of this software
– You must have an internet connection to make use of this software
– This software only runs on versions SQL Server 2008 R2
– Running an anti-virus package or malware detector on the files the program reads and writes to constantly is going to slow performance.
– Port xxxxx must be open for external devices to connect

You get the idea. You can code some checks into your setup/installer or program on start up of the exe, but beyond that, you have to leave some things to the user. You can’t ever think of every scenario.

If some other program (albeit even an add on you can download after installing your OS from the vendor of the OS) is going to conflict with your program, then the user has to decide which program they want to use or come up with some compromise.

From a Microsoft Windows point of view, the OS is what you get from Microsoft. Not what you get from Dell or HP or whatever. No, Adobe Flash isn’t part of the OS. Either is Windows Live Messenger or Windows Live Photo Gallery or any add on you download later. Hell even .NET wasn’t part of the OS until Vista/7.

When developing your applications, focus on what is going to give your users more functional and business value rather than coding for things you have no control over. Leave it to support and documentation to handle the infinite unknown scenarios.

Code for a fresh Operating System, and supported patches as they come out. You might have a few RARE scenarios you code around but I would suggest against it. The user’s and other programs that might screw up your users OS’s, you can’t do anything about either.

After all that, it is more clear why Apple’s iOS is appealing, sandboxed applications make more sense. You worry about your stuff and I worry about mine type of deal. Less room for support nightmares because of misconfigured operating systems. I wonder if Microsoft will ever “get there”, but I don’t see it anytime soon.


Categories
Geeky/Programming Product Reviews

Thoughts on Windows 8 Details

Yesterday at All Things D, Microsoft announced Windows 8 (codename of course) details, and a first glimpse on video
 

Windows 8 Video #1

My initial reactions to this, as a consumer and as a development manager of an app that at this time is completely windows desktop .NET based:

HTML5/JS Apps

First reaction? Why not just use a browser? and How are they going to interact with the OS? What level’s of rights will they have to read/write file system, etc, etc. Also, what happens to Silverlight? C++/Winforms apps? Yeah they show old apps running “behind” the new UI, but what is MIcrosoft’s stance on development of these other technologies? WPF? They have told devs to build using these tech’s for desktop for years, now, lets go HTML5/JS? WTF? Will apps run in browser too? On a mac? iOS?

Tiles

First reaction? Looks like an exploded Windows Phone UI, WP7. Which at first blush looks cool but I have found usability to be painful. Seems to be more of a shell UI on top of Windows 7 (or whatever). They should call it Windows Blinds Smile

In General

I think that this will be a good refresh for the OS, but it might take a few iterations for this new UI to be used heavily. My take? Users will get the OS installed and (hopefully there will be an option to) turn off the new UI and go back to what they have used for years. Slowly but surely the new UI will take hold with some cool apps and more and more people will use that and get used to it, abstracted away from the core OS explorer, etc.

Looking forward to trying it out in beta, and when it goes live. I will give MSFT this, they keep things changing so devs have to keep learning! Oh yeah, and PDC is no longer, it is now BUILD – http://www.buildwindows.com/

Categories
Agile

Agile: Group Technical Review Worth It?

Every since I started practicing agile development and processes, I have lobbied for some type of group tech review before release. At the end of the sprint, the tech team (devs) get together and everyone can go over what they did, give some insight to what they did and why and everyone else can get a glimpse into the other work that was done. Tech reviews aren’t meant to beat anyone down, but they shouldn’t waste everyones time either. I think developers need to get that interaction as well as learning how to show what they did to their peers. Thoughts?

For the most part this idea of a sprintly tech review has worked well, but in others it breaks down.

Why? For one it takes time. If you are so crunched at the end of a sprint, then who has time to do a tech review? In some teams, this hasn’t been an issue, maybe it was better planning or estimating, or maybe just dumb luck, but doing the review made it into the sprint.

Maybe on some teams doing mini reviews with the group throughout the sprint instead of all at the end is the way to go. Maybe not doing any review at all.

My head is still with doing a group review at the end. I think the estimation and wrapping up at the end of a sprint probably would need to get looked at from a process perspective. What can be automated? I’m sure more than maybe you are doing now, etc.

I for one welcome new ways of doing things, but more efficient and still get the points across that need to be. Bring on the ideas – let me know your thoughts in the comments.

Categories
Work

Career Geek: Leaving Your Job Gracefully

I don’t often blog about non-tech things here, but sometimes I do, and well, it’s my blog so.. yeah. Anyways, I have been in some kind of tech lead or manager position for a while now, and have hired and fired and seen people leave from time to time, so I have some experience, not the most by far, but some, and just want to get this one out here.

Leaving Gracefully. Pretty simple when you think about it. Give your employer ample time and notice (2 weeks seems to be the norm). The other company you are going to or whatever you have planned for your future (retirement?) can wait. You have given the company years of service, and they have given you years of paychecks. It doesn’t hurt to give them as much time needed to transition you off the team.

A few times even recently I have seen people just up and leave, 0 day notice, a few days, etc. That’s just not cool.

Another thing to think of is “what I am responsible for, only me, and how can I get someone else to know where to even start”. Most everyone has something only they work on or know the in’s and out’s of, or where to even start to get some system configured or whatever. Don’t leave without giving someone at least some basic training or documentation.

Try not to burn bridges, you never know when you will need to get back across them.

If you do the right things, you might even get a send off party, so all your colleagues can join in wishing you well.

Everyone moves on sometime, there is no doubt, but if you do it gracefully you will come out in the end as a more likable colleague and even sometime in the future when you might want to come back (you never know, I have seen it happen!) then the company and other people on the team will welcome you back.

Now in some tech companies, they might even ask you to leave right away, and that is ok. No use having someone sit around for 2 weeks, it all depends on the situation, but you should at least offer the 2 weeks, and in some cases even more, 3, 4 weeks, etc.

Like I wrote earlier, the other place can wait. How do I know this? I hire people too. In the grand scheme of things waiting a couple of weeks to get someone on board isn’t going to make a difference. When most tech/software jobs are 2-5 years, waiting 3 weeks isn’t going to kill a project.

Keep in touch with your team, maybe even your manager. In the end, just use common sense when moving on.