Abstract: Deep Imitation Learning requires a large number of expert demonstrations, which are not always easy to obtain, especially for complex tasks. A way to overcome this shortage of labels is through data augmentation. However, this cannot be easily applied to control tasks due to the sequential nature of the problem. In this work, we introduce a novel augmentation method which preserves the success of the augmented trajectories. To achieve this, we introduce a semi-supervised correction network that aims to correct distorted expert actions. To adequately test the abilities of the correction network, we develop an adversarial data augmented imitation architecture to train an imitation agent using synthetic experts. Additionally, we introduce a metric to measure diversity in trajectory datasets. Experiments show that our data augmentation strategy can improve accuracy and convergence time of adversarial imitation while preserving the diversity between the generated and real trajectories.
@inproceedings{antotsiou2021cat,
title={Adversarial Imitation Learning with Trajectorial Augmentation and Correction},
author={Antotsiou, Dafni and Ciliberto, Carlo and Kim, Tae-Kyun},
booktitle={Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA)},
pages={4724--4730},
doi={10.1109/ICRA48506.2021.9561915},
year={2021}
}


This is a button
This is a link with class
Button to xPath
click to increment
click using parameter
Show alert
Click to tab
First Value
Second Value
Third Value
Fourth Value


"LUZ "a nut-bearing tree, the almond. (1.) The ancient name of a royal Canaanitish city near the site of Bethel (Genesis 28:19; 35:6), on the border of Benjamin (Joshua 18:13). Here Jacob halted, and had a prophetic vision. (See BETHEL.)(2.) A place in the land of the Hittites, founded (Judges 1:26) by “a man who came forth out of the city of Luz.” It is identified with Luweiziyeh, 4 miles north-west of Banias.
"LUZ "a nut-bearing tree, the almond. (1.) The ancient name of a royal Canaanitish city near the site of Bethel (Genesis 28:19; 35:6), on the border of Benjamin (Joshua 18:13). Here Jacob halted, and had a prophetic vision. (See BETHEL.)(2.) A place in the land of the Hittites, founded (Judges 1:26) by “a man who came forth out of the city of Luz.” It is identified with Luweiziyeh, 4 miles north-west of Banias.


Clash Royale Analyzer
A loaded all-in-one Royale information generator
Profile Input
Your ID
ID Clan
Enter
Compare Profiles
Your ID
ID #2
Enter
Compare Clans
Clan ID
Clan ID
Enter
Profile Analyze/ Predictor
Your ID
Clan ID
Some Var
Enter
Deck Generator (beta)
Random Deck Generator!


We want your trade
Ramsey Volvo is looking to bolster it's used inventory. We have great offers going on right now! If you're in the market for a new vehicle check out RamseyVolvo.Com or give us a call today. Up to $10,000 off 2015.5 Volvo S60*
|
view vehicles
|
Comes well equipped with a 2.5L I-5 cyl
6-Speed Automatic engine with Geartronic. BLIS blindspot monitoring system. Keyless entry. Rear Park-Assist Camera and much more.
If you're interested in this vehicle click here.
|
|
*Vehicles featured are competatively priced. Offer ends 3/31/16. Not responsible for typographical errors.
|


vignettes/introduction-to-siteymlgen.Rmd
introduction-to-siteymlgen.Rmd
siteymlgen makes it easy to organise ‘R Markdown’ website output. The init() function placed within the first code chunk of the index.Rmd file of an ‘R’ project directory will initiate the generation of an automatically written _site.yml file. ‘siteymlgen’ recomends a specific naming convention for your ‘R Markdown’ files. This naming will ensure that your navbar layout is ordered according to a heirarchy.
Often writing the _site.yml can be the most annoying task when generating a webite using Rmarkdown, particularly when there are multiple tabs and sub tabs. The init()
function should be placed in a code cell of your index.Rmd file. When your other .Rmd
files are named according to the siteymlgen convention then the _site.yml will automatically populate.
The basic syntax of yaml is to use key-value pairs with the format key: value
. In a .Rmd
or .Md
file, a yaml code block is bounded by ---
. Between the code block you can pass instructions in yaml format to modify the output of each file. For example, specifying the author of the document is as straightforward as:
However, writing yaml code can be quite a pain as it needs to be properly formatted and the use of single spaces are important (no tabs or double spacing). One awesome package that allows you to write yaml output fast and accurately is ymlthis. However, when writing large html reports I have often found that writing the _site.yml
can be time consuming and boring. Automating this part of the workflow is the rationale for this package.
Generating an _site.yml
file is made as painless as possible. The first step is to add a file named _site.yml
into a repository and then add the following into the index.Rmd
file:
You can specify values to modify the basic yaml output. For a full range of input variables please refer to the ?init
help section :
init(authors = c("Adam","Paul"), left="yes", dir="~/Documents/siteymlgen/inst/extdata/", navbar_title = "Main title", title = "hello", categories=c("r", "reprodicibility"), toc=TRUE, toc_depth = 3, file="_site.yml")
When you build your website within Rstudio the init
function will parse the directory of .Rmd
files and then arrange them into a navbar. The order in which the .Rmd
files are displayed within your website can be controlled by following our naming convention below.
In order to control how your website navbar is ordered then you need to stick to the following naming convention:
[A-Z][1-9]_TitleofTab.Rmd
e.g. A1_FileOne.Rmd
The capital first letter of the file name controls the position of the tab in the navbar. The number controls the position within the dropdown menu, if you do not want a dropdown menu then label the file [A-Z]1_TitleofTab.Rmd.
Included within this package is data that demonstrates the functionality of this project. First copy the data to a new folder:
Then naviage to the directory and create a new R project. Set up build tools so that you can build an R markdown website and then “Build Website”. You will see that the _site.yml file has been populated with yaml output, which was generated by the init()
function within the first code chunk of the index.Rmd
.


The Users and Roles extension consists of three modules that allows authorized users to add users to the site, add and manage existing site users and add and manage security roles. When you add the Users And Roles module to a page, the following modules are added:
Important. The Users and Roles module suite is set as a Premium module in the default DNN configuration. This setting was chosen to reduce the possibility of these modules, which contain confidential user information and manage security access to your site, being added to a page without due consideration. Administrators should contact their Host to change this setting.


Options Check for Updates screen
This screen allows you to configure whether ZAP checks to see if you are running
the latest version when it starts, and if so what it does.
Check for Updates on startup
If selected then ZAP will automatically check for updates to the whole application and all of the add-ons when it starts.
It is strongly recommended that you check this box.
If for any reason you choose not to then you should manually check for updates frequently.
ZAP will only make one request, and the only information included will be the current version you are on.
Automatically download new ZAP releases.
If selected then ZAP will automatically download new ZAP releases when they are available and prompt you to install them.
Automatically install updates to the add-ons you have installed.
If selected then ZAP will automatically download and install any updates to the add-ons you have installed.
Automatically install updates to the scan rules you have installed.
If selected then ZAP will automatically download and install any updates to the scan rules you have installed.
These are a subset of the full set of add-ons installed.
Report new Release status add-ons.
If selected then ZAP will inform you if and when any add-ons are promoted to 'release' status.
These add-ons will have been thoroughly tested and reviewed, and you can be sure they are of the highest status.
Report new Beta status add-ons.
If selected then ZAP will inform you if and when any add-ons are promoted to 'beta' status.
These add-ons will have been tested and reviewed, and are considered to be of a reasonable status
and mostly fit for purpose.
However they may be incomplete or need further testing.
Some of the add-ons included with ZAP by default are still at the beta level.
Report new Alpha status add-ons.
If selected then ZAP will inform you if and when any new add-ons are added at 'alpha' status.
These add-ons will have been reviewed but they are typically at an early stage of development.
They may be incomplete, contain significant issues or cause stability problems.
Add-on directories
ZAP will load all of the add-ons from the default plugin
directories.
You can also add as many additional add-on directories as you need by adding them here.
This can be very useful when running multiple ZAP instances on one machine, for example in a CI environment.
You can then just download new or updated add-ons once and immediately share them between multiple instances.
Add-ons downloaded into shared directories will be only added to new ZAP instances, not to ones that are already running,
with the exception of the instance that actually downloaded the add-on.
Download directory
This is the directory ZAP will download new or updated add-ons to.
By default it will be the local directory, but you can also choose one of the shared directories as long as this ZAP
instance can write to it.
ZAP will only move add-ons to a shared directory after they are completely downloaded, so that other ZAP instances
do not try to load an incomplete add-on.
Zobacz również


The Nokia 6.2 arrives in the U.S. with Android One for $249
Source: Android Central
What you need to know
- HMD Global has started selling the mid-range Nokia 6.2 in the United States.
- The smartphone is now available from Amazon for $249.
- It comes with a 6.2-inch Full HD+ HDR display, Snapdragon 636 chipset, and triple rear cameras.
HMD Global's mid-range Nokia 6.2, which was introduced at IFA this year alongside the Nokia 7.2, is now on sale in the U.S. The smartphone has been priced at $249, which makes it $100 cheaper than the Nokia 7.2, which had made its way to the U.S. in September.
The Nokia 6.2 is currently available from Amazon in a single version with 4GB of RAM and 64GB storage. You can choose from two colors: Black and Ice Blue. While the Nokia 6.2 may not be best-in-class in every area, it still is a decent device for under $250.
The smartphone offers impressive build quality and features a large 6.3-inch PureDisplay panel with Full HD+ resolution as well as the ability to upscale video content to HDR quality in real time. It has a 14nm Qualcomm Snapdragon 636 chipset under the hood, paired with 4GB RAM and 64GB of expandable storage.
In the camera department, the Nokia 6.2 has a triple camera array at the back with a 16MP primary sensor. You also get an 8MP sensor for ultra-wide shots and a 5MP sensor for depth-sensing. Some of the other key features of the Android One smartphone include an 8MP selfie camera, a rear-mounted fingerprint sensor, 3,500mAh battery, and a USB Type-C port. Being an Android One phone, the Nokia 6.2 is guaranteed to get monthly security updates for three years and OS update for two years.
Nokia 6.2
The Android One Nokia 6.2 is a fantastic choice for Android purists, thanks to its stock Android Pie software and the guarantee of two major OS upgrades. It isn't shabby in the hardware department either. You get a 6.3-inch HDR display, a Snapdragon 636 processor, 64GB of expandable storage, and triple rear cameras.
We may earn a commission for purchases using our links. Learn more.


{% include 'menu.html' %}
all
Male
Female
:Select gender
all
North
Center
South
:Select collection area
{% for dog in dogs %}
{{ dog[1] }}, {{ dog[3] }}, {{ dog[4] }}
View Profile
{% endfor %}
No more dogs at the moment
✔
X


| Interface | Description |
|---|---|
| BaseObject<T> | |
| Client | |
| ClientContact | |
| Company | |
| Creator | |
| Estimate | |
| EstimateItem | |
| EstimateItem.Category |
The category that is stored in getKind() as a String
|
| EstimateMessage | |
| Expense | |
| ExpenseCategory | |
| ExpenseCommon | |
| ExternalService |
Properties assumed from
https://help.getharvest.com/api-v2/timesheets-api/timesheets/time-entries/
|
| Invoice | |
| InvoiceItem | |
| InvoiceItem.Category |
The category that is stored in getKind() as a String
|
| InvoiceMessage | |
| InvoicePayment | |
| MessageRecipient | |
| PaymentGateway | |
| Project | |
| ProjectAssignment |
User Project Assignment
|
| Receipt |
Only documented in comment
|
| Retainer |
Harvest API does not expose more information about retainers
|
| Task | |
| TaskAssignment | |
| TimeEntry | |
| UserAssignment |
| Class | Description |
|---|---|
| Role | |
| User |
| Enum | Description |
|---|---|
| Estimate.State |
Not documented online: got this from Harvest:
|
| EstimateMessage.EventType | |
| Invoice.State |
Not documented online: got this from Harvest:
|
| InvoiceMessage.EventType | |
| Project.BillingMethod | |
| Project.BudgetMethod |


NEWS.md
qpAdm_rotation()
).qpAdm_rotation()
procedure.Finally resumed the development of admixr! Apologies to everyone for having to wait so long. Thank you for your patience and feedback since the last release. I hope that things will start moving a little bit faster and we will reach version 1.0 in the next couple of months.
New features and improvements:
loginfo()
which operates on any output object from an admixr wrapper and shows the full log output (the “log file” in ADMIXTOOLS jargon) associated with the analysis. It also has options for saving the log file to a permanent location and to only show a log file for a target sample of interest (relevant for qpAdm analyses with multiple targets at once).details
- the user will always want to see the full analysis summary so this option is redundant. It is still kept in qpWave - for now, until I figure out how useful the full output actually is. Given the implementation of loginfo()
above, we might remove the argument from qpWave too at some point soon.download_data()
now fetches data from a more stable location.read_geno()
and write_geno()
, which makes it more convenient to write custom analytic code working on data.frames.qpAdm()
output elements and changed its function signature.keep_transversions()
to transversions_only()
. The old function is now deprecated.print.EIGENSTRAT()
now uses a pre-calculated numbers of removed/remaining sites, instead of calculating them each and every time.read_output()
made public.It turned out that dragging along Rcpp and Boost dependencies just for the VCF -> EIGENSTRAT conversion function causes unnecessary complications in the installation process. It’s not worth having it in the package if it would be used only by a small fraction of potential users.
This function has been removed and the vcf2eigenstrat
program is maintained in its own repository.
qpWave()
and qpAdm()
functions.filter_bed()
now implemented simply by calling bedtools
in the background. This turned out to be way faster and memory efficient than the previous data.table-based solution.group_labels()
update.download_data()
function that fetches the example data set from the web.filter_sites
is now implemented using data.table
and allows overlap with an arbitrary BED file.qpDstat()
-> d()
, qpF4ratio()
-> f4ratio()
, etc).f4()
function (f4mode
parameter remains in the d()
function though, as f4()
calls d()
internally).


Bayelsa/Kogi: Buhari, APC, INEC Working Against Democracy – PDP
by George OgboluPresident Muhammadu Buhari and the ruling All Progressives Congress (APC) are against democracy in Nigeria, the Peoples Democratic Party (PDP) has said.
In a statement on Sunday signed by its National Publicity Secretary, Kola Ologbondiyan, the PDP said the Chairman of the Independent National Electoral Commission (INEC) Mahmood Yakubu was the “worst electoral umpire” in the political history of Nigeria.
The main opposition party claimed that Nigerians have lost faith in the nation’s electoral process under the administration of President Buhari.
The party said the present administration have reduced security agents to tools of election brutality to rig in their favour.
The statement reads: “For us in the PDP and, we believe, to the majority of Nigerians as well, Professor Yakubu is the worst electoral umpire in the political history of our nation.
“Furthermore, the police and the military high commands have been reduced to tools of election brutality to ensure that votes do not count.
“Even the Police high command has openly admitted that the police are incapable of protecting voters and votes; thus validating the reported involvement of security agents in the brutalization of voters and disruption of the electoral process.
“More distressing is the fact that Nigerians, particularly our members and supporters in Kogi and Bayelsa states, are still in trauma over the murderous November 16 elections.
“A lot of our people have been killed and our members are still grieving.”


Loading
Close
Home
Home menu 1
Home menu 2
Home menu 3
Home menu 4
Home background slide
Home background video
Pages
Blog
Blog
Blog Detail
About
User
User Booking
User Profile
User Setting
User Review
User Signup
Contact
Payment
Element
404
Comingsoon
Hotel
Hotel
Hotel List 1
Hotel List 2
Hotel Map
Hotel Detail
Flights
Flights
Flight List
Car
Car
Cart List
Package
Package Deals
Package Deals List
Cruises
Cruises
Cruise List
Cruise Detail
Tours
Tours
Tour List
Tour Detail
Hotels
Europe
Netherlands
Sort by:
Star rating
Star rating
Star rating 1
Star rating 2
Star rating 3
Guest rating
Guest rating
Guest rating 1
Guest rating 2
Guest rating 3
Pricing
Pricing
Pricing
Pricing
Pricing
Save
30
%
Copley Square Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Grand Hotel Bagni Nuovi
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Melia White House Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
A Hidden NYC Mystery Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Town Hall Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Melia White House Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Copley Square Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Grand Hotel Bagni Nuovi
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Melia White House Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
A Hidden NYC Mystery Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Town Hall Hotel
Boston
,
Massachusetts
From
$175
/night
Save
30
%
Melia White House Hotel
Boston
,
Massachusetts
From
$175
/night
1
2
3
4
5
...
Last
We found
640
properties availability
Destination:
Netherlands
2 guest
1 guest
2 guest
3 guest
4 guest
Search
Narrow your results
Star rating
5 Stars
12
4 Stars
12
3 Stars
12
2 Stars
12
1 Stars
12
Not Rated
12
Price
(per night)
Hotel facilities
Swimming Pool
12
Gym/Fitness
12
Car Park
12
Spa/Sauna
12
Casino
12
Free Wifi
12
Pet-friendly
12
Airport Transfer
12
Smoking Area
12
Area
Earls Court
12
Victoria and Westminster
12
Bloomsbury - Fitzrovia
12
West End -Soho
12
Chelsea - Kensington
12
Heathrow & Nearby
12
Gatwick Airport & Nearby
12
Heathrow & Nearby
12
The City
12
Greenwich
12


Coding Boot Camp Group Project
Coding Boot Camp Group Project
Coding Boot Camp Group Project
College Group Project
Written and photographed by me, consulting with manufacturing staff.
Coding Boot Camp Group Project
During these years I obtained a Bachelor's Degree of Science in Multidisciplary Studies, with concentrations in Computer Science, Special Education, and Criminal Justice. I've always had many passions and interests, and I'm grateful to have had the opportunity to explore them by taking college courses of a great variety! In 2012, I obtained a certificate in Solar Energy Design and Installation. In 2014, I obtained an Associate's Degree of Science in Mechanical Drafting. I also worked several jobs during these years, contributing to my personal growth and development. I learned how to be a lifelong student and learn something each and every day, whether in and out of a classroom. 2003-2014
In 2015 I landed my 1st job in an engineering environment, working as Engineering Support in a large manufacturing plant. My duties included: interpreting engineering drawings to determine work instructions for manufactoring plant labor to build the specified products. My duties expaned to include creating standardized instructions and procedures for machine operators and material handlers. I considered safety, efficiency, and lean manufacturing protocols (minimizing waste, maximizing profit).
2015In 2016 I accepted a position as a CAD Technician at a worldwide pharmaceutical plant. I was responsible for maintaining and revising all of the facilities technical drawings, keeping them current to reflect "as-built conditions". This was a very unique work environment. I worked with engineers and drawings of every discipline. The plant I worked at was new, I got to Experience many milestones the company reached as it prepared for production. I made major contributions to the development of the location's CAD department organization and procedures. Our department was half maintenance, half project-oriented. I took great pride in my department and enjoyed the work I did, however I knew that I had more passions to explore and more achievements to conquer...
2016I've been interested in computer programming for years, I've even tried some free tutorials online. After hitting many stumbling blocks, I realized that I needed a more intimate learning environment with human guidance and interaction. In the spring of 2018 I researched my options for formal training, I found Georgia Tech's Coding Boot Camp to be the best option available to me. I qualified for the program, prepared to dedicate my life to this program, and on September 17th 2018, I began Georgia Tech's Full-Time Coding Boot Camp, on-site in Midtown Atlanta, GA!
September 2018I received my certificate!
December 2018Daily practice and study!
December 2018 - Present


Login
Register an account?
WebPPGIS
Step-by-step guide and feature introduction
MANUAL
DEMO
Open and free map
10KB JavaScript and 2.5KB CSS, that's all (minified, gzipped).
Economic analysis
10KB JavaScript and 2.5KB CSS, that's all (minified, gzipped).
Report generator
10KB JavaScript and 2.5KB CSS, that's all (minified, gzipped).
User-friendly
10KB JavaScript and 2.5KB CSS, that's all (minified, gzipped).
Communication
10KB JavaScript and 2.5KB CSS, that's all (minified, gzipped).
Brower compatibility
10KB JavaScript and 2.5KB CSS, that's all (minified, gzipped).


Planet Sick-Boy: http://www.sick-boy.com "We Put the SIN in Cinema"
© Copyright 2001 Planet Sick-Boy. All Rights Reserved.
 He also has an uncanny knack for taking marginal B and C-list talent and making them seem like Oscar contenders, even though the material is more akin to stuff you'd find in a made-for-cable movie.
Actually, Dahl's two best films - Red Rock West and The Last Seduction - debuted on pay cable, a medium that is taken slightly less seriously than Tara Reid's chances of winning an Oscar. The Academy doesn't even let films like these qualify for their little year-end party, which was a shame because Seduction's Linda Fiorentino deserved a Best Actress nomination (she won the Independent Spirit Award, as well as trophies from critics in London and New York).
But Joy Ride is a different story...or is it? The film is getting a wide release from a major distributor, but it's still set in the desert and is populated by the same small-town cretins we grew to lovingly despise in West and Seduction. There are no big stars here, and there are barely any little ones, either. And the scariest thing of all is that Ride has been sitting on the shelf nearly as long as O, the monumentally delayed modern update of Othello (filming wrapped in early 2000).
But Ride is a surprisingly good little flick. It's about a straight-laced Berkeley student named Lewis (Paul Walker, The Fast and the Furious) who has a crush on a girl from his New Jersey hometown. Lewis buys a used car to pick up Venna (Leelee Sobieski, Here on Earth) in Boulder, hoping the two will bond during the cross-country drive. But right before he leaves, Lewis finds out his older brother Fuller (Steve Zahn, Saving Silverman) has just been busted for a DUI in Salt Lake City. No problem - Salt Lake City is on the way to Boulder, so Lewis bails Fuller out and agrees to drive him as far as Denver.
Grateful for the bail and ride, Fuller buys Lewis a CB radio so the two can monitor police activity as they speed through the dusty west. Saying the CB is like "a prehistoric internet," the bored Fuller talks his brother into impersonating a woman to lure a desperate-sounding trucker with the handle "Rusty Nail" to a hotel room with the promise of a good time. The boys stay in the room next-door and listen like a couple of giggling schoolgirls before falling asleep.
They awaken to a grisly scene in the next room and shortly thereafter find out Rusty Nail (voiced by Matthew Kimbrough) knows who they are and is hell-bent on revenge. Dahl expertly ratchets up the tension into an edge-of-your-seat frenzy that only gets the slightest bit silly when Rusty Nail's truck is trying to run them down (it's too much like Christine, Jeepers Creepers or that dopey Metallica video). Dahl never shows us what Rusty Nail looks like, which helps to make the story all the more disturbing.
It's a pretty simple idea, but the whole thing is brought to life by Ride's two screenwriters, who have each directed enjoyable television shows (Clay Tarver, Upright Citizens Brigade and Jeffrey Abrams, Felicity). Like Dahl's previous films, he gets great performances from his actors, too. Walker shows his decent performance in Furious wasn't a fluke (although I'm still not entirely convinced - he's way too pretty to be any good, right?) and even gets naked with Zahn for one scene.
1:32 -R for violence/terror and language
========== X-RAMR-ID: 29533 X-Language: en X-RT-ReviewID: 247679 X-RT-TitleID: 1110152 X-RT-SourceID: 595 X-RT-AuthorID: 1146
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


Safari IT Books Language Constructs Functional Programming Haskell Safari IT Books Programming Programming Programming Bryan O'Sullivan Donald Bruce Stewart John Goerzen O'Reilly Media, Inc. Real World Haskell, 1st Edition20.2. Directory and File InformationThe System.Directory
module contains quite a few functions that can be used to obtain
information from the filesystem. You can get a list of files in a
directory, rename or delete files, copy files, change the current working
directory, or create new directories. System.Directory is portable and works on any
platform where GHC itself works. The library
reference for System.Directory
provides a comprehensive list of the functions available. Let's use
ghci to demonstrate a few of them. Most of these functions are
straightforward equivalents to C library calls or shell commands: ghci> :module System.Directoryghci> setCurrentDirectory "/etc"
Loading package old-locale-<IP_ADDRESS> ... linking ... done.
Loading package old-time-<IP_ADDRESS> ... linking ... done.
Loading package filepath-<IP_ADDRESS> ... linking ... done.
Loading package directory-<IP_ADDRESS> ... linking ... done.
ghci> getCurrentDirectory
"/etc"
ghci> setCurrentDirectory ".."
ghci> getCurrentDirectory
"/" Here we saw commands to change the current working
directory and obtain the current working directory from the system. These
are similar to the cd and pwd commands in the POSIX shell: ghci> getDirectoryContents "/"
["dev",".vmware","mnt","var","etc","net","..","lib","srv","media","lib64","opt",
".ccache","bin","selinux",".","lost+found","proc",".autorelabel",".autofsck",
"sys","misc","home","tmp","boot",".bash_history","root","sbin","usr"]
getdirectoryContents
returns a list for every item in a given directory. Note that on POSIX
systems, this list normally includes the special values "." and "..".
You will usually want to filter these out when processing the content of
the directory, perhaps like this: ghci> getDirectoryContents "/" >>= return . filter (`notElem` [".", ".."])
["dev",".vmware","mnt","var","etc","net","lib","srv","media","lib64","opt",
".ccache","bin","selinux","lost+found","proc",".autorelabel",".autofsck",
"sys","misc","home","tmp","boot",".bash_history","root","sbin","usr"]
| For a more detailed discussion of filtering the
results of getdirectoryContents, refer to Chapter 8. Is the filter (`notElem` [".",
".."]) part confusing? That could got also be written as
filter (\c -> not $ elem c [".",
".."]). The backticks in this case effectively let us pass the
second argument to notElem; see Section 4.4
for more information on backticks. |
|
You can also query the system about the location of
certain directories. This query will ask the underlying operating system
for the information: ghci> getHomeDirectory
"/home/bos"
ghci> getAppUserDataDirectory "myApp"
"/home/bos/.myApp"
ghci> getUserDocumentsDirectory
"/home/bos"
|


I'll be busy on the 13th playing trumpet in the pit orchestra for the play Beauty and the Beast in a community playhouse, the best part being that my younger son will have a bit part in the show. I'm just ending 10 days of vacation, and a trip to CA would be difficult.
What I was doing in high school?
In high school, I was involved in music (a lot), hanging with friends, photogaphy, telegraph Ave pizza, café roma, working weekends in construction and landscaping, feeling teenage angst, and not really enjoying academics.
What I'm doing now?
Now I'm a full time carpenter/contractor living in the beautiful seaside town of Rockport, MA with my wife and two boys, 10 and 13. The area is full of artists and musicians, as well as wealthy folks who always have great projects that keep me busy working.
What would surprise you?
I don't think I have any surprises up my sleeve, except that I surprise myself with being way more into history, science, math, and languages as an adult than I ever was as a kid.
What I'm looking forward to at our Reunion?
Love seeing all these pics and stories, and I look forward to seeing pics from the reunion.
What I was doing in high school?
Suffering thru core classes so I could enjoy great electives like: photography, basic programming, pottery and year book. My best memories are these: I loved talking to other students in the print drying room of the photo lab about how they made their amazing pictures. I laughed the most while erecting clay pots on the wheel, and throwing clay at friends erecting taller pots. Taking pictures for the yearbook was a gift; it was a perfectly valid excuse riding the bus with the girls volleyball team on away games.
What I'm doing now?
I bike to work at a lingerie company in San Francisco. I'm a web developer for a very attractive site, trueandco.com. We normalize sizing differences in bras and make fit recommendations based on a woman's fit quiz answers and purchases.
What would surprise you?
If you see an old guy with a pink cockatoo on a bicycle in the mission district, it’s me.
What I'm looking forward to at our Reunion?
Checking in on how folks are aging. Talking with people I barely remember. Hearing old stories of things I’ve forgotten about. Making new friendships. Getting really really wasted. And the balloon drop at the end at the end of the evening. (Definitely not dancing.)
After sleeping on the steps outside UC Berkeley's Sproul Building in 1985 with fellow yellow jackets to urge campus to divest from apartheid I now find myself working in that very building! As my friend says now "I am the man." Glad to see and make friends next week!
Where will I be on August 13th?
So many questions.... On August 13 I'll be at my 30th high school reunion.
What I was doing in high school?
In high school I was busy with reading and writing and some other stuff.
What I'm doing now?
Now I'm still busy with reading and writing and other stuff. (I live in Davis and teach in the government department at Sacramento State.)
What would surprise me?
If I knew it wouldn't be a surprise, but I'm certainly looking forward to seeing everyone.
On August 13th I will be at the BHS c/o 86 30-Year Reunion Dinner and Dance at Hs. Lordships on the Berkeley Marina fully recovered from the Friday Night Mixer and looking forward to a possible After Party (consider that an 'Easter Egg').
In highschool I was avoiding math and science, doing creative writing assignments last minute and getting A- or B+'s to offset my science and math grades. I was also looking at girls and joking with my buddies.
I am a filmmaker and media dude. Supporting my kids passions are my priorities. Traveling is another passion.
What would surprise you is that I am a shark hunter. I have been chasing sharks for 3 years with a group based in Australia. While I've never caught one, I am exhilarated by the hunt.
What I am looking forward to is networking to develop a new shark hunting group in based in the Bay Area.
I live in the Bay Area and wouldn't have it any other way! I did however, live abroad for two years.
I am a hospital administrator for Children's Hospital in Oakland.
I love spending time with family and friends and enjoy the outdoors. I realize I am a total beach bum! I enjoy hosting parties, like to cook, and have a passion for decorating and shopping!
I am currently an empty nester and really looking forward to traveling the world and seeing new places with my husband and two daughters. I attended our 10 year reunion, missed the 20th, but so excited to reconnect with classmates at our 30th!
Where will I be on August 13th?
I will be on the North Shore of Boston on August 13.
What I was doing in high school?
Funny thing is that even in Massachusetts I still feel more at home on the northern half of my state - once NorCal always NorCal. My years in high school were a delicate balancing act of nights of rebellion at Ruthie's Inn with my thrash metal compadres and meeting the minimum academic requirements to keep me on the honor role.
What I'm doing now?
I have gone on to become an architect and am now working on the Owner's side for a university in Cambridge. Sorry to miss the reunion for the second time. For our 20th I was 8 1/2 months pregnant so couldn't fly across country. Have fun everyone!
Where will I be on August 13th?
On Aug. 13th, I will be @ the 30th Reunion hanging out w/ my homies!!
What I was doing in high school?
I was doing Dance Production, makeup for plays/musicals in the PAD dept, typesetting for our newspaper...
What would surprise you?
What would surprise you maybe is I started working at the age of 12, all thru high school...
Where will I be on August 13th?
Unfortunately, I fly out of town the morning of August 13 with kids — I did not grog the reunion when I made the plans.
What I was doing in high school?
At BHS I was a stoned dumbass, alas, and still am now. Also a plaintiffs class action lawyer, in Berkeley, two young kids (much better weed) (joke! NSA joking here)
Where will I be on August 13th?
August 13th I'll be at the reunion with Jean Lozano!
What I was doing in high school?
In high school I was just getting through and having ice cream at Edy's with Kristina. Moved to Israel right after senior year ended.
What I'm doing now?
Now I live in Danville. Formerly a lawyer working in non-profits representing children with disabilities. Now I teach 4th grade Hebrew school. I have a 17 year old daughter (just spend 3 weeks looking at colleges for her, which makes me feel SO old!), and a 14 year old son.
Where will I be on August 13th?
Carpooling dancers on my daughter's team (one of their minis just became a team member on Dance Moms - from Boulder?? Really??? Wow, times have changed around here.)
What I was doing in high school?
Apparently, I was taking really bad senior portraits!
What would surprise you?
What would surprise you: Been living in Colorado for most of the last 30 years, inadvertently.
What I'm looking forward to at our Reunion?
All a y'all having a hella good time. (By the way, I recently looked up the etiology of "hella" and it is generally agreed that its birthplace is either B'town or Oakland.)
Where will I be on August 13th?
I will be at a rehearsal for a good friend's wedding.
What I was doing in high school?
Going to Blondies, Top Dog, the Rose Garden, a few parties but not many, hanging out with a pretty small group of good friends.
What I'm doing now?
Raising a 3-month old boy, teaching at BHS (year #12 coming up), playing saxophone, spending lots of time with family & friends, feeling really lucky to live here & have a solid community.
What would surprise you?
Trump winning, jazz becoming popular.
What I'm looking forward to at our Reunion?
Hearing as many people's stories as possible in the small time I'm going to have there (due to the wedding I mentioned). I hope people show up to whatever is happening on Friday!
Where will I be on August 13th?
August 13 I'll be in LA for work. Bounced back to Berkeley after a few years at UCSB and living overseas (Prague). Still frequenting Top Dog and King Pin "on the late night tip."
What I was doing in high school?
I was walking around with blue hair, pontificating with the likes of Rachel Stevens and Jennifer Holmes. I escaped to KALX to do my weekly show.
What I'm doing now?
Now I live in London where I am a library manager at University of Westminster.
What would surprise you?
I'm sure that nothing would surprise the likes of you world-weary and experienced souls. I won't be at the reunion, I already visited Berkeley this summer for a pilgrimage to eat at Top Dog, thank you very much.
Where will I be on August 13th?
Dancing with my classmates to DJ CJ Flash!
What I was doing in high school?
Painting my nails in class, working at Toyota of Berkeley as a switchboard operator, doing the minimum to get into a UC school, working as a class officer with all of my friends, working on yearbook, being one of those annoying school spirit types, breaking some hearts because I had no clue how to let a guy down with honor, driving an AMC Hornet (I can't believe I'm admitting that), wearing matching hot pink and turquoise outfits every day of the week, drinking beer on the weekends and going out to clubs in SF with my older boyfriend (scandal!)
What I'm doing now?
Running a media business, living a location free life for the next 6 months (SF Bay, Tahoe, Baja) after 4 years in Raleigh, NC (after years living in Berkeley and traveling the world for my fashion business), spending as much time as possible hiking in the woods with my Labrador Cody or at the beach, visiting my parents in Baja every spring, working way too much, trying to keep up with my friends around the globe and planning this reunion for y'all!
What would surprise you?
I did my first triathlon for my 40th birthday with 20 friends in Las Vegas and was filmed for an NBC sports special (I couldn't make that up if I tried!) Took everyone out for a night of VIP partying Las Vegas style on a Limo bus powered by biodiesel after our race. Officiated my God sister's wedding in Alaska summer 2015...just call me Minister Shelley!
What I'm looking forward to at our Reunion?
Appreciating you all...I didn't even know how good I had it back then. You are some of the most interesting and special people I've ever met in my adventures around the globe. I want to celebrate you and see you enjoying catching up with all of your friends and making new ones. Dancing...yes...dancing...there will be lots of dancing!
Where will I be on August 13th?
At the reunion, of course!
What I was doing in high school?
Just trying to make it day to day
What I'm doing now?
IT consulting for biotechnology companies
What would surprise you?
I've been married for almost 24 years and still haven't lived more than 10 miles from the house I grew up in.
Where will I be on August 13th?
I'll come if I find something ridiculous to wear.
What I was doing in high school?
Ignoring the fact that I was a teenager. I did a pretty good job.
What I'm doing now?
Event producer, non/profit hack, single mom, revolutionary.
What would surprise you?
I'm more of an anarchist now than I was in high school.
What I'm looking forward to at our Reunion?
Hearing about the good in the world Berkeley kids have done.
What I was doing in high school?
I was all over the place at BHS, spent more time at Oh-go-get-laid café, smoking, partying and basically getting into trouble but somehow kept up my grades and theatre roles. Loved the drama crowd!
What I'm doing now?
I am now living far away from Berkeley in the South of France but it isn't that different here (just French). I run a property-management business for anglophones.
What would surprise you?
What might surprise you is that I was elected onto the village council in 2014 so I'm very committed to "my people". As a foreigner (Japanese, American, and British) I have been very lucky to be accepted into this little but gorgeous Provençale village. I have two girls (12 and 8 yrs) and a French hubby who's a ski-freak and a great Dad. We grow our own vegetables and drink loads of rosé wine.
What would surprise you?
I wish I could attend the reunion but, alas, too many commitments here for now.  I'll get to the 40th though, promise!
What I'm looking forward to at our Reunion?
I would also like to hook up with Lucy Anderton as she lives about 3 or 4 hours away from me. Loved BHS - I believe I was very lucky to have gone do such a diverse, cool, stimulating, fun school with excellent teachers. Hope some of you can visit my area of France! xx Susana
Where will I be on August 13th?
Not sure where I will be in the 13th.
What I was doing in high school?
The only thing I did in high school was general academic studies.
What I'm doing now?
Now I'm a graduate of Merritt working on getting my BA and a law degree.
What would surprise you?
What would surprise you is I'm a mother of 3 daughters, 2 stepdaughters, 1 stepson but having my first grandchild in December and it's going to be a boy!
Where will I be on August 13th?
At the reunion of course!!!!! :)
What I was doing in high school?
On the gymnastics team, trying to stay out of trouble and get out of high school!! :o
What I'm doing now?
I've been working for the State of California for 21 years; currently as onsite IT support for the Dept of Social Services
What would surprise you?
I married the same man (the father of my son) twice!! LOL
What I'm looking forward to at our Reunion?
Reconnecting with old friends and hopefully finding new friends!
Where will I be on August 13th?
Spending the weekend on Long Island shore with creative team of the digital comedy series I co-wrote/produced/star in www.47SecretsToAYoungerYou.com and celebrating one of their birthdays. Would love it if you all would watch and tell me what you think of season 1.
What I was doing in high school?
Too much! Heavy class load, class officer some years, pompon squad senior year, working 20 hours a week at the UC Theater, anti-nuke activism and hanging out with all my buddies at the Rocky Horror Picture Show. What I'm doing now: Living in Brooklyn with my actor husband and two actor kids. Working on various creative and performing projects. Classical music administration within a university setting.
What would surprise you?
No idea! I feel none of us were very good at getting to know people outside of our small circles in high school so I have no idea what people thought of me (if at all) then. What surprises me? I live in Brooklyn, I'm not making my living as an actor, my back keeps going out just because I slept wrong. Ha ha
What I'm looking forward to at our Reunion?
Seeing pix since I can't be there. Loving the updates I've been seeing in this group so far.
Where will I be on August 13th?
Hi Peeps! On August 13 I will be in my home in Encinitas, CA. We just moved here from Orange County and COULDN'T BE HAPPIER! This was my town before B-Town and am so excited to be back here again with my boyfriend, Keith. Between my work schedule and our move, it makes it difficult to get the time off to see everyone - but I am SOO looking forward to seeing pictures and posts!
What I'm doing now?
I've been a Graphic Designer for 18 years and have been lucky enough to be given the opportunity to work from home with my job. A one-in-a-million offer and I feel so grateful to have this opportunity. This gives me more opportunity to be at the beach or hiking amazing trails or cooking. I've been vegan for the last 6 years and LOVE IT. I've always loved to cook, so we are always creating vegan dishes from scratch and hoping some day we can open a small vegan cafe of our own in our hood ;o)
What would surprise you?
Life is always surprising me, and I never thought I'd be the happiest I ever have been at age 48!
What I'm looking forward to at our Reunion?
Have fun at the reunion and I'm really going to miss a good time! Take lots of pictures!!! xoxoxo Brandy
Where will I be on August 13th?
I am living in Holland this year with my family, and traveling for 2 months this summer so I will not be at the reunion.
What I'm doing now?
When not in Europe, I live in Santa Barbara where I am a professor at UCSB. I teach there and conduct research on social aspects of information technology.
What I'm looking forward to at our Reunion?
Sorry to miss the reunion. Hi to all!
Where will I be on August 13th?
I have had so much fun reading everyone's updates! I am so sorry that I will be missing the reunion, but I live far, far away now.
What I'm doing now?
I have been in Bangalore, India, for the past 9 years with my husband and 7-year-old daughter. I am an art consultant specializing in Indian and other Asian art. Despite some challenges of living in a developing nation, we very much enjoy our life here. I will probably end up back in the Bay Area some day. Perhaps for the 40th!
I moved to Berkeley the summer before 9th grade from a relatively homogenous suburban town. I took the bus to West Campus that first day where the shy girl that was me, was met with incredible diversity, girls kissing girls, piercings, combat boots, a green mohawk (or was it blue?) and my life was forever changed for the better. Even though I was painfully shy and probably didn’t know many of you well, my time at Berkeley High was undoubtedly one of the most pivotal of my life and I have carried it with me wherever I have gone since.
I might have been swallowed up by the overwhelmingness of it all if it hadn’t been for Shelley Hayden convincing Mr. Scrofani that she had to sit with me because she couldn’t tolerate sitting alone. (He had some sort of seating assignments and my seat happened to be closest to hers). Her friendship is still a blessing to me 30+ years later.
Since high school I have lived quite a few places, most notably central Appalachia, in the heart of coal mining, tobacco farming and preaching country. Now I am blessed to live on beautiful Cape Cod with my husband and 3 children (ages 11, 9 and 7) and am a stay at home mom though somewhere in there I graduated medical school, traveled the world, learned how to ski in my 40s after spending a year (maybe 2) on the bunny slope, and sang a solo live on stage thereby liberating myself from one of my greatest fears.
I cannot wait to be back in Berkeley attending not just the August 13 reunion event but also the other great events organized by our amazing reunion committee. I am looking forward to seeing old friends and hopefully getting to know better some of the most interesting, smart, open minded, creative and socially conscious people on the planet.
Where will I be on August 13th?
I will be attending our reunion with my good friend Marie Cadiz - woo hoo!
What I was doing in high school?
Just trying to pass math - ugh!
What I'm doing now?
I live in Belmont with my husband and two kids (13 and 11). Ran for school board twice (still can't believe I did this!). I'm a Landscape Architect at a multi-discipline firm in Redwood City, working along side with my husband who's an Architect.
Where will I be on August 13th?
In NYC
What I was doing in high school?
Mostly swimming but also some shenanigans with Megan OKeefe and Brandy Martin
What I'm doing now?
I founded and run a media nonprofit calledThe OpEd Project (the mission is to diversify the range of voice we hear in the world)
What would surprise you?
Well I'm still a weirdo so not much
What I'm looking forward to at our Reunion?
Seeing the memory book!
I will be back in B-Town on the 13th!
What I'm doing now?
Living in DC now with my partner Clarence and my dog Violet. Working in education (who knew?). Love to travel - and really can't wait to see everyone :)
Where will I be on August 13th?
Attending the reunion
What I was doing in high school?
Hanging out with Karen Jeffries and Crystla King White
What I'm doing now?
Enjoying life with my family and friends. Of course…I am still best friends with Karen Jeffries :-)
What I'm looking forward to at our Reunion?
I cannot wait to see everyone!
Where will I be on August 13th?
Hi Everyone, I'm sad I can't make it to the reunion. I would have loved to reconnect with so many of you. On August 13th I'll be celebrating my husband's birthday with our family in Acton, MA, where I live. (That might surprise someone).
What I was doing in high school?
In high school I stayed under the radar, played cello, hung out with friends, and cut a lot of classes.
What I'm doing now?
Now I am a clinical psychologist with a practice in Concord, MA, married, and mom to two wonderful kids (Maya, 12, and Dylan, 8). I look forward to hearing all about the reunion from those who go. (Editing to include that at BHS I was Katie Pittel. I went back to using Caitlin in college, and later added a married name, Stark. Those who know Game of Thrones will understand what an interesting twist that has been).
Where will I be on August 13th?
I won't be able to join you on the 13th. I am sad to miss having the opportunity to see old friends and make new ones. I'll be driving with my husband Matthew and our 2 sons to North Devon in England for a week of (very cold) surfing. No trips to Berkeley in the rest of 2016. Like several of our friends from the Class of '86 I live outside the US, in Wimbledon, London, UK.
What I was doing in high school?
I went to 4 different high schools including BHS junior and senior years, a private school in Oakland and two schools in Europe. Although I had friends from Grizzly Peak School, Longfellow and Head Royce at BHS, I felt a bit of an outsider. No sports or clubs to speak of although Kristina Raven, Vanessa Morrison and I ran the Key Club!
What I'm doing now?
I have lived in London and been married for 19 years, with two sons who are 15 and 13. I worked at Sotheby's auction house in NYC, and in London as a 19th century furniture specialist.  I feel very lucky to be where I am in life. I feel so lucky to be from Berkeley. I've brought the Berkeley ethos to wherever I have lived and felt stronger because of it.
Where will I be on August 13th?
At our reunion dancing it up!
What I was doing in high school?
Dance production, science nerd
What I'm doing now?
Running my own consulting business combining forensic science and law and teaching group fitness
What would surprise you?
I recently relocated to South Dakota (I swore I would never be landlocked, never say never!)
What I'm looking forward to at our Reunion?
Remedying the failure to connect (in HS) with so many amazing well rounded interesting accomplished FUN people who share my upbringing (you can take the girl out of Berkeley but you can't take the Berkeley out of the girl)
Where will I be on August 13th?
I will be in Sweden with family on August 13.
What I was doing in high school?
In high school, I did "rambunctious" rather well.
What I'm doing now?
Right now I am living in Berlin and work with tech startups.
What would surprise you?
You might be surprised to know that I change countries as much as some people change winter coats, but I have basically never changed my hair-do.
Where will I be on August 13th?
I will be at the reunion on the 13th and looking forward to it!
What I was doing in high school?
In HS, being on the water polo team helped me get thru. That and photography. Spent many hours in the photography dark room and the yearbook dark room.
What I'm doing now?
Currently I live in Oakland with my husband and two children (ages 13 and 11). I work as a supervisor in Social Services (in adoptions).
What would surprise you?
I live a simple yet fulfilling life with my family, pets, and extended family, so I don't think there is much surprising there. I still swim but no more water polo for me, now I get my adrenaline rush from mountain biking. So fun!
What I'm looking forward to at our Reunion?
I'm looking forward to seeing folks that I haven't seen in years and hearing about who they are now.
Where will I be on August 13th?
I will definitely be attending all 3 days of Reunion activities.
What I was doing in high school?
Anything and everything!! I answered Phones in the Counseling offices in the B building of B.H. with Ms. Perry and Mr. Kaneko and the other counselors and secretaries. Worked in the concession stand (or snack Bar) for our at home basketball games in the Donahue Gym
What I'm doing now?
For the past 20 some odd years, I've been working for W.C.C.U.S.D. (The West Contra Costa Unified school District) as a SIGN LANGUAGE INTRPRETER FOR THE DEAF. (and every other possible job that nobody else wanted Recess Duty, Lunch Duty, and school handy man)
And 7 years before that, with B.U.S.D. (The Berkeley Unified School District)
Currently, I'm going back to school, and I am a FULL TIME student at Ohlone College in Fremont CA. I am taking classes in NEWS BROADCASTING and PRODUCTION, and hope to be interning this coming fall at one of our local Bay Area News Station.
What would surprise you?
Beats the Hell outta me, Good question. (excuse my french).
What I'm looking forward to at our Reunion?
Seeing all of the warm, bright, familiar faces of the class of '86. (most of whom I have not seen since our last reunion or since high school)
And seeing "How Gracefully" everyone has aged. (haha)
Where will I be on August 13th?
BHS 1986 30th Reunion!
What I was doing in high school?
Hanging out in the quad, skipping french class, playing rugby
What I'm doing now?
Loving life in Seattle area
What would surprise you?
A parade of our old teachers showing up at the reunion
What I'm looking forward to at our Reunion?
That parade! Plus catching up with old friends ;)
Very recent shot of me with my daughter on a family trip to China. I live in Alameda and work in downtown Berkeley at a company doing finance related software.
Alive and well in the PNW! Here I am, with one of my favourite drinking buddies! Have fun everybody!
Where will I be on August 13th?
Unfortunately I will not be at reunion this year. I will be recovering from our annual vacation and prepping to testify at trial as an expert in my field for the first time. I can tell you, I'm terrified.
What I'm doing now?
I received my doctorate more than 20 years ago and have been an I/O Psychologist since then. I live in San Diego with my husband and 5 year old son who manages to surprise me every day.
Where will I be on August 13th?
On August 13th I will be mingling with my wonderful eclectic classmates!
What I'm doing now?
I am a mother and work as a Forensic Psychiatric Specialist.
What I'm looking forward to at our Reunion?
Looking forward to reuniting with classmates and hitting the dance floor.
Where will I be on August 13th?
Oh my goodness! Lol. I'll be hanging with my family in SOCAL on the 13th, I know you all will have a blast.
What I'm doing now?
I'm now Theresa Lashley, retired from the US Air Force and working as a management analyst. I have 3 awesome kids +a dog named Zurich.
What I was doing in high school?
Back at BHS I was making movies with Smiling Banana Productions, acting in shows, and hanging out with one of the gangs that came to be known as The Fellas. Since then I've worked as a teacher, tutor, writer, and writing coach, but have never gotten over the love of filmmaking I discovered back in the day.
What I'm doing now?
In 2013 I finally quit saying "who needs film school?" and enrolled at the Seattle Film Institute. I earned my MFA in Filmmaking and Producing last year, then moved back to Portland to make the feature film I've been developing for several years. Portland is where I'll be on the 13th, but I wish you all a terrific time, and am looking forward to some rad, icy, and hecka-fresh anecdotes from the reunion.
Where will I be on August 13th?
We will be on the last weekend of a month long family/work vacation in Ithica, NY. (originally it was a bike trip from Toronto to Montreal, my husbands family trip, but then work to good to pas up called).
What I was doing in high school?
I did a lot of dance and danced in a youth company in SF, All City Dance Theater Ensemble.
What I'm doing now?
I live in Brooklyn with my husband (director/actor/writer) and my 5 year old daughter. I am a costume designer and a pilates instructor. We plan to see the world by bike... Last summer the three of us biked from Brooklyn, NY to Fargo, ND. (2500 miles) Next summer Ecuador.
What would surprise you?
I live in NYC and have for 20 plus years... not much surprises me.
Where will I be on August 13th?
On August 13 I'll be in Central America hopefully scoring warm water waves and trying to get back in shape.
What I was doing in high school?
In high school I was primarily focused on going to college.
What I'm doing now?
In spite of worrying about college, I'm now a firefighter in San Francisco.
What I'm looking forward to at our Reunion?
I'm bummed that I'll be missing the reunion, but I wish everyone well and plan on attending the 40th.
Where will I be on August 13th?
Celebrating with you all at the reunion dinner. I’ll be coming with Johanna (Arnold) Hernandez, one of my HS besties!
What I was doing in high school?
Kicking it with my 3 closest friends: Johanna Arnold, Ericka Baker and Amy Muckleroy. Sadly, Ericka and Amy have passed, so only two of our foursome remain.
What I'm doing now?
I’m a copywriter and editorial manager. I’ve worked in-house for several big-name retailers, but this past May I decided to go freelance and I’m loving it!
What would surprise you?
My children’s ages range from 8 to 27! Same husband. We met in ’86, not long after graduation.
What I'm looking forward to at our Reunion?
Seeing everyone. I didn’t make the 10th or 20th, so this is my first ever reunion!
Where will I be on August 13th?
Won't be at the reunion, my son is having surgery.
What I was doing in high school?
Volleyball.. Sea Scouts.. And goofing off.
What I'm doing now?
Superior Court Clerk in Sonora in the beautiful Mother Lode, and being a mom first and foremost to two amazing young men 😘
What would surprise you?
Not much thanks to my job.....
Where will I be on August 13th?
On August 13th I will be at the reunion!! I was singing in high school and I am still singing (performing & teaching).
What I'm looking forward to at our Reunion?
I'm looking forward to performing a fiery song with Brian Butler on the night of our 30th Reunion!
Where will I be on August 13th?
At the reunion!
What I was doing in high school?
Trying to figure out where I fit in, floating around in the courtyard during lunch. Rowed on crew team a year or so, and doing anything I could find that had to do with horses. Nearly didn't graduate, but I got my rear in gear at the very end.
What I'm doing now?
Now I run a biotech lab in Emeryville and have a 3 year old son!
What would surprise you?
I bought a one way ticket to Bangkok the fall of 1986 and rode a motorcycle all around Malaysia. Guess I've settled down a little since then. ;)
What I'm looking forward to at our Reunion?
Seeing people and hearing all the stories. It's amazing how our lives have unfolded in so many unexpected ways.
What I was doing in high school?
In HS,I WAS DOING TO MUCH.
What I'm doing now?
I'm still doing to much...
What I'm looking forward to at our Reunion?
Looking forward to seeing healthy loving adults..
Where will I be on August 13th?
On 8/13 I'll be at home in Portland OR madly packing boxes for a move to a new home.
What I was doing in high school?
In high school I was trying to study, meet boys, go to the best bands at the Greek, be cool, and hang with friends. Lots of good memories from those days.
What I'm doing now?
Today I'm a copy editor, and I go through a manuscript with a fine-toothed comb looking for all those abused and misused words and punctuation marks.
What would surprise you?
Oh I'm probably just about the same nature lover and movie geek that I always was. My musical interests halted at about 1989, though I do enjoy bluegrass ala Nickel Creek. I got married...that surprised me and may surprise you, but marriage wasn't really a topic back in the day.
What I'm looking forward to at our Reunion?
I wish I could attend the reunion, but it's not in the cards this time. I look forward to the pictures, though! And please forgive any typos because this screen is tiny and I have old eyes. Bye!
Where will I be on August 13th?
I plan to be at our reunion on 8/13.
What I was doing in high school?
During high school, I was off campus more than on campus....Having too much fun😶
What I'm doing now?
I am now working in a community based job in the city I grew up in.
What would surprise you?
I don't know what would surprise me. I don't surprise easily.
What I'm looking forward to at our Reunion?
I'm looking forward to seeing a group of people who I hope are content, compassionate, healthy as can be, and who take life one moment at a time😊
Where will I be on August 13th?
Attending the 30th reunion
What I was doing in high school?
Spending way too much time trying to play tennis, eating lunch on the brick wall on the path to the G and H buildings (just had to google those building names) with my bunch of misfit guy friends
What I'm doing now?
Working at Jackson's Hardware in San Rafael, CA, been in the hardware business last 15 years. Have a son who is almost 18 months old, enjoy taking him hiking, dabble at times in Japanese woodworking and home improvement
What I'm looking forward to at our Reunion?
See old faces I haven't seen in a while.
Where will I be on August 13th?
I'll be at the reunion dinner with as many of you as possible.
What I was doing in high school?
Mostly cutting school and trying to stay out of real trouble. I was fairly lost. Honestly, those years are a blur to me.
What I'm doing now?
I'm a SAHM to twin girls. I live in the PNW with them, my husband, and our pets. I fill in as a sub in my girls' school in the office and volunteer there often. The quieter life in the NW is a great fit for me, I'm pretty sure I couldn't hack it in the city anymore.
What would surprise you?
Probably what I wrote above.
What I'm looking forward to at our Reunion?
I can't wait to catch up with you all. We haven't been to Berkeley in a few years, so it'll be fun to drag our girls around to various old haunts and I'm really looking forward to a Hot Link at Top Dog!
Where will I be on August 13th?
I will be dancing my big old 48 year old tush off at Hs Lordships, hopefully with an amaretto sour or 12 in tow!
What I was doing in high school?
Honestly, I think that I spent more time off campus than I did on campus (LOL)! Other than hanging out on the community theater steps with a Marlboro in hand with the "Opie Crew" (a.k.a. Windy Franklin, Joanna Leonard and "Chickie" an' nem), trying to figure out who I was and making pulllllenty of mistakes while doing so.....don't ask how I got into U.C. Berkeley.....that was a fluke!
What I'm doing now?
I am living in Oakland and I work in San Francisco as a Financial Systems Analyst and Oracle "guru" at a company where I have been working for the past 19 years. I am raising my beautiful 15 year old daughter who is starting her junior year at an Oakland high school. I am surprised that I am not getting all of my BHS antics back through her. She's a pretty awesome kid! :)
What would surprise you?
The fact that I have not picked up a cigarette in 20 years and the offspring may be the only surprises, but that's about it!
What I'm looking forward to at our Reunion?
I am looking forward to seeing folks that I have not seen in 30 years and many people that I have known since Cragmont and Columbus and King and knowing that we all have made it and we are pretty cool adults (because the middle age years can be more of a hot mess than our teen years!) and that we're still here!
What I was doing in high school?
Trying to pretend I wasn't gay (and drinking). What I'm doing now: Trying to fight off age and infirmity (and failing).
What I'm looking forward to at our Reunion?
Celebrating the one alma mater of which I am truly proud.
Where will I be on August 13th?
I will be in Berkeley on the 13th, and I really can't wait to see everyone and have a ball.
What I'm doing now?
I'm living in Yardley, Pa, a suburb of Philadelphia with my boyfriend Paul, Tina the turtle, and Nikki the cat. I work in New York City as a Journeyman Wirewoman for local union #3(electrician).
Where will I be on August 13th?
At the reunion!
What I was doing in high school?
Not going to class.....
What I'm doing now?
Managing a research lab at UC Davis, living in Vallejo, FINALLY finishing my Bachelors Degree!
What would surprise you?
I row on a whaleboat racing team
What I'm looking forward to at our Reunion?
Catching up
Where will I be on August 13th?
With the most amazing classmates ever whom I wish I had spent more time getting to know 30 years ago.
What I was doing in high school?
Trying to get through any given day without cutting a single class.
What I'm doing now?
Working, living, laughing, loving and not taking anything or anyone for granted. Life is precious and short.


You may be able to get help with the cost of term-time accommodation if you study at a school or college that’s far from your home.
How much you get depends on your household income.
You may be able to apply to get money from the following:
Last updated: 7 March 2017


Building a single unified digital experience for all veterans.
The Challenge
-
1000+ websites
-
956 1-800 numbers
-
42 Call Centers
-
220 Databases
Today, the VA customer experience is fragmented, frustrating and confusing. Customers can’t find the information they need when they need it.
But their wants are simple. They desire:
- Useful information that’s clearly written and presented, and;
- Tools that are easy to find and use.
The new vets.gov intends to deliver both.
Our Goals
- Unifying and simplifying VA’s digital touch points, dramatically improving customer experience
- Meeting customer need on the first try, on any device
- Creating a mobile-first platform
- Retooling existing applications and designing new end-to-end experiences, in partnership with business owners across VA
- Providing transparency about our methods and processes
Design Principles
- Understand human need: design for people, rather than VA’s systems
- Assume every visitor is new
- Speak clearly, respectfully and directly
- Help people reach their goals every time
- Connect with customers. Create opportunities for feedback and dialog
- Research, observe, test and continuously improve
- Measure what matters
- Be device agnostic
- Employ modern development practices – be agile
-
Human Centered Design
Human Centered Design is rooted in empathy. It strives to understand customer need and address it.
-
The Platform
The vets.gov platform provides quality and consistency for customers, as well as those building customer experiences for VA.
-
Product Methodology
Vets.gov combines Human Centered Design with Agile development to deliver products rooted in customer need and supported through cycles of continuous improvement.
-
Governance
The vets.gov governance model defines stakeholder roles and responsibilities.
-
Migration Strategy
Learn about how to migrate to the vets.gov platform.
-
Design Guide
View our design principles, code snippets and developer documentation.
-
Editorial and Content Guide
View our editorial principles and guidelines for creating content.


|
| Hobbies: | Favourite Books: | Favourite Movies: |
| 1.Photography | 1.The shawshank Redemption | 1.The God Father Trilogy |
| 2.Sketching and Painting | 2.Harry Potter | 2.Inglorious Basterds |
| 3.Reading | 3.Percy Jackson | |
| 4.Travelling and | ||
| 5.Cooking |
| Skills: | Ratings: |
| 1.Photography | 3/5 |
| 2.HTMl | 4/5 |
| 3.Sketching and Painting | 3/5 | 4.Photoshop and Illustration | 3/5 |


You can access this dialog window by clicking the symbol of Alice in the side-channel attack against the hybrid encryption protocol dialog.
This dialog offers detailed information about Alice.
Next to the portrait of Alice there is a window logging all important actions Alice executed during the side-channel attack. In the text field below you can see the randomly chosen session key Alice used to encrypt the message to Bob.
Remark:
The session key is not visible if Alice did not encrypt the message herself.


aaaaaa
hello 测试2 this is a code 测试3 helslfjslj sdfsjflj lsfjls
hello
this is a code
helslfjslj sdfsjflj lsfjls


Nominate Us! Best of Monterey County 2017
Gusto is a lively New Restaurant Specializing in Fresh Italian Pasta and Pizza.
We are preparing lunch daily from 11:30AM to 2:30PM.
Dinner is served daily from 4:30PM until 9:00PM
Bring your appetite, your kids and your neighbors to enjoy being part of our family!


Fundamentals of Git and GitHub
February 25, 2015
Version control allows users to track changes made to a file within a project. Not only can you track your own files, but multiple people can keep track of the same files. It allows people such as developers to track changes to code as well as fall back to a working code set if they run into problems. People can go back to older "checkpoints" per say to add new files, fix bugs, etc. Version control is also beneficial in the way that it helps organize workflow, especially when numerous people are working on the same program or project. Without something such as version work may become jumbled and mistakes could be made for example someone may delete another's previous work. So essentially version control is a great organizational tool that allows users to have work to fall back on and helps promote a more dynamic work environment which is quickly the norm in today's world.
Git keeps track of your changes known as "commits" exactly how you made them. For instance if you made on a line of code in a file such as just adding some text and then made a commit afterwards that removed that text, you can still go back to the file version with the original text you added. So to put it simply Git tracks all your changes in an organized fashion and allows you to make as many different modifications as necessary throughout a project. Git also helps track these commits with the "git log" command which then shows all the changes made, when they happened, and by whom.
GitHub is a good place to store code because it allows people like programmers to have a central main source where everyones' code can be accessed. It lets multiple people working on the same project obtain each others code, make changes to it, or even make suggestions to the original developer to make it run smoother. GitHub is also great because it allows everyone to access the same information anytime from any computer. You do not have to exchange between to machines. Rather you can put all your code into the GitHub website repository and pull it from there to your own computer.


The road to web development has been challenging but infinitely fulfilling. With every new problem there is always a solution, that's the beauty. My passion in web services revolves around overcoming these obstacles.
Outside of work I am an avid basketball & soccer fan. I am a stats and analytics enthusiast which runs deep in sports. Travelling the world and having adventures in foreign places is my kind of fun. If you would like to have a look at my resume or credentials in a PDF please click each word.


json
- JSON love for your command line
something-generating-JSON-on-stdout | json
[OPTIONS] [LOOKUPS]
json
-f FILE [OPTIONS] [LOOKUPS...]
json
is a fast command-line tool for working with JSON content from the
command line. Among its features: streaming stdin/stdout or working with JSON
files, pretty-printing with control over output formats, JSON validation,
filtering, modification, in-place JSON file modification, field extraction,
tabular output, skipping HTTP header blocks for use with REST API responses,
JSON stream ('\n'-separated JSON objects) processing.
Read on for details and examples. The FEATURE sections describe json
features roughly in the order of processing.
json
roots are as a tool to assist working with REST APIs. Often results
being parsed include HTTP headers, as from curl -i
, with a JSON payload.
By default json
passes through HTTP header blocks. Use -H
to strip a
leading HTTP header block.
(Added in json v4.) Use '-g' or '--group' to group adjacent objects into a single JSON array or to concatenate adjacent arrays into a single array. E.g.:
$ echo '{"a":1}
{"b": 2}' | json -g
[
{
"a": 1
},
{
"b": 2
}
]
$ echo '["one"]
["two"]' | json -g
[
"one",
"two"
]
"Adjacent" objects means objects separated by a newline, or by no space at all. Adjacent arrays means separate by a newline. These conditions are chosen as a balance between (a) not being ambiguous to parse with a simple regex and (b) enough to be useful for common cases.
Compatibility note: In json v3 and earlier, this used to be called "auto-arrayification" and was implicit. In json v4 and v5 grouping of adjacent arrays separated by no space was allowed. That was dropped in v6 (see issue #55). See the COMPATIBILITY section below.
Grouping can be helpful for "one JSON object per line" formats or for things such as:
$ cat *.json | json -g ...
However, when the size of the input is large practically one must do stream
processing. As of json v5.1, json -ga
will stream. An extreme example is:
$ yes '{"foo":"bar"}' | json -ga
But a more practical example would be a large file of newline-separated JSON objects, such as a Bunyan log file:
$ cat foo.log | json -ga req.method req.url res.headers.x-response-time
GET /ping 1
POST /images 43
...
(Added in json v4.) Use '--merge' or '--deep-merge' to merge adjacent JSON objects in the input. Keys in the last object win.
$ echo '{"one":"un","two":"deux"}
{"one":"uno","three":"tres"}' | json --merge
{
"one": "uno",
"two": "deux",
"three": "tres"
}
This could be useful for merging multiple config files, e.g.:
$ cat /opt/app/etc/defaults.json \
/etc/app/config.json \
~/.app/config.json | json --merge
...
(Added in json v9.) Looking up fields in an array of object is easy with json
:
$ echo '[{"name":"trent","age":38},
{"name":"ewan","age":4}]' | json -a name age
trent 38
ewan 4
but less so when a set of objects is indexed by key in an object:
$ echo '{"trent":{"age":38},
"ewan": {"age":4}}' | ... # How to list ages?
The -M, --items
option allows one to itemize the key/value pairs of
an object for convenient iteration with -a
:
$ echo '{"trent":{"age":38},
"ewan": {"age":4}}' | json -M
[
{
"key": "trent",
"value": {
"age": 38
}
},
{
"key": "ewan",
"value": {
"age": 4
}
}
]
$ echo '{"trent":{"age":38},
"ewan": {"age":4}}' | json -Ma key value.age
trent 38
ewan 4
# List people that can vote.
$ echo '{"trent":{"age":38},
"ewan": {"age":4}}' | json -M -c 'this.value.age > 18' -a key
trent
json
will give position information and context for JSON syntax errors
(SyntaxError
). This can be handy for validating data and config files:
$ cat config.json | json
json: error: input is not JSON: Unexpected ',' at line 17, column 5:
, { "name": "smartos64-1.4.7"
....^
{
"use-proxy": false
...
$ echo $?
1
Processing and output of the input JSON can be suppressed with the
-n, --validate
option:
$ cat config.json | json --validate
json: error: input is not JSON: Unexpected ',' at line 17, column 5:
, { "name": "smartos64-1.4.7"
....^
Together with the -q
you can get silent, exit-status-only, JSON validation:
$ cat config.json | json -nq
$ echo $?
1
Use the -e CODE
option to execute (JavaScript) code on the input JSON.
$ echo '{"name":"trent","age":38}' | json -e 'this.age++'
{
"name": "trent",
"age": 39
}
If input is an array, this will automatically process each item separately:
$ echo '[{"age":38},{"age":4}]' | json -e this.age++
[
{
"age": 39
},
{
"age": 5
}
]
That can be overriden with -A
:
$ echo '[{"age":38},{"age":4}]' | json -A -e 'this[0].age = "unknown"'
[
{
"age": "unknown"
},
{
"age": 4
}
]
The given CODE is executed in a function bound to the input object (i.e.
this
is the input object).
Security note: CODE
is not executed in a sandbox, so json
's globals are
available and unguarded. You can shoot yourself in the foot. Do not pass
untrusted user-supplied strings here.
Compatibility note: In versions before v9 -e CODE
used an alternate
implementation (with slightly different semantics for the CODE). It is still
supported for backward compatibility by using the JSON_EXEC=vm
environment
variable. However it is deprecated because it can cause processing to be 10x
or more slower for large inputs. See the COMPATIBILITY section below.
Use the -c CODE
option to run JavaScript code ending with a statement
returning a boolean to filter the input JSON.
$ echo '[{"age":38},{"age":4}]' | json -c 'this.age > 21'
[{"age":38}]
As with -e
above, if input is an array, this will automatically process each
item separately. This can be overriden with -A
.
The given CODE is executed in a function bound to the input object (i.e.
this
is the input object). A JavaScript function must use return
to return
a value, so as a convenience if "return" is not in the given CODE it is presumed
to be a single statement and it is wrapped:
function () {
return ( CODE );
}
To use multiple statements in -c CODE
you must explicitly use return
, e.g.:
$ echo '{"a": 2, "b": 6}' | json -c 'sum = this.a + this.b; return sum > 5'
{
"a": 2,
"b": 6
}
Security note: CODE
is not executed in a sandbox, so json
's globals are
available and unguarded. You can shoot yourself in the foot. Do not pass
untrusted user-supplied strings here.
Compatibility note: In versions before v9 -c CODE
used an alternate
implementation (with slightly different semantics for the CODE). It is still
supported for backward compatibility by using the JSON_EXEC=vm
environment
variable. However it is deprecated because it can cause processing to be 10x
or more slower for large inputs. See the COMPATIBILITY section below.
Use lookup arguments to extract particular values:
$ echo '{"name":"trent","age":38}' | json name
trent
Use '.' in a single lookup to do property access (e.g. name.first
) and use
multiple args to lookup multiple fields.
$ echo '{"name": {"first": "Trent", "last": "Mick"}, "age": 38}' \
| json name.first age
Trent
38
Use -a
for Array processing of lookups and tAbular output:
$ echo '{"name":"trent","age":38}' | json name
trent
$ echo '[{"name":"trent","age":38},
{"name":"ewan","age":4}]' | json -a name age
trent 38
ewan 4
Integral values work for array index lookups:
$ echo '["a", "b", "c"]' | json 1
b
Negative array indices are also supported for convenience (a la Python array indexing):
$ echo '["a", "b", "c"]' | json -- -1
c
$ echo '["a", "b", "c"]' | json -- -2
b
If your lookup isn't a number or a JS indentifier you can always use JavaScript array-style lookups like this:
$ echo '{"https://example.com": "my-value"}' | json '["https://example.com"]'
my-value
just like you would in JavaScript:
$ node
> var d = {"https://example.com": "my-value"}
> d["https://example.com"]
'my-value'
Or it might be easier to set an alternate lookup delimiter:
$ echo '{"https://example.com": "my-value"}' | json -D, https://example.com
my-value
$ echo '{"etc": {"resolv.conf":1, "passwd":2}}' | json -D/ etc/resolv.conf
1
Output is "jsony" by default: 2-space indented JSON ...
$ echo '{"name": "trent", "age": 38}' | json
{
"name": "trent",
"age": 38
}
... with one exception, a bare string value is printed without quotes (because who wants to deal with quotes in your pipeline?).
$ echo '{"name": "trent", "age": 38}' | json name
trent
If pure JSON output is wanted, use -o json
or the -j
shortcut:
$ echo '{"name": "trent", "age": 38}' | json -o json name
"trent"
Indentations other than 2 can be selected via -o json-N
$ echo '{"name": "trent", "age": 38}' | json -o json-0
{"name":"trent","age":38}
$ echo '{"name": "trent", "age": 38}' | json -o json-4
{
"name": "trent",
"age": 38
}
The "FORMAT-N" suffix can also be useful on "jsony" when selecting multiple values and wanting tabular output where some cells are objects:
$ cat users.json
[
{"name": {"first": "Trent", "last": "Mick"}, "age": 38},
{"name": {"first": "Ewan", "last": "Mick"}, "age": 4}
]
$ json -f users.json -a name age -o jsony-0
{"first":"Trent","last":"Mick"} 38
{"first":"Ewan","last":"Mick"} 4
Further the -0
, -2
, and -4
shortcuts can be used to set the indentation
without changing the mode. This can be use to make the above shorter:
$ json -f users.json -a name age -0
{"first":"Trent","last":"Mick"} 38
{"first":"Ewan","last":"Mick"} 4
You can get colored (non-JSON) output using node.js's
util.inspect
:
$ echo '[{"name": "Trent"},{"name": "Ewan"}]' | json -o inspect
[ { name: 'Trent' },
{ name: 'Ewan' } ]
Sometimes you want the list of keys for an object. Use -k
or --keys
for
that:
$ echo '{"name": "trent", "age": 38}' | json -k
[
"name",
"age"
]
$ echo '{"name": "trent", "age": 38}' | json -ka
name
age
You can edit a file in place with -I
and -f FILE
:
$ cat config.json
{"hostname":"<IP_ADDRESS>"}
$ json -I -f config.json # format the file
json: updated "config.json" in-place
$ cat config.json
{
"hostname": "<IP_ADDRESS>"
}
$ json -I -f config.json -e 'this.port=8080' # add port field
json: updated "config.json" in-place
$ cat config.json
{
"hostname": "<IP_ADDRESS>",
"port": 8080
}
Some limitations. Only one file at a time:
$ json -I -f foo.json -f bar.json
json: error: must specify exactly one file with '-f FILE' to use -I/--in-place
Lookups are not allowed:
$ json -I -f foo.json key.subkey
json: error: lookups cannot be specified with in-place editing (-I/--in-place), too easy to lose content
because that can too easily result in data loss, e.g. with something like:
$ json -I -f *.json # if there is more than one match to the glob
json: error: lookups cannot be specified with in-place editing (-I/--in-place), too easy to lose content
-h
, --help
Print this help info and exit.
--version
Print version of this command and exit.
-q, --quiet
Don't warn if input isn't valid JSON.
By default json
will process input from stdin. Alternatively, an input file
(or files) can be specified:
-f FILE
By default json
output is to stdout. Together with -f FILE
, in-place
editing can be done:
-I
, --in-place
-f FILE
in-place. Lookups are not allowed
with in-place editing, because it is too easy to accidentally lose file
data.If your JSON output is a REST API response, it might include the headers
(e.g. when calling with curl -i
). By default json
will pass those headers
through (without choking on them). However if you want them stripped you
can use:
-H
curl -i ...
)Other pre-JSON input handling:
-g
, --group
Group adjacent objects into an array of objects, or concatenate adjacent arrays into a single array.
--merge
, --deep-merge
Merge adjacent objects into a single object with merged keys. Values
in later objects win. Use --deep-merge
to recursively merge keys in
objects.
-M
, --items
Itemize an object into an array of {"key": <key>, "value": <value>}
objects for easier processing.
You can process elements of an input array separately and generate tabular output:
-a
, --array
Process input as an array of separate inputs and output in tabular form.
-d DELIM
Delimiter character for tabular output (default is ' '). This supports JSON escapes, e.g.: '\t' for tab or '\u0000' for the null byte.
-A
Process input as a single object, i.e. stop -e
and -c
automatically
processing each item of an input array.
You can execute code on (-e
) and filter (-c
) the input (this is done before
LOOKUPS are processed, if any).
-e CODE
Execute the given JavaScript code on the input. If input is an array, then
each item of the array is processed separately (use -A
to override). Use
this.
to access fields on the object being processed. (-E CODE
is a now
deprecated synonym.)
-c CODE
Filter the input with JavaScript CODE
. If CODE
returns false-y, then
the item is filtered out. If input is an array, then each item of the array
is processed separately (use -A
to override). Use this.
to access fields
on the object being processed. An explicit return
is required if CODE
includes multiple statements. (-C CODE
is a now deprecated synonym.)
Finally, if LOOKUP
arguments are given, these are extracted from the
JSON. By default .
is used as a separator for nested object lookup.
This can be overridden:
-D DELIM
$ echo '{"a.b": {"b": 1}}' | json -D / a.b/b
An alternative to lookups is to output the keys of the input object:
-k
, --keys
json
can be restricting to just validating its input, i.e. processing
and output of the input is skipped:
-n
, --validate
By default json
outputs in "jsony" mode. Basically this is JSON output,
with the exception that a single string output value is emitted without the
quotes. The intention here is to be of most use to the UNIX command-line.
Other output formats are supported:
-o MODE
, --output MODE
Specify an output mode. One of jsony
(the default; JSON, if a single
string then quotes are elided), json
(JSON output, 2-space indent),
or inspect
(node.js util.inspect
output). json
and jsony
modes can
specify an indentation via json-N
or jsony-N
for N-space indentation
(e.g. json-4
), or via json-tab
or jsony-tab
for TAB indentation.
-i
Shortcut for -o inspect
.
-j
Shortcut for -o json
.
-0
, -2
, -4
Set the JSON indentation without changing the mode.
JSON_EXEC=vm
-e CODE
and -c CODE
.A typical JSON REST API response:
$ curl -s https://ifconfig.me/all.json
{"connection":"","ip_addr":"<IP_ADDRESS>","lang":"","remote_host":...
Nice output by default:
$ curl -s https://ifconfig.me/all.json | json
{
"connection": "",
"ip_addr": "<IP_ADDRESS>",
"lang": "",
"remote_host": "",
"user_agent": "curl/7.23.1 (i386-sun-solaris2.11) libcurl/7.23.1 OpenSSL/0.9.8w zlib/1.2.3 libidn/1.23 libssh2/1.2.2",
"charset": "",
"port": "63713",
"via": "",
"forwarded": "",
"mime": "*/*",
"keep_alive": "",
"encoding": ""
}
Say you just want to extract one value:
$ curl -s https://ifconfig.me/all.json | json ip_addr
<IP_ADDRESS>
Or, looking at the node.js project using the Github API:
$ curl -s https://api.github.com/repos/joyent/node | json open_issues
517
If you use curl -i
to get HTTP headers (because perhaps they contain
relevant information), json will skip the HTTP headers automatically:
% curl -is https://api.github.com/repos/nodejs/node | json | head -40
HTTP/2 200
server: GitHub.com
date: Tue, 27 Apr 2021 02:37:35 GMT
content-type: application/json; charset=utf-8
cache-control: public, max-age=60, s-maxage=60
...
x-ratelimit-reset:<PHONE_NUMBER>
x-ratelimit-used: 4
accept-ranges: bytes
content-length: 6190
x-github-request-id: FE79:0336:F4D0EA:34E46F6:608778EF
{
"id": 27193779,
"node_id": "MDEwOlJlcG9zaXRvcnkyNzE5Mzc3OQ==",
"name": "node",
"full_name": "nodejs/node",
"private": false,
...
Or, say you are stuck with the headers in your pipeline, 'json -H' will drop HTTP headers:
$ curl -is https://api.github.com/repos/joyent/node | json -H forks
2158
Here is an example that shows indexing a list. (The given "lookup" argument is basically JavaScript code appended, with '.' if necessary, to the JSON data and eval'd.)
$ curl -s https://api.github.com/legacy/repos/search/nodejs \
| json 'repositories[2].name'
socket.io
Having the quote to avoid shell interpretation of '[' is annoying, so json
allows a special case for an integer lookup:
$ curl -s https://api.github.com/legacy/repos/search/nodejs \
| json 'repositories.2.name'
socket.io
json
includes the -a
(aka --array
) option for processing each element of
an input JSON array independently and using tabular output. Let's first
get a list (the first N) open node.js issues:
% curl -s https://api.github.com/repos/nodejs/node/issues?state=open\&per_page=100
[
{
"url": "https://api.github.com/repos/nodejs/node/issues/38427",
"repository_url": "https://api.github.com/repos/nodejs/node",
"labels_url": "https://api.github.com/repos/nodejs/node/issues/38427/labels{/name}",
"comments_url": "https://api.github.com/repos/nodejs/node/issues/38427/comments",
"events_url": "https://api.github.com/repos/nodejs/node/issues/38427/events",
"html_url": "https://github.com/nodejs/node/issues/38427",
"id": 868380510,
"node_id": "MDU6SXNzdWU4NjgzODA1MTA=",
...
We can then print a table with just some fields as follows:
% curl -s https://api.github.com/repos/nodejs/node/issues?state=open\&per_page=100 \
| json -a comments number title
0 38427 Cannot call `session.setLocalWindowSize(number)` before session connects
0 38426 Increase HTTP/2 window size
2 38425 crypto: fix Hash and Cipher abort on end
0 38424 doc: update node-api support matrix
1 38423 deps: patch V8 to 9.0.257.24
0 38422 doc: indicate that abort tests do not generate core files
4 38421 fs: fix validation of negative offset to avoid abort
...
Ultimately this can be useful for then using other command-line tools. For example, we could get the list of top-five most commented open node issues (of this subset of 100):
% curl -s https://api.github.com/repos/nodejs/node/issues?state=open\&per_page=100 \
| json -a comments number title | sort -n | tail -5
14 38273 deps: update V8 to 9.1
14 38339 with node16 I see performance of async/await is worse than node 12
16 38328 events: use nullish coalencing operator
19 38155 Assertion `(env_->execution_async_id()) == (0)' failed
29 38184 switch from c-ares to getdns
The -d
option can be used to specify a delimiter:
% curl -s https://api.github.com/repos/nodejs/node/issues?state=open \
| json -a created_at number title -d,
2012-07-24T03:45:03Z,3757,readline: Remove event listeners on close
2012-07-24T03:32:10Z,3756,readline: No way to completely unhook inte...
2012-07-23T21:17:50Z,3755,node-v0.6.20 hello example segfaults on Ra...
2012-07-22T16:17:49Z,3753,Prohibit same listeners in EventEmitter. C...
2012-07-22T13:43:40Z,3752,Auto-detect hardfloat eabi and armv7 varia...
The json tool major version is incremented when there is a backward incompatible change. An overview of those changes is here.
-e CODE
and -c CODE
switch away from using vm.runInNewContext
for
processing. In other words they now do what -E
and -C
do, and the
uppercase options are not deprecated synonyms. Use the JSON_EXEC=vm
environment variable to bring back the old behaviour.-E CODE
and -C CODE
were added in favour of -e CODE
and -c CODE
because the former provide a 10x or more performance improvement for
larger inputs. The latter are still included for backward compatibility.
-E/-C
use a JavaScript function to execute CODE, which -e/-c
use node.js's
vm.runInNewContext
which is crazy slow. Use of a JavaScript function
places slightly different semantics and requirements on the given CODE
, so
new options were required for compat.-g
or --group
) of adjacent arrays no longer groups
arrays separated by no space. I.e. adjacent arrays must be separated by a
newline.-j
or -o json*
) to only output the value instead of the more general array or
table that is necessary for multiple lookups.See the changelog for full compatibility and change details.
json
is written in JavaScript and requires node.js (node
). You can either
install via npm
:
npm install -g json
or manually get the script and put it on your PATH somewhere (json
is a single
file with no external deps other than node itself):
cd ~/bin
curl -L https://github.com/trentm/json/raw/master/lib/json.js > json
chmod 755 json
(Note: Before version 8, this tool was called "jsontool" in the npm registry. That name is now defunct.)
This project lives at https://github.com/trentm/json. Please report bugs to https://github.com/trentm/json/issues. See the full changelog at: https://github.com/trentm/json/blob/master/CHANGES.md.
MIT License (see https://github.com/trentm/json/blob/master/LICENSE.txt)
json is Copyright 2021 Trent Mick and Copyright 2020 Joyent Inc.


Camel Bank
Your reserves for a dry day
Email
Password
Amount (in dollars)
$
.00
Remember me
Ka-Ching
0
% Complete


Main html5 tags are: header, section, article, aside and footer, which bring a better form of semantic structure.