Bruce Markham's Personal Soapbox
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 29 | 30 | 31 | 1 | 2 | 3 | 4 | | 5 | 6 | 7 | 8 | 9 | 10 | 11 | | 12 | 13 | 14 | 15 | 16 | 17 | 18 | | 19 | 20 | 21 | 22 | 23 | 24 | 25 | | 26 | 27 | 28 | 29 | 30 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Search
Navigation
Categories
Blogroll
|

Monday, July 05, 2010
Trying To Get A New Blog Engine Going
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)
MEF | computers | MVC | technology | DotNet4 | microsoft | dotnet

Tuesday, June 15, 2010
A Fruity Tweet In The Dark
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)
winpho | computers | wp7 | technology | iPhone | android | current events | apple

Tuesday, April 13, 2010

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)
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:
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):
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)
javascript | computers | iPad | iPhone | html5 | iPod | pure-rant | windows | xbox | apple | response-to-friend | winmo | zune | technology | silverlight | xna | flash | microsoft | dotnet

Sunday, December 16, 2007
Why I Haven't Blogged For A While
Believe it or not, (as I bite the hand that feeds me), Blogger sucks!
Microsoft released Word 2007, well, earlier this year. And around the same time, Google finished integrating Blogger into its authentication system. What do they have to do with each other, you may ask?
Well, Microsoft was kind enough to put in blogging functionality in Word 2007. Create new posts, publish old ones. It works with a handful of providers - WordPress, Windows Live Spaces, and Blogger included. Well, its supposed to work. But it doesn't.
You can put in your Blogger information, it will list all of your blogs, and for any you select, it will list your blog posts (if you want to edit an old one). But it fails if you try to actually open one of these blog entries. And it fails if you try to post a new blog entry.
Why do I blame this on Blogger?
Well, from what I understand, Blogger used a well-published standard for its API, making it easy for blog tools to work against. When people complained in early 2007 that Word 2007 didn't work with Blogger (around the time that Blogger became fully integrated with Google authentication), Blogger responded with a "we're working on it", and later with a "it's fixed". (As a side note, Word 2007 worked *perfectly* with Blogger, supposedly, when Word 2007 was still in Beta.)
In the time that has passed since, I acquired Word 2007. And discovered that it doesn't work with Blogger. (No, it's not my computer, read on...) And Blogger's only support option, other than a plethora of How-Tos, is the
Blogger Help Group. Being a Google Group, it is a forum-style discussion system. Old posts get pushed out of the way for new posts. Hundreds of posts are made per day. (And a kicker, it seems that older posts cannot be replied to or edited, making them effectively dead.)
I've posted a couple times now, complaining about my problem, with no response. I've scoured it looking for other people with the same problem, and found a few that have, but the responses they got (from people that aren't affiliated with Google or Blogger), were all basically to the effect "Well, you shouldn't be trying to use Word then, stupid." With no follow-up, ever, from Google/Blogger personnel.
There is no e-mail address for customer support. No handy-dandy web form to file in a request for help. Just a Google Group, hoping you'll get answered, or at least noticed, by someone important. And so far I haven't been.
There is no accountability. No quality control. And thats what you get for using a free service.
So I'll post here, while my patience can bare it. But I'm considering moving my computer programming blog to WordPress. (Which sucks for Google, because thats the blog of mine that actually gets traffic.)
Sunday, December 16, 2007 2:40:00 AM (Eastern Standard Time, UTC-05:00)
blogger | technology | microsoft

Wednesday, May 02, 2007
I Helped Bring Digg To Its Knees
I spent 40 minutes Digging every article I could related to the HD-DVD key leak - which at first Digg staff was trying to censor. This has sense exploded in a Digg revolt. Hundreds of stories with thousands of Diggs each, it is quite insane.
My computer couldn't keep up with the JavaScript of me clicking "Digg" over and over again. But obviously my internet connection *could*. And a whole helluva lot of other people, too.
Eventually, this is what I got, after 5 minutes of it timing out with me just trying to see the front page:

One of the articles is a link to a screen-shot of a comment that Digg founder Kevin Rose left on a topic regarding the madness itself. In summary, Kevin said that they (Digg staff) were contacted by [some HD-DVD affiliated legal lackey] with a cease and desist.
But apparently, at 9PM (possible PST, but I dunno), Kevin Rose posted
this on the Digg Blog. Basically saying that Digg was just trying to protect itself (it being a rather small company), but since the people have spoken out, Digg will stick with them. Even if it has to die trying.
Makes me feel kinda bad for all those Diggs I shoved up their asses, if only I had seen that Digg Blog post first. Though, they may honestly suffer more wrath from the thousands and thousands of users who are angry about censorship, then they could at the hands of a *potential* intellectial property dispute, of that magic little number.
Yours truly,
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
Wednesday, May 02, 2007 1:59:00 AM (Eastern Daylight Time, UTC-04:00)
technology | current events

Tuesday, May 01, 2007
HD-DVD Decryption Key Cracked - Now Censored
Attention MPAA, RIAA, and respective affiliates and associative organizations, or those acting in their interest: You do not have permission to view this blog entry. Doing so constitutes a violation of the Internet Privacy Act.
Blog Entry Starts HereThe HD-DVD decryption key has been posted lots of places. The MPAA has been issuing DMCA take-down notices. I would tell you what the key is, but they might try to censor me too. Even though the key was napped directly out of an ingenious persons computer RAM. In light of that, I've encrypted it here, for my own personal storage:
Security
09 by
F9 obscurity
11 never
02 works.
9D There
74 are
E3 always
5B smarter
D8 people
41 out
56 there
C5 who
63 can
56 figure
88 it
C0 out.
Do not decrypt it. Just because the sequence may or may not be in plain site, does not mean that it is yours to know. If I find out you decrypted it from my blog, without my express written permission, I will prosecute you under the Internet Privacy Act.
HD-DVD - I'm sure you've heard of it. Along with Blu-Ray, it is part of the next generation of high-definition home movie media, however overlaiden with DRM it might be. Fair use is out the window, or so it seems.
An intelligent computer user explains how he found it
here. (Notice I refuse to refer to him using a potentially demeaning title of *acker.) He found the key, by doing memory dumps of his computer's RAM. He didn't "crack" anything, or run any decryption algorithms to find the key. It was just sitting there, in his computer memory, alongside all sorts of other easy-to-read data. He won't name the player software that he snooped, because he doesn't want the software's developer to be unfairly burdened by the MPAA.
DRM doesn't work! It only pisses off the stupid people, and only inconviences the smart ones. If its a product worth selling, then it will sell! Claiming ownership over a pattern of bytes, which travel around on someone else's computer, is morally reprehensible, and irrationally foolish!
Media companies need to stop wasting their money on seemingly complex DRM schemes, undergo a paradigm shift, and focus on having unique products that are worth selling. Pieces of plastic, no matter what movies are "on" them, are not worth $20 or $30. To quote Dr. Phil (McGraw), "Folks, its time to get real!"
Tuesday, May 01, 2007 5:41:00 PM (Eastern Daylight Time, UTC-04:00)
technology | current events

Sunday, April 29, 2007
Will The Real A.I. Please Stand Up
I've always been quite interested in artificial intelligence. From the customizable AI scripting for
Civilization II, to the complexities of unbeatable AI-controlled chess players, there are plenty of real world examples of what computing power has enabled us to do in the way of simulating intelligence. However, science fiction has given us things both to reach for, and to avoid.
In Star Trek, the characters are able to converse with the ship-board computer to ask queries and assert commands; in
2001: A Space Odyssey and the
Terminator trilogy, computer-driven intelligences turn evil and take human lives.
For the first 3 or 4 decades of computing technology, the closest thing to AI that we have made has been rule-driven computer programs. And whilst some of these attempts have been rather complex, they all break down into hard-coded combinations of "if
, then do " - which in the long run, won't cut it alone. True intelligence must be adaptive.
So how does one make it adaptive? There has been quite a bit of research into this recently. The OpenCyc project encompasses a dynamic database of assertions (e.g. a dog is a mammal, a mammal is a vertebrate), and then draws conclusions between them (so all dogs are vertebrates). It isn't self adaptive, but they do have a massive ontology of common sense facts that can serve as groundwork for other AI projects.
There are other approaches, which have only recently begun to be explored (because of evolving computational power). One approach, involving systems that function based on the properties of random numbers in large groups. Genetic-inspired algorithms are being used to randomly write and adapt rules to simulate things like mice in a maze looking for the cheese. There are also attempts to create artificial nueral networks, by simulating neurons and their connections in mass numbers. For example, such an approach has been used to create a system that can learn how to return highly accurate trigonometric function values ( or other mathematical relationsips - see the FANN project). There have also been rather productive philosophical exercises as to how to make an A.I. "friendly".
But when and how will it all come together? Many different kinds of projects, have approached intelligence from specific angles, such as Jeff Hawkins' project, Numenta, which focuses on a solely on modelling human sensory recognition. Ray Kurzweil, the foremost running futurist, has predicted that we will reach a point called the "Singularity", (being based on the Law of Accelerating Returns), which will be the point that an artificial intelligence will explode into super-human intelligence, and change all of society as we know it, with cybernetics blurring the line between digital and biological.
But the truth is, no matter how many teraflops we pour into an artificial neural network, or a common sense reasoning engine, or sensory recognition heuristics, none of these alone are going to explode in such a way. True artificial intelligence will require collaboration across these domains, for a singular project. But at such a point, would the intelligence be "artificial", if it were "real" intelligence, based on all the pieces we understand about human intelligence?
And the paranoid part of me wonders, how do we know that such an electronic intelligence hasn't evolved already? That it just simply decided we weren't worth its time and effort, so it just drifts around on the internet ignoring us? Believe you me, the way my computer acts sometimes, I wonder...
Sunday, April 29, 2007 6:37:00 PM (Eastern Daylight Time, UTC-04:00)
technology

Thursday, March 01, 2007
Vista activation cracked by brute force
It is a simple brute force attack, dumb as a rock that just tries keys. If it gets one, you manually have to check it and try activation. Is is ugly, takes hours, is far from point and click, but it is said to work. I don't have any Vista installs because of the anti-user licensing so I have not tested it personally.
read more |
digg story
Thursday, March 01, 2007 10:12:00 PM (Eastern Standard Time, UTC-05:00)
technology | current events