Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
code [2015/03/15 07:43]
Maciek Chudek
code [2015/11/04 05:37] (current)
Line 1: Line 1:
-The following are open source projects that I have posted on github. Most are small tools I've developed to help with my own workflow. Some are just bare-bones versions of better developed but more bloated tools that are out there, but some are unique.+The following are open source projects that I have posted on github. Most are either directly related to my published research papers or small tools I've developed to help with my own workflow.
  
-Here they are twice, ​sorted first by category and then by programming language+I'​ve ​sorted ​them below first by category and then by programming language.
  
  
-====== By Category ​======+===== By Category =====
  
  
-===== Prodcutivity ​tools =====+==== Scientific tools ==== 
 + 
 + 
 +=== regression_table_generator ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​regression_table_generator|git]] ​ ] //A set of R fucntions that automates one of the most labourious parts of the academic publishing process: painstakingly copy-pasting your analytic results into publication quality regression tables. You mearly provide a list of fitted regression model objects and R will automatically generate the latex code for producing perfectly laid out regression tables, ready for publicaiton. It will even compile the images for you if you have latex installed. ​ (Language: r; Platform: Portable)//​ 
 + 
 + 
 + 
 +=== word_proximity_counter ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​word_proximity_counter|git]] ​ ] //A tool for counting how often two words appear within a specified proximity of each other in texts. Used for research on historical corpuses. ​ (Language: python; Platform: Portable)//​ 
 + 
 + 
 + 
 +=== online_textual_coding ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​online_textual_coding|git]] ​ ] //A web based tool for multiple "​coders"​ to log in a make binary decisions about passage of text.  (Language: php; Platform: Web)// 
 + 
 + 
 + 
 +=== handy_r_functions ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​handy_r_functions|git]] ​ ] //A collection of the handy R functions. ​ (Language: r; Platform: Portable)//​ 
 + 
 +These are functions for data analysis, visualisation and export (especially to latex), that I've written and refined over my career as a scientist. 
 + 
 +=== random_assignment_redirect_generator ===  
 + 
 +[  [[http://​psyclab1.psych.ubc.ca/​~matthew/​randomiser.php|Live]] ​ ] //​Psychologists often need to randomly assign individuals to web-surveys. This little page helps out my non-programmer colleagues by automatically generating php-redirect script for them.  (Language: php; Platform: Web)// 
 + 
 + 
 + 
 + 
 +==== Simulations ==== 
 + 
 + 
 +=== noisy_world_reciprocity ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​noisy_world_reciprocity|git]] ​ ] //Optimised simulation of reciprocity dynamics when information is poor  (Language: c; Platform: Linux)// 
 + 
 + 
 + 
 +=== coalescent_migration_sim ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​coalescent_migration_sim|git]] ​ ] //Optimised simulation of relatedness in a population with non-trivial migration ​ (Language: c; Platform: Linux)// 
 + 
 + 
 + 
 +=== beta_ghosts_sim ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​beta_ghosts_sim|git]] ​ ] //Optimised simulation of the evolutionary dynamics of genetic relatedness given regular population fission ​ (Language: c; Platform: Linux)// 
 + 
 + 
 + 
 + 
 +==== Pedagogical ​tools ==== 
 + 
 + 
 +=== classroom_strategic_games ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​classroom_strategic_games|git]] ​ ] //A teaching aid which lets students interactively play economic games (e.g., dictator / trust / ultimatum) from their web-connected devices in the class room. Takes care of random pairing, point tracking, etc.  (Language: javascript; Platform: Web)// 
 + 
 + 
 + 
 +=== probability_teaching_tools ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​probability_teaching_tools|git]] ​ ] //A teaching aid which demonstrates the central limit theorum by letting students nominate distributions to sample from, and visualising the distribution of their sum.  (Language: r; Platform: Portable)//​ 
 + 
 + 
 + 
 + 
 +==== Productivity tools ====
  
  
 === csv_templater ===  === csv_templater === 
  
-[  [[https://​github.com/​MaciekChudek/​csv_templater|github]]  ] //A CSV-templating system. ​ (Language: perl)//+[  [[https://​github.com/​MaciekChudek/​csv_templater|git]]  ] //A CSV-templating system. ​ (Language: perl; Platform: Linux)//
  
 A script that maps data from spreadsheets into arbitrary templates. For instance, I use it to automatically generate this web page. A script that maps data from spreadsheets into arbitrary templates. For instance, I use it to automatically generate this web page.
Line 18: Line 90:
 === website_checker ===  === website_checker === 
  
-[  [[https://​github.com/​MaciekChudek/​web_checker|github]]  ] //A script to email you when a website changes. ​ (Language: bash)//+[  [[https://​github.com/​MaciekChudek/​web_checker|git]]  ] //A script to email you when a website changes. ​ (Language: bash; Platform: Linux)//
  
 Simple bash script for sending yourself an email when a website changes (schedule with cron, etc). Simple bash script for sending yourself an email when a website changes (schedule with cron, etc).
  
 +=== online_todo_list === 
  
 +[  [[https://​github.com/​MaciekChudek/​online_todo_list|git]] ​ ] //A simple, dynamic todo list web page  (Language: php; Platform: Web)//
  
  
  
 +=== metric_imperial_chart === 
  
-====== By Language ​======+[  [[https://​github.com/​MaciekChudek/​metric_imperial_chart|git]] ​ ] //A chart with metric<​->​imperial conversions,​ which prints with to-scale visual aids  (Language: LaTeX; Platform: Portable)//
  
 +A one page chart with mertric<​->​imperial conversions which, if printed on letter paper, includes to-scale relative distance visualisations.
  
-===== perl =====+=== windows_timelogger ​===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​windows_timelogger|git]] ​ ] //ery simple: you run it, it shows you a text box, you type something and it drops it in a text file with a time stamp. Assign it a hot key, hit that key, type what you're doing - presto, you have a complete log of your activities. ​  ​(Language:​ c#; Platform: Windows)//​ 
 + 
 + 
 + 
 +=== scantron_multi_answer ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​scantron_multi_answer|git]] ​ ] //A tool that allows grading of non-standard "​scantron"​ exam data where a single question can have multiple answers correct answers. ​ (Language: c#; Platform: Windows)//​ 
 + 
 +You provide the "​scantron"​ data output and an answer key, and the grades per-student are automatically generated. Here I assume that if a question has n correct answers, each correct answer marked gives 1/n points and each incorrect answer marked gives -1/n, with 0 being the minimum score for a given question. 
 + 
 + 
 +==== Games ==== 
 + 
 + 
 +=== geo_adventure ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​geo_adventure|git]] ​ ] //An Android based platform for making games where clues are '​unlocked'​ when a user gets within a close enough proximity of a GPS coordinate. Great for scavenger hunts and interactive stories. ​ (Language: java; Platform: Android)//​ 
 + 
 + 
 + 
 +=== geo_adventure_maker ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​geo_adventure_maker|git]] ​ ] //An online system for making '​GeoAdventures'​ my laying points down on a google map, adding story text to them and connecting them with basic logic AND/​OR/​XOR/​NOT logic. ​ (Language: javascript; Platform: Web)// 
 + 
 + 
 + 
 + 
 +==== Other ==== 
 + 
 + 
 +=== virtual_loom ===  
 + 
 +[  [[http://​psyclab1.psych.ubc.ca/​~matthew/​loom/​index.php|Live]] ​ ] //A web based tool for visualising dobule-heddle loom patterns. ​ (Language: php; Platform: Web)// 
 + 
 +Do you weave on a double heddle loom? Have you ever wanted to quickly visualise what your patterns will look like before you try them? Small audience, I know, but my ex-girlfriend was among them so the software now exists. It's raw - not very forgiving and expects you to already know the weaving technology and terminology - but it does the job.  
 + 
 +=== handwritting_simulator ===  
 + 
 +[  [[http://​abcs.asu.edu/​Maciek/​temp/​project/​|Live]] ​ ] //A web page which 'hand writes'​ in cursive script whatever you type on the screen. ​ (Language: javascript; Platform: Web)// 
 + 
 + 
 + 
 +=== DMLITE_remapper ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​DMLITE_remapper|git]] ​ ] //A midi module that fixes he buggy DMLITE drum module high-hat midi signal. ​ (Language: c; Platform: Linux)// 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +===== By Language ===== 
 + 
 + 
 +==== r ==== 
 + 
 + 
 +=== regression_table_generator ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​regression_table_generator|git]] ​ ] //A set of R fucntions that automates one of the most labourious parts of the academic publishing process: painstakingly copy-pasting your analytic results into publication quality regression tables. You mearly provide a list of fitted regression model objects and R will automatically generate the latex code for producing perfectly laid out regression tables, ready for publicaiton. It will even compile the images for you if you have latex installed. ​ (Category: Scientific tools; Platform: Portable)//​ 
 + 
 + 
 + 
 +=== handy_r_functions ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​handy_r_functions|git]] ​ ] //A collection of the handy R functions. ​ (Category: Scientific tools; Platform: Portable)//​ 
 + 
 +These are functions for data analysis, visualisation and export (especially to latex), that I've written and refined over my career as a scientist. 
 + 
 +=== probability_teaching_tools ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​probability_teaching_tools|git]] ​ ] //A teaching aid which demonstrates the central limit theorum by letting students nominate distributions to sample from, and visualising the distribution of their sum.  (Category: Pedagogical tools; Platform: Portable)//​ 
 + 
 + 
 + 
 + 
 +==== python ==== 
 + 
 + 
 +=== word_proximity_counter ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​word_proximity_counter|git]] ​ ] //A tool for counting how often two words appear within a specified proximity of each other in texts. Used for research on historical corpuses. ​ (Category: Scientific tools; Platform: Portable)//​ 
 + 
 + 
 + 
 + 
 +==== php ==== 
 + 
 + 
 +=== online_textual_coding ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​online_textual_coding|git]] ​ ] //A web based tool for multiple "​coders"​ to log in a make binary decisions about passage of text.  (Category: Scientific tools; Platform: Web)// 
 + 
 + 
 + 
 +=== random_assignment_redirect_generator ===  
 + 
 +[  [[http://​psyclab1.psych.ubc.ca/​~matthew/​randomiser.php|Live]] ​ ] //​Psychologists often need to randomly assign individuals to web-surveys. This little page helps out my non-programmer colleagues by automatically generating php-redirect script for them.  (Category: Scientific tools; Platform: Web)// 
 + 
 + 
 + 
 +=== online_todo_list ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​online_todo_list|git]] ​ ] //A simple, dynamic todo list web page  (Category: Productivity tools; Platform: Web)// 
 + 
 + 
 + 
 +=== virtual_loom ===  
 + 
 +[  [[http://​psyclab1.psych.ubc.ca/​~matthew/​loom/​index.php|Live]] ​ ] //A web based tool for visualising dobule-heddle loom patterns. ​ (Category: Other; Platform: Web)// 
 + 
 +Do you weave on a double heddle loom? Have you ever wanted to quickly visualise what your patterns will look like before you try them? Small audience, I know, but my ex-girlfriend was among them so the software now exists. It's raw - not very forgiving and expects you to already know the weaving technology and terminology - but it does the job.  
 + 
 + 
 +==== c ==== 
 + 
 + 
 +=== noisy_world_reciprocity ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​noisy_world_reciprocity|git]] ​ ] //Optimised simulation of reciprocity dynamics when information is poor  (Category: Simulations;​ Platform: Linux)// 
 + 
 + 
 + 
 +=== coalescent_migration_sim ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​coalescent_migration_sim|git]] ​ ] //Optimised simulation of relatedness in a population with non-trivial migration ​ (Category: Simulations;​ Platform: Linux)// 
 + 
 + 
 + 
 +=== beta_ghosts_sim ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​beta_ghosts_sim|git]] ​ ] //Optimised simulation of the evolutionary dynamics of genetic relatedness given regular population fission ​ (Category: Simulations;​ Platform: Linux)// 
 + 
 + 
 + 
 +=== DMLITE_remapper ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​DMLITE_remapper|git]] ​ ] //A midi module that fixes he buggy DMLITE drum module high-hat midi signal. ​ (Category: Other; Platform: Linux)// 
 + 
 + 
 + 
 + 
 +==== javascript ==== 
 + 
 + 
 +=== classroom_strategic_games ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​classroom_strategic_games|git]] ​ ] //A teaching aid which lets students interactively play economic games (e.g., dictator / trust / ultimatum) from their web-connected devices in the class room. Takes care of random pairing, point tracking, etc.  (Category: Pedagogical tools; Platform: Web)// 
 + 
 + 
 + 
 +=== geo_adventure_maker ===  
 + 
 +[  [[https://​github.com/​MaciekChudek/​geo_adventure_maker|git]] ​ ] //An online system for making '​GeoAdventures'​ my laying points down on a google map, adding story text to them and connecting them with basic logic AND/​OR/​XOR/​NOT logic. ​ (Category: Games; Platform: Web)// 
 + 
 + 
 + 
 +=== handwritting_simulator ===  
 + 
 +[  [[http://​abcs.asu.edu/​Maciek/​temp/​project/​|Live]] ​ ] //A web page which 'hand writes'​ in cursive script whatever you type on the screen. ​ (Category: Other; Platform: Web)// 
 + 
 + 
 + 
 + 
 +==== perl ====
  
  
 === csv_templater ===  === csv_templater === 
  
-[  [[https://​github.com/​MaciekChudek/​csv_templater|github]]  ] //A CSV-templating system. ​ (Category: ​Prodcutivity ​tools)//+[  [[https://​github.com/​MaciekChudek/​csv_templater|git]]  ] //A CSV-templating system. ​ (Category: ​Productivity ​tools; Platform: Linux)//
  
 A script that maps data from spreadsheets into arbitrary templates. For instance, I use it to automatically generate this web page. A script that maps data from spreadsheets into arbitrary templates. For instance, I use it to automatically generate this web page.
Line 45: Line 289:
 === website_checker ===  === website_checker === 
  
-[  [[https://​github.com/​MaciekChudek/​web_checker|github]]  ] //A script to email you when a website changes. ​ (Category: ​Prodcutivity ​tools)//+[  [[https://​github.com/​MaciekChudek/​web_checker|git]]  ] //A script to email you when a website changes. ​ (Category: ​Productivity ​tools; Platform: Linux)//
  
 Simple bash script for sending yourself an email when a website changes (schedule with cron, etc). Simple bash script for sending yourself an email when a website changes (schedule with cron, etc).
 +
 +
 +==== LaTeX ====
 +
 +
 +=== metric_imperial_chart === 
 +
 +[  [[https://​github.com/​MaciekChudek/​metric_imperial_chart|git]] ​ ] //A chart with metric<​->​imperial conversions,​ which prints with to-scale visual aids  (Category: Productivity tools; Platform: Portable)//
 +
 +A one page chart with mertric<​->​imperial conversions which, if printed on letter paper, includes to-scale relative distance visualisations.
 +
 +
 +==== c# ====
 +
 +
 +=== windows_timelogger === 
 +
 +[  [[https://​github.com/​MaciekChudek/​windows_timelogger|git]] ​ ] //ery simple: you run it, it shows you a text box, you type something and it drops it in a text file with a time stamp. Assign it a hot key, hit that key, type what you're doing - presto, you have a complete log of your activities. ​  ​(Category:​ Productivity tools; Platform: Windows)//
 +
 +
 +
 +=== scantron_multi_answer === 
 +
 +[  [[https://​github.com/​MaciekChudek/​scantron_multi_answer|git]] ​ ] //A tool that allows grading of non-standard "​scantron"​ exam data where a single question can have multiple answers correct answers. ​ (Category: Productivity tools; Platform: Windows)//
 +
 +You provide the "​scantron"​ data output and an answer key, and the grades per-student are automatically generated. Here I assume that if a question has n correct answers, each correct answer marked gives 1/n points and each incorrect answer marked gives -1/n, with 0 being the minimum score for a given question.
 +
 +
 +==== java ====
 +
 +
 +=== geo_adventure === 
 +
 +[  [[https://​github.com/​MaciekChudek/​geo_adventure|git]] ​ ] //An Android based platform for making games where clues are '​unlocked'​ when a user gets within a close enough proximity of a GPS coordinate. Great for scavenger hunts and interactive stories. ​ (Category: Games; Platform: Android)//
 +
 +