Random Eclipse Questions

Isn’t Eclipse really hard to use?

No.

Why won’t my generated EMF Model Editor let me add children!?

If you have a model where one element should have children and the generated editor won’t let you add children, make sure that the “Containment” box is checked in the properties view for the association (the arrow) between the two elements. emfContainment

Here’s a link to a good, working model from Lar Vogel’s tutorial on EMF. I missed his containment remark in his text, but I found it in his ECore model:

https://github.com/vogellacompany/vogella/blob/master/de.vogella.emf.webpage.model/model/webpage.ecore

How do I set the base package name of my EMF model?

One of the things I hate about EMF is that it has options for everything, but hides them in crazy places. I should be able to set the package name just by changing the package name! The solution is simple enough, but just took me a bit to figure out. Open your genmodel, select your package, open the “All” section in its properties and set the package name to what you want.

emfBasePackageName

Eclipse ICE news + EAVP! – 20160327

Happy Easter!

I logged on for a couple of minutes to make some tweaks to my article on my paternal family history and I thought I might take a few minutes to update you on what’s happening in my slice of the Eclipse World.

Eclipse ICE is going well. I just returned from a trip to SOS20 where I had the opportunity to present on ICE, Triquetrum and several other Science Working Group projects during the Workflows Session. There was very good feedback overall and I am looking forward to collaborating with everyone from the conference. What I enjoyed best was the sense of a shared vision and a strong desire to enable multiple tool stacks that are unified through common data management and provenance models.

We have a new project with ICE starting up as part of the Department of Energy’s High Performance Computing for Advanced Manufacturing (HPC4Mfg) program out of the Advanced Manufacturing Office. My team and I will be joining forces with the Awesim team from OSC to create a new high-performance version of their Weld Predictor App. Part of this work will include deploying ICE for mesh generation and editing. ICE might see a little time in the post-processing side of things, and, of course, we will use ICE for all of the code development work on the ORNL side.

I’m also happy to announce that the Eclipse Advanced Visualization Project (EAVP) is now fully decoupled from ICE and available on its own GitHub project. This project is all about developing advanced, high performance visualization technology under the banner of the Science Working Group.

More as I know it!

What counts as good genealogical evidence?

I thought it would be a good idea to say what I look at as good genealogical evidence since I’m getting back into this and starting to write it up. I break evidence down into two categories: direct evidence recorded on paper or an appropriate digital analog and anecdotal evidence.

Direct evidence includes any type of paper record, such as census records, titles, deeds, birth certificates, marriage certificates, death certificates, baptismal records, etc. Anecdotal evidence is anything else that isn’t documented. This can be a little tricky because sometimes eye witness accounts are very important. My rule is that eye witness accounts are anecdotal evidence that may or may not be useful in locating direct evidence because if the event was important and real, someone would write it down!

I always make sure that I double check important dates, places and lists of relatives before I declare two people related to each other. Sometimes people may seem like they are related, but no direct evidence can be found linking them to each other. In that case, I try to note the possible relationship without making assumptions.

Billings Family History (2016)

Back to my roots

I’m very excited to be getting back to a little genealogy. I’m especially excited since this time I have some big help from Anthony Adolph, a professional genealogist. We’re starting off with some research into the history of my paternal line, the Billings Family, because the trail goes mostly cold at the start of the 19th century.

I’m familiar with the recent history of the Billings line – my father, my grandfather and my great grandfather. Billings men live for a long time and those three generations alone turn the clock back to 1838, when my great grandfather was born to father Richard and mother Mary. Beyond Richard Billings though, I can find no definitive links to the past. Here’s what I know.

I try to be pretty skeptical about evidence. So while I love good stories, I always look for direct evidence.

Wm H Billings

My great grandfather was born in 1838 as either William Horatio Billings or William Horace Billings. Most accounts support the former, although his death certificate and my cousin Steve support the latter. My father, who is the only person still alive that might know, said “It was something stupid that began with an ‘H’ and he wouldn’t talk about it.” For his part, William signed his name as “Wm H Billings.”

Some sources record his place of birth as North Carolina, some as Grayson County Virginia. He is listed in the 1850 US Census in “District 19, Grayson, Virginia,” although his age is mistakenly listed as being nine years old. He appears in census records after that in Virginia until 1880 when he shows up in Piney Creek, Alleghany Co, North Carolina, now married to Caroline Osborne of Ashe County North Carolina. Grayson County Virginia is a few miles from Piney Creek and the house that Wm bought for his family on Potato Creek Rd was even closer – little more than a stone’s throw across the New River. Caroline was twenty years younger than Wm, by the way.

Wm served in the Quartermaster Corps in the Civil War in Grayson County Virginia and later in life he received a pension from the state of North Carolina for his service. He was a merchant who sold Stomach Bitters created from extracts of wild cherry, mahogany and dogwood barks mixed with vinegar. He claimed his bitters could cure just about everything from heart problems to “female weakness,” which is the old school way of saying lady pains.

In 1876, Wm was charged with bastardy for fathering a child with Rocksy Anderson out of wedlock. Ms. Anderson did not have the money to raise the child on her own and was about to turn it over as a ward of the county. Wm claims that he paid her somewhere between $5-$20 in his testimony, but the details are vague as to whether or not she received all of that money. He settled the case for $60.00 in 1877. That would be about $1300 today according to internet inflation calendars.

A couple of decades later he and Caroline welcomed my grandfather into the world. My father visited Wm on his deathbed in 1935 as a young boy, vividly remembering Wm’s long white beard. Dad remembers playing with his aunts at “the big house” after visiting Wm. Wm’s death certificate reports that he died of pneumonia and old age on February 23rd 1935 at the house in Piney Creek NC. He was buried the next day in the family cemetery, right near his house, that now bears his name, “The Soloman Parsons and Wm H Billings Cemetery.”

Wm’s death certificate lists his father as Richard Billings, place of birth unknown, and his mother as Mary Moxley of Ashe Co. What I know about Richard is below. However, the day may come when I write an entry on Mary Moxley, who’s line traces back to 16th century England.

Anecdotal stories about Wm

My father has told me many times that the farm Wm owned was on 5000 acres and included a mine that yielded both silver and lead. My father and brother also claim that Wm had nearly a hundred former slaves in his employ to work the farm and that he both paid them and provided them housing. Also according to Dad, during the civil war Wm sold lead out of the mine to both the Union and the Confederacy, making himself enough money to later setup his Bitters business and farm. Locals, including my father’s best friend since childhood and my honorary uncle Herb Barr, claim that legend holds that Wm knew the location of “the good silver” in the mine and wouldn’t share it with anyone, taking the secret to his grave. The rights to this mine were supposedly sold along with the 5000 acres by one of my father’s aunts in the ’70s or ’80s.

I can’t verify any of this, but it makes for good flavoring. It is important to note that there is now a very large quarry next door to the old homestead, quite literally around the bend.

Richard Billings

Richard Billings first appears as the head of my family in the 1830 census. By the 1850 census he is listed as married to Mary Moxley with seven children, including Wm, and living in Virginia. His profession is given as being a miller. Most records show his date of birth as being around 1800 somewhere in North Carolina. The 1860 census lists him as being sixty three years old, North Carolina born and his post office as that of Independence Va.

Richard died in 1873, reportedly in Grayson County Virginia.

Reeves vs. Dickey: The Origin of the Family Mine

I once stumbled across “Cases Decided in the Supreme Court of Appeals of Virginia, Volume 51” while googling for Richard. Page 138 records the case of Reeves vs. Dickey in July 1853 in Lewisburg Va. (Lewisburg is now part of West Virginia, by the way.) I had previously discovered that one of Richard’s daughters had married into the Reeves family, so I decided to read this brief after stumbling onto it several times. The full text is available on Google.

This reveals a somewhat epic 1845 land dispute between Jesse A. Reeves and several others over the rights to silver from a mine on roughly seventy five acres in Grayson County Virginia. Reeves had apparently bought a share of the silver in the mine from Richard and sold parts of that share to several other people. There were only two problems: Richard only “owned” the mine through Title Bond from Charles Doughton and the silver was never successfully verified as quality silver. In fact, they were only able to identify it as iron!

I suspect this was the same mine that Wm allegedly owned twenty years later during the civil war, especially since silver is often mistaken for another metal that is regularly found close by: lead.

Anecdotal stories about Richard

Various sources lists Richard’s father as Jasper Billings and some sources claim that Jasper was born in Charleston South Carolina. However I cannot find any concrete, direct connections between Richard and Jasper Billings.

Recently Anthony Adolph discovered a possible connection between the two. In 1804, Jasper Billings, a blacksmith of Wilkes Co. North Carolina took on an apprentice, an orphan named Richard Higgins who was indentured to Jasper until his 21st birthday. Jasper was to teach young Richard Higgins his trade and how to read and write. Anthony was able to find an original copy of the indenture document, which you can take a look at here, RichardBillingsApprenticeship. Keep in mind though that while this is a possibly very interesting development, it is still not definitive proof linking Richard Billings to Jasper Billings or to the boy Richard Higgins. Anthony found this in the ‘Abstracts. Will Books One and Two Wilkes County, North Carolina, 1778-1811.  page.21. Year 1804, April, page 125.’

The  header of this document reads:

Richard Higgins to Jasper Billings } Indenture

The body reads:

State of North Carolina. This indenture made this 2nd day of May in the year of our Lord one thousand eight hundred and four between William Lenior Esq. Chairman of the County Court of Wilks and State aforesaid of the one part and Jasper Billings of the other part witnesseth that he the said William Lenior Esq Chairman in —– to an order of the County Court and according to act of assembly (?) in such cases made and provided doth put and place and bind unto the said Jasper Billings one orphan – boy named Richard Higgins. – learn the occupation of a black smith with the said Jasper Billings —– to live after the manner of apprentice and servant (?) until the said apprentice shall attain the age of twenty one years during all  —– time the said apprentice master shall serve faithfully his lawfull commands every where gladly obey he shall not any time absent himself from his said master’s service without leave but in all things —–good and faithful servant shall behave towards his said master. And the said Jasper Billings doth covenant promise and agree and with the said William Lenior Esq. that —– will constantly find and provide for said —– apprentice during the time aforesaid sufficient diet washing and lodging fitting for an apprentice also all other things necessary both in sickness and in health & to learn the said apprentice to read and write & teach him the blacksmith trade.

In —– whereof the parties have interchange —– set their hands and seals the day & year above —– —– Wm B Lenior EC

Jasper Billings (seal)

Wm Lenoir Ch –  (seal)

Richard is allegedly buried in the Old Bethel Church Cemetery in Independence, Grayson County, Virginia.

Coming to an EclipseCon 2016 near you: Science!

I’m pretty psyched about EclipseCon 2016 in North America, which is happening March 7-10 in Reston VA (more info on the conference page). It was my distinct privilege to serve on the Program Committee this year, especially with such an awesome group of committee members. We worked really hard to put together an awesome program, but what has me most excited this year is all the Science! 😀

The Eclipse Foundation is home to the Science Working Group and this year the group is coming out in force at EclipseCon. Following on the success of the “Science Track” at EclipseCon Europe in November 2015, we decided to have a track at EclipseCon North America too. This works much better for the working group than a dedicated day of talks because we scientists won’t spend a whole day in our own room missing the rest of the conference.

The Science track covers tooling for scientific workbenches, performing data analysis, visualization, modeling in a scientific field and really any science-related topic. We have 11 standard talks and one tutorial at EclipseCon 2016. This is in addition to all the normal shenanigans, like cool stickers (courtesy Tim Jagenberg),

800px-ScienceSh--

and failed experiments mixing coffee, ice cream and beer,

jay_labCoat1

The full list of talks is available on the Session Page. While I’m very excited for all of the talks, here are the three that I want to see the most:

  • Eclipse Tooling in Julia, Tobias Verbeke – I’m excited about this talk because I tried to use Julia a few months back, but got turned off by the lack of tooling. Tobias’ company, Open Analytics NV, developed some very snazzy tools for working with R, so I can’t wait to see what they have for Julia. For those who don’t know, Julia is a language for high-performance numerical and scientific computing.
  • How computers have broken science (and how we can fix it), Greg Watson – This talk is focusing on a subject near and dear to my heart… er… PhD thesis: Simulation Lifecycle Management. Greg and I have talked about this for awhile now, so I’m interested to see his take on it and what he thinks about how the Eclipse Platform can become *the* SLM tool.
  • Multi-Mission Operations and Planning, Regent L Acheveque – I’m an astrophysicist and this talk on Symphony combines Eclipse and outer space. How can I resist? Even if I didn’t know about Symphony from a great lunch time discussion with Regent last year, space plus Eclipse is totally irresistible to me.

The single tutorial from Science this year is on Eclipse ICE, (which is a project that I lead). This is ICE’s first “big” tutorial and it should cover most of what there is to learn about working with Eclipse for scientific computing. It includes tutorial information for ICE, the Parallel Tools Platform and the Eclipse Advanced Visualization Project.

The Science Working Group has several other things planned for the conference this year, including our Annual Meeting where we will discuss the state of the group and where the group’s Steering Committee will elect its officers for next year. The group is completely open to everyone, so if you want to join us for any of this additional stuff then please do.

I hope this post excites you about the Science talks at Eclipse Con 2016 and that I get to see you in Reston in March! If you have any questions or comments, please send them my way on Twitter to @jayjaybillings or to @EclipseScience for the whole community.

Launching Eclipse in a Browser with the GTK Broadway backend

I recently published a video on my YouTube page showing what Eclipse looks like in a web browser when launched with the GTK Broadway backend on Linux. That video is embedded below and this article is meant to provide some more details on how you can run this on your own machine. The discussion below assumes that you have some familiarity with both Eclipse and the command line.

Special Thanks

I want to say thanks to my colleagues at Red Hat – Sopot Cela, Alexander Kurtakov and Eric Williams – who helped me do this. They are the experts and I’m just a guy with a video camera and a keyboard! 😉

Configuration

I used an up-to-date install of Fedora 23 that was running the latest version of GTK 3, KDE 5 and Firefox. Only the most recent versions of Eclipse will work for this, so make sure that you have the Neon M4a build (RCP or RAP developers version) or something more recent, like a nightly build (with Plugin Development Tools installed).

There may be some issues with this on the latest version of KDE. As you will see in the screenshots below, the menu and file bar didn’t render at all on my machine, but both rendered fine for Alex Kurtakov.

Running Broadway

You need to manually launch the Broadway server. You should also pick the port offset on which you want Broadway to run. By default it will launch on port 8080, so if you want it run on port 8085 use “:5” for the port offset. You can then launch Broadway with the following command at the prompt:

$ broadwayd :5

You should get a message that it is listening on a port that looks like this:

broadwayTerminal

Launching Eclipse on Broadway from Eclipse

The best way to launch Eclipse on Broadway is to actually use Eclipse! This is pretty straightforward since Eclipse can launch itself through its own run configurations menu if the Plugin Development Tools are installed. The important reason for launching Eclipse from Eclipse is so that you can get all the error logs and launch it in debug mode if necessary.

Open the run configuration menu, select the “Eclipse Application” section on the left with the Eclipse logo next to it. Above the search bar that says “type filter text” you will see a small icon that looks like a piece of white paper with a golden plus (+) sign on it. Click this to create a new Eclipse Application Run Configuration. The only thing left to do now is to edit the environment variables for your run configuration. See the picture below for a reference on how this should look and make sure that BROADWAY_DISPLAY=:5 (or whatever your port offset is) and GDK_BACKEND=broadway.

broadwayRunConfiguration

After that, just click “Apply” and “Run” and you’re off to the races! You can view Eclipse in your browser by going to http://localhost:8085 if your port offset is :5 and 8080 + your port offset if it is something else.

Here are a couple additional pics from Alex showing what it currently looks like in the latest nightly for the SWT devs.

Helping Out

I think this is a pretty cool way to use Eclipse and we are actively pursuing it at ORNL for use with Eclipse ICE and our internal cloud infrastructure, CADES. The Red Hat crew is working hard to get SWT up to snuff for Wayland. If you want to help out, just join in! The main bug for tracking SWT support for Wayland is on Bugzilla and it includes links to the smaller bugs on which it depends. We also hope that there are some brave souls out there that would be willing to try this on Windows with the latest win32 GTK build.

I hope you enjoyed this article and the video. Please send your questions or comments to me on Twitter where my handle is @jayjaybillings and please subscribe.

For more information, you might also checkout Eric Williams’ blog on Eclipse on Wayland.

The brand new Neutron Reflectivity Simulator in Eclipse ICE and what it took to make it

I’m really excited about one of the newest capabilities that we have added to Eclipse ICE: a neutron reflectivity simulator!

ICE's new Neutron Reflectivity Calculator showing the material table and the output plots.
ICE’s new Neutron Reflectivity Calculator showing the material table and the output plots.

About a year ago a colleague of mine, Bobby Sumpter, got in touch with me and told me that some of our other colleagues needed a hand porting an Excel-based neutron reflectivity calculator to ICE. The author of that code, John Ankner, and I sat down with the rest of our colleagues sometime later and then the real truth came out. Not only was their code implemented in Excel, but it was using a fair amount of Visual Basic on the back end!

Challenge accepted, which in retrospect was not the best idea when also running six other projects and working on a PhD, but it was pretty awesome. It just looked so cool and I really wanted to see how “Excel-like” we could make Eclipse ICE while keeping our cross-platform mandate (read: no cheating by hooking up COM in the Workbench).

I am going to walk you through this new capability and provide you with some links for more information. Let me take a step back first and give you a brief description of neutron reflectivity and why we care about it. Wikipedia can provide you more of the gory details, but essentially neutron reflectivity, (or sometimes neutron reflectometry), is the practice of bouncing neutrons off of thin films of materials and measuring how they scatter. The pattern that results tells you about the structure of the thin films. It is the materials science equivalent of subatomic bowling (although the bowling ball is actually a wave) and in practice requires massive facilities like ORNL’s Spallation Neutron Source.

ORNL's Spallation Neutron Source
ORNL’s Spallation Neutron Source

Such big facilities are required because the amount of neutrons required is a “the more the merrier” type thing: the more neutrons you have, the quicker you can get the reflectivity information you need. Neutrons are rather ideal for this work because they are electrically neutral and will not be deflected by electromagnetic properties of the thin films.

In addition to a worksheet to calculate the reflectivity, the spreadsheet also had a dedicated materials database, a stoichiometry calculator and other capabilities built into it. Our goal when doing the port was to make sure we brought all of these capabilities to the workbench, but to do it in a way that also took advantage of the workbench. Here’s what we had to do:

  • Port the reflectivity calculator from Visual Basic in Excel to Java.
  • Create a new materials database, built right into the Eclipse Platform, that is universally accessible.
  • Create a stoichiometry calculator.
  • Embed plots in Eclipse Forms, right next to the tables.

At the same time, there were several requirements of Eclipse ICE that we needed to maintain:

  • ICE must be cross-platform (so again, no COM)
  • New data structures, UI widgets and other pieces in ICE must be as reusable as possible.

I decided that the best way to merge both sets of requirements was to bring in some extra pieces of the Eclipse ecosystem to help out. The biggest challenge was actually figuring out how we could have a materials database that could accommodate one set of materials properties and instances of those materials used by the reflectivity calculator that had both the original properties and a secondary set of thin-film specific quantities. This means that the properties that show up in the materials database are a different set of properties, in whole or part, than those that show up in the reflectivity calculator. Under the hood this can be accommodated by a map that contains the union of both sets, but the big question was how to display different sets without explicitly marking the properties?

I turned to the GlazedLists library and Nattable to pull this off. GlazedLists provides several different types of lists against which listeners can be registered as well as Table Formatters that show different properties in different scenarios. Nattable can draw GlazedLists with a very small amount of code and additional layers can be added for sorting and searching. The combination of these libraries work so well that we have started reimplementing some of ICE’s older data structures to take advantage of the new code, which is smaller, generic, better tested and easier to maintain.

We extended ICE’s workbench to better support SWT-XY-Graph to get the embedded plots. Instead of putting the plots in a separate tab of the FormEditor, or even separate views, we used a SashForm and embedded them directly under the table. This is very “Excel-ish” when you’re using it and works great. If I could have my cake and eat it too, I would really like to figure out a way to make it possible to move the plots around with dynamic resizing instead of only being able to manipulate them within the SashForm.

The final piece of the puzzle was figuring out how we could make it possible to edit entries in the Reflectivity Calculator’s Layer Table programmatically. Imagine that you want to apply a formula to the thickness of the top layer of the materials such that its total thickness is X and the total thickness of all the layers is Y. This places a constraint that the thickness of all the layers under the top layer to to have a total thickness Z = Y – X. Alternatively you might say that a middle layer has a thickness equal to the average of the layer above it and the layer below it. These types of operations are easily done in Excel, but there is currently no way to click on the cells of a Nattable and apply formulas. In lieu of writing such a layer we decided to provide a scripting terminal with the Eclipse Advanced Scripting Environment (EASE) so that users could just write Javascript or Python to do whatever they wanted. This also makes it possible to do really cool things like generate and execute ensembles of calculations.

And… that’s about it. Everything works pretty amazing, considering the rather small amount of time that we spent on this. We have had an Eclipse Con Europe presentation accepted as an Early Bird Talk and ICE will be part of its first SNS User Tutorial in October. These make for very exciting times on the project and this new capability is so slick that I can’t help looking forward to what comes next!

You can check out our YouTube channel in the next few weeks for a video tutorial or our project page for more information. There is also a dedicated tutorial on our wiki. Of course, if you happen to be at EclipseCon Europe you can come by our talk too!