Wednesday, September 23, 2015

Monday, February 9, 2015

Grails - RESTful web services and Boostrap

Just started looking at RESTful web services and I have learned a valuable lesson about Bootstrap.

As I have just started out with Grails I am still not that familiar with what Grails is doing in the background, no matter how obvious it might be. One such case is the initialization of the application context.  I recently created a (RESTful) controller that uses a service.  As the RESTful side of things is not currently secured, no context initialization (or service initialization) is performed.  I will be looking at securing things shortly so that may change the state of affairs but for the moment, I need to initialize my service in Bootstrap.groovy:

class BootStrap {
    // declare service if used outside the context of the running application
    def someService
    def init = { servletContext ->
        ...

Otherwise, I get something like:

Method on class [Person] was used outside of a Grails application. 
If running in the context of a test using the mocking API or bootstrap Grails correctly.

The reference to testing is a good hint - something that would normally be initialized by Grails has not yet been initialized!







Thursday, November 13, 2014

Microsoft Word and the ribbon

Accessibility is a key aspect of application design so I was glad to discover that even with the advent of the ribbon in Microsoft Office, there is a still a method for accessing most of the functionality via keyboard shortcuts - F10 takes you to the ribbon, then you just need to get used to two-step short cuts!

UML

Came across this article recently about Empirical Software Engineering.

My thoughts:
As a software developer I can certainly appreciate any discussion that looks to improve efficiency.  I would like to make a comment about UML.  UML forms an important part of object-oriented analysis and design.  I started programming in the early eighties, taught to rely on "structured techniques" as the design methodology of choice - data flow diagrams, data dictionaries and pseudo code pretty much covered it.  Eventually I progressed to Object Oriented Analysis and Design (OOAD) and Programming.  When I studied OOAD, OO programming and UML, it was like a new dawn for me.  Finally, a methodology that links requirements through to implementation - having spent some time testing during Y2K I comprehend the critical importance that requirements play in software development.  Unfortunately, in my time since learning OOAD I have encountered many developers that obviously do not comprehend this importance.  Graduates are still taught that they need to analyze requirements and design a solution but like so many, they soon get into the bad habit of writing the solution and not bothering with the initial analysis when a solution would be documented with tools such as UML.

Thursday, December 13, 2012

RDFa

This is the first really useful application of semantic technology that I have seen.  Replaces the old meta tag method of identifying terms that relate to a website.  The real power is the ability to link to an entire database of terms, such as those contained in dbpedia.

Monday, November 28, 2011

JPA Dali Eclipse Database Explorer EclipseLink

Generating entities using the JPA tool, I found that entities would not be generated for some tables. A workaround appears to be to go into the Database Explorer an expand the column listing for the table that is not showing its columns. When you go back to generating the entities you now find that the columns are listed and the table entity is generated. You can use the workaround in the database explorer multiple times before having to go back into the generation tool.

Thursday, April 7, 2011

NBN 2010

Challenges
- User-friendly term for bandwidth.
- Ugly cables. NBN is costed, NOT digging in cables. Different color/size/layout?
- Competitive back haul - NBN is only one part of the picture.
- Take up. People should take something that is free now, even if they do not understand the use, as it will only cost them more in the future.
- Devices are needed NOW, to demonstrate capability.

Broadband for Society Summit (Hobart)
I recently attended the first and last day of the summit. The highlight for me was the presentation by Dr. Kate Cornick representing The Institute for a Broadband-Enabled Society (IBES). It was the first material that I have seen the provides a clear and tangible statement about the benefits of the NBN. Using the same approach as IBES, opportunities are categorized by [domain|NBN domains].
The presentation by Dr. Catherine Middleton (from Canada) was also interesting because it gave me the impression that Australia has the potential to be one of leaders in the application of broadband technology.
Not long after the summit, I was also lucky enough participate in the setup of the wireless broadband trial in Smithton, Tasmania. It was interesting to hear about the team's experience with local impressions of the NBN trial, and my own discussions with the people that I met. There has been some frustrations with certain aspects but, based on my limited experience, the frustrations can be easily replaced with optimism if there is a better education program to clarify the operation and role of the NBN. I do not believe that this is being done by any of the current stakeholders.

Background
I have been doing some research into the NBN for a while now.
My thinking has diverged in several different directions.
I had a conversation about User Interface design and the NBN, with the student that I am supervising (see attached [email|^Re NBN and UI design.msg]). My main take on that discussion is that we need to do some detailed analysis in terms of the entire protocol stack.
At the IEEE Presentation (NBN Rollout in Tasmania) I thought that there was one point that was not countered. Someone made the point that most of the content is in the USA, but that presumes that you are using the NBN for retrieving that content. Much of the proposed applications that I have heard discussed so far talk about enabling services within Australia, e.g. access to online health services. Sure you might need to go outside Australia for this some times, but not the majority of the time.
Other significant messages that I got out of last night's presentation were:
- High-priced bottleneck between Tasmania and the mainland. Not necessarily a disadvantage if you accept my point about delivering intra-country (in our case intra-state) services. This is what we could concentrate on?
- Symmetrical/Synchronous applications/opportunities. I wasn't sure whether the network actually requires changes to facilitate this. This discussion also reinforced the point that these guys are still learning while they do this so there is still scope for efficiencies improvement. Regarding this point, I think there also has to be some tie in with cloud computing/super computing. If you suddenly gain greater bandwith, then it makes sense that you want to have computers with greater processing capacity connected to the network. This [email|^Seminar Thinking in parallel high performance computing and the next generation of GIS.msg] could be a starting point for discussion - "moving compute-intensive spatio-temporal scientific programming into parallel processing".

I hadn't looked closely at the NBN web-site, as I figured it would be a bit superficial. Can we obtain results of the discussion with "real" potential users from the NBN? They also have the facilities for asking questions but not all responses are likely to appear through their site. They have a section on publications and research. We need to keep a track of this? Most of it is not at the customer level, but more focused on the backbone, which leads to the "service providers", although for commercial reasons, they may not be so willing to divulge information.

Another use case
After the talk, Steve and Greg had a brief chat with Peter Ferris. One of the things that came up was that the network is to some extent future-proofed. Peter has a hub for every four houses that has 12 connections. At present just four of these are being used.
Peter's idea is that another four are for a future upgrade and the remaining four are for other uses (things like smart infrastructure, billboards, traffic lights, security cameras, etc). I think this is particularly interesting from a sensor web point of view, as there is potential to have sensors both sending data and receiving through high bandwidth connections. It opens up a whole range of new sensors and makes centralized control a lot more feasible.
There is potentially going to be huge amounts of data flowing into our clients but most of it will need to be automatically processed (i.e. rather than looking at hundreds of security cameras, I'm more likely going to want to "follow that car" and have the system handshake between cameras). I haven't thought it completely through yet, but I suspect that there will be a similar shift in perspective around other sensors.

Links
- Tom Worthington's blog discusses 2011 National Broadband Network Submissions for the Australian Parliament House Standing Committee on Infrastructure and Communications.
-- Listened to parts of the CSIRO submission for this. Question on notice around symmetric capability!
- Broadband for Australia Theme
- Broadband for Society Summit
- NBN Co Limited
- https://wiki.csiro.au/confluence/display/NTLab/NBN+Resources
- ICTCComms
- CSIRO to trial wireless over analogue TV spectrum
Tools
Speed/capacity measurement
- auditmypc
Other countries
- USA - Household Demand for Broadband Internet Service
-- http://www.broadband.gov/plan/
-- Reading the papers over the weekend there is still plenty of opposition to the NBN. Some of it relates to visibility. Wireless is still being touted as a viable alternative. Other economical debates are the domain of politicians.

Wednesday, December 23, 2009

Hard to solve errors!

SOAP.
Error: InputStream does not represent a valid SOAP 1.1 Message
Solution: messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);

Monday, November 9, 2009

FOSS4G

Day -1

After one of the sessions on Thursday I thought I would also add in some details of the UTAS projects that I thought were interesting when I saw them during the 3rd-year student projects demonstration day.
The lesson from the session was that exposure to other people's work will usually enrich your own view.

I went along to a demo day in support of the UTAS students that did our Sensor web project. I was very impressed with the standard of work and there were some interesting applications of technology that I thought I should share. I didn't get round to all of them but my favourites besides our own projects were:
SMS queries: http://www.cis.utas.edu.au/student-proj-sby/smstube/software.html
JIRA integration: http://www.cis.utas.edu.au/student-proj-sby/nbstest/index.html
Virtual environment: http://www.cis.utas.edu.au/student-proj-nhm/medical/ - don't tell your kids about http://www.secondlife.com/ !!!!

Day 0

Low cost airline equals low priority service - hoping blog doesn't sound like rambling mess after operating on small amount of sleep...

Day 1

Opening talks were great:

  • Warwick Watkins described the nirvana - GIS systems serving data horizontally across multiple domains.
  • Raj Singh masterfully integrated some our South Esk slides to demonstrate our work.
  • Paul Ramsay's mother-in-law would have been proud of her son-in-law - Paul explained how he could support his family writing open source software - sell the services, not the software.

Session 1

Session 2

  • Presenter didn't turn up so I figured I would head over to the CCIP booth to prepare for the onslaught of enquires during the break. Two hours and 1.5 missed sessions later (see CCIP booth notes), I made it to the next session.

Session 4

  • Spatial data infrastructure by Lat/Lon. First of many acronyms to investigate. owsWatch, SOSEWIN

Session 5

  • 3LIZ. Sacrificed learning a bit more about R to attend this. Client side development tool using Mozilla XUL Runner that integrates with Open Layers. GDAL. XPCOM. JS rendered using Canvas. Proj4js. PostGIS support. PostGIS -> Openlayers as JSON layers, whatever that means. Not worried much that we aren't looking at client stuff as Matt at IM&T has this covered.
  • Side note - seemed obvious during this presentation - storing GIS query details in PostGIS partially as Geom fields.

Session 6

  • US DoD - Engineer corps. Amazing that these guys manage so much GIS info. Impression was that it was a bit of an ESRI shop, but when quizzed they stated they use ogc services for serving a lot of their data. They have also integrated flood model data - asked them if I could contact them to discuss their experiences further.

Session 7

  • WPS and grid computing. This looked ground breaking, though of course I am a newbie in this field. Presented by China OSGeo office. OGS-DAI. Globus Toolkit v4. LGrid. Netbeans. DQP. Hash join. SQL/MM.

Session 8

  • Zonae Cogito. MARXAN. This was my wild card choice. Didn't understand the maths or most of the concepts during my pre-conference reading but this decision support framework sounded intriguing. Still fuzzy on the details after the presentation but I think that this might be useful when illustrating the relationship between rainfall and river flow. After the presentation a kind gentleman from ANU suggested that I speak to Simon.Barry in CMIS who has examined our problem space.

CCIP booth notes:

Discovered that there are quite a few use cases out there that would like to take advantage of the CCIP.
Demonstrated climate and sensor systems to a representative from Australian Geographic.
Ivan Hanigan from ANU would like to utilize our architecture to solve their Epidemiology use cases (http://nceph.anu.edu.au/Research/Environment/air_quality_health.php).
Ivan Hanigan also suggested we contact Bill Physick, Martin Cope and Sun Hee about their work as it could be useful for us.
Davina Jackson dropped by to introduce D_CITY.
Nimalika Fernando from the Sri Lanka Institute of Information Technology sought some information about model-sensor integration.

Ignite spatial:

Some very entertaining talks here. Even hilarious at some points. Ask me about Google Wave and the Thunderbirds!
Video of presentations available at http://www.ignitespatial.com/?page_id=181

Day 2

Opening talks were again quite interesting:

  • Kate Lundy's spoke about Vegemite, oops, Gov 2.0. I don't think they had a version 1.0 either. Review underway about whether government should make most of their data available for free.
  • Raul Vera from Google was never going to outdo his counterpart that appeared at the inspire talks. Still, Raul did convince me that its time to use a phone PDA, just so I can run the Android O/S. I now understand why CSIRO are talking about a Enterprise Google service. Must also start using Chrome more, especially after downgrading Firefox after I got tired of the crashes. Finally: HTML 5.0 - caching and geo API built in.
  • Andy Pitman. Climate change. See http://www.350.org/. Been 250 for the last 10000 years. Bugger. Good news - my Fortran skills are back in demand and climate scientists only want to use NetCDF.

Session 1

  • Simon Jirka from 52N confirmed that we should forget SAS. Complex filtering using EML and incorporated in SES. I thought their concept of trust management was synonymous with quality/providence. Filtering 'discards' records - we probably would want to have a review process instead.

Session 2

  • Attended economic benefits of spatial technology presentation by Alan Smart. Our BDM might find this useful.

Session 3

  • Terrestris. This presentation prompted me to include the UTAS stuff. Strange sort of presentation using a brain, hands and heart analogy. The crux was probably that the selection of technology components should be pragmatic.

Session 4

  • Bruno Simoes (http://www.graphitech.it/) did a presentation about WPS. This looked pretty cool. Some of it is covered here (http://www.web3d2009.org/media/downloads/Session04/p1012-simoes-Web3D2009-s4.pdf) and I told Bruno that we would contact them. Apparently this work is about a year old but they have only just got around to publishing it. Some the 52N guys in the audience suggested that Bruno should look at WPS-T but I think maybe these guys have stolen the lead here. Java/JOGL/NASA WW. Added algorithm services to WPS spec, similar to 52N. Using Sextant for algorithms which already has about 200 routines.

Session 5 & 6

  • Database technologies. Not so relevant when you are doing research but useful to keep an interest. Ingres is making a comeback in a big way. Its open source and uses a lot of the same code that is used by Postgres. Caught the end of the Postgres presentation - geography type is one change - need to review road maps. Oracle talk confirmed that when moving out of research into production systems this stuff should be left to DBAs in the end. SQL Server geo functions universally despised.

Session 7

  • Rob Atkinson. Enough said. Rob seemed surprised that there were people standing for this 1.5 hour tutorial come lecture. Why don't we have plans to use Geoserver 2.0 to serve our data through the WFS mechanism? Major enhancement for Geoserver 2.0 is the incorporation of the application schema processing extension. Still have to deal with schema to persistence layer translation but at least now it is configurable in Geoserver. Rob is willing to help us out - good starting point is demo material. AWDIP work could be useful, plus all the other relevant project stuff I haven't read yet! Took lots of notes to help with setting up the demo but we can download the slides. Off to see Ben Caradoc Davies tomorrow to learn more...

Day 3

Session 1

  • SWE overview. Simon Jirka. SOS xface - 3 profiles - core, txn (registerSensor - use this to set up sensors?), insObs. Wondering whether our implem should be mix of SOS-T and WFS-T - though WFS-T isn't available yet (see later app schema talk).
  • We are using SPS to initiate retrieval of sensor and model data sent to HT?
  • Should probably get a hold of someone else' SPS client, preferably something that is not domain specific. Same goes for entering/maintaining SES criteria?
  • Definitely use SES as its filtering capability is far superior to SAS. OASIS WS-Notification.
  • SWE implementations: Genesis (tell Ivan about this), OSIRIS (ows6), Wupperverband (water/flood mgmt!), OOSThethys, seagis, umn mapserver, vast. Support for mobile still in progress (update this with my notes from 21/7 meeting with 52N).
  • Clients. OXF Rich/Webmap, uDig. Can we actually validate our work without putting in an end to end solution? Most other worldwide projects seem to have done this but perhaps they are better resourced.
  • Integration of alerting - should we just make use of existing and well proven IT infrastructure monitoring solutions that provide a DASHBOARD interface - they usually provide hooks for integrating information from any source.

Session 2

  • Business intelligence. Integeo. Andy Meehan. They have written a spatial integration server in java that lets you integrate your data sources with a large number of BI tools including BIRT, Gognos, Hyperion. Shouldn't be too hard to use Pentaho tools. Use of a web map context to combine items. Suggested data categories: business, basemaps, ref data (ABS has a surprisingly varied amount of information). BI is useful as it can be easily used to display the results of our processing?

Session 3

  • More BI. Borealis - not much technical information. Mandarin? ETL- Talon? Jasper reports.

Session 4

  • Security. Swiss earth institute. Milan.antonovic@supsi.chGeoShield (GS). PyWPS? GS running as proxy. GeoTools, GeoAPI, Toplink lib. Privileges definition with CQL.
  • Requester/Approver pattern? Use WS-security? Can probably move this to the servlet filter layer?
  • Attended this as security will always have to be considered eventually. Also thinking that if the implementation to demonstrate our research cannot easily integrate with other essential architectural components then its adoption may be hampered.

Session 5

  • Application schemas. Ben Caradoc-Davies. Good crowd again. WFS-T not yet supported. Rob Atkinson stated that a lot of European countries are all going down this track. Hanko Rubach from lat/lon stated that degree already handles application schemas. However, this apparently is done with XSLT, which is not elegant IMHO, though may I am biased (i hope not to write too much more XSLT in my life!).
  • Wondering whether we should be focusing our efforts on helping the Geoserver project to move that code base forward. They have problems with inheritance that degree has solved using XSLT? Another problem is the hand coding of the schema to data source mapping. This has been made a lot easier with the addition of (Rini Angreani's) feature chaining code. Maybe get the UTAS on to a GUI to support this? Strength is search capability.

Session 6

  • Web based catalogue. Indonesia. Good to see that the technology is making a difference.

Session 7

  • WMS shootout, i.e. performance comparison. Geoserver vs Map Server. Map Server has made some changes to CGI processing that now makes it considerably faster than GS. GS will no doubt incorporate the technique.

Session 8

  • CCIP panel. More time needs to be spent on it next year.

Session 9

  • Closing address. Map Server committer got the top gong. BOM were thanked, for providing us with great weather all week!

All presentations will be made available on the FOSS4G website at:
http://2009.foss4g.org/index.html

Thursday, January 15, 2009

Currently upgrading our instance of Confluence (which is a whole different story). Once again JMeter proved to be an invaluable tool. Pretty simple usage of it this time round. Used it on another project where we used Beanshell and Perl (for http) to functional and load test a web services application. Brilliant.

Wednesday, November 19, 2008

First steps

I guess you have to start somewhere...
My objectives:
  • Record interesting facts that I discover in my working life as an IT practitioner.
  • Reference other IT works that I thought were interesting.
  • Keep it simple, i.e. readable.
These thoughts are my own opinion and in no way reflect the views of my employer...