lhcb / analysis-essentials Goto Github PK
View Code? Open in Web Editor NEWComputing essentials for HEP analysts
Home Page: http://lhcb.github.io/analysis-essentials/
Computing essentials for HEP analysts
Home Page: http://lhcb.github.io/analysis-essentials/
[contributing]: CONTRIBUTING.md
probably has to be replaced by [contributing]: ./CONTRIBUTING.md
Explain to people what is different between git clone https://..
and git clone ssh ...
and make sure everyone uses the ssh based one.
This is particularly important if people are using lxplus
which by default comes with git version ancient-ancient.
I think this causes more confusion than it potentially saves.
I think it would be nice to have a section covering minimal configuration of various editors. I don't think this should be taught or recommend any specific editor. It should just cover how to quickly set up the most basic things that everyone "should" use, for example:
Not sure why, but the changes I made in my recent pull request do not show up on the website even though I can see them here in the repo.
Issue for beginners to solve
In the Lists and looping
lesson, the line If we want to insert the number 2 between the 6 and the 78 in the list above, we would use:
is wrong, we actually want to insert the number 6 between 2 and 78.
git
in their lxplus accounts/laptops, last time I checked the version you get by default is old-dot-ancient and has trouble with https fetch/push.Or should we make an anaconda install on a public AFS directory that has all the things including git
and they simply prepend that to their PATH
?
Or we prepare a shared anaconda for those who don't manage to install stuff themselves, and say the default is that they install it in their homedir/laptop?
Now that this is aimed towards more than just LHCb the README should be updated.
We don't mention that lists support the *
operator.
>>> [2, 3, 1]*5
[2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1]
>>>
This is good to mention because numpy has a more intuitive/useful implemention of the *
operators for arrays.
The bash lesson should recommend using some options at the top of scripts to make them easier to debug. My personal preference is to start scripts with
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
for the reasons listed here.
Not sure where the best place is for this as it is not related to the material.
We should create a checklist for who ever is organising a starterkit-like workshop that includes all the various things that you need to organise. This will reduce the stress of organising the event.
... more goes here ...
We need to add the tracking code again to make google analytics work again. Tracking the popularity of different sections of the material is useful for seeing what people need help with.
Is it a good idea to base the python
material around an example like:
https://gist.github.com/betatim/10f5c4669d79f6d09ca0
To make it a bit more "real" than calculating factorials etc?
I'd split it up into multiple little files doing things in steps instead of a notebook. Allows you to show how to do "calculations", store stuff to disk, read it back, make plots. With classes and functions etc thrown in "on the side".
Let me know what you think
As discussed in LHCb Core Software 2019-04-10, LHCb's trainings/documentations lack good explanations of working with git submodules. I am unsure where this would best fit on the Xkit side of things given:
I propose we move this repository to the new @hep-starterkit organisation in the hope that it can be used more generally than LHCb. Does any one have any thoughts? @alexpearce @andriiusachov @apuignav @dberzano @rbertens @vbellee @vlisovsk + everyone else
I think we should have a section dedicated to how to configure popular text editors with a minimal configuration as easily as possible. This should be pushed in the prerequisites and only mentioned during lessons. Tutorials and customised configuration can be provided as links.
Obviously the definition of “minimal configuration” is debatable but my proposal is:
Editors we should provide settings for:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.