event handlers

It seems the event-based paradigm is so fundamental to the way JavaScript works, I probably won’t get much accomplished until I read up some more on said paradigm.

Posted in Uncategorized | Leave a comment

2010-Jan-25 presentation notes

*faceted search

*JavaScript, runs in browser

*interacts with HEK API

Posted in Uncategorized | Tagged | Leave a comment

week 3 update

I honestly have done very little this week; have been too occupied with other tasks. However, I am still on the schedule I set, since I did some work last week that I didn’t expect to get to until this week.

status: ON-SCHEDULE


Posted in Uncategorized | Leave a comment

week 2 update

Began week 2 rather sluggishly, but I now feel like I’ve recovered my momentum/motivation.

Did some more reading on JavaScript, on event-driven programming. I am also doing, finally, a bit of implementation, specifically a “base set,” i.e. a set of solar events that can be described by a single URL in the HEK API.

status: ON-SCHEDULE


Posted in Uncategorized | Tagged , , , , | Leave a comment

event-based programming

As this faceted search is based around a GUI, I should use an event-based model. Event programming is a new paradigm for me, I am thus reading up on the subject.

Posted in Uncategorized | Tagged , , | Leave a comment

starting implementation

Winter break was pretty fun and relaxing, but now winter quarter is on, and I am about ready to begin implementation.

I am going to use Git versioning software to track the changed to my code. I also will figure out how much I code I should borrow vs. how much I should make myself. Also, check out how the software licensing on borrowed code would affect what I can do.

The faceted search will be a Javascript thing, run on the end-user’s web browser. Still need to decide more details regarding the power of the tool vs. the ease of use.

Posted in Uncategorized | Tagged , , , , | Leave a comment

connections

I realized that the plan I posted makes the implicit assumption that every search parameter is linked by a logical AND–“look for events that are X AND Y.” This is flawed. It would be a much more powerful system if I enable it to do, “find events that are X OR Y” or “find events that are NOT X”. Even more powerful, I could eventually implement connectors besides these boolean operators, e.g. “find events X that are at the same time as event Y”.

Posted in Uncategorized | Tagged , , , | Leave a comment

helioinformatics plan

Helioinformatics Project: Faceted Search and Inferencing

Background and Motivation

Astronomy is among the fields of scientific endeavor that have recently begun to generate data on a massive scale. A prime example of this data-intensive astronomy is the Large Synoptic Survey Telescope, LSST. Bearing a 3 gigapixel digital camera, the LSST is planned to output 30TB nightly. And, even sooner than the LSST, within a few months the Solar Dynamics Observatory will be launched. As its name implies, the SDO will bear instruments to observe the sun, very powerful instruments which will output up to 2TB of data a day.

Over this past summer, I interned at the Lockheed Martin Solar and Astrophysics Lab in Palo Alto, CA. The LMSAL group is greatly involved with the SDO project. As I am a student focusing on software development, Neal Hurlburt, my supervisor, pointed me to a project involving the use of software systems to bring some order and structure to this avalanche of solar data. For my SOS project, I propose to continue working on this system.

Goals

  1. Provide professional documentation for my code
  2. Develop a faceted search for solar data
  3. Develop an inferencing system for solar data

Scope

My software will interact with already-established LMSAL software and hardware systems. It will probably include both server-side, run at LMSAL, and client-side, run on a web browser. The primary audience of my software is solar physicists.

Deliverables

  • faceted search interface, in form a web browser-accessible GUI
  • recommender engine, maybe incorporate into search engine
  • inference engine (maybe)
  • documentation

Plan and Schedule

Faceted Search

This project has multiple objectives–I shall first focus on the faceted search. For the faceted search, I am drawing inspiration from the browsing system at Zappos.com. To illustrate what I am planning for the faceted search, I have created a mock-up of the GUI I am planning, though this one is for beverages, rather than solar events and observations.

state 1:

bev1

Types of beverages, like types of solar events, can have a wide variety of parameters. Also like solar events, some parameters are applicable to one type but not to others–alcoholic beverages can be further discriminated by whether or not they are fermented or distilled–tea cannot be classified thus. The default interface will present the four or five most “discriminatory” parameters in four or five boxes that have drop-down boxes, for “finite” parameters like “whether beverage is served hot or cold” or text boxes for “non-finite” parameters like “region of creation” (it would be silly to put every city and region in the world in a drop-down menu). If the user desires finer control, the entire set of parameters can be accessed by the “display all parameters” button.

I define degree of parameter discrimination by how well-balanced the types are among the parameters; e.g. if a subset of drinks is 90% non-alcoholic and 50% served hot, hot-cold is more discriminatory than alcohol content. After entering parameters and clicking “Search,” state 2 is reached:

state 2:

bev2

After entering the new parameter, the number of drinks is narrowed down. The search box that was just used is then replaced by the most discriminatory parameter to for the new subset.

Recommender Engine

This would probably be like the system at Amazon.com that suggests similar books and movie, though this one obviously for solar events instead. I plan to focus on this part more in spring quarter.

Inference Engine

This would be able to find logically connected observations and events in the system. I plan to focus on this part more in spring quarter.

Schedule

Winter Break
Winter Quarter
Week 1 research/learn browser GUI options for faceted search, probably Javascript
Week 2 ” “
Week 3 ” “, begin implementation
Week 4
Week 5
Week 6
Week 7 Complete basic working prototype
Week 8 Polishing/documentation
Week 9 ” “
Week 10 ” “
Week 11 ” “, reflection, plan for spring quarter
Spring Break
Spring Quarter
Week 1 revise plan
Week 2 begin work on recommender engine and inference engine
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
Week 9
Week 10
Week 11
Posted in Uncategorized | Tagged , , | Leave a comment

getting a handle

I’ve been feeling somewhat bogged down in regards to project planning lately. I think a big issue is that my past programming projects have all been in class, with problems laid out, perfectly defined, by the text book or the prof. Making software in the real world isn’t that straightforward, and I think I am getting a taste of that lately.

This afternoon I met in person with Neal, my supervisor from LMSAL. He said that he too thought this project was somewhat ill-defined, and that it was not just my inexperience. This is quite a reflief to hear, actually.

In short, there seem to be two distinct but related objectives to this project: inference and faceted search. They both suggest fancy “semantic web” type ideas, but they also have more concrete and down-to-Earth examples. They both involve databases, which is something I should learn more about. The inference engine, using some sort of semantic magic on the database, could make inferences from the data, “if x and y, then z,” or more conretely, something like, “if active region A and active region B have the same ID number, then they are the same active region”. The faceted search would work something like on Amazon, except more along the lines of “scientists who were interested in these sorts of flares were also interested in these sorts of sun spots”. Also, faceted search could work something like the Zappos category search.

Posted in Uncategorized | Tagged , , , , , , | Leave a comment

Ptolemy and Kepler

Again the the vein of “do not reinvent the wheel,” some preliminary work has been done with this project using Kepler and Ptolemy. Besides being already there, using these gives me the potential to explore new software architecture paradigms besides my usual OOP.

Posted in Uncategorized | Tagged , , , , | Leave a comment