Chat log from the meeting on 2018-03-06

Contents: - Discussion about a reverted patch to correctly display the number of faces of a tortured prim - Missing Pics after migrating to another profile module - Contents in databases doesn't get deleted even if the user deletes it from his inventory or region - Asset- and script-caches can be shared among regions and OpenSim instances - Andrew plans on taking a look at the destinations code next - The birds module - Issues with HG [11:09] Arielle.Popstar @hg.osgrid.org: looks to see whats  new and  exciting  here: http://opensimulator.org/viewgit/?a=shortlog&p=opensim [11:10] Andrew.Hellershanks @hg.osgrid.org: I was looking at the changes to the httptests branch. I see the fix that Ubit added to correct a face counting issue has been reverted by someone whose name I don't recognize. [11:11] Andrew.Hellershanks @hg.osgrid.org: That will reintroduce the texturing problem we were talking about a couple of weeks ago. [11:12] George Equus: tortured prims not taking on some sides? [11:13] Arielle.Popstar @hg.osgrid.org: the note  says: Remove the work around for sphere number of faces since as of commit 846f35 it initially has the correct number of faces and the workaround returns 2 more than the correct number of faces. [11:15] Andrew.Hellershanks @hg.osgrid.org: Ah, yes. It did say sphere. [11:16] James.atLLOUD @hg.osgrid.org: Is it unusual to have contributions by an unfamiliar author? [11:17] TG.Lucan @hg.viewtwo.net:8600: added to master by Melanie [11:17] Bill.Blight @grid.opensim.life:8002: yes she just tagged the other as the author of the patch [11:18] Bill.Blight @grid.opensim.life:8002: or the commit I should say [11:18] Andrew.Hellershanks @hg.osgrid.org: James, There have been very few people working on the OS code base so it was a surprise to see a contribution with a name I don't recognize. [11:19] Bill.Blight @grid.opensim.life:8002: Author   mewtwo0641 Author date   2018-03-04 04:35:27 Author local date   2018-03-03 22:35:27 -0600 Committer   Melanie Thielker  [11:19] James.atLLOUD @hg.osgrid.org: OH ok, thanks. And I certainly wouldn't much of any perspective on contributers. [11:19] Bill.Blight @grid.opensim.life:8002: Melanie actually committed the change [11:19] James.atLLOUD @hg.osgrid.org: Great group tag @Matlilda [11:19] Arielle.Popstar @hg.osgrid.org: Hi Matilda [11:20] Andrew.Hellershanks @hg.osgrid.org: Bill: ok. You are looking deeper in to the change than I am. I just ran "git log" to have a quick look for the changes taking place in the past week or so. [11:20] Matilda Charron: thanks James [11:20] Bill.Blight @grid.opensim.life:8002: not too deep that was just by clicking on the commit [11:20] Arielle.Popstar @hg.osgrid.org: i dont see  the  Next button  to view older  gits  on the opensim page [11:20] Andrew.Hellershanks @hg.osgrid.org: I don't have anything to click on when getting the log from the command line. [11:21] Bill.Blight @grid.opensim.life:8002: http://opensimulator.org/viewgit/?a=commit&p=opensim&h=f579fbba0e38074cd4af78b09d885c9e18d75b1f [11:21] Andrew.Hellershanks @hg.osgrid.org: Welcome to all of you that are here for the first time. [11:21] Bill.Blight @grid.opensim.life:8002: there is a more button right at the bottom [11:22] Arielle.Popstar @hg.osgrid.org: usually is but not  seeing it  for some reason Bill [11:22] Andrew.Hellershanks @hg.osgrid.org: Bill, I could find out more details. I just wasn't going to bother at this time. [11:22] James.atLLOUD @hg.osgrid.org: It would be sad to see a fix unfixed :) [11:22] Arielle.Popstar @hg.osgrid.org: oh there it  behind  hangouts  icon [11:23] Andrew.Hellershanks @hg.osgrid.org: James, it happens sometimes if a fix causes other problems. [11:23] Bill.Blight @grid.opensim.life:8002: fix one break 15 [11:23] James.atLLOUD @hg.osgrid.org: true, thanks Andrew. [11:23] Arielle.Popstar @hg.osgrid.org: features [11:24] Andrew.Hellershanks @hg.osgrid.org: I added a feature to Kicad that had some side effects. I need to more follow up on them before the next release comes out. [11:24] TG.Lucan @hg.viewtwo.net:8600: improve the number of sides code on SceneObjectPart by Ubit rendered the fix unnecessary, in fact returned an incorrect value [11:24] Bill.Blight @grid.opensim.life:8002: http://opensimulator.org/viewgit/?a=commit&p=opensim&h=846f35d3655e2f9d61e5b14d76e21909335b5096 [11:24] Bill.Blight @grid.opensim.life:8002: was just lookign for that TG [11:25] Matilda Charron: thank you Andrew [11:26] Andrew.Hellershanks @hg.osgrid.org: There hasn't been that many changes to the code this past week. Are there any other issues you want to talk about today? [11:27] Matilda Charron: Just to mention that my picks have disappeared [11:28] George Equus: Friend of mine is in process of buying a new computer system that can run anything not just Win 10. turns out can be problematic... hardware blocking everything else but 10.. [11:28] Matilda Charron: I do not look at my profile very often and I am not sure with the migration if they got lost [11:28] Andrew.Hellershanks @hg.osgrid.org: Matilda: If they don't reappar after a relog and/or clearing viewer cache you should report that to the people that run this grid. [11:28] Matilda Charron: ok [11:28] Arielle.Popstar @hg.osgrid.org: yes they did  Matilda. Look on  the  web section [11:29] Matilda Charron: ok [11:29] Arielle.Popstar @hg.osgrid.org: which isnt working  now :) [11:29] James.atLLOUD @hg.osgrid.org: UEFI ? @george? [11:29] Matilda Charron: lol ok [11:29] Arielle.Popstar @hg.osgrid.org: Guess  paela  working  on it [11:30] George Equus: that is another problem James.  No, is code from INTEL blocking installations [11:30] Arielle.Popstar @hg.osgrid.org: the  flotsam cache  commit  say: do not timeout floatsam assets caching thread [11:30] TG.Lucan @hg.viewtwo.net:8600: would anyone know when an item is deleted from an inventory, is it removed from the database or just marked deleted? [11:30] Bill.Blight @grid.opensim.life:8002: just marked deleted [11:30] Arielle.Popstar @hg.osgrid.org: does  that  mean  it  will  continue  growing  again? [11:30] TG.Lucan @hg.viewtwo.net:8600: thanks Bill [11:31] Andrew.Hellershanks @hg.osgrid.org: Ah, the grid has moved to the core profile module. Some profile data will disappear if they haven't migrated all the old profile data over from the PHP based version to core. [11:31] Bill.Blight @grid.opensim.life:8002: the reason being is assets are linked, so when there are multiple copies the assets really need to stay in the db in some fashion [11:31] James.atLLOUD @hg.osgrid.org: my limited db experience told me never delete :) [11:31] Matilda Charron: ok [11:31] TG.Lucan @hg.viewtwo.net:8600: noted Bill, should have realized that :) [11:32] Bill.Blight @grid.opensim.life:8002: and if using FSassets, the assets are really immutable and only new copies with changes created [11:32] TG.Lucan @hg.viewtwo.net:8600: the thread time out is when the thread is idle for a period of time, which can happen on a quite region [11:33] Andrew.Hellershanks @hg.osgrid.org: TG.Lucan, when an item is deleted from your inventory it first moves to the trash can folder. When you empty your trash can the entry for the item is removed from your inventory. The asset record for the item still exists in the asset table. [11:33] Arielle.Popstar @hg.osgrid.org: oh ok  so its  not to  do with  how  large  the  cache  will get [11:33] TG.Lucan @hg.viewtwo.net:8600: kk Andrew [11:34] Andrew.Hellershanks @hg.osgrid.org: Arielle, it doesn't have anything to do with caches. [11:34] Bill.Blight @grid.opensim.life:8002: Cache is just that, cache, it only caches assets you see or HAVE, not things that used to be in your inventory [11:35] Andrew.Hellershanks @hg.osgrid.org: One of the reasons for the use of caches is to cut down on the amount of time spent having to query the databases. [11:35] James.atLLOUD @hg.osgrid.org: Arielle, which grid were you discussing? [11:35] TG.Lucan @hg.viewtwo.net:8600: There is a watchdog that monitors threads which may have become orphaned [11:35] Arielle.Popstar @hg.osgrid.org: James i was  discussing  the  commit   that has  this  note: do not timeout floatsam assets caching thread [11:35] Bill.Blight @grid.opensim.life:8002: yes but the watchdog does nothing but tell you about them, it does not actually kill them [11:36] TG.Lucan @hg.viewtwo.net:8600: yes [11:36] James.atLLOUD @hg.osgrid.org: OH ok, I thought there was a grid that did some migrations with lost info. [11:36] Arielle.Popstar @hg.osgrid.org: i been seeing some  very  large  region cache's   so had  to put  a  change  to stop  that [11:37] Andrew.Hellershanks @hg.osgrid.org: Arielle, was there a lot of prims rezzed in the region? [11:37] Bill.Blight @grid.opensim.life:8002: (I have neutered the watchdog in my builds, as it was actually taking more CPU ticks telling me aobut the delayed threads than the delayed threads were actually taking) [11:37] Andrew.Hellershanks @hg.osgrid.org: Bill, :) [11:37] Arielle.Popstar @hg.osgrid.org: over time  yes Andrew [11:37] Arielle.Popstar @hg.osgrid.org: but  the  asset cache  just  kept  growing [11:38] Arielle.Popstar @hg.osgrid.org: where  it  used  to be  set  to  48 hours [11:38] Andrew.Hellershanks @hg.osgrid.org: Arielle, It is supposed to expire items from the cache over time. [11:38] Andrew.Hellershanks @hg.osgrid.org: bbiab [11:38] Bill.Blight @grid.opensim.life:8002: the asset cache also caches user inventory so the more people that land the more it will grow, seemingly to infinity, if it does not time out, personally never seen the time out fail to expire [11:39] Andrew.Hellershanks @hg.osgrid.org: I'm back [11:39] Andrew.Hellershanks @hg.osgrid.org: Arielle, are you using memory cache or disk cache? What time values did you set? [11:40] Arielle.Popstar @hg.osgrid.org: i didnt,  i left  it  at default  initially [11:40] Arielle.Popstar @hg.osgrid.org: it was  set  to never  expire [11:40] Arielle.Popstar @hg.osgrid.org: flotsam.ini/ [11:42] Andrew.Hellershanks @hg.osgrid.org: If it is caching assets from visitors to the region that would make it tend to grow over time if it isn't set to expire old entries. [11:42] Andrew.Hellershanks @hg.osgrid.org: I also just noticed there is the setting -> UpdateFileTimeOnCacheHit = false [11:42] Arielle.Popstar @hg.osgrid.org: back on  .8.2   FileCacheTimeout=48 [11:42] Andrew.Hellershanks @hg.osgrid.org: If that is set to True it could prevent items from expiring. [11:43] Arielle.Popstar @hg.osgrid.org: anyway thinking  it is  a different  thing [11:43] Bill.Blight @grid.opensim.life:8002: yep andrew that is exactly it, if that is set, keeps disk activity lower [11:43] Arielle.Popstar @hg.osgrid.org: that commit was  for  a thread, not the cache itself [11:44] Bill.Blight @grid.opensim.life:8002: the other thing that could be happening, is if this is on windows, you could be running into windows file locking and the cache is not actually being deleted [11:44] Andrew.Hellershanks @hg.osgrid.org: Arielle, what value did you set for FileCleanupTimer? [11:45] Arielle.Popstar @hg.osgrid.org: initially left  on  default  but then  when i seen the cache  take up  all  the drive space,  i started  to set  it to 48 hours [11:45] Arielle.Popstar @hg.osgrid.org: thats on  .9 [11:45] Andrew.Hellershanks @hg.osgrid.org: Bill, I've seen Windows say that a file is locked. That can be a pain to get sorted. [11:45] Andrew.Hellershanks @hg.osgrid.org: The cleanup time defaults to 0 which would mean it won't clear items from the cache. [11:45] Bill.Blight @grid.opensim.life:8002: yes I have seen it require starting in safe mode to clear files [11:47] Andrew.Hellershanks @hg.osgrid.org: Arielle, I would set a clean up timer that is less than the expiry time. Have you set Flotsam to cache data on a per region basis or is it a cache shared by multiple regions? [11:47] Arielle.Popstar @hg.osgrid.org: per region [11:47] Andrew.Hellershanks @hg.osgrid.org: ok [11:47] Arielle.Popstar @hg.osgrid.org: didnt know  it  could  be shared [11:48] Bill.Blight @grid.opensim.life:8002: assetcache, scriptengines can be shared [11:48] Andrew.Hellershanks @hg.osgrid.org: It could be shared if you used the same directory name for the asset cache location setting. [11:48] Arielle.Popstar @hg.osgrid.org: in the same  instance? [11:48] Arielle.Popstar @hg.osgrid.org: or multiple  too? [11:48] Bill.Blight @grid.opensim.life:8002: or in multiple instances [11:49] Arielle.Popstar @hg.osgrid.org: oh right  on the  top of  the  flotsam.ini :) [11:49] Andrew.Hellershanks @hg.osgrid.org: Right. [11:49] Bill.Blight @grid.opensim.life:8002: sharing scriptengine cache is nice, if you start clean, I would not reccommend it for "converting" [11:50] Andrew.Hellershanks @hg.osgrid.org: By default the path to the cache is relative. If you use an absolute path, or one that points to some other shared directory then the cache can be shared by multiple regions. [11:50] Andrew.Hellershanks @hg.osgrid.org: It can be a way to save some disk space if your space is limited but it may complicate expiring entries from the cache. [11:50] Bill.Blight @grid.opensim.life:8002: for instance instead of ./assetcache, /home/opensim/sharedassetcache [11:51] Arielle Popstar: what about on a  windows machine? c:\ [11:51] Andrew Hellershanks: As Bill pointed out, you can do a similar thing with the setting for the scriptengines directory. [11:51] Andrew Hellershanks: Arielle, right. [11:51] Bill.Blight @grid.opensim.life:8002: on windows would be like c:\sharedassetcache [11:51] Arielle Popstar: ok [11:52] Bill.Blight @grid.opensim.life:8002: but personally, get a second HD [11:52] Arielle Popstar: cool ty [11:52] Bill.Blight @grid.opensim.life:8002: don't run opensim on your system drive if you can help it [11:52] Bill.Blight @grid.opensim.life:8002: for a couple of reasons [11:52] Bill.Blight @grid.opensim.life:8002: if your system crashes, you don't loose all your opensim stuff [11:52] Andrew Hellershanks: The leading \ should be enough to point to the root directory of the drive from which the region instance is running (in case it isn't the C: drive). [11:53] Bill.Blight @grid.opensim.life:8002: the other is your system drive is your busiest drive on your PC, and can slow opensim down [11:53] Andrew Hellershanks: Bill, that is why you keep backups. :) [11:53] Matilda Charron: lol [11:53] Arielle Popstar: even if  a  dedicated  server  machine ? [11:53] Bill.Blight @grid.opensim.life:8002: does not matter windows is windows [11:54] Arielle Popstar: nod [11:54] Bill.Blight @grid.opensim.life:8002: swap space is on the system drive normally which makes it very busy [11:54] Matilda Charron: Bill, when you say start clean for the sharing scriptengine... what do you mean by starting clean? [11:54] Andrew Hellershanks: It can if your machine is needing to use swap space. [11:55] Andrew Hellershanks: If it is using swap you may need to add more memory (if the motherboard permits). [11:55] Bill.Blight @grid.opensim.life:8002: I mean you can combine your asset caches, but would not combine your scriptengine cache ... [11:55] Andrew Hellershanks: A machine using swap is going to be running slower. [11:55] Bill.Blight @grid.opensim.life:8002: I guess I left that out when I said that [11:55] Bill.Blight @grid.opensim.life:8002: by default windows uses a pagefile [11:55] Bill.Blight @grid.opensim.life:8002: which is swap space [11:56] Andrew Hellershanks: You can combine the scriptengines folder in to one place but it isn't shared the way it is done with the assets cache. [11:56] Bill.Blight @grid.opensim.life:8002: default windows config includes pagefile.sys and generally a hibernation file [11:56] Andrew Hellershanks: The scriptengines directory has sub-directories that are the UUID of a region. [11:57] Matilda Charron: I think I will leave the scriptengine as it is then [11:57] George Equus: Hibernation file would not exist on a server running 24/7 [11:57] Arielle Popstar: you running  .9.* Bill? [11:57] Andrew Hellershanks: Bill, I've managed to avoid dealing with that level of Windows stuff for quite a while as I only have Windows on a laptop which I don't use often. [11:58] Arielle Popstar: good point George [11:58] George Equus: :) [11:58] Bill.Blight @grid.opensim.life:8002: I have been running nothing but .9x since it has existed [11:58] Arielle Popstar: nod [11:58] Andrew Hellershanks: I've been asked about the birds module for OpenSim. I haven't looked at it in a while. [11:59] Arielle Popstar: Has Diva  been around? [11:59] Bill.Blight @grid.opensim.life:8002: the birds module is neat, but I think it might have a memory leak [12:01] Andrew Hellershanks: I also plan to have a look at the Destinations code that is sitting on my hard drive. Someone else wrote the code. I wanted to review it and check it for any possibility of SQL injection before I will use it on a live grid. [12:01] Matilda Charron: what s the birds module about? [12:02] James atLLOUD: What is the birds module? [12:02] James atLLOUD: :) [12:02] Andrew Hellershanks: It is the top of the hour. Any other last items before we start losing a number of other people? [12:02] Arielle Popstar: has diva  been around? Curious if  she  will be  looking  at any  hypergrid  stuff  soon [12:02] Bill.Blight @grid.opensim.life:8002: The birds module is a module by jakdaniels that adds flocks of birds as a region module, does not require in world scripts [12:03] Matilda Charron: wow [12:03] Bill.Blight @grid.opensim.life:8002: but can be controlled in world by scripts [12:03] James atLLOUD: Ah, just as it sounds. [12:03] Andrew Hellershanks: The birds module allows you to a number of prims movomg around in the air like birds. You set the number of them and it has a flocking behaviour so the "birds" move around each other and generally follow each other like birds do. [12:03] Andrew Hellershanks: It could be used for other things such as a school of fish (in theory). [12:03] James atLLOUD: I see that a lot on the start region at Kitely I think. [12:04] Matilda Charron: where do you get the module? [12:04] Andrew Hellershanks: You could use it to have a flock of planes, or have a couple of dragons flying around a region with an old mediaeval castle in it. [12:04] Andrew Hellershanks: It is in git hub, iirc. Let me check... [12:06] Andrew Hellershanks: The Birds module is here -> https://github.com/JakDaniels/OpenSimBirds.git [12:06] Matilda Charron: thank you [12:06] Andrew Hellershanks: There are a couple of lines module related lines missing at the start. It may cause a region to crash due to an out of bounds error on an array,. [12:07] Matilda Charron: so best not to use it then [12:11] Arielle Popstar: [12:02] Arielle Popstar: has diva  been around? Curious if  she  will be  looking  at any  hypergrid  stuff  soon [12:13] Bill.Blight @grid.opensim.life:8002: What hypergrid stuff? [12:13] Arielle Popstar: hg is  getting  flakier lately [12:13] Bill.Blight @grid.opensim.life:8002: not noticed [12:13] Bill.Blight @grid.opensim.life:8002: but one of the reasons there are issues to some places is a disparity in versions [12:13] Sheera.Khan @hypergrid.org:8002: Chat log of meeting is posted already ;-) [12:13] Andrew Hellershanks: Arielle, I haven't seen diva in a long time. [12:14] Bill.Blight @grid.opensim.life:8002: people are not upgrading and staying on old versions [12:14] Arielle Popstar: hasnt been  much  of  an issue  that way [12:14] Arielle Popstar: the  compatibility  was   pretty  good [12:14] Bill.Blight @grid.opensim.life:8002: I have no issues HG between .9x grids [12:14] Bill.Blight @grid.opensim.life:8002: only when going to some of the older grids [12:15] Arielle Popstar: but  recently  it is  getting    unpredictable [12:15] Andrew Hellershanks: Sheera, ty. You got that done quickly. [12:15] Arielle Popstar: finding, jumping, and  loading [12:15] Sheera.Khan @hypergrid.org:8002: :-) [12:15] Bill.Blight @grid.opensim.life:8002: the gap in versions of opensim and the versions of mono PLUS the versions of operating systems is getting wider [12:16] Arielle Popstar: well could  be   which  just  emphasizes my  point  about it  needing  work [12:16] Bill.Blight @grid.opensim.life:8002: Well yes it needs work but not as much as people need to stop being stuck in the past [12:17] Arielle Popstar: well that debate  unfortunately  has  no resolution  atm [12:17] Arielle Popstar: if core  would  sort  out  some  of  the  issues  with  .9   then  the ones  on  .8.2  would   be more  likely  to  update [12:17] Bill.Blight @grid.opensim.life:8002: so instead of fixing the people just put the weight on the devs? [12:18] Arielle Popstar: well they are  in  cotrol  arent  they [12:18] Arielle Popstar: of the  code [12:18] Bill.Blight @grid.opensim.life:8002: I'm being very cynical today [12:18] Arielle Popstar: i see :) [12:18] Bill.Blight @grid.opensim.life:8002: yes but they are not in control of the people those people insist on being stuck in the past [12:18] Andrew Hellershanks: Arielle, If there are specific problems with 0.9 that people are having they need to make sure they report them, or keep bugging the devs about them, or else they may never get fixed. [12:19] Bill.Blight @grid.opensim.life:8002: if it is a problem between .9x and .8x it is not going to get fixed, because .8x has been declared dead code [12:19] Arielle Popstar: .9 hasnt   been declared [12:20] Arielle Popstar: and  as  you  point  out,  there  is  more  then  just  the   opensim versioning [12:20] Bill.Blight @grid.opensim.life:8002: yes but why would you fix .9x just to correct a problem with it taking to .8x which is dead [12:20] Arielle Popstar: personally  the  probs  i see  are   between  .9X  grids [12:20] Bill.Blight @grid.opensim.life:8002: you may be in the minority, but what kinds of "problems" specifically [12:21] Arielle Popstar: finding, jumping, loading, groups, IM's, online presence [12:21] Bill.Blight @grid.opensim.life:8002: that is all server misconfiguration [12:21] Bill.Blight @grid.opensim.life:8002: groups are not meant to work over the HG never were [12:22] Arielle Popstar: or code  misconfiguration  if   previous   masters  worked  fine  on the same  configs [12:22] Arielle Popstar: sure they were [12:22] Bill.Blight @grid.opensim.life:8002: umm no they were not [12:22] Andrew Hellershanks: There can also be the difference between some of the addon modules and the core ones between grids. [12:22] Bill.Blight @grid.opensim.life:8002: it was a fluke that they worked [12:22] Arielle Popstar: uhm yes  they were  Bill. Diva worked  on that  in .8.2  and   .9  is  supposed  tyo be  compatible  that way [12:22] Andrew Hellershanks: I never looked at adding any HG support to the PHP based search and profile modules. [12:23] Bill.Blight @grid.opensim.life:8002: not what I was told by diva a while back [12:23] Arielle Popstar: she did  it  in her  Diva  distro  back then too [12:23] Bill.Blight @grid.opensim.life:8002: yes in diva, but first off not all grids use v2 groups [12:23] Arielle Popstar: but also  put  it in core [12:23] Bill.Blight @grid.opensim.life:8002: so there is the other issue [12:24] Andrew Hellershanks: Arielle, if you can check if the problems are already filed in a mantis and if not, file them, that would be great. [12:24] Arielle Popstar: \]V2 is  default  now   i believe [12:24] Bill.Blight @grid.opensim.life:8002: so [12:24] Andrew Hellershanks: Core groups, search, and profile are the defaults. [12:24] Bill.Blight @grid.opensim.life:8002: just because it is the default does not make it best or what everyone users [12:24] Bill.Blight @grid.opensim.life:8002: V2 groups does not handle large amounts of groups or group notices [12:24] Arielle Popstar: is diva  back  in irc  recently? [12:24] Andrew Hellershanks: This grid was using the PHP based search and profile modules until recently. [12:25] Andrew Hellershanks: Core (V2) groups doesn't support sending offline IMs to users via email. [12:25] Bill.Blight @grid.opensim.life:8002: nope [12:25] Bill.Blight @grid.opensim.life:8002: I use PHP groups, offline IM , and profiles [12:25] Andrew Hellershanks: i know someone who switched from PHP groups to v2 and now wants me to switch the grid back to the PHP groups module for that very reason. [12:26] Arielle Popstar: so if  no diva, then no  work on  HG  forthcoming [12:26] Arielle Popstar: at least from core [12:28] Andrew Hellershanks: Not unless someone else steps up to do some HG specific work.