My method? Unconventional. First of all: working hard for the things I believe in. Then, when done: give it away! I don’t want to be in the business of building one-off computer trinkets. Payin’ bills with software might be the last electronic bubble to burst but it’s not far behind music, movies, and other digital information. Solving problems people have with service and innovation is the only lasting business model.
It’s a little evangelical too. Or maybe biased. There are a handful of ever-changing topics I’ll defend to the death. I used to be a proponent of web semantics and strong typing but that’s fallen out of favor next to the forces of flexibility, compactness, DRY, and their ilk. Seriously, if you’re prototyping in Java or C++ I’m looking at you. Don’t even get me started. Enterprise languages are so rarely the right tool for the job. Do your homework first.
I try to start a project with some goals and a handful of failing test cases. These get me a started and call out what is working (and shout when it they aren’t working). Building test cases keeps the project focused, documented, and of course: well tested. Unfortunately, projects are diverse beasts and one so rarely has that luxury.


Microsoft Silverlight applications are distributed in archive files with a .xap file extension. This model mirrors the deployment strategy of Flash .swf files and several other binary web application types. However, these files aren’t as opaque as they seem on the surface. On further inspection we find that .xap files are simple zip archives with a different file extension.
Using an archive viewer (7zip is my tool of choice here – seriously, I’ll wait while you go grab it) we can open the .xap up and examine its contents.
We can see that along with the assemblies required to run the Silverlight code, we have two configuration files in the archive – AppManifest.xaml and ServiceReferences.ClientConfig. These two files provide the assembly references and service references for the application, respectively. Following are samples of these two files:
Normally we wouldn’t need to touch these files, but in the case of a moved webservice location, knowing that the endpoint is defined here can be a lifesaver. We can use 7zip to edit the client config in-place to change the endpoint url of a service that the Silverlight application references.
Hopefully this shows you that you shouldn’t take .xap files at face value – there is more there than meets the eye.


|
IVT
|
Base class for the representation of local features. More...
#include <FeatureEntry.h>
Public Types | |
| enum | eFeatureType { tSIFT, tMSER, tPatch, tCCH, tLCCH, tNLCCH } |
Public Member Functions | |
| CFeatureEntry (int nSize, float x, float y, float angle, float scale, Vec3d point3d=Math3d::zero_vec) | |
| CFeatureEntry (const float *pFeature, int nSize, float x, float y, float angle, float scale, Vec3d point3d=Math3d::zero_vec) | |
| CFeatureEntry (const CFeatureEntry &featureEntry) | |
| ~CFeatureEntry () | |
| virtual bool | ReadFromFileOld (FILE *pFile) |
| virtual bool | ReadFromFile (FILE *pFile) |
| virtual bool | WriteToFile (FILE *pFile) const |
| int | GetSize () const |
| virtual int | GetSizeOnDisk () const |
| virtual eFeatureType | GetType () const =0 |
| virtual CFeatureEntry * | Clone () const =0 |
| virtual float | Error (const CDynamicArrayElement *pElement) const =0 |
| Public Member Functions inherited from CDynamicArrayElement | |
| CDynamicArrayElement () | |
| virtual | ~CDynamicArrayElement () |
| virtual bool | Equivalent (const CDynamicArrayElement *pElement) const |
Public Attributes | |
| float * | m_pFeature |
| Vec2d | point |
| Vec3d | point3d |
| float | angle |
| float | scale |
| Public Attributes inherited from CDynamicArrayElement | |
| bool | bDelete |
Protected Attributes | |
| int | m_nSize |
Base class for the representation of local features.
Definition at line 72 of file FeatureEntry.h.
| Enumerator | |
|---|---|
| tSIFT | |
| tMSER | |
| tPatch | |
| tCCH | |
| tLCCH | |
| tNLCCH |
Definition at line 76 of file FeatureEntry.h.
|
inline |
Definition at line 80 of file FeatureEntry.h.
|
inline |
Definition at line 95 of file FeatureEntry.h.
|
inline |
Definition at line 108 of file FeatureEntry.h.
|
inline |
Definition at line 121 of file FeatureEntry.h.
|
pure virtual |
Implemented in CPatchFeatureEntry, and CSIFTFeatureEntry.
|
pure virtual |
Reimplemented from CDynamicArrayElement.
Implemented in CPatchFeatureEntry, and CSIFTFeatureEntry.
|
inline |
Definition at line 245 of file FeatureEntry.h.
|
inlinevirtual |
Definition at line 247 of file FeatureEntry.h.
|
pure virtual |
Implemented in CPatchFeatureEntry, and CSIFTFeatureEntry.
|
inlinevirtual |
Definition at line 161 of file FeatureEntry.h.
|
inlinevirtual |
Definition at line 129 of file FeatureEntry.h.
|
inlinevirtual |
Definition at line 200 of file FeatureEntry.h.
| float CFeatureEntry::angle |
Definition at line 267 of file FeatureEntry.h.
|
protected |
Definition at line 261 of file FeatureEntry.h.
| float* CFeatureEntry::m_pFeature |
Definition at line 264 of file FeatureEntry.h.
| Vec2d CFeatureEntry::point |
Definition at line 265 of file FeatureEntry.h.
| Vec3d CFeatureEntry::point3d |
Definition at line 266 of file FeatureEntry.h.
| float CFeatureEntry::scale |
Definition at line 268 of file FeatureEntry.h.


Every child has a childhood dream—some wish they wanted to see fulfilled. Mine was a simple one, but it still hasn't come true yet. I wanted a cat. /0/1