Diggin DeskAway

by Jon 5/23/2008 5:40:00 PM

A while back, I posted a blog entry mentioning a couple project management web sites I had found that were inspired by Base Camp but seemed to have things done up right. I got a comment from the folks at DeskAway.com, suggesting that I check that service out. I found some really annoying issues up front, and I was very vocal about how turned off I was by the otherwise fantastic site because of those issues.

Those issues have been dealt with, though, and although the site is not bug-free nor flawless, it is now proving to be by far the best project management web site I have ever touched. I initiated a big project at work on the site and after I added a few co-workers and my boss to the project and dropped $10 for a month of "Personal" service (mainly so I could replace the plain and boring DeskAway.com logo), my boss came back and told me he was buying a $100 (year) subscription for our company instance because he liked the site so much.

The company is surprisingly responsive to flaws mentioned on the site. I often get e-mails from the CEO himself, the same fella who posted a comment here on my blog recommending that I check it out. I tend to wonder if he is really just a signature a whole staff is reusing, because the responsiveness to my issues -- even performance issues and my own complaints about down time -- have been responded to and addressed within days.

http://www.deskaway.com/ 

Give it a look, you'll be glad you did. 

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Computers and Internet | Cool Tools

Mac OS X 10.5 (Leopard) + VMWare Fusion + Mono = Bliss

by Jon 5/17/2008 8:13:00 AM

I have been using my new Mac Mini for less than 24 hours and it already looks like this:

In the screenshot I have VMWare Fusion with Unity enabled so that I have the Windows Vista Start menu (I can toggle off the Start menu's visibility from VMWare itself) and Internet Explorer 7. (I also have Visual Studio 2008 installed in that virtual machine). Next to Internet Explorer on the left is Finder which is showing a bunch of the apps I have installed, including most of the stuff at http://www.opensourcemac.org/. On the right I have MonoDevelop where I can write C# or VB.NET applications for the Mac, for Linux, or for Windows. And of course, down below I have the Dock popped up because that's where my arrow actually is.

I also, obviously, have an Ubuntu VM I can fire up any time I want if I want to test something in Linux. 

Mac OS X 10.5 (Leopard) comes with native X11, not out of the box but with the installer CD, and it's the first OS X build to do so (previous versions used or required XFree86).

This point in time is a particularly intriguing milestone date for the alignment of the moons and stars for blissful cross-platform development using the Mac as a central hub of all things wonderful:

 

  • X11 on Mac OS X 10.5
  • MonoDevelop 1.0 is generally gold (released, it's very nice)
  • System.Windows.Forms in Mono is API-complete
  • VMWare Fusion's Unity feature delivers jaw-dropping, seamless windowing integration between Windows XP / Vista and Mac OS X. And to make things even more wonderful, VMWare Fusion 2, which comes with experimental DirectX 9 support, will be a free upgrade.
  • For game developers, the Unity game engine is a really nice cross-platform game engine and development toolset. I have a couple buddies I'll be joining up with to help them make cross-platform games, something I always wanted to do. This as opposed to XNA, which doesn't seem to know entirely what it's doing and comes with a community framework that's chock full of vaporware. (But then, I still greatly admire XNA and hope to tackle XNA projects soon.)
  • The hackable iPhone (which I also got this week, hacked, and SSH'd into with rediculous ease), which when supplemented with the BSD core, is an amazing piece of geek gadgetry that can enable anyone to write mobile applications using open-source tools (I'd like to see Mono running on it). The amount of quality software written for the hacked iPhone is staggering, about as impressive as the amount of open source software written for the Mac itself. Judging by the quantity of cool installable software, I had no idea how commonplace hacked iPhones were.
  • Meanwhile, for legit game development, the Unity 3D game engine now supports the iPhone and iPod Touch (so that's where XNA got the Zune support idea!) and the iPhone SDK is no longer just a bunch of CSS hacks for Safari but actually binary compile tools.

 

Embeddable Cross-Platform Silverlight

by Jon 5/14/2008 5:02:00 PM

I've been wanting to start discovering cross-platform development with Mono, MonoDevelop, Gecko#, C++, XPCOM, XUL, XULRunner, WebKit, et al. I have a couple vaporware apps in mind and I have just purchased a Mac Mini and an iPhone mainly for this purpose. And meanwhile since Silverlight happens to be cross-platform as well, I was curious about its licensing. Theoretically, one can accomplish an Adobe AIR-like cross-platform application implementation using Silverlight and XUL or WebKit. Problem is, I had heard that Silverlight was explicitly written to disallow it from being used on anything but a standard HTML web browser (Safari, Firefox, Internet Explorer).

After spending an hour or so poking at the n00b tutorials on XUL and XPCOM, I went to the Silverlight site and spent several minutes looking everywhere for the darn EULA. (Sadly, after finding it, once I hopped on this blog editor I lost it and it took another 15 minutes to find it again.)

http://www.microsoft.com/silverlight/resources/LicenseWin.aspx and http://msdn.microsoft.com/en-us/silverlight/cc307279.aspx

I didn't see any such limitation there, nothing about "thou shalt only use Silverlight in a 'standard web browser', namely Internet Explorer, Firefox, or Safari".  There are some limitations, of course, such as perhaps redistribution, which theoretically if the app is a XUL app can be deal with using HTML+JS+XUL+XPI, getting Silverlight into thinking it's downloading and installing itself through and onto Firefox. (All theory, of course.)

On a side topic, if anyone out there is reading this, can someone tell me why there are almost no open discussions correlating XUL and XAML/WPF? They seem to attempt to do the same basic function--create apps using XML and components--albeit WPF is far more powerful and versatile in itself as a tool in its niche, whereas XUL is Javascript/HTML friendly and is cross-platform.

UPDATE: After discussing with a buddy who's done cross-platform .NET programming with Mono, apparently Glade + GTK# has an XML markup language that also meets the same objective.

On second thought, maybe I just wasn't searching hard enough. I see a lot of hits here: http://www.google.com/search?q=xul+vs+xaml

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , , ,

Pet Projects | Computers and Internet | Software Development | Linux | Cool Tools | Web Development

XNA 3.0 CTP Released

by Jon 5/8/2008 7:12:00 AM

For fun, I watch the XNA community, although I haven't participated as much as I wish because of time constraints (of course).

An XNA 3.0 CTP has just been released, which targets both Windows and -- yay! -- the Zune.

http://www.microsoft.com/downloads/details.aspx?FamilyId=DF4AF56A-58A7-474C-BFD0-7CF8ED3036A3&displaylang=en

I want to get me a Zune. Now they just need to tie Zune with Windows Mobile for Smart Phones so I can carry only one brick around with me instead of two...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Software Development | Cool Tools | Xbox Gaming | Microsoft Windows

EntitySpaces on Silverlight 2: Part One

by Jon 5/4/2008 11:25:00 AM

I managed to get EntitySpaces running on Silverlight over WCF client proxies. I documented the steps as a tutorial and Mike Griffin at EntitySpaces posted it up on the EntitySpaces blog.

http://www.entityspaces.net/blog/2008/05/05/EntitySpacesAndSilverlightDemoPart1.aspx kick it on DotNetKicks.com 

Demo here: http://developer.entityspaces.net/ES2008/Demos/Silverlight/PartOne/

I retained my Word doc so I can retain my personal preference of formatting, fix typos, and add a few annotations and disclaimers here and there like, "So far these steps don’t lend themselves very well to an offline development workflow. Finding a more appropriate workflow pattern, though, is beyond the scope of this initiative. (Good luck.)" We can thank Microsoft for making WCF on IIS 7 such a pain in the behind for binding service endpoints, without any code generation or GUIfication. But enough whining, client-side business objects in Silverlight is a hawt approach to LOB RIAs.

http://www.jondavis.net/misc/EntitySpaces and Silverlight Demo - Part 1.doc

Part two will be short 'n sweet but much more focused on actually working with EntitySpaces. This part didn't give ES justice...

EntitySpaces RIA running in Safari 3.1 (on Windows) with just about 20 lines of hand-written client-server code and XAML markup:

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Pet Projects | Computers and Internet | Software Development | Cool Tools | Web Development

LINQPad - One Of .NET's Best Kept Secrets

by Jon 3/18/2008 7:36:00 AM

http://www.linqpad.net/

This thing is awesome. :)

LINQPad supports everything in C# 3.0 and Framework 3.5:

  • LINQ to SQL
  • LINQ to Objects
  • LINQ to XML

LINQPad is also a great way to learn LINQ: it comes preloaded with 200 examples from my book, C# 3.0 in a Nutshell.  There's no better way to experience the coolness of LINQ and functional programming.

And LINQPad is more than just a LINQ query tool: it's a code snippet IDE. Instantly execute any C# 3 or VB 9 expression or statement block!

Best of all, LINQPad is free and needs no installation: just download and run.  The executable is under 2MB and is self-updating.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Cool Tools

Silverlight: DOCX-to-XAML using TextGlow.net

by Jon 3/9/2008 7:07:00 PM

At http://www.textglow.net/ they've proven that Silverlight 2 and its CLR is flexible enough to be able to take a .docx file (that's a modern Microsoft Word document) and browse it in Silverlight. I am assuming it's converting to XAML under the covers, and even if not I'm sure that a Canvas object and its contents are serializable to XAML (yes?).

What I want to know is, if a Word document can be browsed in Silverlight, why doesn't Microsoft take this another nineteen miles and convert XHTML+CSS to XAML and make Internet Explorer 9 or IE 10 a completely WPF based renderer?

I know that's not nearly as simple as it sounds; there is a vast amount of complexity in Trident.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Computers and Internet | Cool Tools | Web Development

Silverlight Gets 1.5 Million Downloads Per Day

by Jon 3/9/2008 6:43:00 AM

At the MIX 08 keynote ..

http://msstudios.vo.llnwd.net/o21/mix08/08_WMVs/KYN0801.wmv
.. or if that fails, http://sessions.visitmix.com/

.. it was announced that Silverlight is being installed by Internet users at a rate of 1.5 million installations per day.

I think we can now pretty much rule out the question as to whether Silverlight is going to reach critical mass enough for it to not be "weird" if you expect your users to download Silverlight before using some widget on your site. I wouldn't have cared, because I knew better, were it not for having to work with co-workers who beat their chests in pride and remain intentionally oblivious to the sheer significance that Silverlight brings to the web on the whole, even now.

kick it on DotNetKicks.com

Currently rated 3.4 by 5 people

  • Currently 3.4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Computers and Internet | Cool Tools | Web Development

Virtual Tarball - Draft 3

by Jon 3/2/2008 8:16:00 PM

I finally got around to kicking the tires of my "virtual tarball" idea, which is basically an XML document that consists of HTML-renderable <ul> / <li> tags that describe the contents of an Internet-based directory structure. This allows a single URL to be used to fetch an entire set of files by using a single list of hyperlinks.

I prototyped this on the server side at cachefile.net using a REST-like approach. Basically, one would simply need to append the path of a known cached directory at cachefile.net to the following URL:

http://cachefile.net/svc/mrr/ [+ known path from root]

For example:

http://cachefile.net/svc/mrr/scripts/OpenAjax/

This would output the contents of the directory at http://cachefile.net/scripts/OpenAjax/ in XML / <li> format, with hyperlinks.

 

<div class="mrr">
    <label>
        Index of <span class="mrrbase">http://cachefile.net/scripts/OpenAjax/</span>
    </label>
    <ul class="mrrparent">
        <li>
            <a href="../">Parent</a>
        </li>
    </ul>
    <!--
        This is a mrr ("mirror") file, also a.k.a. a "virtual tarball".
        For more information, see
http://www.jondavis.net/blog/?tag=/virtual%20tarball
        -->
    <ul class="mrrdirlist">
        <li class="mrrdir">
            <a href="hub">hub</a>
            <ul class="mrrdirlist">
                <li class="mrrdir">
                    <a href="hub/0.6">0.6</a>
                    <ul class="mrrdirlist">
                        <li class="mrrdir">
                            <a href="hub/0.6/release">release</a>
                            <ul class="mrrdirlist">
                                <li class="mrrfile">
                                    <a href="hub/0.6/release/OpenAjax.js">OpenAjax.js</a>
                                </li>
                            </ul>
                        </li>
                        <li class="mrrdir">
                            <a href="hub/0.6/src">src</a>
                            <ul class="mrrdirlist">
                                <li class="mrrfile">
                                    <a href="hub/0.6/src/OpenAjax.js">OpenAjax.js</a>
                                </li>
                            </ul>
                        </li>
                        <li class="mrrdir">
                            <a href="hub/0.6/testsrc">testsrc</a>
                            <ul class="mrrdirlist">
                                <li class="mrrfile">
                                    <a href="hub/0.6/testsrc/TestSuite.html">TestSuite.html</a>
                                </li>
 
                              <!-- .... -->

                            </ul>
                        </li>
                        <li class="mrrfile">
                            <a href="hub/0.6/build.xml">build.xml</a>
                        </li>
                        <li class="mrrfile">
                            <a href="hub/0.6/index.html">index.html</a>
                        </li>
                    </ul>
                </li>
                <li class="mrrdir">
                    <a href="hub/1.0_build117">1.0_build117</a>
                    <ul class="mrrdirlist">
                        <li class="mrrdir">
                            <a href="hub/1.0_build117/release">release</a>
                            <ul class="mrrdirlist">
                                <li class="mrrfile">
                                    <a href="hub/1.0_build117/release/OpenAjax.js">OpenAjax.js</a>
                                </li>
                            </ul>
                        </li>
                        <li class="mrrdir">
                            <a href="hub/1.0_build117/src">src</a>
                            <ul class="mrrdirlist">
                                <li class="mrrfile">
                                    <a href="hub/1.0_build117/src/OpenAjax.js">OpenAjax.js</a>
                                </li>
                            </ul>
                        </li>
                        <li class="mrrdir">
                            <a href="hub/1.0_build117/testsrc">testsrc</a>
                            <ul class="mrrdirlist">
                                <li class="mrrfile">
                                    <a href="hub/1.0_build117/testsrc/TestSuite.html">TestSuite.html</a>
                                </li>
                                  <!-- ... -->
                            </ul>
                        </li>
                        <li class="mrrfile">
                            <a href="hub/1.0_build117/build.xml">build.xml</a>
                        </li>
                        <li class="mrrfile">
                            <a href="hub/1.0_build117/index.html">index.html</a>
                        </li>
                    </ul>
                </li>
                <li class="mrrfile">
                    <a href="hub/home.href">home.href</a>
                </li>
            </ul>
        </li>
        <li class="mrrfile">
            <a href="home.href">home.href</a>
        </li>
    </ul>
</div>

As an added bonus, you can also get HTML wrapping of the XML file by appending the querystring, "?format=html".

http://cachefile.net/svc/mrr/scripts/OpenAjax/?format=html (click to view) 

You can let your imagination take you wherever you want to go as to what you would do with such a tool from here. I'm opening the uncommented server-side source code for this. The PHP file for my proprietary implementation is here: http://www.jondavis.net/misc/cachefile_mrr_gen.txt

Unfortunately, I have a sinking feeling that this opens up security vulnerabilities. If anyone can spot any, please let me know. I already filter out "..". 

kick it on DotNetKicks.com

LINQ-to-Javascript

by Jon 1/24/2008 8:28:00 AM

I jumped onto codeplex.com for a random summary of the latest projects and stumbled across LINQ-TO-Javascript (JSLINQ). Pretty nifty idea.

Personally I'd like to see JSLINQ to be a jQuery overload -- that is, take the JSLINQ object definition and merge it with jQuery's object (at runtime) -- so that jQuery extensions can automagically work with JSLINQ objects. I suggested the idea here.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Open Source | Cool Tools | Web Development

Unix SDK for Windows

by Jon 12/19/2007 7:31:00 PM

Yeah I know Windows has had a UNIX compatibility layer for some time. I know that it is based on what was previousy a third party solution called Interix.

But I think it's expanding?? It seems bigger than the Windows Vista option and I don't recall Vista throwing in an SDK and calling it as such.

On the other hand, running Setup, it's offering me "Reinstall/Repair, or Uninstall". *shrug* Running install.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Software Development | Cool Tools | Microsoft Windows

Cool Tool: Folder Size for Windows Explorer

by Jon 12/9/2007 7:00:00 PM

Windows Explorer (the file explorer, not Internet Explorer) is missing a key feature: The ability to asynchronously count up and display folder sizes without pulling up the Properties view. This proves quite important when trying to track down what directory contains big, bloated files. Someone created something for this, though, here:

http://foldersize.sourceforge.net/ 

I tried it on Windows Server 2003 R2 and it just works; it causes Windows Explorer to just add the column as a column option (choose columns).

Unfortunately, however, it doesn't work with Vista. Why? Because Microsoft killed the Win32 API call for it. Apparently, they replaced it for file metadata support as is found in MP3 files. (Garbage. OK, this is stupid. I'm becoming a Microsoft basher now?) http://foldersize.sourceforge.net/vistasucks.html

I sent a $15 CAD donation to ask the developer to continue to look into a workaround for Vista.

Update: He sent me an e-mail and said he wants to focus on Ubuntu. That makes it a different product altogether; essentially, I take it as "no, I won't support FolderSize for Windows Explorer anymore". Quick, Windows Vista users, send him more $$!!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Open Source | Cool Tools | Microsoft Windows

The Virtual Tarball

by Jon 11/21/2007 9:11:00 AM

AFAIK, no one has done this, at least not in this specific way, I have a need for it, and I can see it being used everywhere. So I'm proposing it, and I'm going to implement it.

My idea: The virtual tarball. (Or something?) A file extension of something like .vtb, or .mrr (mirror file). Inside, it looks like it's just an XML file with XHTML-renderable hyperlinks, but the file type is used by an executable that pulls the files down into the specified directory with the <a> tags' text as the save-to file name.

Example contents:

<ul class="mrr">
 <li class="mrrfile">
  <a
 href="
http://cachefile.net/file_a.bin">file_a.bin</a>
 </li>
 <li class="mrrfile">
  <a
 href="
http://cachefile.net/file_b.bin">file_b.bin</a>
 </li>
 <li class="mrrdir">dir1</li>
 <li class="mrrfile">
  <a
 href="
http://cachefile.net/dir1/file_c.bin">dir1/file_c.bin</a>
 </li>
 <li class="mrrfile-alternate">
  <a
 href="
http://otherurl.net/dir1/file_c.bin">dir1/file_c.bin</a>
 </li>
</ul>

Given this sample, here's what Visual Studio outputted as an XML Schema file from automatic conversion:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified"
 elementFormDefault="qualified"
 xmlns:xs="
http://www.w3.org/2001/XMLSchema">
 <xs:element name="ul">
  <xs:complexType>
   <xs:sequence>
    <xs:element maxOccurs="unbounded" name="li">
     <xs:complexType mixed="true">
      <xs:sequence minOccurs="0">
       <xs:element name="a">
        <xs:complexType>
         <xs:simpleContent>
          <xs:extension base="xs:string">
           <xs:attribute name="href"
             type="xs:string" use="required" />
          </xs:extension>
         </xs:simpleContent>
        </xs:complexType>
       </xs:element>
      </xs:sequence>
      <xs:attribute name="class" type="xs:string" use="required" />
     </xs:complexType>
    </xs:element>
   </xs:sequence>
   <xs:attribute name="class" type="xs:string" use="required" />
  </xs:complexType>
 </xs:element>
</xs:schema>

The point of this is that it would look like HTML but it could be processed like a .zip file. Only difference between a .mrr file and a .zip file, other than the fact that a .zip file is compressed and isn't human-readable when introspected, is that a .zip contains the contents, whereas a .mrr file only contains hyperlinks to the downloadable files. In the above example, I also have an "-alternate" class so that the processor can see that as a mirrored repository for the same file.

Oh, and yeah, the point of the XHTML compatibility is partly for inspection and previewing, but also for Javascript DOM support. I'm thinking this could be my "engine" for a web browser script library pre-loader page idea I have for adding as a new feature for cachefile.net.

I'm going to get to work on an open source C# console application for Windows, as well as a Javascript browser caching implementation.

Update: I've spent most of the night prototyping the C# app. I'm calling it Mrrki ("murky"), and settled on .mrr (for "mirror"). Here's my first rough draft build: http://www.jondavis.net/codeprojects/Mrrki/0.1/Mrrki.zip.

kick it on DotNetKicks.com

Aptana Pro does IE debugging

by Jon 10/31/2007 3:43:00 AM

I didn’t see this coming. Aptana (a JavaScript / Adobe AIR / Ruby on Rails / but mostly Javascript IDE based on Eclipse) supports script debugging from Internet Explorer. This is fantastic news; Microsoft has been giving Javascript debugging for Internet Explorer a half-hearted nod for too long. Unfortunately, only the Professional version offers this, which means more $$.

I’m not sure how Aptana is going to compare with Visual Studio 2008 for this -- no doubt VS 2008 will do Silverlight and ASP.NET integration a lot better -- but Aptana as a Javascript IDE is actually really very nice for what little I’ve seen of it, and I think they’ll give Visual Studio 2008, despite VS2008’s serious improvements in JS support, a run for its money.

I hope Microsoft folks are seriously looking at Aptana’s features to see how they can improve the Visual Studio IDE. Some things I like in Aptana over VS:

- Actually turning ON and USING the built-in feature to download community SDKs and prefab projects
- Browser support and DOM versioning described directly in the code completion menus for each Javascript interface
- Respect for, use of, and support for very popular open source APIs such as Prototype.
- SVN support (hello?)
- Warning flags in the margins (not just with red squiggly underlines)
- JSON support (full editor in Pro version)

Obviously I think ultimately VS 2008 (*not* 2005) brings more to the table with regard to being a Javascript IDE but so far *only* for managing home-grown Javascript libs and the ASP.NET AJAX Library, and for integrating with ASP.NET.

Yahoo!'s Dirty Little "UNIX Utilities for Windows" Secret

by Jon 10/30/2007 5:22:00 AM

Over at http://widgets.yahoo.com/workshop/, at the bottom of the page, Yahoo! has an interesting download called the UNIX Utilities for Windows. This is offered as a "workaround" for "legacy support" for building Konfabulator widgets that were originally compiled for the UNIX environment.

However, I've found that the list of executables dropped into C:\Program Files (x86)\Yahoo!\Widgets\UnixUtils\usr\local\wbin is rather extensive. There's a LOT of UNIX-like commands in there! I dropped that path into my Windows environment path and I am rather pleased by all that's available now, things like "grep". I had that in Cygwin but now I can do this within the cmd.exe environment.

I'm reinstalling MinGW, not sure that MinGW has as many handy commands in its precompiled bin base.

Game Programming Wiki

by Jon 8/31/2007 9:32:00 PM

Very cool link for anyone wanting to get into game programming: http://gpwiki.org/

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Open Source | Computers and Internet | Software Development | PC Gaming | Linux | Cool Tools | Xbox Gaming

Gobo Linux: My Wish Has Come True!

by Jon 8/20/2007 2:39:00 PM

Over the weekend I was whining (a lot) about the lame directory structure in Linux and how rediculously impossible the gobbligook is to understand at a glance. Someone pointed me to this link, which explains the mess that it is, and when I looked at it I discovered exactly what I was dreaming of: a version of Linux that has the whole structure cleaned up and making sense!!!

Gobo Linux! http://en.wikipedia.org/wiki/GoboLinux  ...   http://www.gobolinux.org/

Downloading now!!

Too bad, though, the directory names are in Mixed Case. Since Linux is case-sensitive, this'll be cumbersome... 

UPDATE: Poking around at it now. Yeah, those Mixed Case names are a real bear. The concept is precisely what I had in mind -- refactor the whole directory structure, and then just use symbolic links for the old system in order to have compatibility. But not THESE file names, not Mixed Case. This makes me wish I could just go and run with GoboLinux and make a distribution of Gobo that goes back to lower-case names....

Paying Attention To DinnerNow.net - Microsoft Killer App Best Practices Tutorial for Everything .NET 3.0

by Jon 7/31/2007 11:01:00 AM

I've been noticing my RSS feeds to Channel9 plugging some "DinnerNow" thing that sounded like some third party company who was just sharing some architectural trick up their sleeve, so I kinda shrugged it off. After all, how many software tricks are up people's sleeves at sourceforge.net or elsewhere?

But being a big new fan of ARCast.TV podcasts, I came across the Architecture Overview and Workflow piece which I didn't realize until I started listening that it was Part 1 of the DinnerNow bits. Listening to it now, I am realizing that this is something rather special.

DinnerNow, which I've only just downloaded and haven't actually seen yet but I'm hearing these guys talk about it in the podcast, is apparently NOT a Starter Kit style mini-solution like IBuySpy was (which was a dorky little shopping cart web site starter kit that Microsoft hacked together in ASP.NET back in the v1.1 days as a proof of concept).

Rather, DinnerNow is a full-blown software sample of an online restaurant food ordering web service application, one that I had wanted to build commercially for years (along with a hundred other ideas I had), that is top-to-bottom, soup-to-nuts, thorough and complete implementation of the entire solution from the servers, the restaurants, the buyer, demonstrating all of the awesome components of the latest long-released .NET Framework technologies, including:

  • Windows Communication Foundation (WCF) on the restaurant and web server
  • Windows Workflow Foundation (WF) on the restaurant and web server
  • Windows Presentation Foundation (WPF) for the restaurant (kiosk @ kitchen)
  • ASP.NET AJAX 1.0 and JSON-based synchronization
  • CardSpace for user security
  • PowerShell for things like administrative querying
  • Microsoft Management Console (MMC) for administrative querying, graphically
  • Windows Mobile / .NET Compact Framework
  • Windows Management Instrumentation (WMI)

Ron Jacobs (the ARCast host) made a good introduction for this with a statement I agree with, something along the lines of, "As architects, what we often try to do is look at someone else's software that was written successfully," and learn and discover new and/or best practices for software from it. In fact, that's probably the most important task in the learning process. If learning how to learn is an essential thing to learn in software architecture, then learn this essential point, that both understanding new technology and discovering best practices is learned by seeing it for yourself.

Update: Ugh. With many technologies being features comes many prerequisites. I had all of the above, but the setup requires everything to be exact. In other words, start with a fresh Virtual Machine with Vista 32-bit, and add the prerequisites. XP? Screwed. Win2003? Screwed. 64-bit? Screwed. Orcas Beta 2 installed? Screwed. And so on the screwing goes. An optional Virtual PC download from MSDN premium downloads with everything installed would have been nice. And I'm not hearing anything from the CodePlex forum / Issue Tracker, not a peep from its "maintainers". I think this project was abandoned. What bad timing, to put it on ARCast.tv now...

Another update: Microsoft did post a refresh build for Visual Studio 2008 Beta 2. I noticed it on CodePlex and they also started replying (for a change) to the multiple discussion threads and Issue Tracker posts on CodePlex. Among those replies were comments about 64-bit support--not supported, by design [which I knew] but they said with workarounds [which I posted multiple reports about] a 64-bit OS target build should be possible. I saw all this a few days ago; should have posted this follow-up update earlier, seems a Microsoft employee posted a comment here first. (Sorry.)

With passion comes passionate resentment when things go wrong. It's a fair give and take; on the other hand, whatever.

PowerShell Community Extensions on x64

by Jon 7/24/2007 2:39:00 PM

I ran into this error after installing PowerShell Community Extensions on Windows Server 2003 R2 (64-bit):

    Cannot load Windows PowerShell snap-in [..] because of the following error:
    No Windows PowerShell Snap-ins are available for version 1. 			

This is one of the lamest error messages in recent history. The solution was found here: http://www.eggheadcafe.com/software/aspnet/30117657/powershell-on-64bit-serv.aspx

.. where I just swapped out the referenced DLL with C:\Program Files (x86)\PowerShell Community Extensions\Pscx.dll and C:\Program Files (x86)\PowerShell Community Extensions\Pscx.Core.dll.

    C:\> C:\Windows\Microsoft.NET\Framework64\v2.0.50727\installutil.exe 
         "C:\Program Files (x86)\PowerShell Community Extensions\Pscx.dll" 

In that directory I found the post-install .bat file that attempted to do this. Apparently, it failed.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Computers and Internet | Cool Tools

Map My Mind

by Jon 7/16/2007 7:25:00 PM

At my last job, a business partner was taking notes using some mind mapping software. I had never seen such software before; it got my attention. She managed to capture an outline bullet on every little facet of information that was divulged in a day-long meeting consisting of some thirty or so sales staff all of whom had an opinion about the requirements about the product we were about to implement. I was spellbound. 

The software she was using was MindJet MindManager Pro (http://www.mindjet.com/us/).

Eventually I got PDFs and Word docs of her output, and I had to help compile a legible 200-or-so-page design document (one among a zillion other reasons why I quit that job), I quickly realized that as handy as the tool seemed to be, it didn't seem to be very useful from where I sat after receiving its output. This is NOT a documentation tool!! It is a brainstorming tool, and realistically it can only be fully comprehended by the person who prepared it.

Nonetheless, there have been a few times in the last year or so that I really wanted such a tool. Actually, it was just for pet projects, not so much for work. But I cannot afford MindJet's offering at $350. So I quickly found FreeMind (http://freemind.sourceforge.net/wiki/index.php/Main_Page). It's Java-based, but I forgive. Some parts of it feel a bit obsolete, the diagramming feels a little unpolished, and the icons it seems to demand that you place are rather cheesy. But at the basic level, it does the job.

I came across MindApp (http://www.mindapp.com/) which costs $29 after a free trial, which is far more affordable than the $350 offering from MindJet. After completing my brain dump with it I felt like it's perhaps worth the $29 because of some extra polish and formatting features, but it has quirks, such as messed up font size in the HTML output. However, I didn't find myself compelled; the gap between it and FreeMind is tiny compared to the gap between it and MindJet's MindManager. I want more.

On a side topic, wanna know what I was brain-dumping? Well, a couple months or so ago I heard about another public database going down (this time a free TV listings service). Wouldn't it be nice, I thought, if public access databases were maintained by the Internet community rather than just one company that could shrug its shoulders one day and walk away? This had me thinking about my old Peer-to-Peer file sharing idea...

For many years, before Azureus, before Morpheus, before Kazaa, even before Napster (but somewhere close to the days of Metallica's relevance), I had an idea about peer-to-peer technology. Specifically, seeding a distributed database, by injecting metadata (i.e. XML attachments) to NNTP posts into an alt.* Usenet newsgroup that would contain IP addresses, DNS hostnames, and/or URIs, along with function metadata, describing the whereabouts of a peer service seed. This, in my mind, took hosted distributed peer-to-peer network seed hosts out of the equation; Usenet already propagates the metadata that would be needed to seed something like that.

But acknowledging that some level of organized seeding is necessary, I registered these domain names:

  • DistributedDB.org
  • DistributedDB.net
  • DistributedDB.info

The objective for a site that would use these domain names is NOT just for P2P networks--that backstory was just an example of a trigger that led me down this path. Rather, the objective is to give people a place to either dump tiny data records, or else to proxy or alias their own network services. The service would be free but with some maximum records or limitations.

Here's what my rather small brain dump looks like.. (oh, and yeah, it's alright, I know you can't read it...)

image

I'll divulge more later. Need sleep.

Currently rated 2.5 by 2 people

  • Currently 2.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Pet Projects | Cool Tools | Distributed Database


 

Powered by BlogEngine.NET 1.2.0.0
Theme by Mads Kristensen

About the author

Jon Davis Jon Davis (aka "stimpy77") is a software and web developer by day and a software and web enthusiast (geek) by night. He was recently a senior web engineer for the enthusiast division of a major magazine publishing company for nearly two years. He has been a programmer, developer, and consultant for web and Windows software solutions professionally since 1997, with experience ranging from OS and hardware support to DHTML programming to IIS/ASP web apps to Java network programming to Visual Basic applications to C# desktop apps. Lately, Jon's professional focus has been on C#, ASP.NET, Windows services, WCF, custom Javascript libraries, and implementations of Lucene.net and telligent's Community Server for multiple web sites.
 
Software in all forms is also his sole hobby, whether playing PC games or tinkering with programming them. "I was playing Defender on the Commodore 64," he reminisces, "when I decided at the age of 12 or so that I want to be a computer programm