workshop   8983

« earlier    

lab-workshops/machine-learning.ipynb at master · YaleDHLab/lab-workshops |
Materials for workshops on text mining, machine learning, and data visualization - YaleDHLab/lab-workshops
ml  machinelearning  jupyter  ipythonnotebook  workshop 
39 minutes ago by kme
swcarpentry/windows-installer: Software Carpentry installer for Windows. |
Software Carpentry installer for Windows. Contribute to swcarpentry/windows-installer development by creating an account on GitHub.
workshop  windows  unix  msysgit  commandline  bash  installation  installer  script  python 
19 hours ago by kme
Man pages for Git Bash on Windows 7 - Super User |
Yeah, if you want man pages by default, it's actually more prudent to do a default install of Cygwin.
windows  bash  git  shell  unix  workshop  howto 
19 hours ago by kme
The Unix Shell: Instructor Notes |
Many people have questioned whether we should still teach the shell. After all, anyone who wants to rename several thousand data files can easily do so interactively in the Python interpreter, and anyone who’s doing serious data analysis is probably going to do most of their work inside the IPython Notebook or R Studio. So why teach the shell?

The first answer is, “Because so much else depends on it.” Installing software, configuring your default editor, and controlling remote machines frequently assume a basic familiarity with the shell, and with related ideas like standard input and output. Many tools also use its terminology (for example, the %ls and %cd magic commands in IPython).

The second answer is, “Because it’s an easy way to introduce some fundamental ideas about how to use computers.” As we teach people how to use the Unix shell, we teach them that they should get the computer to repeat things (via tab completion, ! followed by a command number, and for loops) rather than repeating things themselves. We also teach them to take things they’ve discovered they do frequently and save them for later re-use (via shell scripts), to give things sensible names, and to write a little bit of documentation (like comment at the top of shell scripts) to make their future selves’ lives better.

The third answer is, “Because it enables use of many domain-specific tools and compute resources researchers cannot access otherwise.” Familiarity with the shell is very useful for remote accessing machines, using high-performance computing infrastructure, and running new specialist tools in many disciplines. We do not teach HPC or domain-specific skills here but lay the groundwork for further development of these skills. In particular, understanding the syntax of commands, flags, and help systems is useful for domain specific tools and understanding the file system (and how to navigate it) is useful for remote access.

Finally, and perhaps most importantly, teaching people the shell lets us teach them to think about programming in terms of function composition. In the case of the shell, this takes the form of pipelines rather than nested function calls, but the core idea of “small pieces, loosely joined” is the same.

Installing Bash and a reasonable set of Unix commands on Windows always involves some fiddling and frustration. Please see the latest set of installation guidelines for advice, and try it out yourself before teaching a class.

Tab completion sounds like a small thing: it isn’t. Re-running old commands using !123 or !wc isn’t a small thing either, and neither are wildcard expansion and for loops. Each one is an opportunity to repeat one of the big ideas of Software Carpentry: if the computer can repeat it, some programmer somewhere will almost certainly have built some way for the computer to repeat it.

Building up a pipeline with four or five stages, then putting it in a shell script for re-use and calling that script inside a for loop, is a great opportunity to show how “seven plus or minus two” connects to programming. Once we have figured out how to do something moderately complicated, we make it re-usable and give it a name so that it only takes up one slot in working memory rather than several. It is also a good opportunity to talk about exploratory programming: rather than designing a program up front, we can do a few useful things and then retroactively decide which are worth encapsulating for future re-use.
shellscripting  unix  linux  shell  bash  butwhy  programming  sevenplusorminustwo  teaching  workshop  reference  advice  bestpractices 
yesterday by kme
rgaiacs/swc-shell-split-window: Script to split the shell using tmux |
Script to split the shell using tmux. Contribute to rgaiacs/swc-shell-split-window development by creating an account on GitHub.
teaching  unix  shell  shellscripting  workshop  utility  software  tmux 
yesterday by kme
Top 10 Smart Ideas - YouTube
?? Truly awful. could do exercise of coming up with useless invention. eg think of something we do fairly well at the moment, how could you come up with something that would do it more complicated?
video  workshop  designthinking 
2 days ago by mofox

« earlier    

related tags

1993  2019  3dprinting  _todo  a-i  action  advice  agency  agile  agrachina  agricultural_development  agricultural_specialist  agroecology  analogue  archives  articles  ascr  august  bamboo  bash  bayesian  bes  bestpractices  bicycle  bike  blacksmith  book  brainstorming  branding  building  business  butwhy  cad  calligraphy  career  cfp  cg  changemanagement  class  collaboration  commandline  community  computational-journalism  computergraphics  conference  construction  consultancy  content  course_design  coursematerials  cph  craft  creative-strategy  curriculum  cutlery  czech  d3.js  dataviz  design  designthinking  devel  devops  dh  digital_edition  disentangling  diy  documentation  doe  dust  dustcollection  eblog  ebook  ecological  ecology  edge  education  environment  environmentalism  ethics  events  exercise  experience  expert  fabrication  facilitation  farm-to-table  farmer_community  farmers_livelihod  farming  film  florence  framework  france  freeipa  front-end  funds  garage  git  grant  graphics  hci  help  history  howto  ideas  identity  idm  ifttt  ilst  innovacion  innovation-methods  installation  installer  interactive  interesting  interview  ipythonnotebook  japan  japanese  javascript  jk-engineer  jk-infosec  jk-siem  jk-splunk  jk-sysadmin  jk-training  john_britten  journalism  jupyter  kickoff  kickstarter  kitchen  knives  largeformat  learn  learning  lettering  library  lifesnippets  linux  locavore  london  lovefirst  lucene  machine_learning  machinelearning  make  management  mariushornberger  marketing  media  meeting  meetings  metalearning  metalwork  methodology  methods  military  ml  modeling  motorcycle  msysgit  neural_networks  newbie  news  ngo_npo  nips  nips2017  nlp  nn  nyc  objective-statements  onlinecoursework  onthebench  organic_agriculture  organic_education  organic_farming  organization  paper  papers  peg  pegboard  penumbra  permaculture  philosophy  photography  platform  pocket  pr  prague  presentation  preservation  printing  programming  project  proof  ptpd  python  q  qis  quantum  r  re-read  rebase  reference  remote  renovation  request  research  resources  revisit  roof  room  rural_development  rural_economy  rural_employment  ryerson  samurai  scai  script  search  servicedesign  sevenplusorminustwo  shell  shellscripting  sicily  slides  snow  social  socialentrepreneur  software  solr  space  spiral  splunk  ssh  stir  storage  storytelling  sustainability  sustainable  swiss  swords  teaching  tech  tei  theory  thinking  tmux  todo  tools  training  tutorial  tw  uc  uk  uk_london  unix  usa  useful  utility  ux  ventilation  video  vision  visualization  wall  weapons  web-development  whiteboard  wikipedia  windows  wishidea  wood  woodworking  workshops  zk 

Copy this bookmark: