Saturday, August 09, 2008

The Gaijin Effect

Now that I've been here for about 6 months, I've confirmed several "Gaijin Effects" - behaviors that I notice that occur around me just because I look like a foriegner. There are many that I've known before:
  • When I sit on a train in Japan, the seat next to me will almost always stay empty. I hope it's not my B.O.
  • When I try to speak Japanese, most people will assume I'm talking English. I wrote about that a while back.
  • Little kids (less than 3) will stare a lot - sort of "wow, he looks different..."

But I noticed a new one recently. When people line up for a train in Japan, it always a two lines side by side because the doors can let two people enter at the same time without bumping. However, when I am the first person to stand in the line, no one actually stands next to me. The double line starts right behind me. I still don:t understand that one...

InfoPath 2007 - odd piece of software

We just installed Office 2007 Enterprise across the 7,000+ workstations at work and that included InfoPath 2007, Microsoft free-format, ultra-flexible, form based front end for entering structured data into a database. I've only just started messing around with the software (creating a daily checklist form) and I'm a bit confused, really. It kind of reminds me of Excel - it can do anything but trying to figure out how to do the one thing you really want is damn near impossible.

I find myself dipping into the help menus constantly for almost everything I'm doing. For example, let's say you create a table, setup a couple fields and radio buttons, and get all of the formatting the way you want it.

Now, you wan to duplicate a couple of the rows and make it 5 or 6 row table instead of three you just copy and paste. Since the fields are bound to a data source, the new rows are all tied to the original fields.

So, after you publish the form, when you type something in to the fourth row, that same information is then displayed in four differently fields. The process to associate these new fields with new data fields is by right-clicking, selected "Change Binding". each process of assigning a new field is about a 9-click process and it has to be repeated for every field. In this simple table, I actually have 5 fields per line - each radio button has to be modified individually. This three-row copy and past is going to be a 135 click process to create new fields that look like the fields I already created. Since there is no "format paint" button, I can't use the insert field tools to simplify the process.

There might be a faster way to do this but I can't find it in the InfoPath documentation. That's why it reminds me of Excel. It feels like a software that requires you take a class or read a big thing text book to understand it.

Summer vacation

We have an office holiday coming up next week which is our company's scheduled Obon holiday. Unlike most national holidays, obon occurs "sometime in August" rather than on a specific day and each company picks its own window for time off. For us, it is Wednesday through Friday of next week. A lot of people are taking the full week off but I decided I'd stockpile my vacation instead so I'll be at work.

There are a variety of local holidays, festivals, and fireworks shows that are scattered throughout August because of variability of obon. You can actually plan on attending one almost every weekend in August if you wanted to. A lot of people use the August festivals as a good excuse to dress in traditional yukata. In the past, I remember only women wearing the traditional dress for summer festivals but this year, I've noticed a lot of 20-something and 30-something guys wearing traditional clothes, too. I guess the fashion cycle has come back around. It looks like colors and fabrics are bit different than the true traditional patterns, though. The ones in the stores are a bit more colorful or a bit more creative.

Chiho has a couple of yukata in the closet but she's not 100% sure that she knows how to wear one correctly. The couple of times she's worn them, she's had help putting it on and tying the obi. Overall, the yukata is relatively simple but you need to tie it correctly so that the yukata doesn't come loose or bunch funny as you walk around. Maybe I should talk her in to giving it a try this year and see if she can figure it out.

Of course, going outside in August in Japan is kind of difficult - it's so damn hot...

Friday, August 08, 2008

Build vs. Buy

Since my current company is a software development company, we seem to have one big problem: they always want to build a custom system instead of buying something off of the shelf. That is one additional difference in my current position compared to all of my clients back in Seattle. Most of them would be completely uninterested in building something - they probably wouldn't even know where to start.

"So what?" you might say. After all, the same people who create such nice, incredibly expensive, and incredibly popular software should be able to make internal tools that work well. Seems logical, but that does not reflect reality. After all, an internal tool is "overhead" so the large teams of people and careful QA testing are not available. Instead, you get this mess of home-brewed parts that no one really understands and can't update well. Our IT ticketing system runs this way, unfortunately, and has been offline 5 or six times in July and August. Since it is only maintained at the HQ, we have to wait for their business hours to get it fixed. And, if the one or two people that understand the system is on vacation....

From my current standpoint, the build vs. buy call goes like this:
  • Payroll and Accounting Systems: Buy. Too many really good solutions available and making your own offers no advantage
  • HR systems: Buy. You'll have to do a lot of customization with a large company but start with a real package
  • Document Management: Buy.
  • CRM/ERM: 1/2 and 1/2. there is so much customization that you're really doing both
  • IT Management: Buy. Save yourself some pain and suffering

I think you should only build systems that actually give you competitive advantage. If you know that a SQL driven, distributed CRM system with offline synchronization will give you an advantage, then build one. If your 99.999% uptime is your main sales point, build a custom monitoring solution. Otherwise, buy it - you are buying someone else's QA, testing, and customer feedback experience instead of slogging through all the details yourself.

Thursday, August 07, 2008

VMWare is the way to go

At my current company, about 80% of the servers are virtualized into VMWare's ESX system which has a ton of flexibility. We have Dell 2850s and 2950s with fiber channel cards connected to SAN and they live as clusters in the VSX infrastructure. As long as the SAN storage is visible to each server that makes up the cluster, virtual servers can be moved around at will. The management software can do it automatically or you can do it manually. That means if you have a hardware problem on one machine in the cluster, you can move all of the virtual servers to the other hosts, take the host off line, fix it, and bring it back up without any of the servers going down.

The ESX system does need at least one physical server to act as the control and management server and you need an available SQL server. After that, you can add and cluster hardware to hearts content. We have a pricey EMC SAN but you can get the same cluster support with iSCSI devices. As long as each host can see the shared storage, you're good.

There are a couple of servers types that just don't virualize well. Maybe I'm not spending enough effort to find out how to do this, but I would recommend against virtualizing:
  • Active Directory domain controllers
  • SQL servers
  • Firewall / Routing devices (ISA or m0n0wall)
  • Any server product that needs IPSEC support
  • Servers that need really, really fast hard drive I/O

Almost all other servers are easy to virtualize. This way, you can actually have one dedicated web server per application, too.

Cost is a bit of a problem, I suppose. The VMWare pricing is fairly cheap compared to the feature set but the costs of the Windows licensing is not included. You have to do a lot of research and digging to make sure you are really buying what you need.

Monday, August 04, 2008

Ichikawa Citizens’ Fireworks Display

Over the weekend, we went to see the fireworks near Ichikawa (市川) station. It was about an hour or so from our condo by train and it was really, really, good. I found a clip on YouTube from the 2007 display http://jp.youtube.com/watch?v=_RoQOU0ksqk that is pretty similar to what we saw over the weekend. The show was about an hour long and launched thousands of fireworks. I have no idea how much it would cost.

The fireworks are shot from a park that is along a river so you can watch it from either side. The river has pretty tall flood-control levees so you get pretty good seats from a lot of places. We didn't plan our trip out there quite so well and really didn't bring enough snacks and drinks for the couple of hours we waited for the show. We also forgot our camera... We'll just have to plan better next time.

They announced that the crowd was about 500,000 right at the start of the show. If that was accurate, then it was actually quite a bit smaller than previous years. Most of the websites said that crowds topped 1 million.

Friday, August 01, 2008

Found a good one

This blog: http://lovelylisting.blogspot.com/ posts "less than ideal" pictures from real estate listings. Some of the past history is pretty hilarious.

Sunday, July 27, 2008

More Japanese Convenience

A couple of weeks back, I had posted about how things in Japan are designed at a better level for people. I found another good example in the plain, humble, everyday egg. When you buy a dozen eggs in America, the date of expiration is printed on the box. However, if you use the handy egg-basket tray that comes with the fridge, you probably through the box away, right? So, how do you know when the egg is past it's due date.

Most of the farms in Japan have come up with a simple solution: they print the expiration date right on the bottom of the egg. I am not really sure how they do this and the font looks like a dot matix style ink jet of some sort. Clever, isn't it?

Wednesday, July 23, 2008

Project management in IT companies

I've moved from a consulting company targeting smaller companies to a fairly large global company and it's interesting to watch the differences in IT management. There are a lot of similarities, too.

On the differences:
  • Budget: Most of my clients in Seattle had to be convinced, cajoled, or outright pushed to by high quality hardware. In my current company, they are so paranoid about downtime that they through money at redudant hardware that they really, really don't need.
  • Schedule: Right now, I was working on an "accelerated" project - I only had three months to plan and deploy it. I don't think I had three months to plan anything with my Seattle clients.
  • Turf: There arent't enough people in a small company to really generate big turf wars whereas larger companies can't seem to function without them. There were definately some "I built it, you can't touch it" moments with my Seattle clients but the amount of time spent manging that was quite small compared to now.

Similarities:

  • Dithering: When it comes to tech related issues, there are always "what if" dicussions - "what if we build a custom app instead of buying it?", "what if we outsource it", "what if they have a new version?", "what if we using an open source product?", and so on. The amount of time that it takes to explore options, discuss things with leadership, and get approvals for things seem to take the same amount time. Even though my current company is 700 times bigger than my largest Seattle client, they don't actually move noticably slower. I'm actually kind of suprised by that.
  • Managing change: It seems that both small and large companies don't do a good job of actually preparing thier employees for major changes. Very few of my clients would send employees to training before pushing a new software (Office, timesheet tracking, or whatever was being deployed). I tried very hard to push for end-user training in my Groove project but it was delegated to local offices instead of being pushed from HQ. And that has devolved to "go read this website" rather than any structured training. And now, I am not surprised that most of the questions I get are "what is this thing and what can I do with it".
  • ROI: Both my Seattle clients and current company seems to suffer from an odd approach to new technologies. They seem to start with some big plan that will have some big benefit (new communciation tool, smoother operations, time savings). Then, about half way through the planning process, the technical details take center stage. Whenever there is a hiccup, the project shifts towards ease-of-implementation rather than maxium-user-benefit. It seems that the big picture goal gets forgotten slightly - it's subtle but very noticable.

It's only been a short time, though, so I'll keep an eye on other interesting things as it develops.

Yup, it's hot

89-degree F and 79% humidity today and likely to stay that way all week: http://www.intellicast.com/local/weather.aspx?location=JAXX0085

Ouch...

Tuesday, July 22, 2008

It's pretty dang hot

We've had four or five days of over 30-degrees (Celisius) weather here in Tokyo. That means at or above 90-degrees Fahrenheit. Humidity is up in the tropical levels (~80%), too. Chiho and I haven't quite gotten used to that.

It's likely to get hotter over the next week or two. Kyoto and other cities south of Tokyo have been at 36 or 37 C (96-99 F) and the warmth is moving north. Oh well...... at least we have air conditioning.

Adding sites to Trusted or Internet zones

You can add sites to the Internet zones in Internet explorer by manipulating the registry directly. I normally do this via VBScript but that is starting to become an unsupported technology so I suppose I will have to learn to use PowerShell or something. The documentation for this is a bit scattered in the MS documentation, so here's a quick explanation:

The path in the registry related to the URL. The pattern is 2ndlevel.TLD\4thLevel.3rdLevel.
  • http://share.domain.com/ = HKEY_CURRENT_USER\Software\Microsoft\Windows\
    CurrentVersion\Internet Settings\ZoneMap\Domains\domain.com\share
  • http://audit.workspace.domain.com/ = HKEY_CURRENT_USER\Software\Microsoft\Windows\
    CurrentVersion\Internet Settings\ZoneMap\Domains\domain.com\audit.workspace

You can also switch it to LOCAL_MACHINE instead of CURRENT_USER if you want to make this setting apply to Local Service and machine controlled access systems.

At each location, you then create DWORD values. The name of the DWORD is the protocol and then the value of the DWORD is set to match the zone you want to use. I find that I use these protocols the most:

  • http
  • https
  • ftp
  • file

The values are:

  • 1 = Intranet Zone
  • 2 = Trusted Zone
  • 4 = Prohibited

If you enter 3, I don't think is does anything.

Minor note on Junction

I recently deployed a big VBScript that used the Junction software from Microsoft that I wrote about earlier. When you use Junction the first time, you get a EULA pop up. Since that would be very, very annoying as a logon script, I found a way around it.

The only thing that the EULA pop up does is set a particular registry key. If you set that key in advance, you won't get the pop up at all. The registry key is:
  • HKEY_CURRENT_USER\Software\Sysinternals\Junction
  • DWORD: EulaAccepted
  • Value: 1

Once that is set, via VBScript, a REG file, or whatever, the user won't get a pop up.

Wednesday, July 09, 2008

List recovery model of all databases

I put together a quick SQL query this morning that can be run against an SQL database to retrieve the list of database names and thier recovery models. I only tested against an Microsoft SQL 2005 server but it should work against any SQL server.

The blog will wrap the text incorrectly, of course. when you copy and paste, the commands should work correctly.

USE master
GO

-- Declare a variable to store the value [database name] returned by FETCH.
DECLARE @dbname sysname, @mode varchar(1000)

-- Declare a cursor to iterate through the list of databases
DECLARE db_recovery_cursor CURSOR FOR
SELECT name from sysdatabases

-- Open the cursor
OPEN db_recovery_cursor

-- Perform the first fetch and store the value in a variable.
FETCH NEXT FROM db_recovery_cursor INTO @dbname

-- loop through cursor until no more records fetched
WHILE @@FETCH_STATUS = 0

BEGIN
Set @mode = CONVERT (varchar, DATABASEPROPERTYEX(@dbname,'RECOVERY') )
PRINT 'Database Name: ' + @dbname + ' Recovery Model: ' + @mode

FETCH NEXT FROM db_recovery_cursor INTO @dbname
END

-- close the cursor and deallocate memory used by cursor
CLOSE db_recovery_cursor
DEALLOCATE db_recovery_cursor

Sunday, July 06, 2008

Mimi

A little bit of bad news from Japan today, Mimi, our lop-eared rabbit, passed away last night. Mimi had started to not eat and drink much in the last couple of days ad we had brought him to the vet to make sure it wasn’t an infection, abscessed tooth, or something that could be fixed. He seemed to have good energy and was cheerful all the time. According to the vet, it looks like it was just age. While she was packing, Chiho found the receipt from Jones & Co. pets and it showed that we bought Mimi in the summer of 1997 so that made him about 11 years old. That was really, really old for a typical rabbit so we just have to console ourselves that he lived a long life. We’re still going to miss him, though.

Tuesday, July 01, 2008

Groove Project going well

The Groove project that I've been working on is going well but it is really sucking up a lot of time and energy. The software itself it only medium complicated and the infrastructure was all rolled out weeks ago. I've been writing up documentation, an absolute ton of documentation, really. I've been writing deployment plans, backup and recovery plans, data retention plans, security policies, installation instructions, help manuals, FAQs, and more. I feel like I'm writing a damn novel or something. I've gotten some assistance in writing up this stuff but only one person seems to be actually completing things on a schedule. I try to coordinate and delegate but I'm not really thier boss so I don't have much control over thier work.

Honestly, the only really silly part of the whole software is how it forces the local workstation to put everything on the C:\ drive. I wrote about this before and I found a manual fix for it, but now I'm trying to come up with an automated solution for a 7,000+ desktop roll out. Really, what other software published in 2007/2008 requires you you create a VBScript hack to change where the data is stored? At a minimum, couldn't they have made it a sub-folder under My Documents so that if you already pointed My Documents somewhere with more room, Groove would just go with that?

Thursday, June 26, 2008

Microsoft support is kind of clueless on Groove

During the run up to this big Groove project, I've had to open two different Microsoft support cases. Since we are a big Microsoft shop with a global contract, we have fairly easy access to high-level technical support.

Even though I'm dealing with developers right out of Microsoft HQ on these issues, people who really should know the software, the actually fix came from a Paris-based consultant that my boss found. These guys were able to get better answers and get back to us faster than Microsoft critical product support. It was kind of annoying that the peole who make the software couldn't troubleshoot the software correctly.

Of course, they did buy the software rather than build it in house but they bought it almost three years ago. Shouldn't they have learned it by now?

E-mail is really up, this time

I finally got my e-mail situation finalized and I have e-mail to my @SBWorks.com accounts up and running again. I have the @thedamps.com e-mails available, too, for those interested. I'm using e-mail hosting through Fat Cow and they are pretty cheap and simple. I haven't set up a website just yet. I have configured the website to redirect to this blog for a while. Maybe I'll use it for something else, soon.

Wednesday, June 18, 2008

Not entirely in love with Groove 2007

I've been working on this Groove Server 2007 project and work and there are alot of things I like but I'm not sure it is worth the hassle. The server side for large companies seems a little complicated but it isn't that bad, it's just that the client side software isn't that really that good.



Groove lets you keep things in sync no matter where you are or how you're connected to the internet. The synchronization works transparently across firewalls exactly as advertised. Considering how technically complicated that can be, that is a pretty slick software. But there are some usability things that are odd:


  • If you want to use the most secure method to share files, you need to drag and drop them into the workspace. There's no right-click >> send to workspace option and your workspaces don't show up in any file save dialog box.
  • Files that are in the workspace are not accessible from any "open file" dialog box. You have to access the file by double clicking it from the workspace.
  • You can link to a document in a workspace (hyperlink or OLE embeddd object)
  • You get a lot of pop ups when saving documents asking for confirmation and overwrite that you don't get from just storing it on the disk.

There were a lot of cool features in Groove 3.5 that offered all kinds of customization opportunities that are missing from the new version. Since this is the first Microsoft version after purchasing the company so I guess they had to cut things out to get things integrated.

Overall, the software is a relatively small niche product. It works well for highly mobile people with high security requirements. They can accept the oddities of the user interface.

Tuesday, June 17, 2008

SBworks e-mail delayed a bit

Since my credit card info and contact info are not identical, it looks like my order for hosting services was flagged for additional information. My SBWorks e-mail is still down for the moment. I thought it would be up by now.