smaller_make_shared (lefticus) - x86_64-Linux-Ubuntu-14.04-clang-3.5: OK (346 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


I'll take care of it.


well done Iqbal...


Not sure if using `{{yield}}` multiple times is only accidentally supported in ember. We'll have to keep an eye on this and find an alternate solution if support for this is removed (i.e., in ember 2.0)


Good catch. Made the release just now.


Yeah, I read more carefully after I did this and realize it wasn't helping.  I had planned on moving the empty keys logic into the sponsorship_hash method later.


thanks!


Don't comment these out; We have source control, just delete them.


I would use `some->` instead of the `.?.` macro which is low level. This would also remove a dependency on `clojure.core.incubator`. The less we depend on it, the better, until we can definitely get rid of it.


or rather **grub** can boot from btrfs..but yeah, like @karasu  said: that's the idea .


smaller_make_shared (lefticus) - x86_64-Linux-Ubuntu-14.04-clang-3.5-LibC++: OK (345 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.71%25-yellow.svg)


Why? In order to be consistent with the coding style and the rest of the codebase. But I am in no way an authority in sigrok. Just suggesting :)

BTW, nobody will blame you for adding a break; statement. I've introduced my fair share of bugs from forgetting break;s, so getting into the habit is a good thing.


again, I would remove the require on `clojure.core.incubator` and use `some->` instead of `.?.`


Taking this to https://github.com/sul-dlss/sul-requests/pull/73


Can you please add Licence info?


![bianchi fabrizio](https://cloud.githubusercontent.com/assets/12102705/7357054/888e3d2e-ed2c-11e4-8ca0-8a37946eb719.jpg)


I've backported Cygwin detection from a more recent nall (from higan 094), along with a renaming of noinline to neverinline. Can you check if it works for you?


If mime_type is not None, the parameter should have preference over the mime_type in the journal object.
This code do not manage that case.


 - __style__: [src/chaiscript_stdlib.cpp:18](../blob/50e0ce36be11921c66956b9cdf1eb4454fa641e6/src/chaiscript_stdlib.cpp#L18) The function 'create_chaiscript_module_chaiscript_stdlib' is never used. (unusedFunction)
 - __style__: [src/main.cpp:169](../blob/50e0ce36be11921c66956b9cdf1eb4454fa641e6/src/main.cpp#L169) The function 'get_eval_error' is never used. (unusedFunction)
 - __style__: [src/main.cpp:140](../blob/50e0ce36be11921c66956b9cdf1eb4454fa641e6/src/main.cpp#L140) The function 'help' is never used. (unusedFunction)
 - __style__: [src/main.cpp:216](../blob/50e0ce36be11921c66956b9cdf1eb4454fa641e6/src/main.cpp#L216) The function 'myexit' is never used. (unusedFunction)
 - __style__: [src/main.cpp:158](../blob/50e0ce36be11921c66956b9cdf1eb4454fa641e6/src/main.cpp#L158) The function 'throws_exception' is never used. (unusedFunction)


includes new version of rxjava: see https://github.com/ReactiveX/RxJava/issues/2290


Why not just pass `-benchmem` when testing to report this?


@secrettriangle, I was going to post an iTerm2 issue, but it looks like this is already a well-known bug on iTerm2:

- https://code.google.com/p/iterm2/issues/detail?id=3239&q=combining
- https://code.google.com/p/iterm2/issues/detail?id=3052&q=combining
- https://code.google.com/p/iterm2/issues/detail?id=2936&q=combining

There's nothing blessed can do about this. We just need to hope iTerm2 gets fixed.


ciao (hello)world
monticelli d'ongina emilia romagna italy


I think this was mentioned somewhere by @ihnorton but I can't find it now. This seems to not be a 100% fix and I still need to do this patch with current Julia and LLVM masters.


such deletion ! :+1:


(You can also remove the loop, particularly in the Zotero temp directory.)


Why do you wrap <kbd> in backticks?


smaller_make_shared (lefticus) - i386-Windows-8.1-VisualStudio-14: OK (346 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


Shouldn't the timer be stopped here so it doesn't benchmark teardown?


I think is getting a bit ahead of itself. `_.shuffle` seems like a natural fit for `_.sample` and re-implementing it in `_.sample` seems like overkill.


this is the first one. Thanks
https://github.com/CMRemix/android_packages_apps_Settings/commit/a4c353eb45f0fe76b5c10c7a1d4d634981a58ff5


Start practicing to learn to program


\cc @megawac


Not sure we needed change to helper methods, will test reverting that change. The changes in app should be sufficient?


Multi-line


Can you indent `WritableList` with `ObservableList` so that it's easier to read?


I don't like this for a few reasons.

1) Its a script tag in the head
2) Should not be part of the default layout.
3) Since we don't support IE8 this does not make sense: http://caniuse.com/#search=SVG
4) also I would like to question the use of grunt-icon in general. I like all the SVG magic, but the PNG fallback is useless to us. Should icons not be inline SVG's ? Or plain SVG in the css?


Single line


Does look better due to mapping to matrix data type


Если не мешает, то почему не сделал кучу маленьких коммитов ?

PS: всё что связано со стилем, нужно сделать в одном


Splitting line for no reason


No need for split


Grouping is less readible


Can you change the call to `use` (which sooner or later will become deprecated, and is already not loved much anymore in the community) to `(:require [clojure.java.data :refer :all])` or a vector with specific referred to vars?


supposedly the new version of blaze will be available soon...


Harder to read as braces are split over multiple lines


Removing this list doesn't absolve us of the obligation of waiting for all pending iputs to complete.  For `unmount == TRUE` case the `sb->s_inodes` list _must_ be empty.  We are also guaranteed that during the unmount all dentries have already been destroyed and that no new entries will be created so this list must eventually become empty.  So roughly:

```
if (zsb->z_os && unmounting) {
        while (!list_empty(&sb->s_inodes))
                taskq_wait(dsl_pool_iput_taskq(dmu_objset_pool(zsb->z_os)));
}
```


no need to split text


Which bundle? It's not clear to me what it's about


Much harder to read


Same as above


What is an `element`?


single line is more readible


@claudiosmweb For eg: Default Timezone is UTC: has empty value :worried:


Inline comments are easier to map to the code.


As mentioned, call the function hangup to match the denodeified function. It would be better to add a comment to explain why the channels are being hungup than to try to explain the code by adding names to the hangup function.


adds a closure to what? I think this docstring could be improved


Breaks consistency while reading.


It is for future (probably this week) use with pixiewps :D Problem will no longer happen when pixiewps 1.1 is released.


This is hard enough to follow without the change.


Doesn't this fail hard when EPREFIX matches `*portage*`?


Ah, yes, forgot to mention this - at the end I found it a bit silly to add

```
else
    found = tag;
```

here because the if above just says they are equal and we always compare by value so it shouldn't matter which one is used.


Single line easier to read


Сухим остатком:
1. https://www.google.ru/search?q=%D0%BA%D0%B0%D0%BA+%D0%BD%D0%B0%D0%B4%D0%BE+%D0%BA%D0%BE%D0%BC%D0%BC%D0%B8%D1%82%D0%B5%D1%82%D1%8C&ie=utf-8&oe=utf-8&gws_rd=cr&ei=4pw-VcaaGcO_ywPG8YH4BQ#newwindow=1&q=%D0%BA%D0%B0%D0%BA+%D1%87%D0%B0%D1%81%D1%82%D0%BE+%D0%BD%D0%B0%D0%B4%D0%BE+%D0%BA%D0%BE%D0%BC%D0%BC%D0%B8%D1%82%D0%B8%D1%82%D1%8C
2. Сделать backup исходников
3. Этот коммит полностью ревертнуть
4. Изменения залить в несколько отдельных коммитов


@nzhiltsov выглядит как приватный служебный метод, лучше сделать private


Man, I'm at a loss here. I poked through the docs and looked at what you're doing with AuthMethod, how you're setting up the signer, etc. It's rederiving the public key from the private, so the username in the public key is actually irrelevant (I know you asked me about that annotation offline, but if you look both at that golang source for this module and the ssh -v2 output, neither uses the `.pub` file.)

I assume you can also manually ssh to root on your nodes? Is there a difference in how my project is configured?


TeamCity DPCFLib :: BuildAndTest [Build 6](http://46.101.150.79:8111/viewLog.html?buildId=16&buildTypeId=DPCFLib_BuildAndTest&guest=1) is now running


Single line easier to read.


Same as above


Cool, thanks guys.


Needless split


TeamCity DPCFLib :: BuildAndTest [Build 6](http://46.101.150.79:8111/viewLog.html?buildId=16&buildTypeId=DPCFLib_BuildAndTest&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 28, ignored: 1 Build time: 00:00:42


Ah, good catch, Ken! OPTS_APT should really be included as a parameter to the apt-get install call. I'll send out a quick fix.


Maybe introduce the vocabulary introduced / by the namespace, e.g. what a `descriptor` means (it's a rather overloaded terms, initially I thought it was some kind of Eclipse terminology, but it seems that it's the name chosen to represent a plugin.xml xml element as a map, right?


For (what I thought) was consistency - but looking again, there was only one case wrapped in backticks, and the rest in the entire document are not. Sorry about that. I'll fix it now.


This is easier, also could be one lined.


Any reason to prefer this over `$firebaseArray`?


same as above


smaller_make_shared (lefticus) - Win64-Windows-8.1-VisualStudio-14: OK (346 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


why is there a string called componentName in in the classes by default?


Thanks for pointing me to this, will be definitely more elegant if it works.


TeamCity DPCFLib :: BuildAndTest [Build 7](http://46.101.150.79:8111/viewLog.html?buildId=17&buildTypeId=DPCFLib_BuildAndTest&guest=1) is now running


91958608DOASEffectOnZoneSizing (wfbuhl) - x86_64-MacOS-10.9-clang: OK (1630 of 1634 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.76%25-yellow.svg)


If I'm right, what about renaming `hover-element->descriptor` to `hover-element->map` ? Not sure about this rename, just want to get you think again about it, but no pressure to do the change if you disagree


хотя сам класс то package-private, так что ничего страшного


One liner easier to read


TeamCity DPCFLib :: BuildAndTest [Build 7](http://46.101.150.79:8111/viewLog.html?buildId=17&buildTypeId=DPCFLib_BuildAndTest&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 28, ignored: 1 Build time: 00:00:41


that's a good point, maybe change mono_profiler_install to default to version 1 of the API and
add a mono_profiler_install_with_version function (or whatever name)?


same as above, could be full one lined.


Unless you add a '|' before the your, your will be a html tag ;)


Same as above


If we're using the American spelling for "traveled" then this should be "traveling" (one "l") for consistency.


I also read about smart pointer, but I haven’t tested it yet.
It should work:
http://stackoverflow.com/questions/7672374/should-i-explicitly-zero-initialize-auto-ptr

You may test it, I'm currently not sure if it makes the code easier or more complicated.


you may need to pass {multi:true} to get it to delete multiple


This should be updated to walk the `sb->s_inodes` list although that's going to be problematic because I don't believe the kernel provides us a safe interface to do this.  We may be forced to just drop everything for a rollback.


same as above


This is a side effecting function, I would insist on it by adding a trailing `!` to its name: `ensure-hover-created!`.


Not a big deal, but probably should make the prefix match the name.  If it's going to be called tx manager now, ideally it would be referred to that throughout.  How about `"TMGR"` or `"TXMR"`?


Apart from the one spelling note, this all looks fine. Sorry it has taken so long for me to get back to this! (I got caught up with other chapters.)


I was just having the same issue, and that fixed it. `GLEXT_blend_subtract` is defined twice though.


@dmitriy-serdyuk As you've noticed in Travis, there is no such thing as binary mode for zip files (they are per definition binary I guess).


Yes, it will. The pattern will have to be more specific.


This can go, but I'd actually like to keep the `zpl_nr_cached_objects()` helpers.  They're something we'll want to take advantage of in the future to free other filesystem objects.


These changes should really be grouped separately.

The issue with the gamemode is unrelated to broadcast-local, as is 'node-uuid' -> 'uuid'.  Both of these changes are valid changes, but the rest is incomplete to merge in.

Don't be afraid to make many PRs, so long as each PR groups together commits that are logically related, e.g., 'broadcast-local' and 'various tweaks'.  the reason why we'd want to keep them separate is because then they can be judged on their own merits, but as is, cannot use this PR because 'broadcast-local' will be a server.config attribute rather than a server.properties.


same as above, could be fully one lined


Will do.


smaller_make_shared (lefticus) - x86_64-Linux-Ubuntu-14.04-clang-3.5-AddressSanitizer: OK (346 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


Well, basically you don't have to bother removing unused pointers.


This is just ugly


No need to explain in the docstring how idiomatic Clojure is meant to look like. Maybe replace the `Returns ...` with `Returns a potentially updated descriptor value`.


fabrizio bianchi
ciao


I like this but why only the classes and not all the attributes? `&attributes(attributes)`


Good catch, thanks for noticing.


Sleep - довольно ресурсо-отжимающая штука. Лучше Timer, например: http://stackoverflow.com/questions/19350646/thread-sleep-alternatives


Se agrega el diagrama de clases, el cual contiene la estructura del algoritmo genetico y ademas del algoritmo genetico especializado, aunque incompleto. La idea este terminar lo mas rapido posible el diagrama.


fixes #


Thanks Marc,

I found that one but was worried by its 2006 vintage setup.

Bill

On Mon, Apr 27, 2015 at 8:56 PM, Marc Jansen <notifications@github.com>
wrote:

> I haven't tested it yet, but
> http://gnuwin32.sourceforge.net/packages/make.htm sounds like it'll be my
> first attempt.
>
> I don't know if Érik or any of the ithers have tried sth. else.
>
> Anyhow, if you run this succesfully or experience problems, we'd like to
> hear what you tried.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/openlayers/ol3/commit/5522f053335f1b7d4cfc2c16e4b3f1a1163fd4e5#commitcomment-10924637>
> .
>


TeamCity MonoGame :: Develop (Win) [Build ???](http://teamcity.monogame.net/viewLog.html?buildId=6396&buildTypeId=MonoGame_DevelopWin&guest=1) outcome was **FAILURE**
Summary: Snapshot dependency failed: MonoGame :: Develop (Mac) Build time: 00:00:00


Well... there are 3/4 tests failing because of this (boxplot builder and some server tests). If we are talking about just a day or 2 I think it's better to not spend too much time and just wait. What do u think?


Autor: Maciej Hamulak
Sprawdzał: Daniel Blokus


Ah, good call, that's it. I can't ssh with root into my nodes.

```bash
$ ssh -i ~/.ssh/google_compute_engine -l root 146.148.74.101
Permission denied (publickey).

$ ssh -i ~/.ssh/google_compute_engine root@146.148.74.101
Permission denied (publickey).

$ ssh -i ~/.ssh/google_compute_engine 146.148.74.101
Linux e2e-test-maxforbes-minion-fu44 3.16.0-0.bpo.4-amd64 #1 SMP Debian 3.16.7-ckt4-3~bpo70+1 (2015-02-12) x86_64

=== GCE Kubernetes node setup complete ===

Last login: Mon Apr 27 20:43:37 2015 from 74.125.59.6
maxforbes@e2e-test-maxforbes-minion-fu44:~$
```

I'm not sure what the diff in our config is, but it seems like we should login as the user here as it works for both of us?


All this fiddling with descriptor internals looks like a code smell to my eyes, but I can't really, yet, exactly point why.


smaller_make_shared (lefticus) - x86_64-Linux-Ubuntu-14.04-clang-3.5-ThreadSanitizer: OK (346 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


The order for both these sprite sheets is:  Idle1 Idle2 Walk1 Walk2 Walk3 Jump Crouch Punch1 Punch2.    (1-9)


This has all the edits suggested by @stowball and @kllevin applied.


fixes #9


the tenant ID is hard coded with the pre condition that no tenants are used in the environment, needs to modified in the case of using tenant environments


I've linked this discussion to those issues to remind iTerm2 maintainers that this is still a problem.

:watch:


smaller_make_shared (lefticus) - x86_64-Linux-Ubuntu-14.04-gcc-4.8: OK (346 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


Ok


Unfortunately, this stuff will most likely break due to having to access the images from your uploads folder. :-(


Good catches.


Ty


предлагаю здесь выкидывать IllegalStateException, если status говорит об ошибке.


Ok, though there is clearly more cleanup needed in the future.  Sigh.


I haven't seen use of `:const` much. Aren't you sure it's an abandoned feature?


smaller_make_shared (lefticus) - i386-Windows-8.1-VisualStudio-12: OK (345 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.71%25-yellow.svg)


sure, let's wait


smaller_make_shared (lefticus) - x86_64-Linux-Ubuntu-14.04-gcc-4.6: OK (346 of 346 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


Good work jaromir!

Probably the following will perform better:

```
 private void unschedule() {
        if (dirtyOutputBuffer()) {
            registerOp(SelectionKey.OP_WRITE);
            return;
        }

        // if there is still a packet pending, then we are done as well
        if(currentPacket!=null){
            return;
        }
```
Otherwise you are still pushing through with the unscheduling (since scheduled.set(false) was called) and then come to the conclusion that you didn't want to be unscheduled at all. That is done at the line you modified.


Looks good. ;-)


How did that ever work, I wonder???


@JulianSKelly the call signature here is incorrect. There needs to be a boolean in the second argument. See registry server's `.get` method.


why do we suddenly use .coffee files? Can we use JS or coffee files only?


Good catch; it use to be meaningful in its former location years ago.


smaller_make_shared (lefticus) - x86_64-Linux-Ubuntu-14.04-cppcheck-1.67: OK (0 of 0 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg)


> GLEXT_blend_subtract is defined twice though.

Should be fixed in 32e5fee25a06f9825b1b19006a2a745bb5e7d988.


Note that there are shortcuts for metadata, and for `def`, so that the following are equivalent:
`(def ^{ :const true :private true :doc "my docstring"} a-var "a value")`
`(def ^:const ^:private ^{:doc "my docstring"} a-var "a value")`
`(def ^:const ^:private a-var "my docstring" "a value")


Ok


If marked as yes then the tick mark is converted to emoji and thus the value is empty :)


algo_refs are read from the PKCS#15 structure for private keys (PRKDF). For emulated cards algo_refs are empty, therefore the special handling if CKR_FUNCTION_NOT_SUPPORTED is returned. The same is done in sc_pkcs11_signature_init().

Older cards where PRKDF is written without algo_refs might fail as well.

I'm also still puzzled where algo_refs are set if new keys are generated with OpenSC. So far I haven't found the location, which is strange, because then the IsoApplet PKCS#15 structure should have no algo_refs as well (and should fail decryption).


Awesome. But, any chance you could turn `div.site` into `main` instead?


`(def ^:const ^:private ...`


Looks good! ;-)


(Scott Daniel) Bugfix/CATSIM-188 arcseconds
There were some errors in sims_catUtils converting from arcseconds (as stored in the database) to radians (for manipulation in the stack).  This pull requests adds functions to facilitate the fix to that bug.

* added functions to convert between radians and arcsec to
observationMetadataUtils.py
* cleaned up whitespace


(Scott Daniel) This is the other pull request


Many thanks for your suggestion, it makes sense to me.

This is my experimental branch with many commits adding tracing.
This is the PR: https://github.com/hazelcast/hazelcast/pull/5187 - could you please post your comment there? thanks!


Sure! Would you prefer `main` or `main.site` ?


(Yusra AlSayyad) Thank you.


(Scott Daniel) Bugfix/CATSIM-179 phoSim test is null
This is the pull request that was declined, plus modifications to the API for ObservationMetaData and SpatialBounds so that they store angles as radians (except in explicitly identified cases... there are variables like RAmaxDeg, RAminDeg that are in degrees)

* convert OpSim RA/Dec to degrees for obs_metadata
* updated spatialBounds.py to internally store degrees
* updated ObservationMetaData to store bounds in radians
* small bug
* forgot how I imported numpy in spatialBounds.py
* had to handle the possibility that Nones are passed to ObservationMetaData
* updated testObservationMetadata.py
* updated testSpatialBounds.py
* fixed whitespace
* cleaned up whitespace


(Simon Krughoff) Do these comments need to be corrected?


(Simon Krughoff) Unfortunately, I think you need to copy the docstring here even if you are inheriting.  Happy to be shown wrong!


(Simon Krughoff) Same here re: docstring.


(Simon Krughoff) This is right isn't it?  We should just get rid of this if we are convinced.


prefer `(:id %1)` to `(%1 :id)` when `%1` refers to a `map-as-a-record-of-fields` rather than to a `map-as-an-arbitrary-collection-of-key-value-pairs`


(Scott Daniel) I'm not sure I understand.  Are you questioning what our policy should be if min > max?  We could raise a RuntimeError in that case, just to be sure (this is legacy code, so I'm not aware of the philosophy behind it).


(Scott Daniel) yes. done


Good question! Maybe it was never used?


(Scott Daniel) done


(Simon Krughoff) Sorry, I was talking about the comment.  It's been in here for a while and we should just remove it if we fell confident that what we are doing after it is correct (and I think I'm convinced).


@shivapoudel Yeah.
I'm fixing this right now xD


Ok


(Simon Krughoff) Feature/CATSIM-24 generate camera model for catsim
Added ability to limit the test database in RA


Ordering has to remain intact


(Scott Daniel) Feature/CATSIM-159 galsim galaxy images
modifications in support of the galSim unit tests

* added half light radii to the phoSim test DBs.  Also made sure that major axis
is, in fact, larger than minor axis in galaxies
* allow for variable radius when constructing test DBObjects
* added ability to specify location of objects relative to center
to the makePhoSimTestDB method
* added docstrings


(Scott Daniel) Feature/CATSIM-111
Stores m5 as either a dict or a float in the ObservationMetaData class.  Makes the value accessible using the m5() method of that class.

* ObservationMetaData now stores m5 in either a float or a dict called m5value; it is returned using a method m5(filterName)
* indentation error
* misspelled 'isinstance'
* adding a unit test for the __init__ on ObservationMetaData
* test that ObservationMetaData __init__ throws an exception when it should
* testObservationMetaData.py runs


(Simon Krughoff) Can you update the documentation as well?


Single line is better


(Simon Krughoff) Do you want to check that the filterName is the same as bandassName?  Or, maybe the bandpassName should be removed from the metadata?  Hmm, I see now that it let's you set a single depth for all bands.  I guess that's nice.
I definitely think the m5 and filters should match up somehow, but now I'm not exactly sure how.


This resolved aantono/gradle-plugin-protobuf/issues/23


(Scott Daniel) At this point, m5 and bandpassName are variables that the user arbitrarily sets (I believe bandpassName is supposed to correspond to the PhoSim input Opsim_filter).  In a future ticket, should we add some kind of functionality to automatically calculate m5 given actual telescope and pointing data?


(Scott Daniel) Bugfix/CATSIM-211 rotskypos in radians
This branch fixes the inconsistency in how ObservationMetaData stores rotskypos.  It now stores the angle in radians.  init still accepts degrees (in keeping with our philosophy that "every angle humans see should be in degrees).

There are related branches in
sims_catalogs_measures
sims_coordUtils
sims_catUtils (this branch also updates the findChipName example to apply corrections to ra and dec before feeding them into findChipName)

* ObservationMetaData now stores rotskypos in radians
(it is still input in degrees if input by hand)
* tried to make docstring easier to read
* added capability to sample densely about a field of view
in unit test databases
* fixed bug in sampleFocus


(Scott Daniel) Bugfix/CATSIM-96 galaxies have no size
Sorry I'm burying you in pull requests.

This one is just a few lines of code.  I've moved the phoSim spatialModels out of sims_catalogs_generation and into sims_catUtils, as we discussed

* changed value of spatialModel in SsmModels.py to agree with what phoSim expects
* changed value of spatialModel in StarModels.py
* changed spatialModel in testUtils.py
* removed all mention of spatialModel from dbConnection.py
* removed all mention of spatialModel from GalaxyModels.py
* removed all mention of spatialModel from SsmModels.py
* removed all mention of spatialModel from StarModels.py
* removed all mention of spatialModel from testUtils.py
* removed all mention of spatialModel from MetaDataDBObject.py


(Scott Daniel) Bugfix/CATSIM-103 update obsMetaData
ObservationMetaData now sets unrefracted(RA,Dec) as follows

if box_bounds/circ_bounds exists and the user specifies a point in the bounds, use the user-specified point

if box_bounds/circ_bounds exists and the user specifies a point outside of the bounds (or does not specify a point at all), use the center of the bounds

otherwise, set them to None

* test behavior of unrefracted[RA,Dec] in presence of box_bounds
* put comments in testObservationMetaData.py
* refactored testObservationMetaData
* oops... one more conflict to resolve
* fixed bug relative to sims_catUtils/examples/generatePhosimInput.py
* did not realize that Opsim actually did store filters as strings, rather than ints
* fixed
* moved epoch from the DBObj class to ObservationMetaData
* oops... never mind; should not have pushed that last commit


(Simon Krughoff) I think this example will actually raise a KeyError, since it is passing a box_bounds to a circ_bounds.


Seems to work with multiple; thanks for mentioning it though.


(Simon Krughoff) Defaulting to mutable types is dangerous, phoSimMetadata should probably default to None.  That's how it's used later anyway.


(Simon Krughoff) If you are just using the haversine formula, I prefer:
from .observationMetadataUtils import haversine

It makes it clearer where the method is coming from.

I also noticed that the import of observationMetadataUtils was not removed from the __init__.py file in sims_catUtils.  Can you remove that import before you merge?


just `main` seems semantic enough to me, but if there's specific styling / reasons to use `.site` as well I have no objections


(Simon Krughoff) This feels complicated to me since there are multiple ways to specify things.  What if we modified the api so it doesn't take a box_bounds or circ_bounds, but takes a position and typical scale and constructs the appropriate bounds dictionary internally.  That way we'd always know that they are consistent.  I'm totally open to discussing this.


(Simon Krughoff) Maybe you wanted to make this a {} since you use has_key elsewhere?


Type: Should be `key_humane`


(Simon Krughoff) This import is unused.


(Simon Krughoff) I don't see Site being used either.


single line is more readable


`(:enabled %1)`


(Simon Krughoff) I'm sorry to prolong things, but I'd like to chat about simplifying the whole *bounds thing.  Do you mind talking in person about this before I approve it?


SELECT county, ST_Centroid(geom), population_2010 FROM population_2010_3;

SELECT SUM(population_2010) FROM (SELECT county, population_2010 FROM population_2010_3 WHERE ST_Within(ST_Centroid(geom), (SELECT geom FROM circuits  WHERE
circuit = 'Alapaha'))) AS foo;

SELECT SUM(population_2010) FROM
(SELECT county, population_2010 FROM population_2010_3
WHERE ST_Within(ST_Centroid(geom), (SELECT geom FROM circuits  WHERE
circuit = 'Alapaha'))) AS foo;

SELECT circuit, SUM(population_2010) FROM circuitsanddistricts as c, population_2010 as p
WHERE c.gisjoin=p.gisjoin
GROUP BY circuit;

SELECT circuit, SUM(population_2000) FROM circuitsanddistricts as c, population_2000 as p
WHERE c.namelsad10=p.county || ' County'::varchar
GROUP BY circuit
ORDER BY circuit;

SELECT SUM(population_2000) FROM
(SELECT county, population_2000 FROM population_2000_3
WHERE ST_Within(ST_Centroid(geom), (SELECT geom FROM circuits  WHERE
circuit = 'Atlantic'))) AS foo;

SELECT SUM(sum) FROM (SELECT circuit, SUM(population_2000) FROM circuitsanddistricts as c, population_2000 as p
WHERE c.namelsad10=p.county || ' County'::varchar
GROUP BY circuit
ORDER BY circuit) AS circuitpop;

CREATE VIEW population__circuits_2000 AS (SELECT circuit, SUM(population_2000) FROM circuitsanddistricts as c, population_2000 as p
WHERE c.namelsad10=p.county || ' County'::varchar
GROUP BY circuit
ORDER BY circuit);

CREATE VIEW population_districts_2000 AS (SELECT district, SUM(population_2000) FROM circuitsanddistricts as c, population_2000 as p
WHERE c.namelsad10=p.county || ' County'::varchar
GROUP BY district
ORDER BY district);

CREATE VIEW population_circuits_2010 AS (SELECT circuit, SUM(population_2010) FROM circuitsanddistricts as c, population_2010 as p
WHERE c.namelsad10=p.county || ' County'::varchar
GROUP BY circuit
ORDER BY circuit);

CREATE VIEW population_circuits_2010 AS (SELECT circuit, SUM(population_2010) FROM circuitsanddistricts as c, population_2010 as p
WHERE c.gisjoin=p.gisjoin
GROUP BY circuit);

CREATE VIEW population_districts_2010 AS (SELECT district, SUM(population_2010) FROM circuitsanddistricts as c, population_2010 as p
WHERE c.gisjoin=p.gisjoin
GROUP BY district);

(SELECT a.circuit, a.sum, b.sum, b.sum/a.sum FROM population_circuits_2000 a, population_circuits_2010 b WHERE a.circuit = b.circuit);


(Scott Daniel) see line 104 (in testAssignment)


(Scott Daniel) see testSite()


(Scott Daniel) Feature/CATSIM-99 refactor DBObject
I have refactored the class DBObject into two classes

CatalogDBObject does what DBObject used to do (handle the interface between InstanceCatalogs and the database).  It inherits from...

DBObject just provides a connection to a database and allows a user to make arbitrary SQL queries.

CatalogDBObject can also now execute arbitrary SQL queries through the inherited methods execute_arbitrary(query), which just returns a recarray of the results, and get_arbitrary_chunk_iterator(query), which returns the results in the form of a ChunkIterator.

The example script that Lynne provided when she created this issue on JIRA has been included in the testArbitraryQuery() method in the testDB.py unittest in sims_maf

* chunking works
* separated execute() from get_chunk_iterator()
* added unit tests to test the passing of dtype to .execute()
and .get_chunk_iterator()
added comments explaining the unit tests in testDBObject.py
* updated print statement in CatalogDBObjectMeta
* added ability to specify names of columns without specifying whole dtype
to DBObject queries
(have not unit tested yet)
* moved dbTypeMap to DBObject from CatalogDBObject
* intelligently learn column names in query
* changed delimiter when learning dtype of query
* needed to make sure that results was a list of tuples
in _postprocess_results for DBObject
* wrapped arbitrary SQL query methods so that they can be called from a
CatalogDBObject, as well as a DBObject.
Unit test tests these wrapped methods.
also moved dbTypeMap back to CatalogDBObject


:bow:


Great! Thanks for the quick reply. And 15.04 has just been released Today. I'll upgrade soon and test these scripts in my settings. Thanks for your work.


No, it uses the stylx found under "StylxHome"  in the config or entered through the Stylx controls on the form.


Répare les conneries de Pichon
*Le commit à 2000 euros* :moneybag:


Looks like you misspelled "canola"! Let me know when you've updated the change.


Was merged.
Thanks Linda!
https://github.com/google/google-api-dotnet-client


Would it be a good idea to move all of the code the has the if ok checks directly into the boost_foreach loop? If you're going to do the code anyways as soon as we find a good value, we can simply put all the code inside the loop and reduce the number of if checks by a factor of 2.


code smell: why do you have an anonymous first argument to the function?


You can use getopt with long options:
http://stackoverflow.com/questions/4180880/how-to-support-both-short-and-long-options-at-the-same-time-in-bash
That might simplify the logic a little bit.


Dnes som mal v pláne napísať iné veci. Musel som hotfixnúť login -_-. Treba aktualizovať databázu. Tabuľka users dostala pár stĺpcov naviac. Na stránke "sign-in" by sa mal zjaviť modrý login button.


`(:enabled %1)` and `(:state-mask %1)` please


(Simon Krughoff) Now that this is more than just one line of code, can we move the if-else into a method on this class to avoid code dup?


it's always best to create submodules for your app and define factory/service under the particular submodule. It means, in app.js  you define a submodule called "apartmentFinder.services" which the actual app depends on it.

angular.module('apartmentFinder.services', ['ngResource', 'ngRoute', 'ngCookies']);
var app = angular.module('apartmentFinder',
    ['guildApp.services', ...

Then when you define a service like "oneApartment" you do it as the following:

var appServices = angular.module('apartmentFinder.services');
appServices.factory('oneApartment',[ ...


(Simon Krughoff) Since we are touching everything anyway, can we move this default to the catUtils examples?  I've been wanting to do that for some time.


(Simon Krughoff) It's worth looking at the @wraps decorator.  It will preserve the docstring for the wrapped method.

Actually, why is it that execute isn't just overridden in CatalogDBObject?  It doesn't seem like you actually need two different methods, unless you want to preserve the ability to execute arbitrary queries from CatalogDBObject, but I'm not sure we need to support that use case.


(Simon Krughoff) I've looked at this a little more and I'm not sure I see the benefit to having two _postprocess_results methods.  If you want do do arbitrary SQL, you would use a DBObject and if you want to do catalog queries, you use a CatalogDBObject.  They have different _postprocess_results methods, but the ChunkIterator doesn't need to know about that.


(Scott Daniel) It is there in case you have instantiated a CatalogDBObject, but want to get a ChunkIterator based on an arbitrary SQL query.  This was my way of dealing with the fact that MAF's Table class was written assuming the CatalogDBObject infrastructure but may also want to execute an arbitrary SQL query at some point in the future.


(Scott Daniel) It is exactly there so that we can execute arbitrary SQL queries from CatalogDBObjects.  That is how I interpreted Lynne's original example script.

Part of the problem is that MAF's Table class was written to inherit from CatalogDBObject.  I tried to rewrite it to inherit from DBObject.  I could not disentangle everything.  Allowing CatalogDBObject's to do an arbitrary SQL query seemed like an easier solution to that problem.


(Simon Krughoff) Should we make it impossible to do "Drop Database xyz?"  I know the old code didn't prohibit this, but since we now have an explicit execute method, maybe we should look into trying to sanitize the queries.


(Simon Krughoff) We should be consistent with use of spaces in function calls.  DM standard is to put a space after all commas and no spaces around '=' signs.  Consistency helps readability.


(Simon Krughoff) In that case, is it possible to have just an execute_arbitrary method?  I don't believe the execute method is used anywhere.


(Simon Krughoff) This import is unused.


(Simon Krughoff) ObservationMetaData is not used.


(Simon Krughoff) I know it's not part of this ticket, but I'd like to capture this.  I'm worried about adding class variables to classes derived from unittest.TestCase since it could potentially shadow class variables already defined.  It is also not obvious to me that this could cause odd behavior since these variables will show up in other derived classes.  There are setUp and tearDown methods for this purpose.


(Simon Krughoff) mygals is not used.  I think it should be used on line 114, but isn't because of a typo.


(Simon Krughoff) Just reiterating that I think we should use setUp and tearDown methods for setting instance scoped variables.


(Simon Krughoff) Very good work.  I had some minor questions about how methods are wrapped in DBObject, but that's most major thing I have.  I'll file an issue on setting class variables in classes derived from UnitTest.


(Scott Daniel) Sure.  I think I put it there so that objects that inherited from DBObject could just call execute() while CatalogDBObjects could call execute_arbitrary() (to make the distinction between calling execute_arbitrary() and doing the usual column-based search more explicit).  I guess that doesn't make as much sense as it did in my head given that CatalogDBObjects also have access to execute().


I made an imgur album a little more concise than this thread: https://imgur.com/a/oI6dR

That might be useful too.


what exactly does that do?


(Lynne Jones) Seconded. Although I suppose we can also help secure databases by providing 'select' only users.


(Lynne Jones) I think we will try to rework MAF a little to work better with what's available now (thanks Scott!), but it's nice that it works off the bat, and we won't be able to do that for a little while. When we do (see comments on jira item), I think it's likely that you could go back to having a single postprocess_results method, if that's desireable.


(Lynne Jones) I know you're also working on documentation, and I'd just like to say that I'm still a *little* confused about the differences between DBObject and CatalogDBObject, so these would be good to highlight in the documentation (along with perhaps examples of when to choose one vs the other).


(Lynne Jones) More specifically, I get now that DBObject connects to the entire database, gives you a list of tables, and lets you do arbitrary queries on those tables (that you design) and then gives you back a numpy structured array. And that CatalogDBObject adds knowledge of a particular table within the database, so that you have a column-type map and can generate queries on a single table, given column names to query, automatically.
But there is some additional registry information in CatalogDBObject as well, which I am unclear about the use/benefit about (I think I'm mostly asking this because of Simon's comment on the OpsimDB3_61 class).


(Scott Daniel) It does not appear that there is a way in sqlalchemy to open an engine or a connection that is 'read-only'.  The best I can do is add some code to our execute() methods that scans the given command and aborts if the words 'drop,' 'delete,' 'insert,' or 'update' are present.  This does not prevent someone from doing something damaging if they bypass our methods and do a

DBObject.engine.execute('DROP TABLE xyz')

We are just going to have to trust that no one will try to do that.

Does this seem reasonable, or are we worried about people being actively malicious?

(also: my reading leads me to believe that sqlite does not support the concept of 'users')


(Simon Krughoff) O.K.  I suppose we can scan for the obvious key words.  Our base catalogs have read only users, so if we make sure we are using them, our databases should be safe at least.


(Scott Daniel) in the interest of my further education: how was this achieved in the base catalogs?  Is it something about the connection string?


(Simon Krughoff) MS SQL Server does have the concept of users and users can have different permissions.  We only publicize (through the connection string) the user and password that have read-only access.


(Scott Daniel) done


These comments should be removed


(Scott Daniel) there is now only the execute_arbitrary() method


(Scott Daniel) removed it


(Scott Daniel) I used setUpClass to build the databases (since that seems likely to be the most time-consuming step).  I used setUp to declare self.obsMd, self.filepath, self.baselineData, and self.dtype


(Scott Daniel) fixed


(Simon Krughoff) Just for completeness, I'm not too worried about where the code to build the databases lives because it doesn't assign any class variables.  It's probably good practice to put it in a setup method anyway.


(Scott Daniel) Feature/SIM-166 update opsim interface
in _postprocess_arbitrary_results, return an empty recarray if there are no results


(Scott Daniel) Feature/SIM-136 photometric uncertainties
see description in corresponding sims_photUtils branch for explanation

* add skyBrightness to ObservationMetaData
* added data to the 'galaxy' table in the PhoSim test database so that
it is more generally useful
* cleaned up whitespace


(Lynne Jones) It may be that I don't understand, but ObservationMetaData seems to be a bit of an uncomfortable mishmash of multiple and single bandpass information. If it is really intended to be a single observation, it can only be in a single bandpass, and thus allowing a 'dictionary' for m5 values seems confusing. On the other hand, if you want to allow to calculate magnitudes/SNR/magnitude uncertainties for the stars visible in the FOV in multiple filters (for what reason? it must be a reference catalog, right, not exactly an instance catalog?), then it seems like you should propagate this dictionary of the multiple filter information into all things that depend on filter (i.e. BandpassName and skybrightness should be dicts as well as m5).
I'm wondering if what's missing is that there should actually be a new class that can contain the information relevant for creating reference catalogs in multiple filters? Maybe I just don't understand the use case, but the current setup seems confusing.


Just realized that this PR is actually wrong when I was refactoring `v-repeat`. The template you should've been using is

``` html
<div v-repeat="listHash">
  {{$key}}
  <p v-repeat="$value">{{a}}</p>
</div>
```

because the outer repeat is iterating on non-object values (Arrays).

Just want to leave a note that this change has been reverted in 4b20ad6, so if you have existing code that relies on this patch they might break in a future release.


(Lynne Jones) Please feel free to convince me otherwise!


Instead of a init_list.js, we should just add the doc.ready function outside the plugin declaration, below line 100.

```js


(Scott Daniel) This is part of what I hope to address in Tuscon next week with the "observations are only in one filter, but our code writes out catalogs in all six filters."  I agree that what the code does is not terribly self-consistent, but I also don't know what the answer should be, since I don't think we have decided what use cases we are supporting (or, if we did, we expanded that list of use cases in a very slapped-together way).

In summary: you are right, but I think this is a question for another (much larger) JIRA issue.


(Lynne Jones) Okay, you have convinced me for now, although I think I would prefer it to at least be self-consistent in whether filter-dependent everything is a dict or nothing is. You may want to update the documentation to reflect that this is subject to change?


(Scott Daniel) Bugfix/CATSIM-189 fix parallax units consistently
* added parallax to makeStarTestDB
* changed name of parallax column in test databases
* convert to radians in myTestStars
* convert proper motion into radians per year
* updated unit test so that it will pass
* keep necessary significant figures in test database


(Simon Krughoff) Feature/CATSIM-77 add the remaining object source
Added extra object types.  Feel free to comment on anything that you see that's off.  Even if it's not fixed in this pull request, we can file other issues.  The test that covers this is tests/testAllObjects.py.  It is not a true unit test yet, but will be soon I hope.


(Peter Yoachim) Looks like if I run the test I get a bunch of "No results for ".  So yeah, hopefully that becomes a real unit test soon.

The rest seems pretty logical and well documented.

Hopefully there's an easy way to list all the different objectTypeID's since it looks like they are a bit arbitrary and subject to change.


(Scott Daniel) Feature/SIM-943 move utility functions
* added dependency on sims_utils
* change import statements to point towards sims_utils
* moved Site.py to sims_utils


@rentzso : Let's also set a width here so that the fields don't get cutoff when editing longer descriptions, say 75 or 80%
width: 80%;

That will prevent this:

![screen shot 2015-04-27 at 2 01 30 pm](https://cloud.githubusercontent.com/assets/2119651/7357813/166eda96-ece6-11e4-8e77-5e16ae137995.png)

and become:

![screen shot 2015-04-27 at 2 02 02 pm](https://cloud.githubusercontent.com/assets/2119651/7357819/2641d0ae-ece6-11e4-8891-5bbe112007d7.png)


(Yusra AlSayyad) Bugfix/SIM-994 galaxyagnobj and galaxybulgeobj need
added galaxy_agn and galaxy_bulge information to galaxy_table
in makePhoSimTestDB


(Scott Daniel) Bugfix/CATSIM-144 cleanup astrometry
This change is in support of the same issue in sims_coordUtils

changed the haversine formula in observationMetadataUtils.py
so that it relies on numpy instead of math
This way, the formula can accept vector arguments


(Scott Daniel) Did you mean to approve the other pull request, too, or have you not had a chance to look at it, yet?


should this have a following slash?


(Peter Yoachim) So, I was going to just run the unit test on the other one--but my palpy was out of date, so I updated my sims install, and it died for some reason, but then I tried again in a clean shell and it got farther, but then it died because I'd updated my matplotlib, and that broke a thing in healpy that MAF calls, so the install of lsst_sims fails, and you know what, biuldbot will run the unit test anyway.


(Simon Krughoff) Feature/CATSIM-33 database unit tests
* improved error message for multiple definitions
* Changes to help reduce spurious warnings and improve testing and break the circular dependencies between the *Utils and catalogs* packages
* added to test databases
* added class variables to help out with testing of dbobject.


it's generally a bad idea to define global variables like this. Just define them in the scope pf the function that needs them


(Lynne Jones) Looking at the eups tables for the various related catsim packages, python is called out explicitly in the other packages as a dependency but not here. I know pymssql probably pulls in python, but the other packages have things which would pull in python as well. So I'm just wondering about consistency. (in other words, maybe add python here?)


(Lynne Jones) Not sure where to put this comment, but it's related to this file (not in the diff).

There is a method here which requires catalogs_measures.
This would imply (in my mind) that catalogs_measures should be a setup requirement.
I'd say this is another argument (to go with Scott's, given that Instance Catalog is about all that's left in catalogs_measures) that catalogs_measures and catalogs_generation should be merged.

(see
def getCatalog(self, ftype, *args, **kwargs):
        try:
            from lsst.sims.catalogs.measures.instance import\
                    InstanceCatalog
            return InstanceCatalog.new_catalog(ftype, self, *args, **kwargs)
        except ImportError:
            raise ImportError("sims_catalogs_measures not set up.  Cannot get InstanceCatalog from the object.")

    def getDbAddress(self):)

Also, I'm wondering if making the dbAddress be hard wired into the object is necessary? Could you set it as a default argument to constructing the init, letting users point the class to other DBs if needed without having to subclass this class? Does that make sense with what DBObject is intended to do?


(Lynne Jones) does json need to be added as a requirement for setup? (may be part of anaconda, but it would be good to add that to your commented lines in the table file)


(Lynne Jones) the table file imports sed_library and throughputs, but they aren't needed so should be removed.


@smcv This lessens the depedency chain a bit, but it's still ok.

Tracking down `gir1.2-gtk-3.0` the first time I needed it was a real pain though.


(Lynne Jones) I also wasn't clear on what the testImages directory was for and if it was something that needed to be included in the setup requirements (requires afw and catalogs measures' astrometry).


(Lynne Jones) Ah, looking at those files, it looks like they're executables from a long time ago and probably can just be deleted (or at least moved to examples).


(Lynne Jones) Nevermind, json is a built-in for python after python2.6.


(Simon Krughoff) I've made an issue, CATSIM-100, to merge measures and generation.  I don't want to do it now, because I want to merge the reorg and I don't fell like we have time for another review.

The vision was that most catalogs would be put in a specific database and that the same dbObject would not be applicable to catalogs in other database, so the two go together.  With OpSim, this model is somewhat broken, but we were able to address that within the framework in a reasonably nice way, so my inclination is to leave it as is.


First time


(Scott Daniel) Feature/SIM-90 use palpy
updated call to getRotTelPos


(Scott Daniel) Bugfix/CATSIM-142 add all to modules
This branch adds the __all__= [] formalism to the python source code

* added __all__ to dbConnection.py
* added __all__ to ObservationMetaData.py
* added __all__ to spatialBounds.py
* added __all__ to observationMetadataUtils.py"
* added __all__ to testUtils.py
* added ChunkIterator to __all__


(Scott Daniel) Feature/SIM-1046 refactor photometric uncertainty
refactored how ObservationMetaData stored m5 so that it would
be more self-consistent (not setting default values of m5
for which the user did not provide data)


(Bryce Kalmbach) @danielsf Apparently this branch is in conflict. Do you want to update it before I look over it?


(Scott Daniel) Sure.  I will rebase it and let you know when it is ready.


This is actually supposed to reference #5072


indentation...


misspelled, conpute_intensity should be compute_intensity.


(Scott Daniel) Okay.  I have rebased it.  It should be fine.


@fabersky Related to #3 :metal:


Is this going to be your main?


(Scott Daniel) Bugfix/CATSIM-131 phosim unittest
oops... I branched this branch off of an earlier pull request to incorporate the __all__ formalism into the modules, so there's a lot more new code than I wanted you to look at.  Yusra has approved the other branch, and I will merge it assuming buildbot doesn't choke in the next hour or two (I don't think it will; everything ran fine on my machine).

Anyway, just look at the utils/testUtils.py code.

I will not merge this pull request until after I merge the __all__ pull request.

* added __all__ to dbConnection.py
* added __all__ to ObservationMetaData.py
* added __all__ to spatialBounds.py
* added __all__ to observationMetadataUtils.py"
* added __all__ to testUtils.py
* added ChunkIterator to __all__
* moved makePhoSimTestDB from testPhoSimCatalogs.py to here
* cleaned up whitespace
* fixed import statements so the the new database
generating method in testUtils.py could run


(Simon Krughoff) This looks fine.  It would be sort of nice at some point to merge the database generation methods so that we can use one mocked up database for all tests, but I'm fine if that's a low priority issue.


(Scott Daniel) Bugfix/CATSIM-113
Scott's work on database-agnostic circle/rectangular search regions


(Simon Krughoff) Remove commented out code and added white space.


it seems a little awkward that we call `select-hover-or-default` with all arguments that must be passed to `selecting-fn`, and what this function does is just calling `selecting-fn` and then `select-default-descriptor`if nil.


(Scott Daniel) Bugfix/CATSIM-165 reorder ObservationMetaData init
There was a bug in ObservationMetaData:

if you assigned a phoSimMetadata dict, that overwrote unrefractedRA/Dec (the pointing RA/Dec above the atmosphere).  However, ObservationMetaData established its bounds on database queries before it tested whether or not you had assigned a phoSimMetadata dict, meaning, if you did overwrite unrefractedRA/Dec, the bounds were no longer valid.

This pull request addresses the issue by factoring out the process of building bounds into a method, and calling that method after assignPhoSimMetadata is called, to make sure that the bounds are still consistent with the pointing.

* moved the assignment of bounds in ObservationMetaData
until after PhoSimMetaData is assigned
* cleaned up whitespace
* factored out creation of ObservationMetaData bounds into a method
so that assignPhoSimMetadata cann call it in case unrefractedRA/Dec
are overwritten
* fixed some bugs
* renamed assignBounds to buildBounds


@JeffBezanson Maybe that's easy for you to live with, but not so easy for the users...
Also, if you add concatenation between strings and Chars, will you do the validation there?
If you don't, you have a nasty inconsistency in the language...
If you don't really mean a logical character, then why don't use just use a UInt32?


Looks good! ;-)


happened to notice this while I was in here, just a syntax cleanup


This is the only portion we should use:


when you remove this, the injected variable is unused and should be removed. You can use JSHint to catch these kinda errors for you (e.g. when a variable is unused)


(Scott Daniel) Feature/CATSIM-99 refactor DBObject
refactoring DBObject so that arbitrary SQL queries are possible.  The bulk of the description of this pull request will be in sims_catalogs_generation

updated unittests to reflect the refactoring of DBObject class
in sim_catalogs_generation


(Scott Daniel) Feature/CATSIM-91 simplify phoSim input
Previously, if one wanted to create a phoSim input file, one had to add an external constraint to make sure that the objects in the file actually had SEDs files somewhere.  This was mostly an issue for galaxies since, for example, all galaxies have a bulge entry in the database, even if they do not actually have a bulge (in which case, the SED is null).  See examples/generatePhoSimInput.py in sims_catUtils as it existed before this branch.

This branch does away with this requirement by adding a list cannot_be_null to InstanceCatalog.  This list contains the names of columns that cannot have null values (where null can be anything from 'Null' to None to nan).  Any rows that have null values in these columns are not printed to the output catalog.  If cannot_be_null is empty, this test is effectively ignored (i.e. all rows are printed to the catalog).

Once this is in place, phoSim input catalogs can ensure that all of their constituent objects have SED files by including the filename 'sedFilePath' in cannot_be_null.  This is accomplished using the PhoSimBase catalog class in exampleCatalogDefinitions/phoSimCatalogExamples.py in sims_catUtils

* added has_key method to fileMaps.py so that phoSim catalogs can internally
test whether spectrum files exist
* added concept of columns that cannot be null to InstanceCatalog
* changed the name of the test database constructed by
testInstanceCatalog.py so that there was no risk of it colliding
with another unittest
* implemented unittest for the list of columns that cannot be null in an
InstanceCatalog
Note: this required changing the test for nullity in InstanceCatalog.
Now, in addition to making sure the column is not None, it also checks that
the column is either a string or is not numpy.isnan()
* factored out test of nullity into its own function
* added test that allows all rows through (i.e. there are no columns
marked as "cannot be null").  This tests whether the
cannot_be_null formalism disrupts any other part of the code
* added doc strings to new code
* added doc strings to the new unit tests


(Scott Daniel) Feature/CATSIM-122 print column origins
This branch provides functionality where by a catalog class can list where its columns come from (the database, default columns, or mixin classes)

A global variable self._column_origins stores that information in a dict keyed on column names.

The method print_column_origins outputs this to the screen.

If verbose is set, print_column_origins is automatically called during the instantiation of the catalog class.

* wrote all of the classes needed to run the test in testColumnOrigins.py
* wrote first test... did not pass
* had to add code to _check_requirements to identify columns drawn from default columns (rather than the database)
* had to add code to _check_requirements to identify columns drawn from default columns (rather than the database)
* first three unit tests pass
* all unit tests pass
* some fomratting changes
* documented testColumnOrigins
* added useful comment to InstanceCatalog.py
* added test to make sure that code still gets the correct origin for columns that are not explicitly required by the catalog


(Peter Yoachim) Well, that looks pretty straight forward with a comprehensive unit test.


(Scott Daniel) Feature/SIM-993 unicode is null
the system for weeding out null values in the InstanceCatalog was not catching unicode strings.  This should fix that.

If you could look over it on Friday, that would be great, as I would like to be able to count on this functionality during my Monday meeting presentation.

Thanks a lot

-- Scott

* allow is_null to interpret unicode strings as well as strings
* use strip() as well as lower() in is_null
* unit test now includes string columns in the is_null test
* the unit test now tests cannot_be_null's ability to catch strings
and unicode
* added comments to unit test
* cleaned up whitespace


you broke out one closure; should we break out all closures ?


(Scott Daniel) Bugfix/CATSIM-142 add all to modules
This branch adds the __all__= [] formalism to the python source code

* added __all__ to InstanceCatalog.py
* added __all__ to decorators.py
* added __all__ to fileMaps.py


(Scott Daniel) Feature/CATSIM-151 split astrometry and photometry
This pull request is the first in a series that will alter the general philosophy behind the Photometry and Astrometry mixins.  When they were written, the mixins were designed to operate solely within the context of an InstanceCatalog.  Every method that did anything interesting was a getter for a database column.  We are now moving to a model where there are, whenever possible, two methods: one method that does the work, but which can be called from outside an InstanceCatalog if so desired, and a getter method that calls the first method.

This pull request touches
sims_catalogs_measures
sims_catUtils
sims_coordUtils
sims_photUtils

changed instance/__init__.py so we can import from fileMaps.py


(Scott Daniel) Bugfix/CATSIM-179 phoSim test is null
modified testInstanceCatalog.py to reflect new spatialBounds API


Ideally we'd actually put in test data for these fields, and not just have these be null. There's not a great way to do this now without proper fixtures. I'd recommend fixtures instead of adding lots of function calls to add this data (and others).


(Scott Daniel) Bugfix/CATSIM-139 unittest variable scope
This pull request combines two issues:

CATSIM-139 in which we use setUp and tearDown to set and unset unittest instance variables so as to avoid collisions between different unittests

and

CATSIM-115 in which we demand that unittests clean up after themselves so that unnecesssary test outputs don't collect in whatever directory is running the unittests

* made HaversineControl in testCatalogs.py call the haversine function in
sims_catalogs_generation
* whitespace
* added setUpClass and tearDownClass to boundingBoxTest in testCatalogs.py
* updated tearDown in boundingBoxTest in testCatalogs.py
* fixed whitespace in testCatalogs.py
* fixed setUp, setUpClass, tearDown, tearDownClass usage in testColumnOrigins.py
* fixed whitespace in testColumnOrigins.py
* added setUpClass and tearDownClass to InstanceCatalogMetaDataTest in
testInstanceCatalog.py
* added setUp and tearDown to InstanceCatalogCannotBeNullTest in
testInstanceCatalog.py
* fixed whitespace in testInstanceCatalog.py


Did you look into changing something in [spec/spec_helper.rb](https://github.com/pfadipatria/hitobito_patria/blob/develop/spec/spec_helper.rb)? That file seems to have something to with it and [ its version in the pbs bundle](https://github.com/pfadipatria/hitobito_pbs/blob/develop/spec/spec_helper.rb) does contain an awful lot of rails 1.4 changes. I'm ok with leaving it here if that doesn't pan out but need to now if you looked there.


unused, but does no harm


+1 beat me to it


geekin


Bonjour,
 Je pense qu'il ya un problème ici. La classe de l'AccessControlException vous utilisez est celle qui hérite de java.lang.SecurityException.
 Je pense que vous devriez utiliser l'autre qui hérite de org.owasp.esapi.errors.EnterpriseSecurityException

 Je vais régler le problème de mon côté, mais si vous avez raison, s'il vous plaît laissez-moi savoir pourquoi.


A future idea: We only have one usage of `once()` in tchannel; consider dropping `once()` from this base class and refactoring that single call away.

@jcorbin found `once()` to be a performance issue in the past.


Also, install needs to filter PATH for install.py as well.


What's with these whitespace lines? Sorry for nitpicking but since you are changing a file in a fork I'd like them gone so they won't be in the way of any future upstream merges.


missing a semicolon. Even though javascript is easygoing and doesn't throw an error in these cases, you should still make sure you pay attention to small details. This become more important when there is a bug and you are debugging.
JSHint will help you identify and catch those small errors


thanks :)


Are you sure that the image optimizers (GifCicle, JpegTran and Pngout) work with arbitrary file extensions and not just with .gif, .jpg and .png respectively? Did you test all 3 image types?


`removeAllListeners()` in node core is overloaded.

If you call it with no arguments it removes listeners for all events ( https://github.com/joyent/node/blob/v0.10/lib/events.js#L254-L262 ).

We should make a note about how we do not support this feature; it's most common usage is to remove all listeners for memory cleanup.


I would transform it as such :
```clojure
(defn- select-descriptor "....`selecting-fn` is a function taking a `descriptors` argument and returning a selected descriptor or nil"
  [selecting-fn descriptors]
  (if-let [selected-descriptor (selecting-fn descriptors)]
    selected-descriptor
    (select-default-descriptor descriptors)))
```
and call it like this `(select-descriptor %(selecting-fn content-type state-mask %) descriptors)` or `(select-descriptor (selector content-type state-mask) descriptors)`


(Simon Krughoff) Is this todo captured anywhere other than in a comment?


(Simon Krughoff) I'm not a fan of returning tuples because it requires code that calls this to know the return order.  I think the common thing to do in this case is return a dictionary.


Würd ich erstmal sagen ja, müssen wir dann halt mal testen wie es sich spielt und ggf. den Charakter etwas weiter unten hinsetzen, sodass genug Zeit ist den Hindernissen auszuweichen.


(Simon Krughoff) I like the fact that the __init__ method is documented, but the parameters in the other methods are not.  I'm not a huge fan of going overboard on documentation for private methods, but if they are truly private they should be prefixed with a `_` which is the python convention for indicating a private method.  Otherwise, they should have their parameters documented.


If the #userdetails wrapper element is removed from the details partial, this file could do a single element lookup instead of two, as

`$('#userdetails').empty().append("<%= j render('dashboard/details.html.erb') %>");`

Just a thought :-)


(Simon Krughoff) Document the parameters


(Simon Krughoff) Where's the test that `not dataSlice == True`?


(Simon Krughoff) Most of these are style/standards comments.  I'd like to see those addressed before the merge happens, but I don't need to re-review.

This is a general comment, but it's an important one.  It is a common python gotcha to use mutable objects as defaults.  I've done it many times, and I think Russell has finally gotten through to me.  The problem is that an empty dictionary as a default will not always be empty if the bound variable is modified.  See [here](http://pythonconquerstheuniverse.wordpress.com/category/python-gotchas/).  I think this needs to be fixed because empty dictionaries are used extensively as defaults, but it should be on a different ticket.

Here's a concrete example:

    >>> def myFunc(var, mdict={}):
    ...     mdict.update({var:1})
    ...     print mdict
    ...
    >>> myFunc('a')
    {'a': 1}
    >>> myFunc('b')
    {'a': 1, 'b': 1}
    >>> myFunc('c')
    {'a': 1, 'c': 1, 'b': 1}


indent


(Peter Yoachim) Ah, this is good to know.

Just so I'm clear, this should only be an issue for function defaults.  It should be OK to have things like a pexConfig.DictField default to an empty dictionary, right?
The config defaults need to be cleaned up anyway, so this can go on that ticket.


Looks good! ;-)


i´ve checked this using the implementation in the calendar, should be okay this way. please review and merge if possible for 8.1


(Simon Krughoff) I believe that's true.  I don't think you need to worry about pexConfig.DictField being an empty dictionary because for each field you are constructing a new object whereas for function calls you use the same method every time.


(Peter Yoachim) Feature/OPSIM-590 update sstar driver with prop names
convert proposal numbers to names

Just added a dictionary for lookup.  I think it works as desired, might be a few places where both the ID and the name appear.


(Lynne Jones) Merge problem - equivalent python, so either one.


in a subtle way?


(Lynne Jones) Feature/OPSIM-593 sstar cleanup
* Removed 'plotMaskedValues' option from healpix and opsim slicers.
* Fixed auto log scale evaluation.
* Updates to sstar driver to make labels more consistent and proper range for DD.
* Update if/elses in auto log scale calculation.
Update if's in auto log scale calculation to avoid unnecessary error messages to screen. (test for min value >0 before calculating log).


(Lynne Jones) Feature/OPSIM-337 solar system groups
Added 'solar system groups' metric and unit test.

* Preliminary update to visitPairs to count necessary things for solar system groups metric.
* I think this finishes changing the 'visitPairs' metric into the 'VisitGroups' metric (which is intended to be used for solar system groups, but could be used for other kinds of sequences too). Also have unit test.


Ah thanks @jambun! I had that in there but removed it because if the dates aren't fuzzy why would we need it??... Cheers :dancers:


(Simon Krughoff) The ending quotes for docstrings usually are on a new line.  Otherwise it's hard to see where the docstring ends and where the code begins.  Also, we don't have a standard for python documentation but I don't think this format will be it.  See: http://sphinx-doc.org/domains.html#info-field-lists

The other common one I see is @param @return (which I think come from doxygen).


(Simon Krughoff) Typically # comments should be used to document code.  If this is a comment that you want users to see (it seems like it is), it should go in a docstring.


(Simon Krughoff) If you're going to use math in the defaults (or even if you put in a magic number), it's probably worth noting why.


(Simon Krughoff) It says minutes here, but the defaults are in units of days which is confusing


sorry @Haroenv. Please do a pull-request next time so we can discuss such changes beforehand.
This is comic-sans-it, not chalkboard-it or papyrus-it


(Simon Krughoff) Line length.  DM has settled on 120 as the max line length.  You don't have to use that, but >150 chars is pretty long.


I can't find an easy way to run the tests from the command line. Is there an easy way that I'm missing? If not, maybe add a `unittest` command to `manifest` or add a `if __name__ == __main__: unittest.main()` here (with whatever paths magic that needs to happen).


(Simon Krughoff) I don't see any reason not to put this in the docstring.  It's very useful.  There's no sense hiding it from the users.


but chaklboard looks like comic sans


By applying this commit, partial payments are excluded, and the final report shows invoices due in total instead of  the partial part left to pay.


Rather than forking chef-splunk, we should do the following

1. Copy the recipes/client.rb to co-splunk/ as co_client.rb for example
2. Remove `include_recipe 'chef-splunk::setup_auth'` from co_client.rb

I think that should be it


(Simon Krughoff) This is a side comment.  All the ComplexMetric does is add a dictionary of reduce functions.  Why not add this to the BaseMetric and get rid of the ComplexMetric?  It simplifies the inheritance hierarchy, and having an empty dictionary on the BaseMetric doesn't really hurt anything.


(Simon Krughoff) This is just a style thing, but I think using not instead of ~ is more readable.  Also a typical way of doing this that doesn't require indexing the arrays is to do:

    for tg1, ttc1, tg2, ttc2 in zip(timegood[:-1], timetooclose[:-1], timegood[1:], timetooclose[1:]):
        if ttc1:
            ntooclose += 1
            if not tg2 and not ttc2:
                ntooclose += 1


(Simon Krughoff) Similarly, you can do this with timegood[-1].  It's always a little uncomfortable for me to rely on a variable that's not used in the calculation.


(Simon Krughoff) I mentioned this on Peter's review too.  It's not very transparent to return tuples of arrays.  I prefer a datastructure with labels like a dictionary.  I think I mentioned this in previous musings about the framework.  Is there a reason to do it this way?


(Simon Krughoff) Why are you overriding the class defaults?  It seems confusing in that it appears that the minNVisits defaults to None, but in reality it defaults to 2.  If you are actually passing values here, can it be a required parameter and remove the default?  I have the same question about other methods here.  It ends up being quite a few lines of duplicate code.

Also, this is really nitpicky, but rule of thumb is to use "is" when comparing to None: ```if minNVisits is None```.  Here's some reading:
http://stackoverflow.com/questions/3257919/is-none-vs-none


(Simon Krughoff) Do you mean nights[-1]?  Same at line 141


the world is not yet ready for  RNonce ;)


(Simon Krughoff) A fair number of these methods do not access self (neglecting the use of class defaults) except for the two private methods.  I'd be tempted to make these @staticmethods and move the private methods to be free functions at the module level.


(Simon Krughoff) I must admit that I don't totally understand the tests.  They pass, so I'm happy, but it may be worth a little more documentation to help anyone who needs to update the test down the road.

On a related note, I do think there is enough LSST specific info that another package would help.  I notice that the tests take a long time to run as things are right now, and it will get worse as more metrics are added.


+2 looks good to me.


(Lynne Jones) I'll add more documentation to the tests (I agree that it's a little opaque in the dates/times that I used).
I should check about the tests .. I thought they didn't take that long on my machine, but maybe I haven't run a full set in a while. You're right it will only get worse though (although adding more metrics shouldn't actually be that bad, as the metric itself doesn't need to run on a large dataset usually .. but maybe some of the newer ones do?).


(Lynne Jones) Yeah ... I think some of this is kind of the nature of 'reduce' methods, as they need to be handed their data binpoint by binpoint just like the 'run' method. I'll try to leran a bit more about static methods and see if this would be useful. I suspect (because of the class defaults, which become important because of the driver interface - i.e. from the driver, we are relying on those class defaults for window, nVisits, etc) that we might not actually use them as static methods much if at all. So, what do we lose or gain by creating them as static methods?


(Lynne Jones) Shouldn't nights[-1] not exist? Am I doing something stupid here? nights[-1:] should be the last element in the array. nights[-1] would be the -1 element, wouldn't it?


(Lynne Jones) Yep, I'll change to 'is None'.

So .. why I'm allowing someone to override the class default is so that if they really do have previously calculated metric data, they could (using a custom python script or the python interface) override minNVisits without having to set up a new class object.
We must keep this a kwarg because of the interface from the driver and limitations from our use of pex_config (and really, limitations because we want to keep the driver interface a bit simpler .. so we let the user set kwargs for all reduce methods from the config line in the driver, but they all have to be set during the init of the class object because we're not providing the user another chance to override those values for individual reduce methods, just on the principle that it would be messy).
However, when I think about this some more, perhaps it's silly to keep the ability to override minNVisits via the python interface. The use case I was thinking of was this:
create the metric data [number of visits per night, plus nights ID for each of those sets] then (for example) calculate number of lunations where you have minNVisits=2 per night and then also calculate number of lunations where you have minNVisits=3 per night. But, if someone wanted to do that, I guess they could just as easily create two instances of the visitGroups metric, and use the reduce function from one with minNVisits=2 and then use the reduce function from the other with minNVisits=3.

So, unless you think there is a better way of addressing this use case, I think perhaps I will remove the kwarg override possibility and just use the values set during init.


(Lynne Jones) I don't know if Peter explained it, but the reason was because of our original method of saving the metric data (in a fits file). In order to save the complex metric data values, we had to save them as tuples.
However, we have now moved to saving the metric data using numpy .npz files. I'll check with Peter if those can handle metric data values which are dictionaries - if they can, that would be much better!


Ok


(Lynne Jones) I've been a little confused about when not works and when you have to use ~ (it seems to me that they don't both always work). I prefer not too, think I probably just got confused. I'll change it!

I also like your suggestion for the indexing change too.


(Lynne Jones) Hmm. Yes, I can change this.


(Lynne Jones) Uhh. ... I swear this didn't work for me when I tested it before. But, indeed, nights[-1] works just as well as nights[-1:].
>>> nights = np.arange(0, 100, 1)
>>> lunations = np.arange(nights[0], nights[-1]+15, 30)
>>> lunations2 = np.arange(nights[0], nights[-1:]+15, 30)
>>> print lunations
[ 0 30 60 90]
>>> print lunations2
[ 0 30 60 90]


(Lynne Jones) I like this idea. Not sure why I didn't do this in the first place.


(Lynne Jones) Will do.


(Lynne Jones) Ha, didn't realize it was that long. I'll add a line return.


(Lynne Jones) I'll clarify. Defaults are in units of days, since that's the unit of time everywhere, but the minutes are just so much easier to understand, but you're right it's confusing.


impossible *with* preprocessors.


(Lynne Jones) I'm using math because I'm lazy and it's easier for me to read that this translates to 15/90 minutes. I guess I can explain in the docstring why those numbers were chosen though.


migrace se zpětně nikdy neupravují, to úplně ztratili smysl =) jakákoliv úprava se dělá přidáním nové migrace, to umožňuje na server automaticky nahrát pouze změny v DB


But it are just fallbacks to give more support?


This is a repetition of line 170


Now... where have I seen this before? Hmmmm.....


(Lynne Jones) It was actually more fo a comment for developers (as this was one of our first examples of a complex metric). It could probably go away completely now.


(Lynne Jones) Yeah, I haven't been following what the format is supposed to be, so I've just kind of done what seems easy to write and read at various points. What's the expectation for the future of LSST python documentation -- should we spend a little bit of effort and time overhauling to go to sphinx or to doxygen? (or should we not bother for now and wait until later ... this way does make the docstring more readable for people looking at the original code, I think).


(Simon Krughoff) I think it just makes the interface a little more self documenting to label static methods with @staticmethod.


(Simon Krughoff) There is an important distinction between ```nights[-1]``` and ```nights[-1:]```.  The former is the last element in the list and the latter is a *list* containing the last element in the list.


(Simon Krughoff) Given the design of the driver, I think that is really the only thing you can do.


TeamCity MonoGame :: Develop (Win) [Build 3.4.0.351](http://teamcity.monogame.net/viewLog.html?buildId=6399&buildTypeId=MonoGame_DevelopWin&guest=1) is now running


(Simon Krughoff) Don't know if you've talked to Peter, but he managed to change to using dictionaries in one of his metrics based on a similar comment on another review.


Shouldn't this be `slides && (slides = []);` instead? Assigning a nonInteger to an array's length seems like a very odd and breaking way to reset the array itself (prob just a typo or I haven't read enough [wtfjs](http://wtfjs.com/)).


(Simon Krughoff) Similarly, you can do this with timegood[-1].  It's always a little uncomfortable for me to rely on a variable that's not used in the calculation.


Myslel som si, ale nebol som si istý. Spravím.


(Simon Krughoff) The difference is fundamental.  The not operator is the negation of a boolean, the ~ operator is the *bitwise* negation of the variable.  I'm actually surprised this works since

    >>> ~False
    -1
    >>> ~True
    -2
In my interpreter.  This may be a bug, but you should always use not with booleans and never use ~ unless you are doing bit comparison.


(Simon Krughoff) Unfortunately the project has not made any headway on making a decision on this.  I suspect sphinx will be the choice, but I'm not sure.  I think simulations should just choose one and hope.  I think sphinx is a decent choice since OpSim is using it already (aren't they?).


(Simon Krughoff) I've made a few comments where it seemed to make sense.  Let me know if you want any more input.  Thanks for going through and responding to my comments.


(Lynne Jones) Feature/OPSIM-385 update onedbinner to use just bins
Updated oneDBinner setup method to use bins, binMin, binMax, and bin size only (nbins became a usage of bins, consistent with numpy's API). Updated unit tests to match and additionally test binMin/Max and bin size. Updated other unit tests which had used 'nbins' so that they're using 'bins' instead.


(Peter Yoachim) Feature/OPSIM-443 simplify driver config helper functions
Long overdue refactor of the config code.  Lots of files changed, but that's mostly just a rename that was suggested at the dry run.

* starting to chop things down
* tests pass
* that's shorter at least
* add print statements to driver
* added verbose and config flags to config
* started fixing config
* Big clean up of config stuff.  Need to make configureStacker func still.
* fixed stacker config too


(Simon Krughoff) I don't know if it's worth worrying about here, but this comparison will not pick up subclasses of the native types.  I don't think you lose any generality and you can deal with subclasses if you use isinstance instead of type() is.


(Simon Krughoff) I think there is a line length violation here.


(Simon Krughoff) There are a bunch of methods with missing docstrings.


Looks like this thing broke the installer.
When doing a composer create-project ezsystems/ezplatform it results in:
 assetic.ERROR: The template "eZDemoBundle::page_footer.html.twig" contains an error: The function "show_privacy_cookie_banner" does not exist in "eZDemoBundle::page_footer.html.twig" at line 24

  [RuntimeException]
  The source file "/var/www/ezpublish/ezplatform/ezpublish/../web/bundles/ezsystemsprivacycookie/js/privacycookie.js" does not exist.


(Simon Krughoff) Commented code.


(Simon Krughoff) I meant commented code here.


(Simon Krughoff) Does this line meet length requirements?


(Simon Krughoff) Line length.


INT_MIN (Integer Minimum) is a constant that equals -2147483648


(Simon Krughoff) Line length applies to comments too.


(Peter Yoachim) Feature/SIM-981 quick replotting failure if no sql
wow, I thought I tested that more than I actually did.  Now I think it works.  Takes ~20 min on slow-spinny-disk to re-plot an sstar config.  Also fixed a unit test that could randomly fail.

* fix unit test, check for file before restore.
* fixed replotting.


thanks, fixed (I remove previous text, because Autoprefixer is possible on Rework :) )


Looks good! ;-)


(Lynne Jones) Seems reasonable to me, although good point.


(Lynne Jones) Are we sure it's not the code in haversine that wasn't causing the instability? (dtype or some aspect of the shortcut in calculating angular distance that is haversine formula?)

Anyway, if it works with random seed 42, this is fine. I think that's a reasonable restriction for a unit test anyway.


1: M101 signature is missing


(Lynne Jones) Uh .. wait. Is this part of the test going away?
Hmm, I guess that it's actually not implied by the maxDither anyway?


This branch is now only used when we are starting from scratch; truncating the log should not delete the lastIndex key.


(Peter Yoachim) yeah, I took it out because I think the way it's being generated isn't as strict as haversine.


(Peter Yoachim) Feature/OPSIM-420 update astrometric metrics to include
* adding normalize keywords
* only maximize parallax factor in one dimension


(Lynne Jones) In the call to init the parallax and proper motion metric, can you make the values which go into self.mags be a dictionary passed into the metric? That would let the metric be more flexible in general about what bandpasses are used, rather than being limited to ugrizy. This should also let the user have a way to avoid the error that would result if the bandpasses for the visits didn't match the LSST bandpasses (e.g. data from another telescope where the filter was Y instead of y).

Is it worth moving m52snr into utils? I note that it is present in several other metrics - 'AstroPrec', 'AstroPrecComplex' and the properMotionMetric (where it's imported from here) ... are some of these dead code and should be removed?

A science-related question: the astrometric precision is calculated as simply fwhm/snr .. I know Dave Monet has mentioned this a few times, but is the value calculated by the following code snippet relevant? (similar but slightly different). Should the astrom_precision also be a utility in utils rather than in one of the metrics?  Actually .. and the sigma_slope method?

    def calcAstrometricError(self, mag, m5, nvisit=1):
        """Calculate the astrometric error, for object catalog purposes.

        Returns astrometric error for a given SNR, in mas."""
        # The astrometric error can be applied to parallax or proper motion (for nvisit>1).
        # If applying to proper motion, should also divide by the # of years of the survey.
        # This is also referenced in the astroph/0805.2366 paper.
        rgamma = 0.039
        xval = numpy.power(10, 0.4*(mag-m5))
        # The average seeing is 0.7" (or 700 mas).
        error_rand = 700.0 * numpy.sqrt((0.04-rgamma)*xval + rgamma*xval*xval)
        error_rand = error_rand / numpy.sqrt(nvisit)
        # The systematic error floor in astrometry:
        error_sys = 10.0
        astrom_error = numpy.sqrt(error_sys * error_sys + error_rand*error_rand)
        return astrom_error

Setting the units within the class (line 36 in parallax metric and line 59 in proper motion metric) isn't necessary as it's done in the base class.
In general, more comments in the code would be useful .. it's a little hard to figure out what's going on where sometimes, and some help guiding another developer or MAF user through the steps in the metric is good.

The unit tests for the parallax and proper motion metrics only include visits in r band and don't include any test of the normalization flag. Since the run methods include significant selections based on filters (including removing observations in the case of only two observations in one bandpass for the proper motion case), there should probably be some testing including multiple filters, as well as including the normalization flag on/off.


(Peter Yoachim) The mags would make more sense as a dict, but then we hit the old pexConfig limit that the driver can't pass a dict for a kwarg.

Yup, consolidating m52snr etc is good.  The AstroPrec and AstroPrecComplex code was my attempt to make some example code for people writing their own metrics.  It might make sense to move those over to the examples directory.

Looks like that code is also using fwhm/snr as the random error in the centroiding as well.  The conversion of m5 to snr is using an empircal conversion from SDSS.  For pure Gaussian noise, I think gamma=0.04, and in the paper gamma ranges from 0.037 to 0.40.  I'll add a note that my m52snr is assuming Gaussianity and might be slightly off for real data in bluer filters.

I put the units definitions in so that they would change automatically if the normalize flag was set.  It's a wacky case where the metric can output different units depending on the flag.


@ScottPJones, if you have a trick to validate every conversion to a character that doesn't have a massive impact on performance, please feel free to contribute it.


(Lynne Jones) Arggh, yes, that's right - you can't have a dict within a dict (and the kwargs are already the dict) in pex_config. Okay. Well, fine.
Yes - let's move those (astroPrec/astroPrecComplex) to the examples directory then, and that can function as a full "find your examples here" location.
Sounds like a plan as far as the error goes (I was thinking more about the inclusion of gamma), so just a note in the method docstring would work.

For the units, I wasn't so much talking about the redefinition of units within the class if it's 'normalization'  (at for example line 32 in the new code version of properMotionMetric.py), but that you pass that value to the base class (which sets self.unit according to 'units' as passed) and then re-set self.units = units within properMotionMetric again. Not a big deal, but probably want to avoid that so that this metric acts like all the other metrics.


(Lynne Jones) After thinking a bit, I do have another thought.. the ugrizy mags of the star are set independently, but have default values set. Is it realistic to expect a user to forget to set one of the mag values in a particular filter, but set the rest, and then have basically a silent failure of their metric (where the expected parallax error is better than it should be, because their star is brighter in one band than it was expected to be? It seems like it might be more failure-proof to either require all magnitudes to be set (not providing default values at all), or to set the default value to None and then in the code, if the value in any filter is set (i.e. u=None, g=None, ... but user passes r=20), then a warning is sent and the values in the rest of the filters are set to be the same as the one that is set (and if two filters are set, but are different ... well, that's a good question).


(Peter Yoachim) Even better idea.  Just use the r band as the normalizing magnitude, then have a kwarg for which SED template to use.  Default is 'flat', but then it'll be easy to add 'RGB','WD','MS', etc if people want to.  Doesn't solve the problem of other surveys with different filer sets.  Maybe think about making a util function that returns a dictionary of filter properties for different surveys.  That would be useful for the SN metric too.


(Lynne Jones) I like it! Sorry for the delay.


(Peter Yoachim) Feature/OPSIM-332 uniformity metrics
Very simple metric.

* added uniformity metric
* cleaning up
* merge it into the cadenceMetrics.py
* add some comments and move shell script over to bin/


(Lynne Jones) I understand the comment :) but please clean it up to just the facts in this metric (i.e. something like "Run KS test on uniformity of the cumulative distribution of visit times, compared to perfectly uniform cumulative distribution. Perfectly uniform = 0, completely non-uniform, such as all observations at one time, will score 1.")


We should consider assigning this to `this[type + 'Event']` for the developer.

Currently this entire implementation relies on the developer doing

```js
function MyClass() {
  EventEmitter.call(this);

  // must call this field errorEvent and ONLY errorEvent
  this.errorEvent = this.defineEvent('error');
}
```

If someone were to ever refactor these fields by convention, the code would break.


(Lynne Jones) Is this (scipy.stats) actually used?


@EranGabber:  Apart from the comment on the test file - looks good.


(Lynne Jones) Feature/OPSIM-626 add subseq interval and to config
Primary goal was to update MAF configuration summary file generation to add the items Kem wanted. Also updated method to identify proposal ID, names, and tags.
Also added some minor updates to viz layer (better handling of non-existent files).

* Added 'DD' to "fallback" version of identifying proposals.
* Updated subsequence interval output for config summary.
* Fixed other problems with sstarDriver related to fetchPropInfo changes.
* Updated mafDriver.py for fetchPropInfo changes.
* Added download of summary stats sqlite file to summary stats viz page.
* Updated unit tests.
* Added second 'plotMetrics button' to help out with very long metrics list.
* Updated mafRunResults to add method to grab resultsDb_sqlite.db file and better handle null JSON/npz files.
* Updated DataHandler to give better results for non-existent JSON/npz files.
* Updated slicer to give easier to parse results when cannot create JSON file.


(Peter Yoachim) Handy!


(Peter Yoachim) Feature/OPSIM-549 add more columns to tracking db
* add opsim and maf dates to select run page
* update unit test
* little pyflakes cleanup


(Peter Yoachim) Seems like addRun.py has a lot of repeated code, not sure how worked up I am about it though.


(Peter Yoachim) Feature/OPSIM-595 check noutliers in maf
* fix sstar bug
* Switch Noutliers to use mean rather than median.  Small sstar bug fix


(Lynne Jones) replace median -> mean in both references (see line 132).


(Lynne Jones) Doc string update needed, but otherwise good to go.


(Lynne Jones) Feature/OPSIM-594 add hourglass plot to multi color
* Added hourglass plot to multi-color page.
* Updated bin names for table fraction metric.
* sstar driver updates.
Tweaked min/max limits for some metrics, changed nvisits histogram to be cumulative.
* Put capability to plot masked points back into base spatial slicer.
Turns out this was useful for exploring opsim fields which did not receive any observations. Did not add the kwarg back into the healpix slicer plotSkyMap though, as we have a **kwargs that can just soak it up without needing to explicitly set a kwarg which we will never use there.
* Added hourglass plot to multi-color page.
* Updated bin names for table fraction metric.
* Fixed merge conflicts with sstarDriver.
* Put capability to plot masked points back into base spatial slicer.
Turns out this was useful for exploring opsim fields which did not receive any observations. Did not add the kwarg back into the healpix slicer plotSkyMap though, as we have a **kwargs that can just soak it up without needing to explicitly set a kwarg which we will never use there.


(Peter Yoachim) merge detrius


Yeah, I thought about this too. One possibility could be to have one more dummy entry at the end of the tree with "..." or "(truncated)" but on the other hand users won't see it very often so the question is whether it's worth the work - I don't think there will be any real source file containing so many tags (if we consider something like 20 lines of code per tag, the source would have 40000 lines) - it will be something generated, some huge html or something similar.


Hi Markus,

What happens when the upload fails? Does the ESP start runnings its program normally, or does something else happen?

Could you please try changing the two lines with `time.sleep(0.05)` to `time.sleep(0.1)` or even `time.sleep(0.2)` and see if that fixes it?

Angus


sc_pkcs15_encode_prkdf_entry() does ASN.1-format the prkey->algo_refs.

In libopensc/pkcs15.c - sc_pkcs15_encode_df() has a function pointer to this asn1-encoding function
```
1956    func = sc_pkcs15_encode_prkdf_entry;
```
And this is called in pkcs15init/pkcs15-lib.c from sc_pkcs15init_update_any_df(), being called from sc_pkcs15init_add_object(), being called from sc_pkcs15init_generate_key() with SC_PKCS15_PRKDF.


Google (creator of android) is proposing 128 mb zram for lowram devices but CAF (developer of android) is proposing 256 mb zram for lowram devices this situation is really confusing :-|


FacilityTabGridView (evanweaver) - x86_64-Linux-Ubuntu-14.04-clang-3.5: OK (2107 of 2196 tests passed)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-95.95%25-yellow.svg)


This one needs to be under an `if` conditional due to the `set -e` right?


why is it important to return a lazy seq? Why not return the result of the cons?


Good catch, fixed in 4ecafa6


Hi @ilukac, can you try assets:install and assetic:dump?


also add a compressed file of davedevils doors textures in other_things


rax retry tests


Does this ever happen or are you just being defensive?


This flag is set now in `ss_sock_create()` on all sockets that are created by Tempesta.
It's also set in `ss_tcp_state_change()` on all client sockets for accepted client connections.
In my opinion these are better and more logical places for setting this flag.


does this really need to be put in its own function? Especially because the function name does not abstract the underlying operation


Please see my comment above.


Well, it doesn't matter what I will do afterwards, but the installer is broken. Somebody else who tries to install will fail that is the point ;)


Also, just to confirm - you have RTS connected to CH_PD and DTR connected to GPIO0? I think wiring it the other way around would have worked before, but won't work with this change.


I think the "timeout loop" should probably be implemented with `time.After` and maybe a `time.NewTicker`, e.g.: https://gobyexample.com/timeouts

Thoughts?


future note;

Having a `this.listener = fn` and removing the for loop of size from `emit()` can give even more speed; or at least that's what node core claims from its implementation.


does `merge-descriptors` have side-effects? (updating an atom?) if so it should probably get a trailing `!` in its name, as a convention, and so should `merge-from-preference`


and @Blefish yes ı saw those zram error logs in dmesg while ı was looking into it maybe we need to update zram driver in kernel side as arco's said


idea: See if adding an `if (that === undefined) { listeners[i](arg); }` makes it go faster.


`underlying` not `underlaying`


Ummm. Ummm. Ummm.


Yes, only said that because i experienced the Same after updating, not tried with fist install though...


Why the umm?


This pattern is unusual; I would prefer `if err != nil { return err }` so the call to `batch.Commit` is at the same indentation level as the main body of the function.


Please ignore `git status`.


localhost is not present in /etc/hosts in some distros?


**commit
:::


Hi, this is caused by no use of dev-master in your command, or you can also say it is because there is no composer.lock in v0.5 ping @bdunogier :)


Or it could resolve to an IPv6 address first so 127.0.0.1 is usually a safer default choice.


What is a `WritableList`? Why not use a clojure `atom`, regular clojure vectors, and `reset!` / `swap!` functions. Then `add-watch` for being notified of changes done to the atom?


nitpick: naming this function `definedEventOnceWrapper` makes heap introspection a bit easier.


This test is failing:
https://travis-ci.org/mixxxdj/mixxx/builds/60272230


this implementation is not correct.

Doing the following should work:

```js
self.once('a', onA);
self.removeListener('a', onA);
```

Recommend completely removing `once()`


no need for explicit `:doc` metadata anymore with `def`. You can use `(def my-var "my docstring" my-value)`


should this be hrtimefp?


same docstring remark


This should increase the major version of this package (if you want to use semver) because you just made the minimum PHP version 5.4.


`trace` or `CCWPlugin/log` here please


Its causing linker errors with cocoapods. Ill try again tomorrow