AWG Blogs

  • Getting ADB Working for SPH-M840 - Had a SPH-M840 Galaxy Ring Virgin Mobile 3G Android version 4.1.2, attempting to install apps from Android Studio failed to detect device. Installed SAMSUN...
    7 months ago
  • How to check if I have write permissions to an Oracle table - SELECT CASE WHEN COUNT(*) > 0 THEN 'YES' ELSE 'NO' END AS PERMISSIONS FROM ( SELECT privilege FROM ( select * from dba_tab_privs where (grantee = 'MY_USE...
    7 months ago
  • JSF vs Struts 2 - JSF was designed in part by the authors of Struts to create a "Struts" that did a more accurate implementation of MVC (Struts is technically "Model 2") a...
    8 months ago
  • XML Beans vs JAXB - Seems XML Beans is superior: JAXB provides support for the XML schema specification, but handles only a subset of it; XMLBeans supports all of it. Also, by...
    1 year ago
  • Algorithms and OOP - In addition to DCI, "generic programming" as well as the move to functional programming appears to add nuance to the OOP notion of joining behavior with da...
    1 year ago
  • Flyweight vs Singleton - Implementations seems to be virtually identical, differing only in style, where the flyweight object is created and held by associated objects (containers:...
    1 year ago
  • init-param vs context-param - see http://javahash.com/difference-between-servlet-init-and-context-parameter/ for background. Gist: context-param variables are global and accessible thro...
    1 year ago
  • rbenv vs RVM - RVM is responsible not only for changing Ruby versions, but for installing rubies and managing gemsets, as well. ...Along with rbenv [to manage ruby versi...
    2 years ago

Thursday, August 23, 2012

Add Change Order Action Menu Item

By default only the Links list type has this menu item in SharePoint 2007. It can be added to any other list though through the web services API, specifically updating the "Ordered" field property to True. See http://msdn.microsoft.com/en-us/library/lists.lists.updatelist(v=office.12)

Once that's done, just edit the View properties (including the anonymous views from any web parts) and set "Allow users to order items in this view." Doing so will change the order shown to that of the built-in Ordered lists property, which is what is updated via the (now shown) Change Order action menu for the view.

Here is an adapted sample console app:

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Property Editor - v.0.1");
            Console.WriteLine("Enter the URL of the Lists web service");
            string url = Console.ReadLine();
            Console.WriteLine("Enter the Display name of your list, e.g. My List");
            string listname = Console.ReadLine();
            Console.WriteLine("Enter the list property (e.g. Ordered)");
            string property = Console.ReadLine();
            Console.WriteLine("Enter the property value (e.g. TRUE)");
            string propertyValue = Console.ReadLine();

            Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();
            listService.Credentials= System.Net.CredentialCache.DefaultCredentials;
            listService.Url = url;

            XmlDocument xmlDoc = new System.Xml.XmlDocument();

            XmlNode ndProperties = xmlDoc.CreateNode(XmlNodeType.Element, "List", 
                "");

            XmlAttribute ndOtherAttrib =
                (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute,
                property, "");
            ndOtherAttrib.Value = propertyValue;
            ndProperties.Attributes.Append(ndOtherAttrib);

            try
            {
                XmlNode ndReturn =
                    listService.UpdateList(listname, 
                    ndProperties, null, null, null, 
                    null);

                Console.WriteLine(ndReturn.OuterXml);
            }

            catch (Exception ex)
            {
                Console.WriteLine("Message:\n" + ex.Message + "\nStackTrace:\n" + 
                    ex.StackTrace);
            }
            Console.ReadLine();
        }
    }

Saturday, August 18, 2012

Compiling MD5summer in XE2

- Download md5summer.tar.gz from http://md5summer.cvs.sourceforge.net/md5summer/ and extract all
  - Alternately get source (v1.2.0.05) from http://md5summer.cvs.sourceforge.net/viewvc/md5summer/md5summer/Source/
- Download tpshellshock_1_02_2011-09-08.zip from http://sourceforge.net/projects/tpshellshock/
- Perform installation of ShellShock per the readme.txt, i.e.
  - add the tpshellshock_1_02_2011-09-08\source directory to XE2's Tools Options, Delphi Options, Library Path
  - open .packages\Delphi XE2\ShellShock Delphi XE2.groupproj in Delphi XE2
  - Right click on K102_R160.bpl and compile
  - Right click on K102_D160.bpl and install
- If reopening IDE, may need to do Component, Install Packages, then add
c:\Users\Public\Documents\RAD Studio\9.0\Bpl\K102_D160.bpl
- Download and install the author's components at http://luke.pascoe.net.nz/tools.html ; also add library ref.
- Open md5summer.dpr to load project
- Compile and run

Note, if you choose not to install the author's components, you will need to make a few edits:
- To remove About components functionality
  - open u_About.pas and edit code: remove or delete all references to "Maze" and "Rect"
  - right click (RC) md5summer.exe and View Source, then comment out Application.CreateForm(TAbout, About)
- Open u_DoMD5s.pas and comment out these lines:
  - BatchGauge: TGauge;
  - FileGauge: TGauge;
  - Remove "Guage" from uses
- Open u_DoMD5s.dfm
  - drag two TGauge's from Samples in the Tool Palette to the form under Batch and File labels
  - name the top one BatchGauge and the bottom one FileGauge
- in u_DoMD5s.pas, search and replace all "Gauge.Position" with "Gauge.Progess"




Thursday, August 2, 2012

Logic for Viewing 2D Data in 3D

 Logic for Viewing 2D Data in 3D
Do with groupings of a unit (grouping function g) as x axis and observee in y axis. (Note: the fourth dimension would be grouping of groupings, i.e. higher order grouping functions as possible inputs.) Cell(x,y) equals the function of data items h(f(),g(),v,t(y,z,w) where y=y1) -- in our case, given y1 and grouping function g, lookup z for record that matches f(g(w)) -- below, for y1=observee1, 1.1 and 1.2 could be grouped into group with key v=1, i.e. g(v,t)={1.1,1.2}, then f(g(v,t))= max of {1.1,1.2} or 1.2, so return value is b == cell(x,y)

sample data:
(y)                (z)   (w)
observee1     a     1.1
observee1     b     1.2
observee1     c     2.1
observee2     a     2.1
observee2     a     1.1