Chapter 10 Running R from the UNIX Command Line
10.1 What is the UNIX Command line?
The command line is a simple Terminal window with a prompt at which you can type commands, And do primitive but powerful things to your files. The UNIX computing environment was developed in the 1960s, and is still beloved and fetishized by brogrammers, who believe you are not truly a programmmer if you can’t code from the command line. This is silly.
The major attraction to UNIX in the 1960s is that it was much better than punch cards. Which isn’t saying much. We have had 60 years of software advancement and user interface improvements, so we really should not have to put up with the inherent user hostility of the UNIX environment.
UNIX is an early operating system, which is built around a ‘kernel’ which executes operating system commands, and a ‘shell’ which interprets your commands and sends them to the kernel for execution. The most common shell these days is named ‘bash’, which is a silly recursive brogrammer joke. You will sometimes see references to shell scripts or shell or bash programming. These are the same thing as command line programming.
UNIX is a common under-the-hood language across many computers today, as the Apple iOS is built on top of UNIX, and the various versions of the LinuxOS are built on a UNIX-like kernel, with a similar command shell.
The command line is often the least common denominator between different pieces of open-source software that were not designed to work together. It can occasionally be helpful to build a data pipeline from mismatched parts.
However, there is a lot of low-quality user-hostile command line work involved to get it done, often referred to as “command-line bullshittery”. This is a common bottleneck that slows scientific productivity, and there is a vigorous discussion of it on the interwebs here and here (counterpoint). Essentially, some argue that it is largely a waste of time and effort, while others see it as a valuable learning experience, like doing least squares regression by hand with a pencil.
Running R from the command line is a bit like spending a day tuning your car’s engine by yourself. There is a case to be made that this will improve the efficiency and performance of your car, but it is also usually more efficient to pay someone else to do it, unless you are a car expert with a lot of free time.
10.2 Why run R from the command line?
You can run R from the command line. It has none of the bells and whistles, nor any of the user conveniences of the RStudio Interactive Developer Environment (IDE). But it is how R was originally expected to be used when it was developed back in 2000 in New Zealand.
Running R from the command line allows you to do powerful things, like process multiple files at once, which can be handy when you have multiple files of sequencing data from distinct observations, or you have a multistep data wrangling pipeline with several slow steps. For many years, this was the only way to easily apply code across multiple files to build a complex data pipeline.
This is much less true today, with tools to handle file paths like the {here} and {fs} packages, run Python scripts from R with the {reticulate} package, run C++ scripts with Rcpp, and run bash, python, SQL, D3, and Stan scripts from Rmarkdown. You can use the {drake} package to manage multi-step data pipelines in different languages (similar to make). But some labs have been doing things at the command line for years, and find it hard to change.
10.3 How do you get started?
First, you need to open a terminal window. And to do that, you need to find it. This is akin to getting under the hood of a car, and computer makers don’t exactly encourage it.
10.3.1 On a Mac
- Go to Finder/Applications/Utilities/Terminal
10.3.2 On a Windows PC
- Go to Applications/Terminal
10.4 The Yawning Blackness of the Terminal Window
So, you have managed to open a terminal window, which has a standard UNIX prompt, ending in something like %
or $
. Not terribly helpful, is it? The bash shell is waiting for you to enter a command.
No user interface for you!
Let’s start with a simple one, which can’t do any harm. Run the command below:
whoami
whoami
## peterhiggins
Remember that UNIX started out as an operating system for terminals, and knowing who was logged in was a helpful thing.
You can string together two commands with a semicolon between them.
Try the following:
whoami;date
## peterhiggins
## Thu Jan 7 17:42:21 EST 2021
OK, fine. This is sort of helpful. It was really important when you were on a terminal and paying by the minute for time on a mainframe back in 1969. And, on occasion, if you will need to use an entire computer cluster to run a script (or scripts) on a lot of data, you will likely have to use some of this command line knowledge. You can even schedule jobs (scripts) to run when your time is scheduled on the cluster with cron
and crontab
.
At this point, it would be helpful to open a window with your Documents folder, and keep it side by side with the window in which you are reading this e-book. We will start working with files and directories, and it is helpful to see changes in your file/folder structure in real time. As we run commands in the bash shell, check them against what you see in the folder window. You may find that some files (dotfiles, starting with a period) are hidden from the user to prevent problems that occur when these are deleted.
10.5 Where Are We?
OK, let’s start looking at files and directories. Start with the pwd
command, which does not stand for password, but for print working directory
.
Run the code below in your Terminal window.
pwd
## /Users/peterhiggins/Documents/RCode/rmrwr-book
You can see the full path to your current directory. This can be a bit obscure if you are just looking at your folder structure, particularly at the beginning of the path. Fortunately, the {here} package handles a lot of this for you when you are working in Rstudio projects.
We think of the directory as a tree, with a root - in this case, Users
, and various branches as you build out folders and subfolders.
We can move up and down the folders of the directory paths with the cd
command, for change directory
.
Try this command in your Terminal Window, and see if you can figure out what it does.
cd ..
It changes the directory up
one level closer to the root directory. It is straightforward to go up the directory tree, as each folder only has one parent
. But it is tricky to go down the directory tree, as there are many possible branches/children, and you do not inherently know the names of these branches. We need to list the contents of your current directory with ls
to know what is there.
Try the ls
command in your Terminal window
cd /Users/peterhiggins/Documents/;
ls
## 1FQ_Crohn's Disease_23Oct2020 (002).doc
## 2020-Jun-05 AGA IMIBD meeting notest.docx
## 2021 AGA Invited Speaker Session Basic Hybrid Example.pdf
## 2021.Higgins AGA Distinguished Clinician.CO.docx
## A is for Allspice.2.0.docx
## A is for Allspice.docx
## ABT263_HIO_report_toWord.docx
## AGA DDW 2021
## AGA IMIBD
## AGA IMIBD Councilor Career Discussion Guide.docx
## AGA IMIBD Webinar Outline.docx
## AIBD CAM Higgins.pdf
## AIBD CAM Higgins.pptx
## AIBD SoMe Higgins.pdf
## AIBD SoMe Higgins.pptx
## AIBD agreement.docx
## AIBD20Template.pptx
## AMAG DDW Clear draft_PDRH comments.docx
## APG1244_Milestone_report.docx
## ASUC_UC_protocol_comments_2020.docx
## A_Woodward_Score Sheet_PDRH.docx
## Accounts and Access (1) (1).docx
## Advice for participants in webinars.docx
## Animation of NSAID.pptx
## BKochar_Frailty.pdf
## BM recommendation.docx
## Beginners_GuideToR.pdf
## Biosketch for K.pptx
## Biosketch_2020_Higgins_ClinResIBD_biosketch.doc
## Brazil.ItineraryNov2015.docx
## Butter BCS Chicken.docx
## CAS.K.candidate.background_SB_PDRH.docx
## CAS.T32.Project.Description-JS.docx
## CAS.career.goals.obj.development.training_PDRH.docx
## CC360_The Risk of SARS.R1.docx
## CC360_The Risk of SARS.docx
## CCF IBD Webcast 2020 Draft Deck_For Review.pptx
## CCFA EIC Candidate Interview Questions (candidates) jobin[1].doc
## CDC_proposal1.1.docx
## CLARE STOCKS.docx
## COVID Trials Feasibility
## CaltechCampus Tour & Information Session.webarchive
## Cancel Appt Epic.ppt
## Causal.png
## CellDeath_DDW_2021_ISS.pdf
## Chu RPG Review_PDRH.docx
## Clare Investment Summary.docx
## Council Conversations Author Chat Guide.docx
## Coursera_Programming in R Notes.docx
## CoverLetterPlus.pptx
## Crash&Burn_ScriptV2_100318 copy.pdf
## DataCamp Courses by Topic.docx
## DeEscalationACG2016.pptx
## Demographics.pdf
## Documents.Rproj
## DrHiggins IBD Data Request.xlsx
## Draft Postop IBD Surgery Care Protocols v2_SERedit.docx
## ECCO 2016 Amsterdam Schedule.docx
## ECCO 2019 UC PRO SS Abstract D1f_JP_UA_YO_AM_PDRH.docx
## ECCO2016Lycera30937.pptx
## Effect of medications on the recurrence of cancer in IBD patients.docx
## Electrical engineering interview questions.docx
## FDAtofaResponse.docx
## FFMI Kickstart-FinalReport 5-20-16-LJ.docx
## FITBITProtocol_28NOV2016_AbbVie.docx
## FITBITProtocol_4DEC2016_AbbVie.docx
## FMT_DDW_2021_ISS.pdf
## FibrosisIBDCedars2016.pptx
## Figures-KC-JAMA.pptx
## Finance and Retirement Plans.docx
## Financial Priorities.docx
## Garmin Notes.docx
## General Social Media Tips.docx
## General thoughts about query letters.docx
## Getting Started with REDCap.docx
## Git for MDs_2.pptx
## GitHub
## Github for MDs_1.pptx
## Glover_RPG_Review_PDRH.docx
## GoToMeeting Chats
## GradPartyHigginsInvites.xlsx
## HPI-5016 IBD Patient Contact Info.xlsx
## HS movie.docx
## Higgins AGA Webinar Slides.pptx
## Higgins Bio.docx
## Higgins New IBD.pptx
## Higgins Refractory Proctitis.pptx
## Higgins biosketch2015KRao.doc
## Higgins biosketch2016KRao.doc
## Higgins-peter.jpg
## HigginsACGMidwest2019_PerioperativeIBD.pptx
## Higgins_LOS_IBDBiobank_Shah_Nusrat_2019.docx
## Higgins_UM_CME_Pregnancy in IBD.pptx
## How To Log in to IBD Server.docx
## How To Log in to RStudio Server for HigginsLab.docx
## How To Log in to RStudio Server for Shiny.docx
## IBD 2020 - Honorarium reimbursement Form.docx
## IBD Biobank Cryostor.pptx
## IBD Clinical Trials for MDsDearborn2017.pptx
## IBD Insurance Pilot Results.docx
## IBD Insurance Survey for CCFA Partners Existing.docx
## IBD Journal Club 13Feb2017.docx
## IBD Journal Club July 11.docx
## IBD Plexus meeting 21 Sep 2015 notes.docx
## IBD School 322 Script.docx
## IBD School 324 Script.docx
## IBD School 325 Script.docx
## IBD and biologics tweets.docx
## IBD inbox coverage.docx
## IBDInsuranceSurvey3.docx
## IBDMentoringConferenceCall4AbstractsPH.docx
## IBD_Deescalation_Apr_2019_PDRH.docx
## IBDforLansing2017.pptx
## IMG_0006.jpg
## IMG_0008.jpg
## IMG_1523st.jpg
## IMIBD Councilors 2020-21.docx
## IMIBD Partners insurance 2020DDW.pptx
## IMIBD_expanded_descriptors.xlsx
## Introduction to Application Supplement Photoacoustic.docx
## JAK_DDW_2021_ISS.pdf
## JAMA_KC_Second JAMA.docx
## JAMA_Review_on_CD_Revisions_Tracked_Changes with edits_PDRH.docx
## JB_V1 Career Goals and Objectives 7.8.2020_PDRH.docx
## JB_V2 Candidate’s Background 7.7.2020_PDRH.docx
## JDix_Study_update.docx
## K Award Institutional Letter of Commitment.pptx
## K Candidate Section.pptx
## K105_Melmed_PROs in Practice_MB_bb_JLS.pptx
## K23 Aims - Shirley Cohen-Mekelburg 11.14.19.docx
## K23_morph_measurements_MockupManuscript_21JAN2019.docx
## Learning R discussion Jeremy Louissaint.docx
## Letter to Frank Hamilton.docx
## Lin_Reviewer Score_PDRH.docx
## Log in to IBD Server.docx
## MEI_2020_PH_W9.pdf
## MEI_2021_PH_W9.pdf
## MEI_ACH_Wire Transfer Form.docx
## MIM-TESRIC PROTOCOL_Higgins_14Apr2020.docx
## MIM-TESRIC PROTOCOL_Higgins_26Aug2020.docx
## Managment of CD.pptx
## Manuscript v1.docx
## Manuscript v2.PDRH.docx
## McDonald, Nancy.pdf
## Megan McLeod Rec Letter Residency.docx
## MentoringAgendaDraftPH.docx
## Meta analysis TB vs CD version 3.5.docx
## Michigan Medicine Gastroenterology Social Media Initiative.docx
## Michigan Medicine Model for COVID-19 Clinical Trial Oversight DRAFT (KSB 04.17.20)-AL-PDRH.docx
## Microsoft User Data
## MultidisciplinaryIBDClinicPHv2.docx
## NordicTrackTC9iTreadmillManual.pdf
## Oct2019payPDRH.PDF
## Odd college lists.docx
## P Singh K grant aims 8-25_PDRH.docx
## P2PEP slide 2020
## P2PEP slide 2020.pptx
## PHcv2019.docx
## PHcv2020.docx
## PRO agenda videos VINDICO.docx
## PRO letter.docx
## PS_K grant aims 6-25_PDRH.docx
## PTM LOS From PDRH.docx
## PTM LOS From PDRH.pdf
## Pearson 5 Notes.docx
## Perils of Excel.pptx
## Personal statement version 3!.docx
## Pitch Letter - S is for Saffron.docx
## Poppy Eulogy backup.docx
## Poppy Eulogy.docx
## Possible Eastern College Tour.docx
## Powerpoint
## Prashant Rec Letter.docx
## Prashant Rec Letter.pdf
## PredictingIBD_DDW_2021_ISS.html
## PredictingIBD_DDW_2021_ISS.pdf
## Purdue Disclosure Form_Higgins.docx
## Question 16.docx
## RCode
## Ramp up clinical research_PH.xlsx
## Ramping up human subject research - MM 6-1-20 _KDA_PDRH_suggestions.docx
## Recordings
## Review Criteria for COVID Clinical Trials.docx
## Review guidelines_2017.docx
## Roasted Salted Cashews.docx
## S is for Saffron 3.0.docx
## S is for Saffron 3.1.docx
## S is for Saffron 3.2.docx
## S is for Saffron.2.0.docx
## SEAN STOCKS.docx
## SIG_Template_IBD Program_FINAL.docx
## Sean Common App academic honors list.docx
## Sean Common App activities list.docx
## Sean Higgins Bordogni.mp4
## Sean Higgins Brag Sheet.docx
## Sean Investment Summary.docx
## Sean Resume Tabular VBorder.docx
## Sean Resume Tabular.docx
## Sean Resume.docx
## Sean Summer Priorities 2016.docx
## SecureIBD.pptx
## ShareRmd.html
## Sherman Prize Nominee Questions.docx
## Shoreline West Tour Information.docx
## Short PA slides.pptx
## Shotwave thread.docx
## Signing Clinical Research Infusion Orders.pdf
## SingleCell_DDW_2021_ISS.pdf
## SoMe_use_2020.png
## Social Media for GI.pptx
## Source Code PT1.docx
## Stelara paper.docx
## T32_current_text_14June2019.docx
## TOPPIC ML draft v5SCM_YL_AKW_PDRH.docx
## TabaCrohn IBD J club.docx
## Tables.docx
## Takeda_IBD School Videos_Submission.pdf
## Task List 2020-2.docx
## Task List 2020-5.docx
## Task List 2020.docx
## Testing signatures with Adobe.pdf
## The Risk of SARS.R1.Markup.docx
## Tidymodels.docx
## Tofa in ICI Figure Legends_Final Draft_V2.docx
## Tofa inpatient induction Protocol_02NOV2018_PHforEdits.docx
## Toffee Separation Tips.docx
## UCRx_DDW_2021_ISS.pdf
## UC_protocol_comments_2020.docx
## UM IBD Clinical Trials IBD referral form.docx
## UPA_U_ACHIEVE 1st draft_PDRH.docx
## VINDICO_PRO.pptx
## VideoVisitSchedulingQuickApptsforProviders.pdf
## VincentChen_K specific aims 2020-10-25.docx
## VirtualPtEdMar2020.v2.pdf
## WebEx
## Zoom
## Zwift
## Zwift-Gift-Card.pdf
## aga institute council july 2020 meeting.pdf
## algorithms_thiopurine.pdf
## base-r-cheatsheet.pdf
## biomakers_fibrosisPDRH.docx
## bmj_imputation.pdf
## cgh_factors_utilization.pdf
## cycling core exercises.docx
## draft_tokenization letter Risa_Uste.docx
## early-career-faculty_Dec-2020.xlsx
## epic cancel_reschedule appointments.ppt
## epic schedule viewing_close.ppt
## escalator.html
## fellow graduation 2020.docx
## hexStickers.jpg
## higgins2x3.jpg
## iBike Rides
## jama_cushing_crohn_review_2021.pdf
## learnr app diagram.jpg
## learnr app diagram.pptx
## letter Lowrimore.docx
## mockstudy manuscript draft.docx
## nejm1966_beecher_ethics.pdf
## nejm_indomethacin.pdf
## nejm_statins.pdf
## pdrh_IBD_email.xlsx
## personal statement fellowship_PDRH.docx
## peterhiggins.jpg
## seq-6.pdf
## signature.docx
## signature.fld
## signature.html
## signature.pdf
## signature.png
## stiff_bcl.R
## submitJanssen_IBD School Videos_12Jul2018.pdf
## tidyr_pivot.png
## tidyr_pivot.xcf
## ucla1.jpg
## untidy_sheets.pptx
## wga_min20.pdf
## ~$T Review Higgins.docx
## ~$sk List 2020-5.docx
## ~$sk List 2020.docx
You will see a listing of all files and folders in the current directory. You can get more details by adding the option (sometimes called a flag
) -l
cd /Users/peterhiggins/Documents/;
ls -l
The full listing will give you more details, including read & write permissions, file size, date last saved, etc.
Many commands have options, or flags, that modify what they do.
Find a folder inside of your Documents folder. We will now go down
a level in the directory tree. In my case, I will use the Powerpoint
folder.
In your Terminal window:
- change the directory to the Powerpoint directory
- list the contents of this folder
cd /Users/peterhiggins/Documents/Powerpoint;
ls
## 2016IBDClinTrialsforMDsDearborn.pptx
## 2016IntegratedDeckorMDsGB.pptx
## 2019 SCSG GI Symposium IBD SoA - Read-Only.pptx
## BE LGD Dearborn 2016.04.12.pptx
## Getting Started in RStudio.pptx
## Higgins Microbiota for IBD Patient Ed.pptx
## HigginsDec2018AJG_SmokingStatus.pptx
## IBDUpdate.pptx
## Integrated Slide Deck Dearborn 2016.04.12.pptx
## MER Stress Management Dearborn 4-14.pptx
## MichiganMedicine-IBDTemplate.potx
## PDRH RCAR 2020.pptx
## PennThioMTX2017Higgins.pptx
## Pregnancy in IBD.pptx
## Regenbogen CRS for GI CME Course2016.pptx
## Senior Slide Show.pptx
## ThomsonRectalStumpComplicationsIBD2_13.pptx
## UEGweek2020.pptx
## UMHS Talk- Moving Beyond AntiTNF 4-2016 FINAL v2.pptx
## Vertebrate Animals for K.pptx
## VirtualPtEdMar2020.v2.pptx
## Writers Room.pptx
## ibd_meds_surgery_metan.pptx
Great!
You moved to a new directory and listed it.
Now we will get fancy, and make a new directory within this directory with the mkdir
command.
Try this in your Terminal window:
pwd;
mkdir new_files;
ls
You have now made a new directory (folder) within the previous directory, named new_files
. Verify this in your Documents folder.
You can now change to this directory
and list the contents (it should be empty).
Try this out in your Terminal Window (note edit the cd
command to your own directory path).
cd /Users/peterhiggins/Documents/Powerpoint/new_files;
ls
Note that you can abbreviate the current directory with .
, so that you could have also used cd ./new_files
You can create a new (empty) file in this directory with the touch
command.
Sometimes you need to create a new file, then write data to it.
Try this out
touch file_name;
ls
You can also create a file with data inside it with the cat >
command.
Type in the following lines into your Terminal window. When complete, type control-D to be done and return to the Terminal prompt.
cat
stands for concatenate.
cat > file2.txt
cat1
cat2
cat3
Now you can list the contents of this file with the cat
command below.
Give this a try
cat file2.txt
You can also list the directory of your new_files
folder with ls to see the new folder contents.
Try this
ls
Note that you don’t need to use the Terminal to run bash commands. You can do this from an Rmarkdown file.
Take a moment to run pwd
in your Terminal, to get the current directory.
Now open Rstudio, and a new Rmarkdown document.
Copy the path to the current directory from the Terminal.
Switch back to the Rmarkdown document.
Select one of the R code chunks (note the {r} at the top) and delete it.
Now click on the Insert dropdown at the top of the document, and insert a Bash chunk.
Now add UNIX commands (separated by a semicolon), like
cd (paste in path here);
pwd;
ls;
cat file2.txt
Then run this chunk.
Now you can run terminal commands directly from Rmarkdown!
10.6 Cleaning Up
OK, now we are done with the file file2.txt
and the directory new_files
.
Let’s get rid of them with rm
(for removing files) and rmdir
for removing directories.
In order, we will
- Make sure we are in the right directory
- remove the file with rm file2.txt
- go up one level of the directory with cd ..
- remove the directory with rmdir new_files
Give this a try
pwd;
rm file2.txt;
cd ..;
rmdir new_files
Verify all of this in your Documents window.
This is great. But you can imagine a situation in which you mistakenly rm
a file (or directory) that you actually needed. Unlike your usual user interface, when a file is removed at the command line, it is gone. It is not in the trash folder. It is gone. There is something to be said for modern user interfaces, which are built for humans, who occasionally make mistakes. Sometimes we do want files or folders back.
10.7 Other helpful file commands
Here are some file commands worth knowing
cat filename
- to print out whole file to your monitorless filename
- to print out the first page of a file, and you can scroll through each page one at a timehead filename
- print first 10 lines of a filetail filename
- print last 10 lines of a filecp file1 file2
- copy file1 to file2mv file1.txt file.2.txt file3.txt new_folder
- move 3 files to a new folder
10.8 What about R?
So now you can get around directories, and find your files in the Terminal window, but you really want to run R.
You can launch an R session from the Terminal Window (if you have R installed on your computer) by typing the letter R
at the Terminal prompt
Launch R
R
You get the usual R intro, including version number, and the R>
prompt.
Now you can run R in interactive mode with available datasets, or your own datasets.
Try a few simple commands with the mtcars dataset.
Give the examples below a try.
You can use q()
to quit back to the terminal (and reply “n” to not save the workplace image).
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0
## gear carb
## Mazda RX4 4 4
## Mazda RX4 Wag 4 4
## Datsun 710 4 1
## Hornet 4 Drive 3 1
## Hornet Sportabout 3 2
## Valiant 3 1
%>%
mtcars filter(mpg > 25) %>%
select(starts_with('m')|starts_with('c'))
## mpg cyl carb
## Fiat 128 32.4 4 1
## Honda Civic 30.4 4 2
## Toyota Corolla 33.9 4 1
## Fiat X1-9 27.3 4 1
## Porsche 914-2 26.0 4 2
## Lotus Europa 30.4 4 2
10.9 What about just a few lines of R?
Sometimes you will want to call R, run some code, and be done with R.
You can call R, run a few lines, and quit in one go.
Just add the flag -e
(for evaluate) to the call to R,
and put the R commands in quotes.
Try the example below
(note that this will not work if you are still in R - be sure you are back in the terminal with the %
or $
prompt)
R -e "head(mtcars)"
or this example - note that single or double quotes does not matter - as long as they match.
Try this
R -e 'install(palmerpenguins)'
You can also string together several commands with the semicolon between them.
Try the example below.
R -e 'library(palmerpenguins);data(penguins);tail(penguins)'
10.10 Running an R Script from the Terminal
Now we are stepping up a level - you have an R script that you have carefully created and saved as the myscript.R
file. How do you run this from the Terminal?
This is easy - just call the Rscript
command with your file name.
Pick out a short R file you have written, make sure you are in the right directory where the file is, and use it as in the example below.
Rscript myscript.R
This launches R, runs your script, saves resulting output (if your script includes save or ggsave commands), closes R, and sends you back to the Terminal. Very simple.
10.11 Rendering an Rmarkdown file from the Terminal
This is a little different, as you can’t just run an Rmarkdown file. Normally you would use the dropdown button to knit your file from Rstudio. But you can use the rmarkdown::render
command to render your files to HTML, PDF, Word, Powerpoint, etc. Pick out a simple Rmd file like output_file.Rmd
below, make sure you are in the right directory where the file is, and try something like the example below.
Note that this is one case where nesting different types of quotes (single vs. double) can come in handy.
It helps to use single quotes around your filename and double quotes around the rmarkown::render
command.
Try it out
Rscript -e "rmarkdown::render('output_file.Rmd')"
So there you have it!
Just enough to get you started with R from the command line.


| DOSE: |
40 mg |
IV |
2C-C |
(powder / crystals) |
| |
60 mg |
IV |
MDMA |
(powder / crystals) |
This is my second report about the 2C-C plus MDMA/MDE combination, where I have further refined the correct 'mix'.
My wife and I had a bottle of wine with dinner, and as a result of that, I just about felt asleep watching a movie. Afterwards, she decided to go to bed while I started feeling more awake (not that unusual with me, the 'night owl' type that I am) and so I went to the other room and turned my second computer on. Having browsed through some political commentary relating to the Queensland (Australia) elections (which again confirmed, as if there were any need to do so, that the majority of the public is terminally stupid), I switched over to search for some interesting research chemicals.  ;-) Who cares about another 3 years of incompetent, corrupt Labor government, if you can get nicely stoned right here and now! :-)
As by that stage it was about 11.30PM, yet again there was no time to waste by employing an oral route. Having sampled some of this mixture the previous night, I was confident I could go a bit higher with the 2C-C, as well as the MDMA - which, in retrospect, perhaps was not really MDMA. We suspect that most likely this was actually MDE. So I weighed some 40mg of 2C-C and just over 60mg of the 'MDMA', put that on a spoon, mixed up and in the vein it went.
A few seconds later, I experienced a very nice, warm rush, with the computer screen in front of me blurring into rainbow colours and starting to move in a wavy fashion. I could no longer read the text, but I felt a little horny, so I switched over to some porn sites. However within a minute, the second compound must have hit the CNS (interesting that there is such a delay?), and my extremities got rather cold.  :-)
By this stage the first, rather sexual, rush of the 2C-C was over (and I must say here, the IV rush of this compound tends to be *very* sexual when used on its own!) and I started to feel very contented and relaxed. I did feel that had my brother or another close person been around, it would have been nice to cuddle up together - not to have sex or even to talk, but just for the tactile/body contact. This is in contrast with straight, ordinary MDMA, where I typically feel chatty and love everyone. Here, I was happy and feeling I could love someone, but considering the circumstances, I could not be bothered going out of my way to find someone to love. In many ways though, I felt I had hit the 'sweet spot' - that's how nice and comfy it was.
Normally with E, I would have at this stage probably gone to bed to snuggle up to my wife, but here I just could not be bothered about anything. I spent the next half hour or so idly browsing through some porn sites, but I was not feeling sexually excited any more - it was just something to do. Anything would do at that stage, really, and it was nice to look at some pretty female bodies. In fact, I found I gravitated towards erotic sites, rather that hard porn - the body rather than the intercourse.
By this stage my brother got back on line, so we exchanged a few e-mails. However this was about 90 minutes or so into the trip and I was starting to feel sleepy. I therefore put another 20mg of 2C-C into the spoon, coupled with 30mg of the 'MDMA'.  So I turned the machine off and went to bed (this was just after 1 AM). Within another 15 minutes, I was fast asleep, to wake up at 8 in the morning, fresh as a daisy (that is, after a nice, strong black coffee - which is the normal morning ritual with me!).
So, to re-capitulate: This is, all in all, a very worthwhile combo. I would like to try to mix 2C-C with MDMA pills (obtained from a source where I can be certain they are what they are supposed to be), for a comparison test. This 'crystallic MDMA' felt too different for that, and I speak from some significant experience when it comes to IV-administered MDMA! ;-)
This is definitely not a party/rave combo, and while different people would obviously be affected differently, I do believe it would be nice to do this with one or two close friends, where the expectations are not to talk too much (or not at all), but just enjoy each other's company and closeness. Snuggling up in bed next to someone close would have just topped it off, I think. My guess is that having other people around would take away the sleepiness to some extent- a bit like what tends to happen when several people use opiates/heroin together. It then just evolves on to this little time capsule, totally and utterly devoid of external world's interference and just filled with love and contentment. In other words, the little, internal world, where you can safely say 'Depression? -- What depression? Who cares...? Funnily enough, I reckon this could be a worthwhile combination for heroin afficionados. The sedative aspect of it cannot be underestimated.
I have to say here also that I am lucky in that (unlike my brother) I feel no uncomfortable body load from the 2C-x compounds at all. Having IV'd 2C-I and 2C-C, they both have their unique characteristics, they are both worthwhile compounds, each on their own and mixed with other things, and they are both, at least for me, very benign.
A 2C-E test is coming up next; hardly anyone has IV'd that one yet (at least based on what I can find on the net). I'll keep you posted! ;-)
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


{{"HELLO WORLD"}}
The paragraph above is wrapped in double curly braces. Double curly braces represent binding. To make this work, include angularjs in the header; and then add ng-app to the opening html tag.
The ng-model on the input above is first.greeting. first is an object; greeting is a property. The ng-class below is looking at ng-model to know what to show in the curly braces below.
In addition, the ng-class attr above applies the value of first.greeting as a class to this div that's surrounding this element. This is a cool way to pull in bootstrap things [like if someone entered 'panel' or 'alert'].
The second greeting is {{ second.greeting }}


CLUSTER
Section: SQL Commands (7)Updated: 2012-08-14
Index Return to Main Contents
NAME
CLUSTER - cluster a table according to an indexSYNOPSIS
CLUSTER [VERBOSE] tablename [ USING indexname ] CLUSTER [VERBOSE]
DESCRIPTION
CLUSTER instructs PostgreSQL to cluster the table specified by tablename based on the index specified by indexname. The index must already have been defined on tablename.
When a table is clustered, it is physically reordered based on the index information. Clustering is a one-time operation: when the table is subsequently updated, the changes are not clustered. That is, no attempt is made to store new or updated rows according to their index order. (If one wishes, one can periodically recluster by issuing the command again. Also, setting the table's FILLFACTOR storage parameter to less than 100% can aid in preserving cluster ordering during updates, since updated rows are preferentially kept on the same page.)
When a table is clustered, PostgreSQL remembers which index it was clustered by. The form CLUSTER tablename reclusters the table using the same index as before.
CLUSTER without any parameter reclusters all the previously-clustered tables in the current database that the calling user owns, or all such tables if called by a superuser. This form of CLUSTER cannot be executed inside a transaction block.
When a table is being clustered, an ACCESS EXCLUSIVE lock is acquired on it. This prevents any other database operations (both reads and writes) from operating on the table until the CLUSTER is finished.
PARAMETERS
- tablename
- The name (possibly schema-qualified) of a table.
- indexname
- The name of an index.
- VERBOSE
- Prints a progress report as each table is clustered.
NOTES
In cases where you are accessing single rows randomly within a table, the actual order of the data in the table is unimportant. However, if you tend to access some data more than others, and there is an index that groups them together, you will benefit from using CLUSTER. If you are requesting a range of indexed values from a table, or a single indexed value that has multiple rows that match, CLUSTER will help because once the index identifies the table page for the first row that matches, all other rows that match are probably already on the same table page, and so you save disk accesses and speed up the query.
During the cluster operation, a temporary copy of the table is created that contains the table data in the index order. Temporary copies of each index on the table are created as well. Therefore, you need free space on disk at least equal to the sum of the table size and the index sizes.
Because CLUSTER remembers the clustering information, one can cluster the tables one wants clustered manually the first time, and setup a timed event similar to VACUUM so that the tables are periodically reclustered.
Because the planner records statistics about the ordering of tables, it is advisable to run ANALYZE [analyze(7)] on the newly clustered table. Otherwise, the planner might make poor choices of query plans.
There is another way to cluster data. The CLUSTER command reorders the original table by scanning it using the index you specify. This can be slow on large tables because the rows are fetched from the table in index order, and if the table is disordered, the entries are on random pages, so there is one disk page retrieved for every row moved. (PostgreSQL has a cache, but the majority of a big table will not fit in the cache.) The other way to cluster a table is to use:
CREATE TABLE newtable AS SELECT * FROM table ORDER BY columnlist;which uses the PostgreSQL sorting code to produce the desired order; this is usually much faster than an index scan for disordered data. Then you drop the old table, use ALTER TABLE ... RENAME to rename newtable to the old name, and recreate the table's indexes. The big disadvantage of this approach is that it does not preserve OIDs, constraints, foreign key relationships, granted privileges, and other ancillary properties of the table --- all such items must be manually recreated. Another disadvantage is that this way requires a sort temporary file about the same size as the table itself, so peak disk usage is about three times the table size instead of twice the table size.
EXAMPLES
Cluster the table employees on the basis of its index employees_ind:
CLUSTER employees USING employees_ind;
Cluster the employees table using the same index that was used before:
CLUSTER employees;
Cluster all tables in the database that have previously been clustered:
CLUSTER;
COMPATIBILITY
There is no CLUSTER statement in the SQL standard.
The syntax
CLUSTER indexname ON tablenameis also supported for compatibility with pre-8.3 PostgreSQL versions.
SEE ALSO
clusterdb [clusterdb(1)]
Index
This document was created by man2html, using the manual pages.
Time: 05:34:14 GMT, December 24, 2015


WITNESS LIST
Education
March 21, 2013 9:00 AM
ON:
Anderson, David General Counsel (Texas Education Agency), Austin, TX
Jones, Lindsey Director of Legal + Policy Services (Texas Charter Schools Association),
Austin, TX
FOR:
Fuller, Tommy General Counsel (Universal Academy), Arlington, TX
Jones, Lindsey Director of Legal and Policy Services (Texas Charter Schools Association),
Austin, TX
Registering, but not testifying:
FOR:
Connett, Brent (Texas Conservative Coalition), Austin, TX
Erben, Andrew President (Texas Institute for Education Reform), Austin, TX
Hammond, Bill President (TX Association of Business), Austin, TX
Yancy, Justin Executive Director (Texas Business Leadership Council), Austin, TX
FOR:
Born, Randi Student Serv. - Falls Career HS (Texas Assn Alternative Ed.), Marble Falls,
TX
Chadwell, Charles Board Member (TASB & Round Rock ISD), Round Rock, TX
Dunn, David Executive Director (Tx Charter Schools Assn), Austin, TX
Flores, Rosendo Student (Por Vida Academy), San Antonio, TX
Gonzalez, Justina Dropout Prevention / Graduation Specialist (Por-Vida Academy Charter
High School), San Antonio, TX
Hammond, Bill President (TX Association of Business), Austin, TX
Hernandez, Cynthia student (por vida academy charter High school), San Antonio, TX
Hung Jr., David Student (Responsive Education Solutions), Austin, TX
Lopez, Blanca Student (Responsive Education Solutions), Austin, TX
Marquez, Richard CEO Texans Can Academies (also providing written testimony)
(Texans Can Academies), Dallas, TX
Salinas, Enrique Student (Por Vida Academy), San Antonio, TX
Vazquez, Bertha (Austin Can Academy), Austin, TX
Webb, Charles Visiting Judge and VP of American Youth Works (American Youth Works,
Charter High school), Austin, TX
Whitsett, Maria Associate and Consultant (also providing written testimony) (Moak, Casey
& Associates and Texas School Alliance), Austin, TX
Wigfall, Terrence (Austin Can Academy), Austin, TX
Registering, but not testifying:
FOR:
Arnold, Ellen (Texas Association of Goodwills), Austin, TX
Canaday, Jennifer M. Governmental Relations Manager (Association of Texas Professional
Educators), Austin, TX
WITNESS LIST
Education
March 21, 2013 9:00 AM
Chapa, Valerie parent of 2 students graduate 2013@ Por Vida Academy (Por Vida
Academy), San Antonio, TX
Clayton, Nan - (LWV-Tx), Austin, TX
Erben, Andrew President (Texas Institution for Education Reform), Austin, TX
Fuselier, Haydee TEAC (American Youth Works), Austin, TX
Gladney, Elva President School Board (Pflugerville ISD), Pflugerville, TX
McCreary, Casey Assistant Executive Director (Texas Association of School
Administrators), Austin, TX
Mott, Vernagene Pflugerville ISD Board Vice President (Pflugerville ISD), Pflugerville,
TX
Pena, Martin Executive Director (South Texas Association of Schools), Laguna Vista, TX
Riggs, Joseph Regional Director (Responsive Education Solutions), Austin, TX
Rogers, Don Executive Director (Texas Rural Education Assn.), Austin, TX
Yancy, Justin Executive Director (Texas Business Leadership Council), Austin, TX
Providing written testimony:
ON:
McCullough, Joe Texas Assoc. for Alternative Education - Ex. Director (Self), Austin, TX


| Parameter |
Value List |
Type |
Kind |
Description |
| 'bits_per_channel' |
[] |
|
|
Ignored. |
| 'camera_type' |
['CAMFILE:', 'dcf', <camera_path>
'M_CCIR', 'M_CCIR_VIA_RGB',
'M_DEFAULT', 'M_NTSC',
'M_NTSC_RGB', 'M_NTSC_YC',
'M_PAL', 'M_PAL_RGB',
'M_PAL_YC', 'M_RS170',
'M_RS170_VIA_RGB']
|
string |
pre-defined |
Syntax for camera configuration file and possible values for camera type. |
| 'color_space' |
['gray', 'rgb'] |
string |
pre-defined |
Values for color space. |
| 'defaults' |
[1, 1, 0, 0, 0, 0, 'interlaced', 8, 'gray', -1.0, 'false', 'M_DEFAULT', '0', -1, 0]
|
mixed |
pre-defined |
Default values for open_framegrabber. |
| 'device' |
['<BoardType>:<nr>[:DIG:<nr>]'] |
string |
pre-defined |
Type ( 'MORPHIS', 'RADIENT', 'SOLIOS', or 'VIO') and number ('0', '1', '2' ...) of the frame grabber board, optionally plus ':DIG:' and the
number ('0', '1', '2' ...) of the independent digitizer (passed as one
string!), e.g., 'SOLIOS:0'. If no digitizer is specified, the first
digitizer (i.e., number '0') is chosen. The installed boards can be
inquired calling info_framegrabber(..., 'info_boards', ...).
|
| 'external_trigger' |
['false', 'true'] |
string |
pre-defined |
Values for the external trigger. |
| 'field' |
[] |
|
|
Unused. |
| 'general' |
[] |
string |
pre-defined |
Information about the HALCON MILLite interface. |
| 'generic' |
['', 'num_buffers=<num>'] |
string |
pre-defined |
Value list for the Generic parameter. |
| 'horizontal_resolution' |
1 |
integer |
pre-defined |
Value list for horizontal resolution. |
| 'image_height' |
[] |
|
|
Unsupported query. |
| 'image_width' |
[] |
|
|
Unsupported query. |
| 'info_boards' |
['<BoardType>:<nr>[:DIG:<nr>]'] |
string |
dynamic |
A list of the available devices. |
| 'parameters' |
[] |
string |
pre-defined |
Ignored |
| 'parameters_readonly' |
[] |
string |
pre-defined |
Ignored |
| 'parameters_writeonly' |
[] |
string |
pre-defined |
Ignored |
| 'port' |
[] |
|
pre-defined |
Unused. |
| 'revision' |
'<revision>' |
string |
pre-defined |
Revision number of the MILLite interface. |
| 'start_column' |
[] |
|
|
Unsupported query. |
| 'start_row' |
[] |
|
|
Unsupported query. |
| 'vertical_resolution' |
1 |
integer |
pre-defined |
Value list for vertical resolution. |
| Parameter |
Values |
Default |
Type |
Description |
| Name |
'MILLite' |
|
string |
Name of the HALCON interface. |
| HorizontalResolution |
--- |
1 |
|
Ignored. |
| VerticalResolution |
--- |
1 |
|
Ignored. |
| ImageWidth |
0, <width> |
0 |
|
The width of the desired image part ('0' stands for the complete image). Default: 0.
|
| ImageHeight |
0, <height> |
0 |
|
The height of the desired image part ('0' stands for the complete image). Default: 0.
|
| StartRow |
0, <row> |
0 |
|
The row coordinate of the upper left pixel within the desired image part ('0' obviously results in delivering the complete image).
Default: 0.
|
| StartColumn |
0, <column> |
0 |
|
The column coordinate of the upper left pixel within the desired 0 image part ('0' obviously results in delivering the complete image).
Default: 0.
|
| Field |
--- |
|
|
Ignored. |
| BitsPerChannel |
--- |
|
|
Ignored. |
| ColorSpace |
'gray', 'rgb' |
'gray' |
string |
Desired color space and thus the number of image channels of the resulting HALCON image.
|
| Generic |
'', 'num_buffers=<num>', -1 |
-1 |
mixed |
With the Generic parameter 'num_buffers' the current number of image buffers used in the HALCON acquisition interface can be set before the camera is
initialized. Note that the parameter must be specified as a string, e.g.,
'num_buffers=5'. The specified value for num_buffers has to be a positive
integer (Default: 2). Note that depending on the image size of the used camera
a high number of buffers can exceed the available memory size of your computer,
see also the non-paged memory size settings with the Matrox MILConfig
configuration tool.
|
| ExternalTrigger |
'false', 'true' |
'false' |
string |
Enable/disable external trigger. |
| CameraType |
'<configuration>' |
'M_DEFAULT' |
string |
Specify the name (including the full path name) of the desired camera configuration file (e.g., 'c:\\MyFolder\\rs170.dcf') or a predefined
configuration (e.g., 'M_DEFAULT', 'M_RS170').
For possible values, please see the documentation of your board.
|
| Device |
'<BoardType>:<nr>[:DIG:<nr>]' |
'0' |
string |
Type ( 'MORPHIS', 'RADIENT', 'SOLIOS', or 'VIO') and number ('0', '1', '2' ...) of the frame grabber board, optionally plus ':DIG:' and the
number ('0', '1', '2' ...) of the independent digitizer (passed as one
string!), e.g., 'SOLIOS:0'. If no digitizer is specified, the first
digitizer (i.e., number '0') is chosen. The installed boards can be
inquired calling info_framegrabber(..., 'info_boards', ...).
|
| Port |
<port> |
-1 |
integer |
Unused. |
| LineIn |
--- |
|
|
Ignored. |
| Parameter |
Values |
Default |
Type |
Description |
| 'cc1_select' |
'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync'
|
|
string |
Assign a particular signal to Camera Link cc1 line. |
| 'cc2_select' |
'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync'
|
|
string |
Assign a particular signal to Camera Link cc2 line. |
| 'cc3_select' |
'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync'
|
|
string |
Assign a particular signal to Camera Link cc3 line. |
| 'cc4_select' |
'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync'
|
|
string |
Assign a particular signal to Camera Link cc4 line. |
| 'continuous_grabbing' |
'disable', 'enable' |
'disable' |
string |
Enables/disables the continuous grabbing mode. If the continuous grabbing mode is enabled, the camera grabs all the time. Note that in this mode the
grab_image and grab_image_async calls will always deliver the most recent
image! The continuous grabbing mode is not supported in combination with
software trigger.
Note that in combination with the continuous grabbing mode you can exploit
the specific Trigger Arm Characteristics settings which can be configured
in the used DCF file, see also below for more information.
|
| 'current_buffer_index' |
0 ... <num_buffers>-1 |
|
integer |
Index of the current image buffer. |
| 'do_abort_grab' |
--- |
|
|
Cancel current grab. |
| 'do_force_trigger' |
--- |
|
|
Forces an event trigger from the application, when using the external trigger. This might be useful for testing purposes. Note, that
'do_force_trigger' requires an already pending asynchronous grab.
Please, see also the 'trigger_mode' parameter, to see how this action
can be controlled.
|
| 'do_gpio_write:XX' |
0, 1 |
|
integer |
Functional state of a specific GPIO line (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
|
| 'do_reset_rotary_counter' |
--- |
|
|
Resets the rotary counter to zero. |
| 'exposure_time' |
<nanoseconds> |
|
integer |
Time (in nanoseconds) for the active portion of the exposure signal (that is, the exposure time). By specifying 0, exposure is disabled and
the grab is performed immediately. Note, that an error is returned if the
specified exposure time cannot be generated.
|
| 'exposure_time_delay' |
<nanoseconds> |
|
integer |
Delay (in nanoseconds) between the trigger and the start of exposure. Note, that an error is returned if the specified delay cannot be generated.
|
| 'external_trigger' |
'false', 'true' |
|
string |
Enable/disable external trigger. |
| 'gpio_format:XX' |
'default', 'disable', 'enable', 'lvds', 'opto', 'tri-state', 'ttl' |
|
string |
Format of the specified GPIO signal (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
|
| 'gpio_mode:XX' |
'default', 'input', 'output' |
|
string |
Controls the direction of the specified GPIO signal (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
|
| 'grab_timeout' |
<milliseconds> |
5000 |
integer |
Desired timeout (milliseconds) for aborting a pending grab. If -1 is specified, the timeout is set to INFINITE.
|
| 'image_height' |
<height> |
|
integer |
Dynamically change the current image height of the grabbed image. Note that by changing this value, all active image grabs are
cancelled.
|
| 'image_width' |
<width> |
|
integer |
Dynamically change the current image width of the grabbed image. Note that by changing this value, all active image grabs are
cancelled.
|
| 'rotary_counter' |
'false', 'true' |
'false' |
string |
Activate/deactivate the rotary counter. |
| 'rotary_counter_direction' |
'backward', 'forward' |
'forward' |
string |
Direction of the rotary counter, i.e. the rotary counter gets incremented for a value of 'forward', or decremented for a value of
'backward', respectively.
|
| 'rotary_counter_trigger_position' |
0, ..., 65535 |
|
integer |
Rotary counter value upon which a trigger is generated. |
| 'start_async_after_grab_async' |
'disable', 'enable' |
'enable' |
string |
By default a new asynchronous grab command is automatically given to the acquisition device at the end of grab_image_async. If the parameter
'start_async_after_grab_async' is set to 'disable', this new grab command
is omitted.
|
| 'start_column' |
0, <max_column> |
|
integer |
Sets the column coordinate of the upper left corner of the resulting HALCON image part.
|
| 'start_field' |
'default', 'even', 'next', 'odd' |
'default' |
string |
Specifies the field that the grabbing of a frame starts with.
- 'even': the grabbing starts with the even field
- 'odd': the grabbing starts with the odd field
- 'next': the grabbing starts with the next field
- 'default': the grabbing starts with the board-specific default.
For the actual default start field, please see the documentation of your
Matrox frame grabber board.
|
| 'start_row' |
0, <max_row> |
|
integer |
Sets the row coordinate of the upper left corner of the resulting HALCON image part.
|
| 'trigger_mode' |
'software', 'exposure' |
|
string, integer |
The parameter 'trigger_mode' specifies the mode of the trigger signal released by the parameter 'do_force_trigger'. If the option 'software' is
selected, a signal to trigger the grab of an image will be released. With
the option 'exposure' an exposure trigger signal for the specified exposure
timer will be released when calling parameter 'do_force_trigger'. It's
also possible to pass an integer value in case that a special trigger mode
should be used. For the supported integer values (defines), please have a
look at the chapter 'MdigControl' in the MIL Help documentaion. Any mode
that has to be enabled with 'M_ACTIVE' is supported.
|
| 'trigger_signal' |
'default', 'falling', 'high', 'low', 'rising' |
|
string |
Defines the expected type of input trigger.
- 'rising' ('falling'): requires the external trigger to go low (high)
and high (low) again before the next image can be acquired
- 'high' ('low'): an image can be acquired during the whole time the
trigger is high (low).
- 'default': specifies the trigger mode in the DCF file or, if none,
'rising'.
|
| 'trigger_source' |
'default', 'hw_port_camera', 'hw_port0', ..., 'hw_port11', 'none', 'rotary_counter', 'software', 'timer1', 'timer2'
|
|
string |
Defines the source of the input trigger. For details, please see the documentation of your frame grabber board.
|
| Parameter |
Values |
Default |
Type |
Kind |
Description |
| 'available_param_descriptions' |
['<parameters>'] |
|
string |
dynamic |
A list containing additional information about all parameters. The order of the entries is equal to the order of the parameter names returned by
'available_param_names'.
|
| 'available_param_names' |
['<parameters>'] |
|
string |
dynamic |
The list contains the names of all available parameters. |
| 'bits_per_channel' |
<default> |
8 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'board_type' |
<board_type> |
|
integer |
dynamic |
Current board type. |
| 'camera_type' |
'<configuration>' |
'M_DEFAULT' |
string |
pre-defined |
Current camera type. |
| 'cc1_select' |
'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync'
|
|
string |
dynamic |
Assign a particular signal to Camera Link cc1 line. |
| 'cc2_select' |
'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync'
|
|
string |
dynamic |
Assign a particular signal to Camera Link cc2 line. |
| 'cc3_select' |
'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync'
|
|
string |
dynamic |
Assign a particular signal to Camera Link cc3 line. |
| 'cc4_select' |
'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync'
|
|
string |
dynamic |
Assign a particular signal to Camera Link cc4 line. |
| 'color_space' |
'gray', 'rgb' |
'gray' |
string |
pre-defined |
Desired color space and thus the number of image channels of the resulting HALCON image.
|
| 'continuous_grabbing' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Continuous grabbing mode. |
| 'current_buffer_index' |
0 ... <num_buffers>-1 |
|
integer |
dynamic |
Index of the current image buffer. |
| 'device' |
'<BoardType>:<nr>[:DIG:<nr>]' |
'0' |
string |
pre-defined |
Current type of the frame grabber board. |
| 'exposure_time' |
<nanoseconds> |
|
integer |
dynamic |
Time (in nanoseconds) for the active portion of the exposure signal (that is, the exposure time).
|
| 'exposure_time_delay' |
<nanoseconds> |
|
integer |
dynamic |
Delay (in nanoseconds) between the trigger and the start of exposure. Note, that an error is returned if the specified delay cannot be generated.
|
| 'external_trigger' |
'false', 'true' |
'false' |
string |
pre-defined |
Status of the external trigger. |
| 'field' |
'<default>' |
'interlaced' |
string |
pre-defined |
The value is not used, so a default value is returned. |
| 'generic' |
'', 'num_buffers=<num>', -1 |
-1 |
mixed |
pre-defined |
Values of the Generic parameter. |
| 'gpio_format:XX' |
'default', 'disable', 'enable', 'lvds', 'opto', 'tri-state', 'ttl' |
|
string |
dynamic |
Format of the specified GPIO signal (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
|
| 'gpio_mode:XX' |
'default', 'input', 'output' |
|
string |
dynamic |
Controls the direction of the specified GPIO signal (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
|
| 'gpio_read:XX' |
0, 1 |
|
integer |
dynamic |
Current state of the specified GPIO input (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
|
| 'grab_timeout' |
<milliseconds> |
5000 |
integer |
pre-defined |
Current grab timeout in milliseconds. |
| 'horizontal_resolution' |
<resolution> |
|
integer |
pre-defined |
Current value of horizontal resolution. |
| 'image_height' |
<height> |
|
integer |
pre-defined |
Dynamically change the current image height of the grabbed image. Note that by changing this value, all active image grabs are
cancelled.
|
| 'image_width' |
<width> |
|
integer |
pre-defined |
Dynamically change the current image width of the grabbed image. Note that by changing this value, all active image grabs are
cancelled.
|
| 'line_in' |
<default> |
0 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'name' |
'MILLite' |
|
string |
pre-defined |
Name of the HALCON interface. |
| 'port' |
<port> |
-1 |
integer |
pre-defined |
Current port number. |
| 'revision' |
'<revision>' |
|
string |
pre-defined |
Revision number of the MILLite interface. |
| 'rotary_counter' |
'false', 'true' |
'false' |
string |
pre-defined |
Activate/deactivate the rotary counter. |
| 'rotary_counter_direction' |
'backward', 'forward' |
'forward' |
string |
pre-defined |
Direction of the rotary counter, i.e. the rotary counter gets incremented for a value of 'forward', or decremented for a value of
'backward', respectively.
|
| 'rotary_counter_position' |
<position> |
|
integer |
dynamic |
Current value of the rotary counter. |
| 'rotary_counter_trigger_position' |
0, ..., 65535 |
|
integer |
dynamic |
Rotary counter value upon which a trigger is generated. |
| 'start_async_after_grab_async' |
'disable', 'enable' |
'enable' |
string |
pre-defined |
Status of 'start_async_after_grab_async'. |
| 'start_column' |
0, <max_column> |
|
integer |
pre-defined |
Returns the current start column of the HALCON image. |
| 'start_field' |
'default', 'even', 'next', 'odd' |
'default' |
string |
pre-defined |
Field that the grabbing of a frame starts with. |
| 'start_row' |
0, <max_row> |
|
integer |
pre-defined |
Returns the current start row of the HALCON image. |
| 'trigger_mode' |
'software', 'exposure' |
|
string, integer |
dynamic |
The parameter 'trigger_mode' specifies the mode of the trigger signal released by the parameter 'do_force_trigger'. If the option 'software' is
selected, a signal to trigger the grab of an image will be released. With
the option 'exposure' an exposure trigger signal for the specified exposure
timer will be released when calling parameter 'do_force_trigger'. It's
also possible to pass an integer value in case that a special trigger mode
should be used. For the supported integer values (defines), please have a
look at the chapter 'MdigControl' in the MIL Help documentaion. Any mode
that has to be enabled with 'M_ACTIVE' is supported.
|
| 'trigger_signal' |
'default', 'falling', 'high', 'low', 'rising' |
|
string |
dynamic |
Type of input trigger. |
| 'trigger_source' |
'default', 'hw_port_camera', 'hw_port0', ..., 'hw_port11', 'none', 'rotary_counter', 'software', 'timer1', 'timer2'
|
|
string |
dynamic |
Defines the source of the input trigger. For details, please see the documentation of your frame grabber board.
|
| 'vertical_resolution' |
<resolution> |
|
integer |
pre-defined |
Current value of vertical resolution. |
Not supported by this interface.
Not supported by this interface.
All actually supported callback types of a specific image acquisition device can be queried by calling
get_framegrabber_param with the parameter
'available_callback_types'. Once the callback is registered, on every
occurrence of the underlying event (e.g., the notification that the
exposure has finished) the specified callback function will be called. If
the callback function is set to NULL, the corresponding callback will be
unregistered.
The signature of the callback function is
Herror (__stdcall *HAcqCallback)(void *AcqHandle, void *Context,
void *UserContext) and uses the following parameters:
- AcqHandle
Acquisition handle of the corresponding image acquisition instance.
- Context
Optional context data of the specific callback. In the
MILLite interface, this parameter is not used, i.e., Context
is set to NULL.
- UserContext
User context as set via set_framegrabber_callback.
Using user-callback functions
Note that the execution time of a user-specific callback function should
always be as short as possible since during the execution of a callback
function the handling of further internal callbacks might be blocked.
This can be achieved by removing the current processing from the
user-specific callback function to a separate thread that is controlled via
signals or events.
Not supported by this interface.
Not supported by this interface.


Next: fboundp, Previous: defun, Up: Data and Control Flow Dictionary
fdefinition
function-name ⇒ definition
(setf ( fdefinition
function-name) new-definition)
function-name—a function name.
In the non-setf case, the name must be fbound in the global environment.
definition—Current global function definition named by function-name.
new-definition—a function.
fdefinition accesses the current global function definition named by function-name. The definition may be a function or may be an object representing a special form or macro.
The value returned by fdefinition when fboundp returns true but the function-name denotes a macro or special form is not well-defined, but fdefinition does not signal an error.
Should signal an error of type type-error if function-name is not a function name.
An error of type undefined-function is signaled in the non-setf case if function-name is not fbound.
fboundp, fmakunbound, macro-function,
fdefinition cannot access the value of a lexical function name produced by flet or labels; it can access only the global function value.
setf can be used with fdefinition to replace a global function definition when the function-name’s function definition does not represent a special form.
setf of fdefinition requires a function as the new value. It is an error to set the fdefinition of a function-name to a symbol, a list, or the value returned by fdefinition on the name of a macro or special form.


Your browser does not support the video tag.
You hear the victim scream and run up stairs. What do want to do next?
SNEAK IN
or
BREAK IN
?


Projects
Object Detection and Tracking -
Performed uniform detection with two classes – boys' uniform and girls' uniform using CNN.
Also, performed ‘Human Upper Body Apparel Localization’ on surveillance videos. Demo
Blink and Sleep Detection -
Categorized a given facial expression in one of seven expressions (happy, sad, angry, disgust, surprise, contempt, neutral) by using different algorithms like SVM, logistic regression, neural network and compared their accuracies on the given dataset.
Achieved 90% accuracy using logistic regression.
Facial Expression Categorization -
Detected eye blink in real time by calculating eye aspect ratio. This was mainly an implementation of a research paper - Real-Time Eye Blink Detection using Facial Landmarks by Tereza Soukupova and Jan ´ Cech.
Also, extended this implementation to sleep detection by checking the threshold EAR for greater number of frames.


Inspired by Ramda repl
this repl uses Babel, and the lastest CodeMirror for es6 and even es7 fun with ramda, ramda-fantasy and sanctuary.
The "Examples" menu contains sample code you can play around with from the ramda docs
The "Reset" button clears the repl and repl
history.


Our unique witch delivery service caters to the greater Mieko area. Delivery fees start at $10. The minimum order for delivery is ONE order of bread, cake, or a dozen cookies, and the maximum order amount is FIVE menu items in total. We request that all delivery orders be placed by 5:00pm the day prior to delivery. For large orders, additional advance notice is appreciated.
Additional charges may apply to orders over 30lbs. Payment for delivery is preferred at the door.
Customize Your Order
LOCATION
160 RUE STREET
MIEKO, JAPAN
OPEN DAILY 7AM-7PM
CONTACT US
090 39461847
INFO@GUTIOKIPANJA.COM


GREED (director/writer: Erich Von Stroheim; screenwriter: Based on the turn-of-the-century novel McTeague by Frank Norris/ June Mathis/; cinematographer: Ernest B. Schoedsack; cast: Gibson Gowland ('Doctor' John ("Mac") McTeague), ZaSu Pitts (Trina Sieppe), Jean Hersholt (Marcus Schouler), Chester Conklin (Mr. Sieppe), Sylvia Ashton (Mrs. Sieppe), Florence Gibson (Hag), James Gibson (Deputy), Oscar Gottell (A Sieppe Twin), Otto Gotell (A Sieppe Twin), Dale Fuller (Maria Miranda Macapa), Cesare Gravina (Zerkow, a Junkman), Frank Hayes (Old Grannis), Jack Curtis (McTeague's Father), James F. Fulton (Cribbens, prospector), Hughie Mack (Mr. Heise), Jack McDonald (Gribbons), Fanny Midgley (Miss Baker), Tempe Piggott (McTeague's mother), Joan Standing (Selina), Erich von Ritzau (Traveling Dentist, Dr. Potter), William Barlow (Minister), Lon Poff (Lottery Agent), Max Tryon (Uncle Oelbermann), 1925-silent)
Reviewed by Dennis Schwartz
Erich von Stroheim meant this silent film completed in 1924 to run for nine-and-one-half hours, but MGM forced him to cut it down, which he did to four hours, but still not satisfied with that, the studio hired a hack editor to cut the film on his own, which he did by cutting it down to two hours. The completed film as originally done is not recoverable, as the studio burned its copy, and if one is to believe von Stroheim, they burned it to get money for the silver nitrate in the film. But through the efforts of Rick Schmidlin, the producer of this reconstructed video, who was able to recover two hours worth of the film by using rephotographed stills, which were photographed by Warren Lynch, and by dutifully following the director's instruction whether to zoom in for a shot or fade out, preserved as much of the original film as he could have. This successful project of reconstructing the epic masterpiece into the one von Stroheim with his director friend Rex Ingram had diligently cut from the original one no one ever saw, into this acceptable four- hour production, makes the characterization of the film much more plausible.
The film is based on Frank Norris' intensely naturalistic 1899 novel "McTeague;" this version of it was recently shown on TCM and since it is on the video format, it should probably be released soon in that video form, and is worth looking for if you didn't catch it on TV.
Von Stroheim was determined to accurately recreate and recapture every detail of every page of the source material, which is the reason the film grew to unacceptable proportions for MGM's studio executive, Irving Thalberg. The head of the studio, Louis B. Mayer, hated the idea of the film and was not pleased that it was made, so there would be no help forthcoming from him to save the project. Stroheim also insisted on authentic location shots around the San Francisco and Oakland areas, and of filming the final sequence at Death Valley under the harshest conditions, causing camera equipment to be damaged and the loss of 26 pounds by Jean Hersholt, who played the role of Marcus Schouler. All this did not endear the director to the cast or the film crew, as well as to the studio bosses, but the brilliant result he got from his method of filming makes all those expenses incurred and inconveniences seem irrelevant. It should be duly noted that the film, in its butchered form, was a box office flop when it finally opened, though the AFI film critics still listed it as one of its 100 best films.
"Greed" is about the oppressive forces that decay and corrupt three people - a beastly, uneducated man in turn- of- the- 20th century San Francisco, John McTeague (Gibson Gowland) and his miserly, vulgar wife, Trina (ZaSu Pitts) and their friend Marcus Schouler, who works in a dog hospital - all who are caught up by their debased passion and greed for gold. There is a subplot of another couple suffering from the same kind of material greed; a junk collector, Zerkow (Gravina) and his mentally unbalanced Mexican-American wife, who is a cleaning lady, junk collector, and lottery salesperson, Maria Miranda Macapa (Dale Fuller).
In the film's prologue, it clearly states how the director intends to follow closely from the book, as the book's opening is written onscreen:
I never truckled; I never took off the hat to Fashion and held it out for pennies. By God, I told them the truth. They liked it or they didn't like it. What had that to do with me? I told them the truth; I knew it for the truth then, and I know it for the truth now.
FRANK NORRIS.
The film begins in the Big Dipper Gold Mine, in Placer County, California, 1908, where McTeague's cruel, womanizing, and drunken father (Curtis) works. When he dies, his mother (Piggott) opting for her son to have a better life, talks a charlatan traveling dentist, Dr. "Painless" Potter (von Ritzau) to take her son on as an apprentice. When his mother passes away, she leaves him $250 and he decides to start a dental practice on his own, in the working class area of Polk Street in San Francisco.
He seems satisfied with his lot in life, not expecting much and not getting much in return. He has one close friend, Marcus, who is going out with his cousin Trina. When Trina falls at a picnic, chipping her tooth, Marcus takes her to his friend Mac. This is the first-time the inexperienced Mac feels anything for a woman and he instantly falls in love with her, kissing her when she is under ether, and blaming his unethical breach of conduct on inheriting his father's bad genes. When Marcus senses something is wrong with his relationship with Mac, as they are seated at a boardwalk pub, he is surprised when Mac tells him that he fell in love with his cousin. After thinking hard about it, Marcus decides to do Mac a favor and makes a big-deal of his self-sacrifice of giving her up, by graciously letting him court Trina, saying now we will be friends forever.
 He becomes very involved with Trina, but she puts off his advances to her and his marriage proposals, and when asked by her mother how she feels about him, tells her she doesn't know how she feels about him.
Trina and Mac become engaged. The event is celebrated with a theater party attended by her mother also, as we see them coming out of the theater with the crowd and they are excited about the show, as they each talk about what they liked best: Trina: "I liked the lady best...who sang those sad songs." Mommer: "Der yodlers!" Mac: "The fellow who played 'Nearer My God to Thee'...on the beer bottles."
When they arrive home, the cleaning lady, Maria, who sold Trina her lottery ticket, informs her that she won $5,000. Marcus takes the news badly, saying to himself, I got soldiered out of the money that should have been mine, if I wasn't suckered into giving her up, that money would have been mine.
Trina and Mac get married a month later in the photographer's rooms that Mac rented for their future home. This is one sad and miserable marriage ceremony, with a funeral procession visibly going by in the street below. These unromantic signs being a harbinger of things to come. When they open their wedding presents, the hateful Marcus, who refused to be best man and had his fists clenched during the entire ceremony, gives a gift of a pocket watch to the bride only. Mac then shows his gift to her, as he removes the towel covering a gilded cage with two love-birds. Trying to conceal her disappointment, she forces out a sweet smile toward Mac. The family is moving for good to Los Angeles in a few hours, as Trina feels despondent that she will not see them ever again.
They all sit down and eat like pigs for the next two hours and then Trina tearfully clutches onto to her mommer, not wanting her to leave, as the mother tells the doctor to take good care of her girl and she tells her daughter to not be afraid, go to your husband. The two are alone at last, with Trina, frightened to be alone with him, as they awkwardly embrace and spend their first night together, and the first part of the film concludes.
Trina's life soon becomes dominated by an obsession for money and she hoards every cent she gets in a trunk and refuses to spend her money on anything, and seems to enjoy only looking at her money and polishing it. The only thing she buys for Mac is a huge golden tooth for him to hang on the street to attract passers-by. She places the lottery winnings into her Uncle Oelbermann's (Max Tryon) store, and draws interest from that account. Slowly, as the three-year marriage becomes a failure, we see how Trina becomes miserly and Mac is losing his love for her, as she diminishes him as a person, curtailing his saloon drinking, and his anger begins to grow. She refuses to part with any of her money, even to purchase an affordable house, which would give them some needed privacy... This turns out to be one cold marriage.
Too add to the couple's woes, there is the hatred Marcus displays toward Mac, cursing him for stealing his girl and getting her money. He gets into a fight with Mac in their favorite saloon, breaking his pipe and flinging a knife at his head.
When returning home, Trina tells him about a letter she received from her mommer asking for $50, which she says she can't afford to give, as Mac replies in amazement, telling her that she should help her mother out, telling her you are turning out to be real stingy. She tells him, if mommer really needs the money, she will write again.
The relationship between Mac and Trina is barely tolerable at this point, though there is still some bursts of affection now and then. When Marcus comes to visit them at their home, this is after another wrestling fight they had at the picnic, they are both relieved that he tells them he is going good-bye for good, leaving the area to do some cattle ranching downstate. Trina gasps, "Goodbye! That's the best thing I ever heard Marcus say."
Bad news comes when he receives a letter from the Board of Dental Examiners of California, informing him because he never went to a recognized Dental College to get a diploma and does not have a license, that he is therefore prohibited from continuing to practice Dentistry. They both realize that Marcus squealed to the Board and is responsible for putting Mac out of business.
Mac now can't earn an income and rapidly goes downhill and Trina refuses to help him out, as Mac's anger grows, which makes her react passionately to him for that moment, as submission suits her fancy. But she will not give him money or any kind of moral support. He will come home drunk from Frenna's saloon, and all she could think of is where did he get the money to buy the drinks. A sign of things to come, is when Maria is murdered by Zerkow, who then goes to the bay and commits suicide. He killed her because she mentioned she had solid gold plates, which she denied telling him she had, but which he believed that she had and wouldn't tell him where it was. Trina uses her death to rent her junk shack because the rent there is cheaper, to the dismay of Mac, as the couple sink to new lows.
Mac's dislike for her grows as every day she becomes more stingy. He becomes disheveled and becomes a loafer, and increasingly acts more hostile toward her. There is no love left in him for her anymore. He will abandon her, stealing the few hundred dollars she saved in her trunk. When he wastes that money on whiskey, he goes looking for Trina again, and finds that she has taken a job at a Kindergarten school as a scrubwoman, as he finds their wedding picture ripped in half in the garbage can in front of the school, where she is also living. When he tells her that he is starving, that he needs some money to buy food, she tells him she will give him nothing, that she can't forgive him for stealing her money. Mac angrily enters the Christmas-decorated school and demands that she give him the five thousand dollars from the lottery.
Sensing that the police will be looking for him there he makes his way to Death Valley, where he hooks up with a prospector (Fulton) and they find quartz in the desert, making them millionaires. But that joy is short-lived, as a posse is on his trail, and Marcus, seeing his picture on a reward poster, vengefully goes after him, ignoring the advice of the posse that it is impossible to cross the desert and come out alive. The posse decide not go into Death Valley, but will wait for him by Gold Mountain to reappear if he makes it out of there. But Marcus will trail him some 100-miles inside Death Valley, and in some of the most memorable movie shots ever, as von Stroheim insisted on shooting in the summer, in the the middle of the day when the sun was the strongest, as the two arch enemies are marked for death, having run out of water, and will meet when Marcus gets the drop on him, but the stronger Mac, even though he is hand-cuffed, will take the gun away from him and beat him savagely to death with it. In one last gesture of humanity, Mac frees his caged canary, but the bird doesn't have enough strength to fly away and falls dead on his sack of gold coins he robbed from Trina. The two die chained-together, as Mac's last look is at the gold coins sparkling in the sun, which has been tinted bright gold for the movie.
Hollywood made a huge mistake in not following the way of the artist in making a film, such as a von Stroheim wanted to make them, instead opting for the box-office to determine a filmmaking project. They have gotten what they have sowed, over-the-years, as a Hollywood film is generally termed as an anti-art one.
This version of Greed is a don't miss one- a Hollywood art film that was half-destroyed by them, yet still managed to somehow survive. Never has the greed for lucre been depicted in such a real way, in such a vicious and unrelenting manner, as it hones in on the destruction of lives that are destroyed for no other reason than their mental breakdown is due to their greed. The great acting by Pitts and Gowland make them seem at all times believable and complex in their characterizations, each searching desperately for what burns inside them.
REVIEWED ON 1/2/2000 GRADE A+
Dennis Schwartz: " Ozus' World Movie Reviews "
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Simon Brett OBE is the writer responsible for the Charles Paris, Mrs Pargeter, Fethering and Blotto & Twinks series of crime novels. His first published title was Cast, In Order Of Disappearance in 1975 and his latest book, Seriously Funny, and other oxymorons, is his 100th.
1. Who were your literary influences as you were growing up?
I’ve been a keen reader ever since I can remember. As a child, I read Enid Blyton, Anthony Buckeridge and Richmal Crompton, whose Just William stories are beautifully constructed and a lesson to any writer. I also enjoyed Down With Skool and the other very funny Nigel Molesworth books by Geoffrey Willans and Ronald Searle.
As I approached my teens, I discovered Agatha Christie, and also got deeply into old-fashioned historical novels by writers like Charles Reade, Rafael Sabatini, Jeffery Farnol and Geoffrey Trease, and Baroness Orczy’s Scarlet Pimpernel books.
It was that interest that led to my specialising in history at school and university, but the study of the subject, with its constant questioning about what was actually true, completely destroyed my love for historical fiction. It was a good thirty years before I could again enjoy a historical novel.
2. You are a successful author now, but some readers will not be aware that you also had a stellar radio career producing the pilot episode of The Hitchhiker’s Guide to the Galaxy and the likes of I’m Sorry I Haven’t a Clue and Just a Minute. What are your memories of that time?
I loved my time in radio – and I still love the medium. For a writer, it’s the ultimate collaboration – every individual listener is creating slightly different images of the characters you’ve created.
As a light entertainment producer in the late 1960s and early 1970s, I met a wonderful range of showbiz characters, particularly comedians. I produced programmes with Ted Ray, Alfred Marks, Harry Worth, Kenneth Williams, Barry Cryer and Roy Hudd. It was a great education in the workings of comedy, which helped enormously when I started writing my own series like After Henry and No Commitments.
3.
My actor detective Charles Paris was born directly out of my radio work. I was delegated to produce a series of adaptations of the Lord Peter Wimsey books by Dorothy L. Sayers. Ian Carmichael had just played the part on television and they wanted him to reprise the character on radio. Up until then, although I’d written four very proper unpublished novels, I’d been rather scared of crime fiction. I thought you had to have a computerised brain to work out the plots.
But working with Chris Miller, the writer who adapted the books, I made some very encouraging discoveries. First, we found some gaping holes in Sayers’ plots. And, also, although the plot was important, character and dialogue were at least as important. That realisation, together with the fact that on the Wimseys I was working with a lot of middle-aged actors, led to the birth of Charles Paris.

4. Your latest book The Liar in the Library is set in Fethering Library. Is there anything you can tell us about it before we get the chance to read it?
The Liar in the Library is one of my Fethering Mysteries, set in a fictitious West Sussex seaside village, very close to where I actually live. The books feature two amateur sleuths in their fifties, Carole, retired from the civil service and rather strait-laced, and her more laid-back neighbour Jude. The setting of a library for the murder mystery gave me lots of opportunities to take pot shots at some of the pretensions of the literary world.
5. Is there anything you can share about your latest ‘work in progress’?
As I mentioned above, I am currently engaged in writing the twentieth Charles Paris book. The title is A Deadly Habit, which is rather more information than I usually give out about work in progress.
6. Do you have a message for your many readers in Suffolk Libraries?
My message to readers in Suffolk Libraries would be: keep reading. Yes, please read my books, but read other people’s as well. Each of us is restricted to living in one world, but books open up the possibility of inhabiting many others.
7. Can you tell us one thing that your readers may not know about you?
Two things my readers may not know about me:
- I’ve only got one A-Level.
- My first job after Oxford University was as Father Christmas in a department store.


Leave blank to keep the item as it is.
Name
Accessory name is required.
Type
Description
Price
Game {{ game.Title }}
Game is required.


About Me
My name is José Manuel Barroso Galindo, and I'm a software engineer.
Some people know me as theypsilon
In this page I'm listing some of the more recent gamedev projects that I did in my spare time.
My name is José Manuel Barroso Galindo, and I'm a software engineer.
Some people know me as theypsilon
In this page I'm listing some of the more recent gamedev projects that I did in my spare time.


GTD Light App
Privacy
Policy
Effective date: January 17, 2019
GTD Light ("us",
"we", or "our") operates the website and the GTD Light mobile application (hereinafter referred to as the "Service").
This page informs you of our policies
regarding the collection, use, and disclosure of personal data when you use our
Service and the choices you have associated with that data. Our Privacy Policy
for GTD Light is managed with the help of Privacy Policies.
We use your data to provide and improve the
Service. By using the Service, you agree to the collection and use of
information in accordance with this policy. Unless otherwise defined in this
Privacy Policy, the terms used in this Privacy Policy have the same meanings as
in our Terms and Conditions.
We collect several different types of
information for various purposes to provide and improve our Service to you.
Personal Data
While using our Service, we may ask you to
provide us with certain personally identifiable information that can be used to
contact or identify you ("Personal Data"). Personally
identifiable information may include, but is not limited to:
Cookies and Usage Data
Usage Data
We may also collect information that your
browser sends whenever you visit our Service or when you access the Service by
or through a mobile device ("Usage Data").
This Usage Data may include information such
as your computer's Internet Protocol address (e.g. IP address), browser type,
browser version, the pages of our Service that you visit, the time and date of
your visit, the time spent on those pages, unique device identifiers and other
diagnostic data.
When you access the Service with a mobile
device, this Usage Data may include information such as the type of mobile
device you use, your mobile device unique ID, the IP address of your mobile
device, your mobile operating system, the type of mobile Internet browser you
use, unique device identifiers and other diagnostic data.
Tracking & Cookies Data
We use cookies and similar tracking
technologies to track the activity on our Service and hold certain information.
Cookies are files with small amount of data
which may include an anonymous unique identifier. Cookies are sent to your
browser from a website and stored on your device. Tracking technologies also
used are beacons, tags, and scripts to collect and track information and to
improve and analyze our Service.
You can instruct your browser to refuse all
cookies or to indicate when a cookie is being sent. However, if you do not
accept cookies, you may not be able to use some portions of our Service.
Examples of Cookies we use:
Session Cookies. We use Session Cookies to
operate our Service.
Preference Cookies. We use Preference Cookies
to remember your preferences and various settings.
Security Cookies. We use Security Cookies for
security purposes.
GTD Light uses the collected data for
various purposes:
To provide and maintain the Service
To notify you about changes to our Service
To allow you to participate in interactive
features of our Service when you choose to do so
To provide customer care and support
To provide analysis or valuable information so
that we can improve the Service
To monitor the usage of the Service
To detect, prevent and address technical
issues
Your information, including Personal Data, may
be transferred to — and maintained on — computers located outside of your
state, province, country or other governmental jurisdiction where the data
protection laws may differ than those from your jurisdiction.
If you are located outside Austria and choose
to provide information to us, please note that we transfer the data, including
Personal Data, to Austria and process it there.
Your consent to this Privacy Policy followed
by your submission of such information represents your agreement to that
transfer.
GTD Light will take all steps
reasonably necessary to ensure that your data is treated securely and in
accordance with this Privacy Policy and no transfer of your Personal Data will
take place to an organization or a country unless there are adequate controls
in place including the security of your data and other personal information.
Legal Requirements
GTD Light may disclose your Personal
Data in the good faith belief that such action is necessary to:
To comply with a legal obligation
To protect and defend the rights or property
of GTD Light
To prevent or investigate possible wrongdoing
in connection with the Service
To protect the personal safety of users of the
Service or the public
To protect against legal liability
The security of your data is important to us, but remember that no method of transmission over the
Internet, or method of electronic storage is 100% secure. While we strive to
use commercially acceptable means to protect your Personal Data, we cannot
guarantee its absolute security.
Service Providers
We may employ third party companies and
individuals to facilitate our Service ("Service Providers"), to
provide the Service on our behalf, to perform Service-related services or to
assist us in analyzing how our Service is used.
These third parties have access to your
Personal Data only to perform these tasks on our behalf and are obligated not
to disclose or use it for any other purpose.
Our Service may contain links to other sites
that are not operated by us. If you click on a third party
link, you will be directed to that third party's site. We strongly advise you
to review the Privacy Policy of every site you visit.
We have no control over and assume no
responsibility for the content, privacy policies or practices of any third party sites or services.
Our Service does not address anyone under the
age of 18 ("Children").
We do not knowingly collect personally
identifiable information from anyone under the age of 18. If you are a parent
or guardian and you are aware that your Children has provided us with Personal
Data, please contact us. If we become aware that we have collected Personal
Data from children without verification of parental consent, we take steps to
remove that information from our servers.
We may update our Privacy Policy from time to
time. We will notify you of any changes by posting the new Privacy Policy on
this page.
We will let you know via email and/or a
prominent notice on our Service, prior to the change becoming effective and
update the "effective date" at the top of this Privacy Policy.
You are advised to review this Privacy Policy
periodically for any changes. Changes to this Privacy Policy are effective when
they are posted on this page.
If you have any questions about this Privacy
Policy, please contact us:
By visiting this page on our website:
https://martin1248.yolasite.com/contacts.php


flixel.addons.display.FlxZoomCamera
- type
- class
- extends
- flixel.FlxCamera
ZoomCamera: A FlxCamera that centers its zoom on the target that it follows
Flixel version: 2.5+
- parameters
Camera
The camera you want to copy from.
- returns
- A reference to this FlxCamera object.
- parameters
Camera
Which camera to draw the debug visuals to.
- parameters
Color
The color you want to use.
Duration
How long it takes for the fade to finish.
FadeIn
True fades from a color, false fades to it.
OnComplete
A function you want to run when the fade finishes.
Force
Force the effect to reset.
- parameters
Color
The color to fill with in 0xAARRGGBB hex format.
BlendAlpha
Whether to blend the alpha value or just wipe the previous contents. Default is true.
- parameters
Color
The color you want to use.
Duration
How long it takes for the flash to fade.
OnComplete
A function you want to run when the flash finishes.
Force
Force the effect to reset.
- parameters
Point
Where you want the camera to focus.
- parameters
Target
The object you want the camera to track. Set to null to not follow anything.
Style
Leverage one of the existing "deadzone" presets. If you use a custom deadzone, ignore this parameter and manually specify the deadzone after calling follow().
Offset
Offset the follow deadzone by a certain amount. Only applicable for STYLE_PLATFORMER and STYLE_LOCKON styles.
Lerp
How much lag the camera should have (can help smooth out the camera movement).
- parameters
X
The smallest X value of your level (usually 0).
Y
The smallest Y value of your level (usually 0).
Width
The largest X value of your level (usually the level width).
Height
The largest Y value of your level (usually the level height).
UpdateWorld
Whether the global quad-tree's dimensions should be updated to match (default: false).
- parameters
X
The new x position
Y
The new y position
- parameters
Width
The new sprite width.
Height
The new sprite height.
- parameters
Intensity
Percentage of screen size representing the maximum distance that the screen can move while shaking.
Duration
The length in seconds that the shaking effect should last.
OnComplete
A function you want to run when the shake effect finishes.
Force
Force the effect to reset (default = true, unlike flash() and fade()!).
Direction
Whether to shake on both axes, just up and down, or just side to side (use class constants SHAKE_BOTH_AXES, SHAKE_VERTICAL_ONLY, or SHAKE_HORIZONTAL_ONLY).


{% extends "templates/login.html" %} {% block nav_bar %} {% endblock %} {% block stylesheet %} {{ super() }} {% endblock %} {% block script %} {{ super() }} {% endblock %} {% block main %}
environment.yml
file
lists the python packages installed, while this
install.R
file lists the R packages installed.
%pip install
package-name
or %conda install package-name
to install
a Python package. With R, you can use install.packages()
.
To prevent individual user environments diverging from each other too
much, your user installed packages only last the length of your
server. So we recommend putting those package installation lines
in the beginning of the notebook / file that you are using, so it can be
run each time as necessary.
environment.yml
file (for Python packages) and
install.R
file for R packages.


fulib is a platform for modern software engineering.
The fulib toolkit consists of many different libraries, tools and web apps, easily accessible right here in your browser.
{{ feature.description }}


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Object org.apache.spark.graphx.util.GraphGenerators
public class GraphGenerators
A collection of graph generating functions.
| Constructor Summary | |
|---|---|
GraphGenerators()
|
| Method Summary | |
|---|---|
static Edge<Object>[] |
generateRandomEdges(int src,
int numEdges,
int maxVertexId,
long seed)
|
static Graph<scala.Tuple2<Object,Object>,Object> |
gridGraph(SparkContext sc,
int rows,
int cols)
Create rows by cols grid graph with each vertex connected to its
row+1 and col+1 neighbors. |
static Graph<Object,Object> |
logNormalGraph(SparkContext sc,
int numVertices,
int numEParts,
double mu,
double sigma,
long seed)
Generate a graph whose vertex out degree distribution is log normal. |
static double |
RMATa()
|
static double |
RMATb()
|
static double |
RMATc()
|
static double |
RMATd()
|
static Graph<Object,Object> |
rmatGraph(SparkContext sc,
int requestedNumVertices,
int numEdges)
A random graph generator using the R-MAT model, proposed in "R-MAT: A Recursive Model for Graph Mining" by Chakrabarti et al. |
static Graph<Object,Object> |
starGraph(SparkContext sc,
int nverts)
Create a star graph with vertex 0 being the center. |
| Methods inherited from class Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public GraphGenerators()
| Method Detail |
|---|
public static double RMATa()
public static double RMATb()
public static double RMATd()
public static Graph<Object,Object> logNormalGraph(SparkContext sc, int numVertices, int numEParts, double mu, double sigma, long seed)
The default values for mu and sigma are taken from the Pregel paper:
Grzegorz Malewicz, Matthew H. Austern, Aart J.C Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski. 2010. Pregel: a system for large-scale graph processing. SIGMOD '10.
If the seed is -1 (default), a random seed is chosen. Otherwise, use the user-specified seed.
sc
- Spark ContextnumVertices
- number of vertices in generated graphnumEParts
- (optional) number of partitionsmu
- (optional, default: 4.0) mean of out-degree distributionsigma
- (optional, default: 1.3) standard deviation of out-degree distributionseed
- (optional, default: -1) seed for RNGs, -1 causes a random seed to be chosen
public static double RMATc()
public static Edge<Object>[] generateRandomEdges(int src, int numEdges, int maxVertexId, long seed)
public static Graph<Object,Object> rmatGraph(SparkContext sc, int requestedNumVertices, int numEdges)
See http://www.cs.cmu.edu/~christos/PUBLICATIONS/siam04.pdf
.
sc
- (undocumented)requestedNumVertices
- (undocumented)numEdges
- (undocumented)
public static Graph<scala.Tuple2<Object,Object>,Object> gridGraph(SparkContext sc, int rows, int cols)
rows
by cols
grid graph with each vertex connected to its
row+1 and col+1 neighbors. Vertex ids are assigned in row major
order.
sc
- the spark context in which to construct the graphrows
- the number of rowscols
- the number of columns
public static Graph<Object,Object> starGraph(SparkContext sc, int nverts)
sc
- the spark context in which to construct the graphnverts
- the number of vertices in the star
nverts
vertices with vertex 0
being the center vertex.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


The Association for Computing Machinery (ACM) is an international learned society for computing. It was founded in 1947 and is the world’s largest scientific and educational computing society. It is a not-for-profit professional membership group. Its membership is more than 100,000 as of 2011. Its headquarters are in New York City.
The ACM is an umbrella organization for academic and scholarly interests in computer science. Its motto is “Advancing Computing as a Science & Profession”.
“ACM LNMIIT Student Chapter is all set to fly high. We have worked really hard preparing ourselves for resonating with the vibrancy of ACM. As of now, our focus is to establish a systematic way to impart knowledge from the ocean of ACM’s library. Our team is all set for a great start. Let’s work for the best!”
Here are some photos of our events. ACM is full of fun


--- layout: default ---
| Name: | Tommy “ZooMaa” Paparatto | McArthur "Cellium" Jovel | Obaid "Asim" Asim | Matthew "Skrapz" Marshall | Trei "Zer0" Morris | Tom "GRVTY" Malin |
| Born: | August 9, 1995 | December 24, 2000 | February 10 | May 30, 1997 | August 2, 1997 | Unknown |
| From: | United States | United States | Canada | England | England | United States |
| Role | SMG Player | AR Slayer | SMG Slayer | AR Slayer | Main AR | Substitute |