Category Archives: Tech

A Monstrous Task

I spent a good portion of the day finding and buying the tools I will need to get my iPhone development efforts off the ground. And as I did this, I became more and more aware of the monstrous task before me. This is a lot more than creating Hello World we’re talkin about here! And I know that it can take months, or even years for a talented team of developers to bring a AAA package to market.

I don’t have years to spend on this project, but I still think I’ve got a decent shot at achieving my objectives. So standing here at the base of Everest, I cannot wait to see the view from the top. But guess what? I don’t have to reach the top to win the battle. I just need to stay focused and keep bringing interesting/fun/useful apps to market.

Springtime for Final Fantasy XIV

I’ve been waiting for Final Fantasy XIV for some time now. I signed up for the betas and finally managed to get a key for the open beta that started a few weeks ago. Alas I was greatly disappointed with the lagginess of the game and had some serious reservations about whether or not it would be successful.

Well it turned out that the fault was my own, for in my exuberance, I failed to double check my hardware specs. Everything except my video card is up to spec for the game. Sadly, my primary machine is a MacBook now with a 256MB Nvidia 9400M which I cannot upgrade. *sigh* I knew this to be a risk when I started using laptops as my primary machines.

With a great sadness, I uninstalled the beta client and await the PS3 release in the spring. I must say though that I am very very tempted to build a game PC just for this purpose. Hmm, maybe, just maybe… No, it makes no sense financially, but a dedicated game machine would save me a lot of headaches and give me an outlet for my need to tinker!

Oh Facebook! How Cheeky You Are!

A few days ago, I noticed in my emailed Facebook status update notifications, that I could now reply to them via email. That is, I could reply to a friend’s status update without having to go to and login to Facebook. I thought it was interesting, but could not see the immediate benefit to me. Nevertheless, I started using the new feature.

Later, after talking with someone about how Facebook has become a popular vector for PC viruses and how many companies are beginning to block Facebook access for workers, it struck me! Being able to reply to a status update or comment on one via email is a way to get around the block. Keeping people from sending email to certain addresses is a thornier issue than blocking access to a particular web site. And it is highly unlikely that mail from Facebook itself poses any kind of security threat. Still, people are supposed to be working, right? Facebook you are so cheeky!

Dear Yahoo!, Your New Home Page Sucks!

I know I probably should address this to Yahoo! directly, and I probably will once I figure out how. But for now I just wanted to register my disapproval of the new Yahoo! home page. It’s really not all bad, but those left side panel mouse over pop up/slide out boxes are the most annoying web page feature I’ve seen in a long time!

Every time I hit the Yahoo page, I invariably get the annoying pop up/slide out box on my way to something else. Mouse over actions beyond simple tool tips are IMHO, a bad idea. People will always trigger these without wanting to and sooner or later they start to stay away from your pages. As it is now, I dread visiting Yahoo because of this annoyance.

Enabling Wireless in Windows 7 x64 in Mac OS X Snow Leopard Bootcamp

After finally getting 64 bit Windows 7 Ultimate running on my unibody MacBook under Bootcamp, the most vexing thing to deal with was nonfunctioning wireless. Being tethered to CAT-5 cabling when booted into Windows was a real pita. Googling turned up little help or clue to this until today. I found a forum post in which someone made it work by unpacking the BroadcomInstaller64 file from the OS X install DVD and running the installation from the local hard drive. This is essentially what needs to be done but leaves out a lot of details. So I’m writing up what worked for me.

  1. Copy BroadcomInstaller64 from \Boot Camp\Drivers\Broadcom to the local hard drive somewhere like C:\Broadcom for example.
  2. Use 7-Zip (or similar program) to extract the files in BroadcomInstaller64. Right click on the file, select 7-Zip, then Extract. I extracted these to a subdirectory called BroadcomInstaller64.
  3. Open the Windows Control Panel, then open the Device Manager. Under Other Devices, right click on Network Controller. Then click Update Driver.
  4. Click, Let me pick from a list of device drivers. Click on Network Adapters.
  5. What you see here will vary. In my case I clicked on Broadcom and then chose one of the wireless card entries. I don’t think it matters which since we’re just going to select the drivers on the local hard disk.
  6. Click on Have Disk and browse to where the unpacked drivers are located, in my case C:\Drivers\Broadcom\BroadcomInstaller64
  7. Double click on the bcmwl6 setup file you’ll see listed.
  8. From the list of adapters double click Broadcom 802.11 Multiband Network Adapter (there are also g and n listed)
  9. Windows will warn you that the driver is not signed or something for compatibility. This, I think, is why the install fails when using the installer directly. Choose to install the driver anyway.
  10. If all has gone well you should now be able to set up your wireless connection in the usual way.

So there it is, that’s what worked for me. And in fact, this blog post is being written on my Mac using that very same wireless connection enabled using the steps above. So far, I’ve had not troubles with it. So I hope this will be of some use to others who’ve had this problem.

Youmacon 2009 Cosplay Slideshow Is Up!

Actually, I finally got around to putting together my traditional post convention slideshow last week, but I want to give the WordPress 2.9 improved video embedding a little test. The slideshow is the first video I’ve made on my Mac using iMovie. iMovie is okay, if you haven’t used other, more conventional, video editors. But I found it a bit confusing at first and later too limiting. Still, for a simple slideshow, iMovie is fine. But I’ll be sticking to Sony Vegas 8 for my bigger projects. Yeah, it means booting Windows, but I’m not in the mood to spend a lot of money moving to a native Mac solution and having to learn a new tool. I still hope there will be a Mac OS X version of Sony Vegas some day.

Anyhow, here’s the slideshow!

Hmm, in the end I still had to put in the object code by hand to embed the video. Just putting in the link only gives a link… Well I’ll look into it some more later… Maybe it doesn’t like Chrome.

Bought My First eBook: Japanamerica

A couple of days ago, I bought my first ebook. I bought Japanamerica: How Japanese Pop Culture Has Invaded the U.S.. I bought the Kindle version for my iPhone and so far, I’m pretty happy with it. As a life long book lover, I’m both pleased and surprised at how this came about.

Reading digital books was not the reason I got an iPhone. And while the Kindle, Nook, and other book readers are attractive, they just weren’t a top priority item for me. Digital books are a good idea and long overdue, especially for heavy laden school children, but I was in no rush to get there. But now that I’ve slipped in through the side door, I’m glad I came. The iPhone screen is pretty much perfect for the extremely casual sort of reading I would be doing on such a device and so far at least, I’m not seeing any downsides to this at all. Of course, that’s bad news for anyone trying to sell dedicated book readers, unless they get a lot less expensive.

I ended up buying a book because I was in an adventurous mood and decided to try out the Kindle reader for iPhone. I was hoping there would be some free books available like the Barnes and Noble Reader had. And I wanted to compare the two readers. There weren’t any free books, but there was a sample available of the Japanamerica book. So I downloaded that and started reading, got hooked on it and bought it. Ultimately, the content made the sale, and since I usually buy books from Amazon anyway, it was easy for me to buy one more.

I still like physical books, and have no plans to stop buying them, especially since some, like manga, wouldn’t be good on the iPhone’s screen. But from now one I’ll definitely be looking for a digital version.

Installing Windows 7 64 Bit Upgrade in VMWare Fusion 3

As a university staff member, I was able to take advantage of a discount on Windows 7 Ultimate. As it turned out the upgrade version was the only version available on DVD with no manuals. No problem. And since VMWare Fusion 3 supports 64 bit Windows on Mac OS X Snow Leopard, I figured, what the heck, let’s go 64 bit at last! Even though, this was a upgrade version, because I had previously installed Windows 7 Release Candidate, I was eligible to use the upgrade. The question that remained was how to actually go about doing the install. I’d read a lot about what others had done on the net, but of course everyone’s experience may vary. So here is what happened to me, in the hope that it will be useful to others.

The first thing I discovered was that there was no way to do the install from the physical DVD in VMWare Fusion 3. I started using the Easy Install option in VMWare, but for some unknown reason, it was never able to boot the VM from the DVD. As near as I could tell, it wasn’t even detecting the DVD at all. To be sure that the DVD was in fact bootable, I tried it out on another PC. Since the Windows 7 RC was installed from an ISO image, I decided to create an ISO from the DVD using the Mac Disk Utility. This is done by creating a new CD/DVD master image from the DVD. The resulting file will have a .cdr extension. Just change this extension to .iso.

So with ISO in hand, so to speak, I tried the install again, also choosing not to enter the product key during the VM setup process. I’d read that you should install without the key first and then activate within Windows later. This install went well and all was good until I tried to activate Windows. Then I got an error saying that my key was for an upgrade version not a clean install.

Ok, that wasn’t entirely unexpected. I had hoped the install would ask for the product key of an upgrade eligible version of Windows. But it turns out, and this was confirmed by other net reports, that the install needs to see a Windows installation somewhere on the computer when it runs.  Now how to do that in a VM? I had read of people connecting external drives with Windows on them to get around this, but I wasn’t clear on how to do this in a VMWare VM. Then I noticed that I could add additional hard drives to the VM, including virtual drives of other VMs!

So I junked the new Windows 7 VM and started over. This time though, before starting the install, I edited the VM to add the Windows 7 RC VM virtual disk (.vmdk file) as another hard drive. This time, the install proceeded as before except the activation was successful! Once I was sure everything was working as necessary, I shut down the VM and removed the Windows 7 RC virtual disk from it.

So far, everything is running smoothly. Hopefully, VMWare will fix what I think is a bug with the DVD boot issue I encountered. As for Microsoft, they could make things easier for upgraders too, but I won’t complain too much. Letting the Windows 7 RC users upgrade rather than pay full price is a nice gesture on their part, even with the little puzzle I had to solve.

Normal Life, I Guess

Now with Youmacon 2009 in the past, life is returning to what passes for normal for me. This last week I’ve been wrestling with SAS at work. It’s definitely different from the programming languages I’ve used in the past, but I should have it down pretty soon. It’s just maddening to not be on top of things like this.

At home I’m having a lot of geeky fun transitioning from Windows XP to Mac OS X Snow Leopard on my new Mac, Mikuru. I use a Mac at work, so I’m very familiar with the platform, but at home I’ve been using Windows on home built PCs for the last 10 years or so. As a result I have a lot of development stuff that I need to transition. I’ve decided to do this by running Windows 7 in VMWare Fusion 3 on my Mac. If performance in the VM is acceptable, I’ll be able to avoid having to use Boot Camp.

Yesterday I finally got wireless working on my daughter’s old Windows XP laptop which I’ve converted to Ubuntu Linux. It’s an ancient Dell Inspiron B120 with 512MB RAM that even after a clean install runs XP horribly slow to say nothing of after the kids have managed to load it up with malware. I finally gave up that battle and put Ubuntu 9.04 on it. But wireless is usually tricky on Linux. In this case installing the b43-fwcutter package did the trick. Then I upgraded to 9.10 without any trouble. The new Ubuntu machine, dubbed Yoshi, is mostly dedicated to homework assignments and cannot run Roblox, which is a good thing in this case!

And I’m finally catching up on a lot of manga and anime that’s been piling up. There were a lot of new releases over the last two weeks that I’m having a great time with. I just finished Neon Genesis Evangelion: The Shinji Ikari Raising Project volume 2 yesterday. The Shinji and Kaworu shonen ai plotline is very funny and I found myself loling on numerous occasions. At the behest of my youngest son, we’re finally going to finish watching Kaleido Star, so we capped off the evening’s family viewing with volume 4 of the DVD set.

Well, I’ve got manga to read, so I’ll be finishing this up now. It’s going to be an interesting month I think.(^_^)

Heartache and the Tyranny of Social Networking Sites

This isn’t a continuing series, just some random thoughts from an observer. An observer I say because I’ve never been a social butterfly. I’ve always thought of myself as more of an observer, but over the years I learned to play my part and function reasonable well in social situations. I like to joke that I’m just a collection of heuristic algorithms!

Anyway, even in the best of times, breakups and other drama reek havoc over one’s social network of friends and acquaintances. But now, social networking sites like Facebook have the effect of magnifying this in  a way not seen since people started accidentally clicking reply to all on sensitive email messages. At least with Reply to All, things are going out over email to a relatively static and known list of recipients. But with sites like Facebook, not only is the list dynamic, there’s really no way to know who is now privy to your status. And triple damage bonus points come if/when it leaks to the general web and is indexed by search engines like Google. From that point the whole world, including past, present, and future employers may have access to info about your social life.

None of this is really new. But it really hurts when you see someone you care about driven off of the network in part because of this. Well that’s all I have for now, just had to let that out. I don’t know of any real solution. I think that social interactions will just have to renormalize, which like resetting the world economy, is going to take a long time.

The Future May Come in Waves

Another article has popped up proclaiming the death of Facebook. I read this with interest in part because I’ve become a bit disillusioned with Facebook myself for reasons I’ve discussed before. And I’d read some of what Phoebe Connelly referenced in her Guardian article. But her comments about the risks of data in the cloud resonated a bit and got me to thinking about possible solutions.

It seems pretty clear by now that social networking sites/services are here to stay. The question being, what form will these take in the future? Popular services come, mature, and go away as people’s interests and technology changes. Can any of this be future-proofed? Probably not, but it seemed clear to me that having all of your eggs or data in one basket is a bad idea. So I started to think about what a distributed, federated social networking service might look like. This would be a service which allows the same kind of sharing we are familiar with on Facebook, but with individual members having their homes on servers maintained by different companies. This would be pretty seamless from the user’s point of view just as it doesn’t really matter what company hosts your email these days.

Well, my rush to the patent office was cut short by the realization that the smart folks at Google had already begun the process of building this as Google Wave! A little Googling turned up this article on New Rowley, Google Wave: Users may need it, but it will be hard to get them to use it. It may well be that users familiar and comfortable with Facebook, and Myspace may eschew Wave based services and stay put. But I suspect that the tech people and the Cool Kids are going to cause a rapid expansion of the Wave space once it enters a wider release. I’m going to try to ride this wave myself,  and the pun was definitely intended!

Now I know why the folks who run Facebook, MySpace, and perhaps Twitter, may be a bit worried. Google Wave may take the bat right out of their hands. In any case, it won’t happen overnight and if they’re smart, they’ll quickly provide their own Wave compatible services and just accept that they have to share some of their revenue with someone else or risk losing more members entirely.

Hokusai's Great Wave off Kanegawa

Ultimately, federated social networking services should give users more control over their social data and how it is used. But like most freedoms, this one comes with responsibilities and risks. Users will have to be more responsible for managing the collection of services they use. They’ll also have to ready for those times when some of those services fail. At least in this scenario, the failure of one provider won’t result in the loss of all of your data! Finally, as always, let the user beware! Not all service providers will be uprigtht and honest. There will be some rip offs! But in the end, I think this is the next wave, so get your board ready, you won’t want to miss it!

MS SQL Server: Adding Line Number for Imported Flat File in CSV Format

This is the procedure for writing the line number of each record imported into a table from a flat file in csv format. This is for Microsoft SQL Server using SSIS and Visual Studio to create the ETL package. This assumes that you already know how to use these tools, more or less. I’m no expert, but I wanted to pass along what I’d learned because it took so long to piece this together from what was available online. Below is a diagram of my Data Flow for reference.

dataflow

  1. Make sure that a column to store the line numbers has already been created in the SQL Prep task.
  2. Create a variable with Data Flow scope called DummyVar or anything you wish since it’s just a dummy variable to enable the next step.
  3. Create a Derived Column transformation after the Data Conversion transformation. Give the derived column the same name as the column you created to hold the line numbers, such as LINENO and enter @[User::DummyVar] as the expression.
  4. Create a Script Component following the Derived Column transformation. Set the derive column LINENO as its input in read/write mode. Use the following Visual Basic script in the component.

======

‘ Microsoft SQL Server Integration Services user script component
‘ This is your new script component in Microsoft Visual Basic .NET
‘ ScriptMain is the entrypoint class for script components

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper

Public Class ScriptMain
Inherits UserComponent
Private LineNumber As Integer

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)

LineNumber += 1
Row.LINENO = LineNumber

End Sub

End Class

=====

Finally just make sure that the LINENO column is in your destination transformation and you’re all set. In my Data Flow I added a viewer just to check that things were working during development. Again, I’m sure that there is some more elegant way of doing this, but this seemed straight forward and simple. And I could not find a single description of doing this very simple thing online anywhere. While there is a Row Count transformation available, it does not allow you to keep a running tally of the record number as they are processed.

This feels a bit like a hack to me, so if anyone out there has a better way of doing this, please feel free to comment!

Are Printed Books Doomed Yet?

Yesterday, pocket full of enticing coupons, I browsed my favorite Borders looking for something interesting to purchase. As I wandered the increasingly sparse store, which is closing come January 2010 if not sooner, I felt a growing resistance to buying books printed on paper.

The problem for me is that I generally like technical books and read a lot of manga. Most technical books are obsolete the moment they are printed. So while I still love them, I refuse to pay $50 for a book that is out of date with no way to update. As for manga, with so much of it on the web, legal or not, it’s hard to justify buying anything beyond a few series I’m following right now.

These thoughts are not new to me, but a recent Borders ad had the Sony PRS 505 book reader on sale for $199, a tempting price. It’s not the Kindle, but still a good reader, though the reviews I read said it was prone to crashing on recharge and didn’t handle PDFs very well. Sigh, the Kindle is still too expensive for me… Anyway, I really want to fast forward to a time when all of the books and magazines I want to read can be bought and downloaded to my reader. And technical books can be updated when necessary. I have a Rails programming book that I bought the e-version of that went through a number of updates, for free. One of my favorite tech books ever and more than worth the extra cost of the digital version.

I cannot be the only person who feels this way. Let’s move on to digital books everywhere already!

Second Chances and My New Digital Self

Yesterday while working I received a chat message in Google Gmail from a colleague on a project I’m working on. These days, just getting a chat message is not a big deal, but as someone from *ahem* the dawn of email, the real time nature of chat still takes some getting used to. Nevertheless, I use chat along with a growing plethora of social network related sites and applications. As a professional and an enthusiast, I’m intrigued by the opportunities these tools present to create a new digital self. But do you create the person you are, or the one you want to become?

I used to joke that I come from the time when people used their real names on the Internet. But in an age of Facebook, Twitter, MySpace, and soon Google Wave, it seems that that time has come again. While I have no intention of spreading my real name all over the net in anything less than a professional context, I am becoming more comfortable with the notion of embracing a digital self more identified with my real self.

It feels like a second chance to reach out in ways not limited by physical separation, or a dubious set of in-person social skills. Well, I’m not really all that bad in person, but I’m no social butterfly either. In any case, I’m excited by the possibilities and filled with a new courage to be who I am as well as who I want to become.

Hello Twitter

After twittering my thumbs, so to speak, I finally joined twitter. I thought the stream of updates on Facebook was bad enough, oh boy! In any case, my plan is to explore and learn. So far I like it for blogging little stuff that I don’t really want to write a full entry about anyway. Duh, I suppose that’s what it was made for in the first place.

Link: blueZhift on Twitter