Bruce Markham's Personal Soapbox
# Monday, July 05, 2010
Trying To Get A New Blog Engine Going

image

Above is a screenshot of my blog via the “Oxite” open-source blog engine. Oxite was written by Microsoft to show off ASP.NET MVC 1.0 and the Unity Dependency Injection framework.

The Oxite codebase was abandoned about 2 years ago. Woefully incomplete. But still tempting to thine eyes.

I’ve been working on converting it to ASP.NET MVC 2, .NET 4, and replacing its use of Unity with .NET 4’s baked-in Managed Extensibility Framework.

It’s been quite a chore. And most of the chore has been since I did the initial conversions. I made the mistake of not giving the software a thorough test-run before I happily decided to start converting it. The conversion took about 10 hours spread across a couple days. When I was done, I came to find that it was buggy as hell, and doesn’t even have some very basic features like user registration. (It already has some wonderful features like MetaWebLog API support, trackback support, SiteMap serving, etc.)

But despite it’s inadequacies, I still prefer its codebase over DasBlog or BlogEngine.NET. It lacks the completeness that I’ve come to expect from small little Microsoft-released OSS packages. It has a big “cut-and-run” feel to it. But it has an architecture that I’m comfortable wading into. So I’d like to get user registration into it, and play around with the “theming” a bit before I go public with it, and then I will. At a whole new web address, too.

One of my major struggles has actually been getting my current blog’s content into it. I’ve managed to pull this off with a small, 100 lines-of-code executable, to parse Blogger’s export output and then dump it into Oxite using LINQ-to-SQL. This bit was actually a lot of fun, but one more hindrance on my way to my own personal blogging soap-box.

Since the biggest change with this project has been converting it to using MEF instead of Unity, I’m tentatively calling this codebase “OxyMefadon”. Because MEF is just that awesome.


Monday, July 05, 2010 1:19:00 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]  MEF | computers | MVC | technology | DotNet4 | microsoft | dotnet

# Tuesday, June 15, 2010
A Fruity Tweet In The Dark

image

image

The joy of multiple manufacturers of the Android phone is not just selection, it’s fault tolerance.

One company breaks a patent, the others keep on rolling. One company’s distribution deal falls through, the others keep on rolling. One company fails to be as awesome as Apple, the others keep on rolling.

I don’t own an Android phone. And I don’t want one (yet). But in a manner of only months, I now have the same number of friends with Android phones as I do friends with iPhones.

The difference: none of the people I know with an Android phone are fan-boys of anything. They saw a cool phone that they could get from their preferred provider, so they got it. The App(le)-niche goldmine has reached its peak, from here on, it is just over-saturation. From here on, it will be about UIs, multi-tasking nuances, and the number of buttons on (or the presence of) a slide-out keyboard.

That’s why I think Microsoft is doing a good job playing catch-up with their Windows Phone 7 platform. There will always be apps for everything, so make the experience better. (Of course, they still have room to screw up.)

Sometimes I just wish Gruber would just spontaneously combust.


Tuesday, June 15, 2010 12:34:00 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]  winpho | computers | wp7 | technology | iPhone | android | current events | apple

# Tuesday, April 13, 2010
Tasty Sweetness On The Rotten Fruit

Apparently Slashdot erupted on Saturday, over the new iPhone OS 4 SDK license agreement. (In fairness, Slashdot erupts over everything.) I was blogging about this same issue on the same day.

[Here’s the link to the Slashdot article: http://apple.slashdot.org/story/10/04/10/2142245/Adobe-Evangelist-Lashes-Out-Over-Apples-Original-Language-Policy?from=rss&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+slashdot/eqWf+(Slashdot:+Slashdot) ]

I thought these tidbits were particularly interesting:

image

image

Anyone could pose as an Anonymous Coward, obviously, but these seem believable to me. Apple has never been very transparent. Jobs is too obsessed with making perfection under tight deadlines, and letting the rest of the world react as aftermath. So it fits the Adobe developer’s story.


Tuesday, April 13, 2010 5:06:00 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]  computers | technology | iPhone | iPad | iPod | adobe | flash | apple

# Friday, April 09, 2010
One Bad Apple Spoils The Bunch

I’ve been struggling the past several months. What used to be a tingle of distaste for a brand has become a torrent of madness. Where once reason and uncertainty made me bite my tongue, familiarity has now bred contempt. I speak of course, of Apple.

In the interest of full disclosure, I’ll say here and now: I’ve never owned an Apple product. (I’ve also never employed a prostitute or smoked PCP, but I can still argue against their use.)

For the longest time, I avoided Apple products because the only things in that categorization were computers - and I knew how to use my PC quite well, thank you. Fast forward a decade and a half, Apple is the biggest sensation in tech. Even the pundits that despise Apple can’t keep their mouths shut about ‘em. (Myself included.)

Apple has graced us this month with the release of the iPad. For those of you not following the situation, the iPad is basically a giant iPod Touch:

  • Boasting 9+ hours of battery life, the 1.5lb iPad is heavy enough that you won’t want to hold it for more than an hour at a time lest you change your workout regiment. (Or integrate it in.)
  • With its “9.7-inch (diagonal) LED-backlit glossy widescreen Multi-Touch display” you’ll get to use your favorite content-consuming apps at double the size, but it’s ineffective “fingerprint-resistant oleophobic coating” will make it look like a CSI crime scene and leave you needing to carry a terry cloth with you everwhere.
  • With it’s built-in speaker, microphone, bluetooth, and video codecs – you’ll be able to do all of your favorite multimedia consumption, except for video conferencing or taking pictures because it doesn’t currently have a camera.
  • Being one of the only “large” mobile multi-touch devices on the market, it features one of the largest on-screen keyboards out there – but the extended typing they claim you can easily do on it is still so unwieldy they’ve simultaneously released a keyboard attachment.
  • It also features the all-acclaimed Safari Mobile, supporting large chunks of HTML 5 and CSS 3, so it’s ready for the web of tomorrow - but without Flash support it’s useless for 90% of today’s internet.

Okay, so the hardware sucks. The browser sucks. Shouldn’t it be about the apps?

I’m a software developer, so I can appreciate “apps” - little nuggets of easy-to-maintain code and functionality that are sold individually, for cheap prices, to the masses - little nuggets of code that are small enough, I would be tempted to find a means to simultaneously develop for multiple app platforms easily, so that I can move on to the next app without hassle.

And you know what? Microsoft gets this. Google gets this. Apple hates it.

Fresh out of the pearly gates of Cupertino, the Apple iPhone OS 4 SDK license agreement says, amongst many things:

Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs
(e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

What this means, in layman’s terms, for any programmer or software shop that used to sneak apps across the Apple border by cross-compiling their Flash, Java, or C# into C/C++/Objective-C before deployment, they are simply out of luck.

My brain is simply without recourse in its search for a plausible explanation. The most I can figure is, Apple doesn’t want the slew of upcoming Windows Phone 7 apps to be translated and submitted to the Apple App store. (That is, they want developers to pick a side and stay on it.) Or they just really really really want to absolutely kill Flash. It’s no secret that Jobs hates Flash. The fact that his complaints against Adobe and Flash are retorted with the reality that Apple doesn’t have any decent high-performance APIs to code against, doesn’t seem to weaken his resolve.

Despite my nay-saying in the past, and my general bias towards the Microsoft development stack, I have been secretly enthused the last 4 or 5 weeks with the possibility of writing a .NET app that would run on Windows, Xbox, Zune, & Windows Phone 7 – and then using Mono to run it on Mac, iPhone, iPod, and iPad – all with 90% shared code – but Apple has eliminated that possibility. I am no longer tempted to take a bite out of the Apple development community.

This one’s got a worm in it.


Friday, April 09, 2010 3:44:00 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]  winpho | computers | wp7 | iPad | iPhone | html5 | iPod | pure-rant | windows | xbox | apple | winmo | zune | silverlight | technology | xna | flash | microsoft | current events | dotnet

# Thursday, February 18, 2010
And Bananas

A friend of mine just today posted an epic (4,500 words!) blog post he has been working on for well over a week – which basically boils down to why “Apple is awesome and the iPad is the future”. This has inspired me to pen my own views.

Frankly, there are several debates here:

  • Form vs. Function
  • aka Functionality vs. “Just Works”
  • Flash vs. Html 5
  • aka “Future Shock” vs.. All Of The Above
  • (maybe others, but the above seem most currently relevant)

Form vs. Function…

Apple has always been about form. Microsoft has always been function. The dichotomy is evident from the first steps taken by each: Jobs deliriously struggled to make the perfectly pretty computer that wouldn’t intimidate the home user, Gates created connived a programming environment that would bring developers to the same level playing field.

This dichotomy continues today. Apple makes these bubblegum-perfect consumer devices – all made by one company, designed to span out and touch everyone. Microsoft focuses its expertise on an OS and programming platform that entices developers like never before.

Windows has never been really pretty – (not until Vista/7, anyway) – and I have no qualms with that. I don’t need pretty, and I don’t think even Mac users seriously stick to that as legitimate point in their favor.

Consider the following code check-in statistics from Ohloh:

image

Keep in mind that Ohloh tracks code statistics solely for open-source projects. Also keep in mind that C# is primarily a Windows programming language, and Objective-C is primarily a Mac programming language. I hear all the time of C#/VB/C/C++ people writing code for Mac/Linux – because it is possible – but I’ve never heard of someone using Objective-C to write a Windows or Linux application. So I’m assuming that taking a language-preference pulse of the open-source community is a reasonable measurement of the health of said code ecosystems as a whole…

…and it looks like Mac is sadly lacking. Objective-C tumbled around the time Microsoft released .NET 2.0, and Objective-C has managed to stay down throughout the entire stint of iPod/Phone/Pad popularity.

Application innovation always comes from application developers – and frankly, .NET developers have more to innovate with than Objective-C developers. When you combine this with Microsoft’s push to make “form” more important (look at Windows 7 and Windows Phone 7 Series, for Christ's sake) – this isn’t a point so easy for Mac fans to argue anymore. Moving forward…

…Functionality vs. “Just Works”

This has been the biggest ongoing point for Apple and fans. I hear things like:

  • I plug in “X” and it just works
  • I don’t need to see my file system
  • My <insert technophobe relative> can use it

Followed by, (from geeks/nerds):

  • but I have a PC for “Y”

Why? Mayhaps that Apple’s dominance over their own platform has painted them into a corner where they can literally control everything. Is it a bad thing? No. It ensures quality. But choice suffers.

I can buy my applications, hardware, and music from anywhere – for my PC - and I’ll know it can work. Heck, I can buy Mac hardware and make it work. The operative benefit – choice. I don’t want to use a cookie-cutter computer, because I want my computer to fit *me*. I never pay extra for fancy looking chasses, I don’t buy fancy graphics cards for work, and I don’t have a finger-print scanner on my gaming computer at home. And you know what? Both computers cost the same, each only 2/3s of what it would cost to get the same thing on the Apple route, and both with amazing performance for what they are supposed to do.

And I’ve never, ever, had a Windows crash that didn’t come from me trying something nerdy and predictably dangerous with my system configuration.

If you don’t want choice, then buy a Dell. Heck, buy a Mac. But you will always reach that point where “Well, I wish I could…” or “Why did I pay…”. Sure, I know not every computer user can be a nerd – Apple rightfully seeks to change that - but then, seriously, if you aren’t at least a little bit of a computer nerd, why are you reading this?

Flash vs. Html 5

I would like to segway into the root cause of this post. The iPad is coming. You’ll never look at Playtex the same again. (Har har!) And I’ll admit, we’ll probably never look at tablets the same way again…

There, I said it. But I’ll finish the sentence with “…but the iPad is not the future of tablets. Or the web.”

Why? Flash runs everywhere! Except for the iPad/Phone/Pod OS. Despite the fact that the iPad will be popular, and sell like hotcakes, to all those people that could finally figure out an iPod Touch and never their PC, 90% of the web is currently inaccessible to this demographic. And I don’t think Flash (or technologies like it), are going to die out anytime soon.

People say that HTML 5 is an open standard, and that Mobile Safari will give it a leg up. Poppycock! Even at Apple’s wonderful growth rate, they still probably have another 15 years (if that is even enough) to catch up with the kind of market share they need to make Flash and its brethren hurt.

Why? In the meantime, Microsoft is leveraging their platforms – the ones that developers love so much – on more and more platforms all the time. Windows Phone 7 is undoubtedly going to have its “native” apps be Silverlight – which means they will run anywhere, out of the box, without recompile. (Anywhere = Windows, Mac, Linux). Windows Phone 7 games… (well, you know, the ones tied into Xbox Live, the largest online game network?) …written in XNA. Which runs on Windows, Xbox, and Zune.

Both Silverlight and XNA are merely buzzwords for subcomponents of the .NET initiative. English? A C# programmer like me can write an app that runs on any of the above platforms, with minimal design overhead in consideration of portability. That means my app choices for these platforms will be more numerous, as well as cheaper.

HTML 5 will raise the bar on what comes built-in to a browser. There is no doubt on that. But baked-in will never be enough. There will always be a 3D app, an involved game, or sensitive business logic, that will need a runtime to run in. And the runtime will always run faster than JavaScript. Be that runtime Silverlight, Flash, or Java applet.

“Future Shock”

I’ve heard this one batted around the interwebs. It seems to be Custer’s Last Stand in the Mac world. “But, but, Mac is innovative!”

Yes they are. The innovation has brought droves of “normal” people to computing electronics, without even realizing what they are doing. But the people doing actual computing, are the ones in that playground just over the rainbow. The one where anyone can write software without corporate approval. The one where anyone can choose their hardware without it coming with a ridiculous price tag. The one where the real innovation is not in the basics, but in the ground of “what’s next?”, not re-hashing for the dumber demographics what was 8 years ago.

I love that Apple is innovating. I love that the attention of detail they have paid brings a sense of panic to their competition. Apple is definitely competition.

But when I ask “what’s next?” – I sit down on my PC and start typing. I don’t wait for Apple to spoon-feed me something my computer can already do.


Thursday, February 18, 2010 12:07:00 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  javascript | computers | iPad | iPhone | html5 | iPod | pure-rant | windows | xbox | apple | response-to-friend | winmo | zune | technology | silverlight | xna | flash | microsoft | dotnet

# Wednesday, April 30, 2008
Big Steps

Well, the end of April is here, and surprise – I haven't blogged since Christmas! (And I was late on that one, too.) It's been an interesting four months.

As I mentioned in my last blog article, I got a new job at the beginning of the year, working for a local startup company called Interactive Achievement. Our product is web-based SOL benchmarking software. That is, we do online testing (and reporting) for the public school system. We have a number of clients, and that list is growing constantly.

A few weeks after my last blog entry, I managed to reach the point where I had saved enough money to purchase car insurance (a pre-requisite to getting my license back). It was expensive. And then I had the pay the DMV a ton of money to get my license back, too. And I didn't even have a car yet!

So over the next couple of months, I saved up my paychecks, working at both Interactive Achievement and WSLS. And, in the middle of March, I was starting to get frustrated. I had about $1500 in the bank, with another paycheck around the corner. I remember my first car, a '87 Plymouth Reliant, was 17 years old when I got it, and was only $800. But when I was car shopping in March, I quickly picked up on the fact that the only things under $2500 were the gas guzzlers people were trying to get rid of. The closest I could find was $3500 vehicles and up.

And I got lucky! Ryan's friend Aaron, who plays D&D with us, was selling his old '94 Oldsmobile Regency. I got lucky that I was one of the first people to hear about it from him, and all he wanted was $750. (A steal!!) It has some quirks – passenger side door lock and [power] window don't want to work all the time, but they are manageable. And the car has a lot of perks! Power *everything*. Power seats, power lumbar support, power gas tank cover, power trunk release – even controls for the AC and the radio on the steering wheel! And this is a 14-year-old car!

And since I spent so little money on all that, I went ahead and upgraded my computer. I went from 1gb RAM on a 1.4ghz machine, with 500gb hard drive space – to a 64-bit Quad Core AMD Phenom processor at 2.4ghz – with 8gb of RAM and a new 1tb hard drive to boot! Combined with a new Radeon HD 8700 gpu and the 21" LCD widescreen monitor that Ryan got me for Christmas – and my computer is smokin'! (Running 64-bit Windows Vista Ultimate, with HD animated wallpapers – and I get to turn games like Eve Online and Unreal Tournament 3 all the way up and not experience any lag.) If you were keeping track of the numbers I mentioned in my car hunt, you'll realize I used some extra money somewhere – voila, 2007 Tax Returns. I filed them early, electronically, and got my money in soon. (I also mailed in my 2005 and 2006 taxes, which are obviously way past due, but I might see some money from them eventually.)

Meanwhile, Ryan and I briefly looked at moving into a for-rent townhouse. And with only a couple days of searching we narrowed down to 1 candidate, and began the applications process. We've since been approved, and our move-in date is the beginning of June. (Which is me and Ryan's two-year anniversary together.)

And, in all the excitement, at the same time, I have been dealing with knowing I need to quit WSLS. I was literally going crazy. Four months, with no time off, is a lot. And I've done longer and more, before – but it is no excuse. So I put in two week's notice at WSLS, two weeks ago. It's sad leaving a job – especially on good terms, as it is not something I am used to. Working in the limelight has been a lot of fun. And there is no place I would have rather has been during events like April 16th at VT.

But I guess I am blogging all this because one of my newest friends, Crystal, who I've worked at WSLS with for almost 2 years, is moving away. She has made a mutually beneficial arrangement with her mother in northern Virginia – and she will finish moving on Sunday, which is only 4 days away. I've gone out to bars with her, and gone to The Park with her. I've farted in her edit bay, loaned her cigarettes, and together laughed at the expense of many-a-subject in the news room at WSLS.

I've been making big steps, since I started working at WSLS. And whilst I owe the success to a little hard work, and my boyfriend Ryan's connections – I have been proud to have Crystal as a good friend. She is making big steps too! And I wish her the best of luck.

Go get'em, C Munkey!


Wednesday, April 30, 2008 11:59:00 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]  computers | personal | cars | career