W. Trevor King [Sat, 18 Oct 2014 03:57:14 +0000 (20:57 -0700)]
Merge branch 'namespaced-python' of git://tremily.us/swc-setup-windows-installer into assembled
setup/windows-installer: Bump to v0.1
Significant changes:
* Convert back from POSIX to Python [1]
* Quote $PATH export to account for spaces
* Install nano source syntax highlighters
* Install the sqlite3 shell
* Look for an R bin directory and add it to the PATH
* Add a README and COPYING metadata
* Add --verbose and --version options
* 'namespaced-python' of git://tremily.us/swc-setup-windows-installer: (23 commits)
swc-windows-installer.py: Add --version and start with 0.1
swc-windows-installer.py: Search ProgramW6432 and ProgramFiles(x86)
swc-windows-installer.py: Add missing space to 'c:\ProgramFiles'
swc-windows-installer.py: Set default logging level to INFO
Fix 'Add' -> 'Adds' to match 'The script' lead-in
README.md: Copy the docstring into a README
swc-windows-installer.py: Fix 'swc_windows_installer.py' -> hyphens
swc-windows-installer.py: Change '~/nano.rc' to 'a ~/nano.rc'
swc-windows-installer.py: Canonical SQLite capitalization
COPYING: Add the full text of the MIT license
swc-windows-installer.py: Add logging
swc-windows-installer.py: Link to msysGit releases on GitHub
swc-windows-installer.py: Standardize on 'msysGit' capitalization
swc-windows-installer.py: Look for an R bin directory
Add indication that the Windows installer is running
swc-windows-installer.py: Install the sqlite3 shell
swc-windows-installer.py: Generalize msysGit download link
swc-windows-installer.py: Force UNIX-style \n line endings for ~/nano.rc
swc-windows-installer.py: Use POSIX paths for ~/nano.rc
swc-windows-installer.py: Use '~' in ~/nano.rc includes
...
[1]: https://github.com/swcarpentry/bc/issues/424
W. Trevor King [Sat, 18 Oct 2014 03:35:15 +0000 (20:35 -0700)]
Merge branch 'master' into namespaced-python
10682b9 (swc-windows-installer.py: Add --version and start with 0.1)
is the last commit in the python branch that landed in v0.1.
Significant changes:
* Add a README and COPYING metadata
* Add a --version option
* master:
swc-windows-installer.py: Add --version and start with 0.1
swc-windows-installer.py: Search ProgramW6432 and ProgramFiles(x86)
swc-windows-installer.py: Add missing space to 'c:\ProgramFiles'
swc-windows-installer.py: Set default logging level to INFO
Fix 'Add' -> 'Adds' to match 'The script' lead-in
README.md: Copy the docstring into a README
swc-windows-installer.py: Fix 'swc_windows_installer.py' -> hyphens
swc-windows-installer.py: Change '~/nano.rc' to 'a ~/nano.rc'
swc-windows-installer.py: Canonical SQLite capitalization
COPYING: Add the full text of the MIT license
W. Trevor King [Thu, 10 Jul 2014 19:01:17 +0000 (12:01 -0700)]
swc-windows-installer.py: Add --version and start with 0.1
Since we're decoupling these scripts (and any installers derived from
them) from the per-workshop repository, it's good to have an easy way
for folks to see which version they're dealing with.
W. Trevor King [Wed, 9 Jul 2014 23:42:20 +0000 (16:42 -0700)]
swc-windows-installer.py: Search ProgramW6432 and ProgramFiles(x86)
It turns out that the 'ProgramFiles' environment variable is set
differently depending on the architecture of process in question. To
always get the 32-bit x86 version, you should use 'ProgramFiles(x86)'
[1]. To always get the 64-bit amd64 version, you should use
'ProgramW6432' [2].
To be safe, and support both 32- and 64-bit Windows installs, just
search everything that could be relevant. Prefer 64-bit locations
(when we have any).
[1]: http://technet.microsoft.com/en-us/library/
cc749104%28v=ws.10%29.aspx
Recognized Environment Variables
...
CSIDL_PROGRAM_FILES Version 5.0. The Program Files folder.
A typical path is C:\Program Files.
...
PROGRAMFILES Same as CSIDL_PROGRAM_FILES.
PROGRAMFILES(X86) Refers to the C:\Program Files (x86) folder on
64-bit systems.
[2]: http://msdn.microsoft.com/en-us/library/windows/desktop/
aa384274%28v=vs.85%29.aspx#Environment_Variables
WOW64 Implementation Details
...
64-bit process:
ProgramFiles=%ProgramFiles%
ProgramW6432=%ProgramFiles%
32-bit process:
ProgramFiles=%ProgramFiles(x86)%
ProgramW6432=%ProgramFiles%
The ProgramW6432 and CommonProgramW6432 environment variables
were added starting with Windows 7 and Windows Server 2008 R2.
W. Trevor King [Wed, 9 Jul 2014 18:32:08 +0000 (11:32 -0700)]
swc-windows-installer.py: Add missing space to 'c:\ProgramFiles'
This is the default for when ProgramFiles isn't set. Windows
operating systems should always have that environment variable set, so
the default is probably only useful when you're testing the script on
a non-Windows system.
W. Trevor King [Wed, 9 Jul 2014 17:24:28 +0000 (10:24 -0700)]
swc-windows-installer.py: Set default logging level to INFO
And add the other levels as --verbose choices, even though we
currently only use LOG.info and LOG.debug. Many *nix commands are
silent by default and have options for increasing the verbosity, but
Ethan points out that we should probably default to the setting that
makes the most sense for new users.
W. Trevor King [Mon, 16 Jun 2014 23:06:11 +0000 (16:06 -0700)]
Fix 'Add' -> 'Adds' to match 'The script' lead-in
"The script adds ..." reads better.
W. Trevor King [Mon, 16 Jun 2014 17:39:27 +0000 (10:39 -0700)]
README.md: Copy the docstring into a README
And add Markdown links for all the packages we reference. This gives
folks hitting the repository a more traditional welcome.
W. Trevor King [Mon, 16 Jun 2014 17:38:38 +0000 (10:38 -0700)]
swc-windows-installer.py: Fix 'swc_windows_installer.py' -> hyphens
Match our local script name in the instruction comment.
W. Trevor King [Mon, 16 Jun 2014 17:37:12 +0000 (10:37 -0700)]
swc-windows-installer.py: Change '~/nano.rc' to 'a ~/nano.rc'
I think the comment reads more clearly with the article.
W. Trevor King [Mon, 16 Jun 2014 17:36:16 +0000 (10:36 -0700)]
swc-windows-installer.py: Canonical SQLite capitalization
We might as well match the upstream capitalization conventions.
W. Trevor King [Mon, 16 Jun 2014 17:18:01 +0000 (10:18 -0700)]
COPYING: Add the full text of the MIT license
Downloaded from http://opensource.org/licenses/mit-license.html, with
the year from our first commit and a generic author identifier. For a
full list of copyright holders, see the version control history.
W. Trevor King [Mon, 9 Jun 2014 22:58:49 +0000 (15:58 -0700)]
Merge branch 'master' into namespaced
After some time on the fence, the main SWC repository has returned to
the Python version of this script [1]. This catches the namespace
branch up with everything that's happened along that line of
development since the initial shell work.
[1]: https://github.com/swcarpentry/bc/pull/480
* master:
swc-windows-installer.py: Add logging
swc-windows-installer.py: Link to msysGit releases on GitHub
swc-windows-installer.py: Standardize on 'msysGit' capitalization
swc-windows-installer.py: Look for an R bin directory
Add indication that the Windows installer is running
swc-windows-installer.py: Install the sqlite3 shell
swc-windows-installer.py: Generalize msysGit download link
swc-windows-installer.py: Force UNIX-style \n line endings for ~/nano.rc
swc-windows-installer.py: Use POSIX paths for ~/nano.rc
swc-windows-installer.py: Use '~' in ~/nano.rc includes
swc-windows-installer.py: Rename ~/.nanorc to ~/nano.rc
swc-windows-installer.py: Install nano source syntax highlighters
swc-windows-installer.py: Quote $PATH export to account for spaces.
W. Trevor King [Mon, 9 Jun 2014 22:54:42 +0000 (15:54 -0700)]
swc-windows-installer.py: Add logging
The more light we can shine on the process, the more accessible it
will be to the students :). And the easier it will be to debug for
the helpers ;).
W. Trevor King [Mon, 9 Jun 2014 22:21:35 +0000 (15:21 -0700)]
swc-windows-installer.py: Link to msysGit releases on GitHub
I think this is the last bit of the old Google Code infrastructure
that was left to transition.
W. Trevor King [Mon, 9 Jun 2014 22:20:18 +0000 (15:20 -0700)]
swc-windows-installer.py: Standardize on 'msysGit' capitalization
That's what the project uses for itself.
W. Trevor King [Mon, 9 Jun 2014 22:17:58 +0000 (15:17 -0700)]
swc-windows-installer.py: Look for an R bin directory
On Thu, May 15, 2014 at 08:07:19PM -0700, Ethan White wrote:
> Problem: R is not added to the Windows' path when it is
> installed. This means that any workshops that use R from the command
> line will run into problems (as we did at the first Data Carpentry
> workshop).
>
> Solution: Add R to the path using our Windows' installer.
>
> Challenges: Just to make @wking's life exciting, R's path varies
> depending on the version. The standard path is `C:\Program
> Files\R\R-x.x.x\bin\` where `x.x.x` is the version number of the
> installed version of R.
Ethan White [Sun, 4 May 2014 17:56:45 +0000 (13:56 -0400)]
Add indication that the Windows installer is running
The Windows installer opens a shell while running. This adds some
text to that shell so that it is clear that something is happening.
W. Trevor King [Tue, 29 Apr 2014 22:14:05 +0000 (15:14 -0700)]
Merge branch 'namespaced' of git://tremily.us/swc-version-control-git into assembled
* 'namespaced' of git://tremily.us/swc-version-control-git:
cheat-sheet.md: Mention the default root for 'git branch ...'
cheat-sheet.md: Explicitly list the branch to push
W. Trevor King [Tue, 29 Apr 2014 22:11:15 +0000 (15:11 -0700)]
Merge branch 'master' into namespaced
* master:
cheat-sheet.md: Mention the default root for 'git branch ...'
cheat-sheet.md: Explicitly list the branch to push
W. Trevor King [Tue, 29 Apr 2014 22:09:21 +0000 (15:09 -0700)]
cheat-sheet.md: Mention the default root for 'git branch ...'
From git-branch(1):
git branch [options] <branchname> [<start-point>]
W. Trevor King [Tue, 29 Apr 2014 22:08:13 +0000 (15:08 -0700)]
cheat-sheet.md: Explicitly list the branch to push
With Git 2.0, the default push strategy changed to 'simple', only
pushing the current branch. However, for backwards compatibility and
general explicit-ness, it's better to list the refs you're pushing
anyway.
W. Trevor King [Fri, 4 Apr 2014 15:51:29 +0000 (08:51 -0700)]
swc-windows-installer.py: Install the sqlite3 shell
On Thu, Apr 03, 2014 at 09:38:38AM -0700, Ethan White wrote:
> Some instructors like to teach `sqlite` from the command
> line. Therefore we should have the Windows installer handle
> downloading, installing and adding sqlite3 to the path.
The novice/sql lessons currently revolve around some IPython magic,
but even they use the SQLite shell to do the initial database setup
[1]. The SQLite shell has also seen a bit more developer time than
our one-off magic [2], so it's probably more robust ;).
I've installed this in it's own directory (rather than just dumping it
into ~/.swc/bin), because zip_install uses the existence of
${INSTALL_DIRECTORY} to decide whether or not the installation has
already happened. create_nosetests_entry_point will have already
created ${BIN_DIR}, so we need to use a different target directory for
SQLite. We could also flip the order and run install_sqlite first,
but that doesn't scale well if we install more packages in the future,
and it's easier to keep the installs separate and keep adding to the
path.
[1]: https://github.com/swcarpentry/bc/blob/
1aa0799ac6a48e9815d50bf2f49171b9eb5bf6d4/novice/sql/README.txt#L8
[2]: https://github.com/swcarpentry/bc/blob/
1aa0799ac6a48e9815d50bf2f49171b9eb5bf6d4/novice/sql/sqlitemagic.py
W. Trevor King [Thu, 27 Mar 2014 17:01:01 +0000 (10:01 -0700)]
swc-windows-installer.py: Generalize msysGit download link
SWC's current setup instructions use both "Git for Windows" and "Git
Bash" [1]. They link to the Git for Windows installer [2] and not the
msysGit installer [3]. Since SWC has Make lessons [4], I think it
makes more sense to have students installing msysGit (which has Make
[5]) than to have them install Git for Windows (which does not have
Make [6]).
However, none of this matters for *this* Windows installer. Because
this script works with both the full msysGit and the minimal Git for
Windows, I'm sticking to msysGit (the more generic project name), and
generalizing the suggested link to
http://code.google.com/p/msysgit/downloads/list.
[1]: https://github.com/swcarpentry/bc/blob/
5c26313b0525e9d0b911d9558592a9e33cd03c1e/_includes/setup.html#L86
[2]: http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git
[3]: http://code.google.com/p/msysgit/downloads/list?q=installer+hack+on+git
[4]: https://github.com/swcarpentry/bc/tree/master/intermediate/make
[5]: https://github.com/msysgit/msysgit#the-build-environment
[6]: https://github.com/msysgit/msysgit#the-relationship-between-msysgit-and-git-for-windows
W. Trevor King [Sun, 16 Mar 2014 22:09:36 +0000 (15:09 -0700)]
Merge branch 'namespaced' of git://tremily.us/swc-setup-windows-installer into assembled
* 'namespaced' of git://tremily.us/swc-setup-windows-installer:
swc-windows-installer.sh: Use '~' in ~/nano.rc includes
swc-windows-installer.sh: Rename ~/.nanorc to ~/nano.rc
W. Trevor King [Thu, 13 Mar 2014 15:19:25 +0000 (08:19 -0700)]
swc-windows-installer.py: Force UNIX-style \n line endings for ~/nano.rc
On Thu, Mar 13, 2014 at 03:37:12AM -0700, Ethan White wrote [1]:
> We now have a line ending issue resulting in:
>
> Error reading /cygdrive/c/Users/...
>
> This is fixed by running `dos2unix` on the resulting nano.rc.
This is also mentioned in the nano FAQ [2]:
> Note that the nano.rc file must remain Unix formated in order for
> nano to unerstand it.
Since Python 3.0 and PEP 3116, Python's open() has taken a 'newline'
argument that allows you to override the default line separator for a
particular file [3,4]. However, Python 2.x does not support that
argument [5]. This commit adds a local 'open3' which uses a terrible
hack of a wrapper on Python 2 to fake that support. It opens the file
in binary mode, and takes advantage of Python 2's lack of distinction
between str and bytes to treat the \n-terminated strings as the raw
binary output. That's going to crash and burn if you have any
non-ASCII characters in the output content, but we explicitly set all
the components in our relative include_path, so that shouldn't be a
problem.
Another side effect of binary-mode is that we are going to get
ASCII-encoded output, not output encoded in the user's preferred
encoding (locale.getpreferredencoding [3,6]). That's unfortunate,
because nano does the right thing and uses your locale to decode input
(at least for UTF-8 locales [7], presumably including your nano.rc
file).
[1]: https://github.com/swcarpentry/bc/pull/357#issuecomment-
37518899
[2]: http://www.nano-editor.org/dist/v2.2/faq.html#3.9.1
[3]: http://docs.python.org/3/library/functions.html#open
[4]: http://legacy.python.org/dev/peps/pep-3116/
[5]: http://docs.python.org/2/library/functions.html#open
[6]: http://docs.python.org/2/library/stdtypes.html#file.encoding
[7]: http://www.nano-editor.org/dist/v2.2/faq.html#5.3
W. Trevor King [Thu, 13 Mar 2014 02:21:57 +0000 (19:21 -0700)]
swc-windows-installer.py: Use POSIX paths for ~/nano.rc
On Wed, Mar 12, 2014 at 06:34:43PM -0700, Ethan White wrote [1]:
> The bash script in #228 is now working properly, but the Python
> script is still failing. It reports errors like:
>
> Error reading ~\.swc\share\nanorc\doc\syntax\python.nanorc
>
> The obvious difference is that the nano.rc files produced by the
> bash script have `/` for paths for the includes, but the Python
> script produces includes that use `\`.
[1]: https://github.com/swcarpentry/bc/pull/357#issuecomment-
37491038
W. Trevor King [Thu, 13 Mar 2014 00:11:17 +0000 (17:11 -0700)]
Merge branch 'master' into namespaced
* master:
swc-windows-installer.sh: Use '~' in ~/nano.rc includes
swc-windows-installer.sh: Rename ~/.nanorc to ~/nano.rc
W. Trevor King [Wed, 12 Mar 2014 23:56:19 +0000 (16:56 -0700)]
swc-windows-installer.sh: Use '~' in ~/nano.rc includes
On Wed, Mar 12, 2014 at 04:44:31PM -0700, Ethan White wrote [1]:
> Got it. We just need to change the `/c/Users/River/` in the include
> statements to `~/` and everything works great!
I also replaced an:
if [ ... ]
condition with:
if test ...
to match the rest of the script.
The underscore prefixes in the string-equality test are to avoid miss
interpretation in the pathological case that RCPATH starts with '!' or
some such. It's hard to imagine how this could happen with the
current script, but... safety first ;).
[1]: https://github.com/swcarpentry/bc/pull/357#issuecomment-
37483149
W. Trevor King [Thu, 13 Mar 2014 00:07:39 +0000 (17:07 -0700)]
swc-windows-installer.py: Use '~' in ~/nano.rc includes
On Wed, Mar 12, 2014 at 04:44:31PM -0700, Ethan White wrote [1]:
> Got it. We just need to change the `/c/Users/River/` in the include
> statements to `~/` and everything works great!
[1]: https://github.com/swcarpentry/bc/pull/357#issuecomment-
37483149
W. Trevor King [Thu, 13 Mar 2014 00:02:50 +0000 (17:02 -0700)]
swc-windows-installer.py: Rename ~/.nanorc to ~/nano.rc
The nano FAQ hints that this is the prefered path on MS Windows [1],
and Ethan White confirmed it in testing [2].
[1]: http://www.nano-editor.org/dist/v2.2/faq.html#3.9.1
[2]: https://github.com/swcarpentry/bc/pull/357#issuecomment-
37482899
W. Trevor King [Wed, 12 Mar 2014 23:41:05 +0000 (16:41 -0700)]
swc-windows-installer.sh: Rename ~/.nanorc to ~/nano.rc
The nano FAQ hints that this is the prefered path on MS Windows [1],
and Ethan White confirmed it in testing [2].
[1]: http://www.nano-editor.org/dist/v2.2/faq.html#3.9.1
[2]: https://github.com/swcarpentry/bc/pull/357#issuecomment-
37482899
W. Trevor King [Tue, 11 Mar 2014 17:55:04 +0000 (10:55 -0700)]
Merge branch 'namespaced' of git://tremily.us/swc-sql into assembled
* 'namespaced' of git://tremily.us/swc-sql: (24 commits)
sql: Add sql namespacing
*.ipynb: Use absolute URLs to link to the glossary
index.md: Remove YAML front-matter
Remove novice/sql namespace
Reorganizing material to put novice + intermediate at top level
Preparing material for Version 5 novice release
Fixing data type error in SQL creation
Switching to triple-tilde in Markdown code blocks in IPython Notebooks
Resizing bounding boxes of SVGs (manually, since LibreOffice doesn't do it)
Adding diagrams to novice SQL lessons
Notes on what diagrams need to be drawn
Switching to numbered list for lesson links in index files
Filling in another 40-odd glossary entries
Filling in glossary entries
SQL reference sheet
Updating SQL notes and guide
Instructor's guide for Python
Instructor's guide for SQL
Updating index files
Modfiying links to glossary in notebook files
...
W. Trevor King [Tue, 11 Mar 2014 17:42:23 +0000 (10:42 -0700)]
sql: Add sql namespacing
This matches the namespacing used in the boot-camp assembly [1]. We
want the cleanups from the master branch (no YAML front-matter, and
external glossary links) because the boot-camp repository doesn't yet
have any of that global stuff.
[1]: http://git.tremily.us/?p=swc-boot-camp.git;a=commit;h=
d062a622e937bc3127c39fdb3ddcbc63febd5d3f
W. Trevor King [Tue, 11 Mar 2014 17:15:36 +0000 (10:15 -0700)]
*.ipynb: Use absolute URLs to link to the glossary
SWC has a single, global glossary [1], not per-subject glossaries.
Because this per-subject branch no longer contains the global
glossary, we need to adjust the links to point at an external
glossary. Done automatically with:
$ sed -i 's|\.\./\.\./gloss.html|https://github.com/swcarpentry/bc/blob/master/gloss.md|g' *.ipynb
[1]: https://github.com/swcarpentry/bc/blob/master/gloss.md
W. Trevor King [Tue, 11 Mar 2014 17:12:12 +0000 (10:12 -0700)]
index.md: Remove YAML front-matter
We're not building this stand-alone lesson as part of a larger Jekyll
site, so remove the YAML front-matter [1].
[1]: http://jekyllrb.com/docs/frontmatter/
W. Trevor King [Tue, 11 Mar 2014 05:01:23 +0000 (22:01 -0700)]
Remove novice/sql namespace
Now that these lessons are in a single branch, the extra namespacing
is no longer needed.
Greg Wilson [Sun, 16 Feb 2014 13:17:08 +0000 (08:17 -0500)]
Reorganizing material to put novice + intermediate at top level
W. Trevor King: I removed everything from the original
b8c7dc3 [1]
except the sql/novice -> novice/sql migration.
[1]: https://github.com/swcarpentry/bc/commit/
b8c7dc3b75002b898f26df551a2c646d78e3aaca
Greg Wilson [Fri, 7 Feb 2014 17:05:02 +0000 (12:05 -0500)]
Preparing material for Version 5 novice release
W. Trevor King: I removed everything except the sql/novice changes
from the original
b66851c [1].
[1]: https://github.com/swcarpentry/bc/commit/
b66851c2b765440e5c7ccb23383aff15eec31ff2
Greg Wilson [Wed, 29 Jan 2014 20:46:25 +0000 (15:46 -0500)]
Fixing data type error in SQL creation
Greg Wilson [Sat, 21 Dec 2013 12:40:27 +0000 (07:40 -0500)]
Switching to triple-tilde in Markdown code blocks in IPython Notebooks
W. Trevor King: I removed everything except the sql/novice changes
from the original
c6e5b9c [1].
[1]: https://github.com/swcarpentry/bc/commit/
c6e5b9cb15e259680e413f289d9bb96c538e7ffd
Greg Wilson [Wed, 4 Dec 2013 17:56:37 +0000 (12:56 -0500)]
Resizing bounding boxes of SVGs (manually, since LibreOffice doesn't do it)
W. Trevor King: I removed everything except the sql/novice changes
from the original
aa7606e [1].
[1]: https://github.com/swcarpentry/bc/commit/
aa7606eb73d0d13b4ba7e9025944418f380544cd
Greg Wilson [Wed, 4 Dec 2013 15:08:16 +0000 (10:08 -0500)]
Adding diagrams to novice SQL lessons
Greg Wilson [Tue, 3 Dec 2013 19:44:38 +0000 (14:44 -0500)]
Notes on what diagrams need to be drawn
W. Trevor King: I removed everything except the sql/novice changes
from the original
bc83c3f [1].
[1]: https://github.com/swcarpentry/bc/commit/
bc83c3fe35ea0b153df6f330aa8ca23748b78cfc
Greg Wilson [Tue, 3 Dec 2013 14:42:55 +0000 (09:42 -0500)]
Switching to numbered list for lesson links in index files
W. Trevor King: I removed everything except the sql/novice changes
from the original
7cd5ffa [1].
[1]: https://github.com/swcarpentry/bc/commit/
7cd5ffafd7ba229d21aad44796b22146fec5054c
Greg Wilson [Tue, 3 Dec 2013 14:06:32 +0000 (09:06 -0500)]
Filling in another 40-odd glossary entries
W. Trevor King: I removed everything except the sql/novice changes
from the original
ff40e98 [1].
[1]: https://github.com/swcarpentry/bc/commit/
ff40e989b920234e6ed8cdae6344d9898e2a3005
Greg Wilson [Mon, 2 Dec 2013 21:03:39 +0000 (16:03 -0500)]
Filling in glossary entries
W. Trevor King: I removed everything except the sql/novice changes
from the original
20d3384 [1].
[1]: https://github.com/swcarpentry/bc/commit/
20d33848883b620ef2e948e12c15e0bfc8ed3660
Greg Wilson [Sat, 30 Nov 2013 17:07:50 +0000 (12:07 -0500)]
SQL reference sheet
Greg Wilson [Fri, 29 Nov 2013 20:21:39 +0000 (15:21 -0500)]
Updating SQL notes and guide
Greg Wilson [Fri, 29 Nov 2013 20:04:47 +0000 (15:04 -0500)]
Instructor's guide for Python
W. Trevor King: I removed everything except the sql/novice changes
from the original
c963afa [1].
[1]: https://github.com/swcarpentry/bc/commit/
c963afa71ba3a7eacada0ff5b4db6dc4f2295e81
Greg Wilson [Fri, 29 Nov 2013 19:53:36 +0000 (14:53 -0500)]
Instructor's guide for SQL
Greg Wilson [Fri, 29 Nov 2013 15:15:17 +0000 (10:15 -0500)]
Updating index files
W. Trevor King: I removed everything except the sql/novice changes
from the original
b23e277 [1].
[1]: https://github.com/swcarpentry/bc/commit/
b23e2772153844b1d8e1ee09b439653847a05ede
Greg Wilson [Fri, 22 Nov 2013 15:09:43 +0000 (10:09 -0500)]
Modfiying links to glossary in notebook files
W. Trevor King: I removed the python/ changes from the original
bac4388 [1] as I try to isolate the SQL section.
[1]: https://github.com/swcarpentry/bc/commit/
bac43889abf296672bb1dc018bcd8b53eb18dc9f
Greg Wilson [Sun, 10 Nov 2013 14:17:00 +0000 (09:17 -0500)]
Cleaning up before submitting pull request
Greg Wilson [Sun, 10 Nov 2013 13:18:08 +0000 (08:18 -0500)]
1. Filled in 'group by'.
2. Put data hygiene in discussion of joins.
3. Got rid of 'next steps' sections.
Greg Wilson [Sun, 10 Nov 2013 10:30:52 +0000 (05:30 -0500)]
More database lessons for novices. To do:
* `group by` in aggregation
* data hygiene
* explain the `%%sqlite` magic
Greg Wilson [Sat, 9 Nov 2013 16:43:13 +0000 (11:43 -0500)]
First three lessons on SQL for beginners
W. Trevor King [Wed, 5 Mar 2014 17:48:47 +0000 (09:48 -0800)]
Merge branch 'namespaced' of git://tremily.us/swc-setup-windows-installer into assembled
* 'namespaced' of git://tremily.us/swc-setup-windows-installer:
swc-windows-installer.sh: Install nano source syntax highlighters
W. Trevor King [Wed, 5 Mar 2014 17:40:42 +0000 (09:40 -0800)]
swc-windows-installer.py: Install nano source syntax highlighters
Make writing Python source code (and a number of other languages) a
bit more exciting for the eyes and easier on the brain by coloring
strings, comments, and such.
We need to install the source tarball because the compiled zip doesn't
include the syntax highlighting scripts. To make that easier, I've
extracted out the download / hash-check functionality into a new
download(), which I use in both the old zip_install() and the new
tar_install(). If the user doesn't have an existing ~/.nanorc, we
populate it by adding 'include' options for each of the syntax files
in the Nano tarball. If they do have an existing ~/.nanorc, I assume
they know what they're doing ;).
The default '*' compression is for transparent detection [1], but you
can override it to explicitly select the compression type if you like.
There's a bit of ugliness to work around the lack of a
--strip-components analog in TarFile.extractall [2]. Instead, we
iterate over the TarInfo members and strip leading components from
their 'name' by hand [3].
[1]: http://docs.python.org/3/library/tarfile.html#tarfile.open
[2]: http://docs.python.org/3/library/tarfile.html#tarfile.TarFile.extractall
[3]: http://docs.python.org/3/library/tarfile.html#tarfile.TarInfo.name
W. Trevor King [Wed, 5 Mar 2014 17:44:52 +0000 (09:44 -0800)]
Merge branch 'master' into namespaced
* master:
swc-windows-installer.sh: Install nano source syntax highlighters
W. Trevor King [Tue, 4 Mar 2014 23:44:02 +0000 (15:44 -0800)]
swc-windows-installer.sh: Install nano source syntax highlighters
Make writing Python source code (and a number of other languages) a
bit more exciting for the eyes and easier on the brain by coloring
strings, comments, and such.
We need to install the source tarball because the compiled zip doesn't
include the syntax highlighting scripts. To make that easier, I've
extracted out the download / hash-check functionality into a new
download(), which I use in both the old zip_install() and the new
tar_install(). If the user doesn't have an existing ~/.nanorc, we
populate it by adding 'include' options for each of the syntax files
in the Nano tarball. If they do have an existing ~/.nanorc, I assume
they know what they're doing ;).
Neal Davis [Mon, 27 Jan 2014 20:41:04 +0000 (14:41 -0600)]
swc-windows-installer.py: Quote $PATH export to account for spaces.
Many people have spaces in their Windows user names, leading to
trouble with an unquoted $PATH export. This file now quotes the $PATH
addition accordingly.
W. Trevor King [Mon, 13 Jan 2014 22:15:24 +0000 (14:15 -0800)]
Merge branch 'namespaced' of git://tremily.us/swc-setup-windows-installer into assembled
W. Trevor King [Mon, 13 Jan 2014 22:09:37 +0000 (14:09 -0800)]
Merge branch 'master' into namespaced
* master:
swc-windows-installer.sh: Convert script from Python to POSIX shell
Conflicts:
setup/windows-installer/swc-windows-installer.py
W. Trevor King [Mon, 13 Jan 2014 18:38:14 +0000 (10:38 -0800)]
swc-windows-installer.sh: Convert script from Python to POSIX shell
On Mon, Jan 13, 2014 at 05:49:51AM -0800, Aron Ahmadia wrote:
> We currently have an installer that handles the issue of installing
> `nano` into msysgit for use with Git: ...
>
> This currently doesn't help for bootcamps where Python is not
> installed, so it would be handy to have a version of this that
> doesn't rely on a Python install.
POSIX shell, because an interpreted language from 1977 [1] is more
widely supported than an interpreted language from 1991 [2]. It looks
like the default msysGit install sets up the right double-click magic
too:
On Mon, Jan 13, 2014 at 10:03:24AM -0800, Ethan White wrote:
> Will a POSIX version run by simply double clicking the file?
On Mon, Jan 13, 2014 at 10:25:33AM -0800, Ethan White wrote:
> Just checked this on my Windows machine and it actually seems to
> work automatically as long as GitBash is installed and the file has
> a .sh extension. So POSIX away.
[1]: http://en.wikipedia.org/wiki/Bourne_shell
[2]: http://en.wikipedia.org/wiki/Python_language
W. Trevor King [Sat, 30 Nov 2013 19:38:32 +0000 (11:38 -0800)]
Merge branch 'namespaced' of git://tremily.us/swc-setup-installation-test into assembled
* 'namespaced' of git://tremily.us/swc-setup-installation-test:
swc-installation-test-2.py: Prefer pip to easy_install
W. Trevor King [Sat, 30 Nov 2013 19:31:23 +0000 (11:31 -0800)]
Merge branch 'master' into namespaced
* master:
swc-installation-test-2.py: Prefer pip to easy_install
W. Trevor King [Sat, 30 Nov 2013 19:08:20 +0000 (11:08 -0800)]
swc-installation-test-2.py: Prefer pip to easy_install
For virtual-pypi-installer. easy_install is part of Setuptools [1],
which was dead for several years. The Distribute fork took over, but
has since been merged back into a revitalized Setuptools (since
Setuptools v0.7 [2], tagged on 2013-06-02 [3]). Pip >= v1.4 actually
requires a modern Setuptools, not Distribute [4]. Pip also improves
on easy_install [5], which does not currently support uninstalling
packages [6].
[1]: http://pythonhosted.org/setuptools/
[2]: http://pythonhosted.org/distribute/
[3]: https://bitbucket.org/pypa/setuptools/commits/tag/0.7
[4]: http://www.pip-installer.org/en/latest/installing.html#id6
[5]: http://www.pip-installer.org/en/latest/other-tools.html#easy-install
[6]: http://pythonhosted.org/setuptools/easy_install.html#uninstalling-packages
W. Trevor King [Fri, 29 Nov 2013 23:43:20 +0000 (15:43 -0800)]
Merge branch 'namespaced' of git://tremily.us/swc-version-control-git into assembled
* 'namespaced' of git://tremily.us/swc-version-control-git:
cheat-sheet.md: Fix 'Incorperate' -> 'Incorporate' typo
W. Trevor King [Fri, 29 Nov 2013 23:41:05 +0000 (15:41 -0800)]
Merge branch 'master' into namespaced
* master:
cheat-sheet.md: Fix 'Incorperate' -> 'Incorporate' typo
W. Trevor King [Fri, 29 Nov 2013 23:40:28 +0000 (15:40 -0800)]
cheat-sheet.md: Fix 'Incorperate' -> 'Incorporate' typo
W. Trevor King [Wed, 13 Nov 2013 17:17:36 +0000 (09:17 -0800)]
Merge branch 'namespaced' of git://tremily.us/swc-setup-windows-installer into assembled
* 'namespaced' of git://tremily.us/swc-setup-windows-installer:
swc-windows-installer.py: Use regular expressions to POSIX-ify paths
swc-windows-installer.py: Only create the python-scripts dir if it doesn't exist
swc-windows-installer.py: Split out zip_install into its own function
W. Trevor King [Wed, 13 Nov 2013 17:13:21 +0000 (09:13 -0800)]
Merge branch 'master' into namespaced
* master:
swc-windows-installer.py: Use regular expressions to POSIX-ify paths
swc-windows-installer.py: Only create the python-scripts dir if it doesn't exist
swc-windows-installer.py: Split out zip_install into its own function
W. Trevor King [Wed, 13 Nov 2013 16:12:58 +0000 (08:12 -0800)]
swc-windows-installer.py: Use regular expressions to POSIX-ify paths
On a Windows 7 SP1 box with Python 2.7.3:
>>> import os.path
>>> os.path.expanduser('~')
'c:/Users/JohnDoe'
That wasn't matching the previous POSIX-ification patterns, which
assumed the drive prefix would be uppercase (C:). Now we use a
regular expression to match both cases.
W. Trevor King [Tue, 12 Nov 2013 18:05:08 +0000 (10:05 -0800)]
swc-windows-installer.py: Only create the python-scripts dir if it doesn't exist
os.makedirs, unlike 'mkdir -p', errors if the target directory already
exists [1,2].
[1]: http://docs.python.org/2/library/os.html#os.makedirs
"Raises an error exception if the leaf directory already exists
or cannot be created"
[2]: http://docs.python.org/3/library/os.html#os.makedirs
"If exist_ok is False (the default), an OSError is raised if the
target directory already exists."
W. Trevor King [Tue, 12 Nov 2013 18:02:23 +0000 (10:02 -0800)]
swc-windows-installer.py: Split out zip_install into its own function
This makes it easy to install other packages besides nano. I've also
added SHA1 checks to avoid installing packages that don't match the
expected hash. This lets us trust ZipFile.extractall instead of
extracting from a hard-coded list of approved files.
W. Trevor King [Thu, 7 Nov 2013 18:16:47 +0000 (10:16 -0800)]
Merge branch 'namespaced' of git://tremily.us/swc-version-control-git into assembled
# By Matt Davis
* 'namespaced' of git://tremily.us/swc-version-control-git:
git -> Git where appropriate
W. Trevor King [Thu, 7 Nov 2013 18:13:43 +0000 (10:13 -0800)]
Merge branch 'master' into namespaced
* master:
git -> Git where appropriate
Matt Davis [Thu, 7 Nov 2013 17:25:46 +0000 (09:25 -0800)]
git -> Git where appropriate
W. Trevor King: The conflicts with the original
f3bc1dd [1] were
trivial, involving the YAML front matter introduced by
208c61f (Add
header material and author to git and GitHub lesson, 2013-11-06). I
haven't included
208c61f in this history because:
* This Markdown source is not necessarily destined for Jekyll.
* The author information is clear from the Git history, and explicit
author listings in text itself are hard to keep up to date.
[1]: https://github.com/swcarpentry/bc/pull/133
Conflicts:
instructor.md
W. Trevor King [Thu, 31 Oct 2013 22:55:12 +0000 (15:55 -0700)]
Merge branch 'namespaced' of git://tremily.us/swc-version-control-git into assembled
* 'namespaced' of git://tremily.us/swc-version-control-git:
README.md: Update link to SWC contributing page
W. Trevor King [Thu, 31 Oct 2013 22:54:16 +0000 (15:54 -0700)]
Merge branch 'master' into namespaced
* master:
README.md: Update link to SWC contributing page
W. Trevor King [Thu, 31 Oct 2013 22:50:57 +0000 (15:50 -0700)]
README.md: Update link to SWC contributing page
Catch up with the swcarpentry/website -> swcarpentry/site transition,
specifically
86ba191 (Replaced contributing.html page with contrib/
directory containing separate pages for different ways to contribute,
2013-08-22).
W. Trevor King [Thu, 31 Oct 2013 16:04:19 +0000 (09:04 -0700)]
Merge branch 'namespaced' of git://tremily.us/swc-setup-windows-installer into assembled
* 'namespaced' of git://tremily.us/swc-setup-windows-installer:
swc-windows-installer.py: Restore nose entry point
W. Trevor King [Thu, 31 Oct 2013 16:03:26 +0000 (09:03 -0700)]
Merge branch 'namespaced' of git://tremily.us/swc-modular-shell-genotype into assembled
W. Trevor King [Thu, 31 Oct 2013 16:02:55 +0000 (09:02 -0700)]
Merge branch 'namespaced' of git://tremily.us/swc-modular-shell-dictionary into assembled
W. Trevor King [Thu, 31 Oct 2013 16:01:30 +0000 (09:01 -0700)]
Merge branch 'namespaced' of git://tremily.us/swc-modular-shell-hearing into assembled
Avoid problems due to the shared history of swc-modular-shell,
swc-modular-shell-hello, and swc-modular-shell-hearing by restoring
the subject-level files and hello script removed in
swc-modular-shell-hearing:
$ git checkout HEAD -- modular/shell/{README.md,cheat-sheet.md,instructor.md,exercises/hello/hello}
before commiting the merge.
Conflicts:
modular/shell/cheat-sheet.md
modular/shell/exercises/hello/hello
W. Trevor King [Thu, 31 Oct 2013 15:46:21 +0000 (08:46 -0700)]
Merge branch 'master' into namespaced
I added modular/shell/exercises/hearing/ namespacing and squashed that
into the merge.
* master: (90 commits)
Changing 'git clone' URL in shell README to the read-only git:// URL.
Fix shell header
Added some words about the history command and bang-history # direct access.
Fix old typo on file size.
Clean up ambiguity between file and filename.
There is no executable in the boot-camps directory - need to cd to shell dir first.
remove some spaces getting in the way of bold
Seem to have the tables figured out - they need a header - annoying
Can we get some documentation on tables
A few more changes to be consistent and clear.
Some formatting and flow changes:
Update shell/Readme.md
Update shell/Readme.md
Update shell/Readme.md
shell/Readme.md: Fix 'swsc' -> 'swc' typo
shell/Readme.md: Use USERNAME and YYYY-MM-PLACE in git clone instructions
fixed links
shell/Readme.md: use explicit URL (with https://)
Conversion of all rst to corresponding markdown files
removed references to 2013-01-chicago (those became YYYY-MM-PLACE) and thehackerwithin (those became USERNAME).
...
W. Trevor King [Thu, 24 Oct 2013 16:36:33 +0000 (09:36 -0700)]
modular/shell: Start reorganizing the shell material
Mostly split the examples out into their own directories with READMEs,
but there was a lot of editing to partially convert the long-form
notes into a condensed instructor.md targeted at instructors. I've
gotten to the pipes section and run out of steam. Erik may be taking
over the rest of the rewrite...
W. Trevor King: I dropped everything from the original
7ba5e9d except
for the modular/shell/exercises/hearing/README.md addition. I also
merged in the history of the shell notes from
git://tremily.us/swc-modular-shell master so you can follow the
development of the README content.
W. Trevor King [Thu, 31 Oct 2013 15:38:47 +0000 (08:38 -0700)]
Merge branch 'master' into namespaced
This is a no-op merge, explicitly considering and rejecting the
de-namespacing from the master branch. After this merge, future
merges from the master branch will pick up any content changes.
$ git merge --log --no-ff --strategy ours master
* master:
generate_data.py: Remove nesting shellExample/
W. Trevor King [Thu, 31 Oct 2013 15:37:25 +0000 (08:37 -0700)]
generate_data.py: Add nesting modular/shell/exercises/hearing/
This gives the submodule-averse the nesting they'd usually get by
merging the master branch in a submodule at
modular/shell/exercises/hello.
W. Trevor King [Thu, 31 Oct 2013 15:19:21 +0000 (08:19 -0700)]
generate_data.py: Remove nesting shellExample/
There's no need to hard-code target directories in this repository.
Anyone consuming this material can use submodules and pick their own
target directory.
Richard T. Guy [Mon, 30 Jan 2012 18:23:00 +0000 (13:23 -0500)]
Added Da for Shell example
W. Trevor King [Thu, 31 Oct 2013 02:50:38 +0000 (19:50 -0700)]
Merge branch 'master' into namespaced
* master:
swc-windows-installer.py: Restore nose entry point
W. Trevor King [Thu, 31 Oct 2013 02:47:25 +0000 (19:47 -0700)]
swc-windows-installer.py: Restore nose entry point
This restores the nose entry point which was removed in
94caead
(swc-windows-installer.py: Remove IPython and nose entry points,
2013-10-21).
On Tue, Oct 22, 2013 at 11:36:21AM -0700, Ethan White wrote:
> IPython works fine for me on Windows 7 for both Anaconda and Canopy
> with no added entry points needed.
>
> Nosetests does not appear to have an entry point on Anaconda and I
> forgot to test it with Canopy.
I used a slightly different bin path than we'd used previously, to
respect
806fedf (swc-windows-installer.py: Rework install paths to use
~/.swc, 2013-10-21).
W. Trevor King [Wed, 30 Oct 2013 04:08:21 +0000 (21:08 -0700)]
README.md: Add nesting modular/shell/exercises/genotype/
This gives the submodule-averse the nesting they'd usually get by
merging the master branch in a submodule at
modular/shell/exercises/genotype.
W. Trevor King [Wed, 30 Oct 2013 04:07:01 +0000 (21:07 -0700)]
Merge branch 'master' into namespaced
This is a no-op merge, explicitly considering and rejecting the
de-namespacing from the master branch. After this merge, future
merges from the master branch will pick up any content changes.
* master:
README.md: Remove nesting shell/exercises/
W. Trevor King [Wed, 30 Oct 2013 04:04:59 +0000 (21:04 -0700)]
README.md: Remove nesting shell/exercises/
There's no need to hard-code target directories in this repository.
Anyone consuming this material can use submodules and pick their own
target directory.
Jon Pipitone [Mon, 4 Mar 2013 19:31:26 +0000 (14:31 -0500)]
Moved exercises into subfolders of the corresponding topics
W. Trevor King: I removed everything except the shell exercises from
39e0701, since this branch is focusing on the genotype exercises.
Jon Pipitone [Fri, 1 Mar 2013 23:17:30 +0000 (18:17 -0500)]
Adding exercises from the Software Carpentry 4.0 website
W. Trevor King: I removed everything except the shell exercises from
da170d3, since this branch is focusing on the genotype exercises.
Orion Buske [Sun, 6 Feb 2011 04:20:02 +0000 (04:20 +0000)]
Added shell exercises and old setdict exercises to version control
git-svn-id: http://svn.software-carpentry.org/swc@1490
c7c5a9dc-0650-43d5-b785-
a4005efbfd0f
W. Trevor King: I removed the setdict exercises from the cherry-picked
commit, since this branch is focusing on the genotype exercises.