Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
code [2015/03/15 07:34]
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.
  
  
Line 7: Line 7:
  
  
-=== Prodcutivity ​tools ===+==== Scientific ​tools ====
  
  
-** csv_templater [  [[https://​github.com/​MaciekChudek/​csv_templater|github]] ​ ]**+=== regression_table_generator === 
  
-//A CSV-templating system.//+[  [[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)//
  
-//Language: perl// 
  
-A script that maps data from spreadsheets into arbitrary templates. For instance, I use it to automatically generate this web page. 
  
-** website_checker [  [[https://​github.com/​MaciekChudek/​web_checker|github]] ​ ]**+=== word_proximity_counter === 
  
-//A script to email you when website changes.//+[  [[https://​github.com/​MaciekChudek/​word_proximity_counter|git]] ​ ] //A tool for counting how often two words appear within ​specified proximity of each other in texts. Used for research on historical corpuses ​(Language:​ python; Platform: Portable)//
  
-//Language: bash//+ 
 + 
 +=== 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 ===  
 + 
 +[  [[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. 
 + 
 +=== website_checker ===  
 + 
 +[  [[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 === 
 +
 +[  [[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.
 +
 +=== 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)//
 +
 +
 +
 +
  
  
Line 32: Line 164:
  
  
-=== perl ===+==== r ====
  
  
-** csv_templater [  [[https://​github.com/​MaciekChudek/​csv_templater|github]] ​ ]**+=== regression_table_generator === 
  
-//A CSV-templating system.//+[  [[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)//
  
-//Category: Prodcutivity tools// 
  
-A script that maps data from spreadsheets into arbitrary templates. For instance, I use it to automatically generate this web page. 
  
 +=== handy_r_functions === 
  
-=== bash ===+[  [[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.
  
-** website_checker [  [[https://​github.com/​MaciekChudek/​web_checker|github]] ​ ]**+=== probability_teaching_tools === 
  
-//A script ​to email you when a website changes.//+[  [[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)//
  
-//​Category: ​Prodcutivity ​tools//+ 
 + 
 + 
 +==== 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 ===  
 + 
 +[  [[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. 
 + 
 + 
 +==== bash ==== 
 + 
 + 
 +=== website_checker ===  
 + 
 +[  [[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)//
 +
 +