SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Note: About these slides 
• Original slides from the presentation follow 
– The slides are light on content, because I present 
without reading the slides. You probably want to 
watch the video instead of reading these. The 
slides were originally made in Inkscape / Jessyink 
• Past the end, I’ve included a few additional 
slides with details about pipecut that were 
demonstrated interactively
(Switch to a shell and show example 
commands)
Additional information about pipecut 
• The previous slide was the end of the deck 
used for the presentation at MeetBSD, it was 
followed by a demonstration of the tool. 
• The code for pipecut will be hosted here: 
• https://code.google.com/p/pipecut/ 
• Project homepage: 
• http://www.pipecut.org/
What is pipecut? 
• A tool for developing Unix pipeline command 
lines more quickly and easily 
• An interactive, vi-like curses interface that lets 
you see the data and edit the command pipeline 
on the same screen (no need to run and quit 
more/less over and over again) 
• A way to save useful commands and recall them 
later, or share them with others
How does pipecut make commandline 
development faster & easier? 1/2 
• Single-keypress hotkeys for adding common Unix 
commands 
• Real-time highlighting of matches while typing regular 
expressions 
• The ability to see the data transformation applied instantly 
as you add a ‘blade’ on the command line. See just one 
screenful, or process the entire data file 
• The ability to browse the state of the data at any stage by 
using the cursor keys (left and right) to ‘scrub’ through the 
‘blades’
How does pipecut make commandline 
development faster & easier? 2/2 
• Works with every existing Unix command by using pipe(2) 
and treating it as a black-box – just works better with built-in 
commands 
• Optionally, start with your familiar environment on the 
command line, and run history | pipecut to take your 
pipeline into the pipecut environment 
• Give a ‘toolset’ and name and description, and it gets saved 
in your SQLite toolbox for use again later 
• With one keypress, generate a shell script that executes 
your toolset.
What else will pipecut do in the 
future? 1/3 
• Generate code that runs your toolset in other 
target languages. 
• Generate its own regression tests by comparing 
internal/external command implementations and 
generated code results 
• Provide accelerated implementations for 
command combinations such as ‘sort | uniq –c | 
sort –nr’ where a counted hashmap can be more 
efficient than standalone commands without 
context of how the data will be processed next 
(executing in pipecut, or in generated code)
What else will pipecut do in the 
future? 2/3 
• Add interactive support for more utilities’ 
arguments (Regex, field-references, byte-references) 
• Static analysis of regular expressions (e.g. 
highlight syntactical and semantic errors) 
• Optimization of pipeline display to users’ 
tastes (e.g. egrep –v ‘foo’ | egrep –v ‘bar’ vs 
egrep –v ‘foo|bar’ ) 
• Remappable keyboard commands
What else will pipecut do in the 
future? 3/3 
• Interactive command help 
• Possess a deep understanding of command 
line options on each utility 
• Allow user to force Regex highlighting mode 
while typing black-box commands
Pipecut 
• The code for pipecut will be hosted here: 
• https://code.google.com/p/pipecut/ 
• Project homepage: 
• http://www.pipecut.org/ 
• Target for first release – Dec 24th, 2014

Weitere ähnliche Inhalte

Was ist angesagt?

MongoDB backup service overview Boston MUG
MongoDB backup service overview Boston MUGMongoDB backup service overview Boston MUG
MongoDB backup service overview Boston MUG
MongoDB
 

Was ist angesagt? (20)

Using Perforce Streams to Optimize Development of Flash Memory Solutions
Using Perforce Streams to Optimize Development of Flash Memory SolutionsUsing Perforce Streams to Optimize Development of Flash Memory Solutions
Using Perforce Streams to Optimize Development of Flash Memory Solutions
 
Cutting the pipe
Cutting the pipeCutting the pipe
Cutting the pipe
 
FlumeBase Study
FlumeBase StudyFlumeBase Study
FlumeBase Study
 
Developing imperfect software
Developing imperfect softwareDeveloping imperfect software
Developing imperfect software
 
Vpm
VpmVpm
Vpm
 
Joe Damato
Joe DamatoJoe Damato
Joe Damato
 
Five Real-World Strategies for Perforce Streams
Five Real-World Strategies for Perforce StreamsFive Real-World Strategies for Perforce Streams
Five Real-World Strategies for Perforce Streams
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
 
Containers: Anti Pattern
Containers:  Anti PatternContainers:  Anti Pattern
Containers: Anti Pattern
 
MongoDB backup service overview Boston MUG
MongoDB backup service overview Boston MUGMongoDB backup service overview Boston MUG
MongoDB backup service overview Boston MUG
 
Gulp and Compass
Gulp and CompassGulp and Compass
Gulp and Compass
 
Composer
ComposerComposer
Composer
 
Inside debian-installer
Inside debian-installerInside debian-installer
Inside debian-installer
 
Visual Studio productivity - MSCommunity 7, Sarajevo
Visual Studio productivity - MSCommunity 7, SarajevoVisual Studio productivity - MSCommunity 7, Sarajevo
Visual Studio productivity - MSCommunity 7, Sarajevo
 
Linux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platformLinux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platform
 
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
 
PROCESS WARP
PROCESS WARPPROCESS WARP
PROCESS WARP
 
Uses of C language
Uses of C languageUses of C language
Uses of C language
 
Azure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutesAzure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutes
 
Desarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .netDesarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .net
 

Ähnlich wie Pipecut - slides from presentation at MeetBSD California 2014

Ähnlich wie Pipecut - slides from presentation at MeetBSD California 2014 (20)

Embedded-Linux-Community-Update-2022-02-JJ78.pdf
Embedded-Linux-Community-Update-2022-02-JJ78.pdfEmbedded-Linux-Community-Update-2022-02-JJ78.pdf
Embedded-Linux-Community-Update-2022-02-JJ78.pdf
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
iPipeTo: An interactive cli workflow
iPipeTo: An interactive cli workflowiPipeTo: An interactive cli workflow
iPipeTo: An interactive cli workflow
 
Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015
 
Last-Fi
Last-FiLast-Fi
Last-Fi
 
Introducción a Stream Processing utilizando Kafka Streams
Introducción a Stream Processing utilizando Kafka StreamsIntroducción a Stream Processing utilizando Kafka Streams
Introducción a Stream Processing utilizando Kafka Streams
 
E3 chap-08
E3 chap-08E3 chap-08
E3 chap-08
 
Dataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and toolsDataplane programming with eBPF: architecture and tools
Dataplane programming with eBPF: architecture and tools
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
C#: Past, Present and Future
C#: Past, Present and FutureC#: Past, Present and Future
C#: Past, Present and Future
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
 
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
 
Chapter 6 implementation support
Chapter 6 implementation supportChapter 6 implementation support
Chapter 6 implementation support
 
Jenkins pipeline as code
Jenkins pipeline as codeJenkins pipeline as code
Jenkins pipeline as code
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
 
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
 
e3-chap-08.ppt
e3-chap-08.ppte3-chap-08.ppt
e3-chap-08.ppt
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Kürzlich hochgeladen (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Pipecut - slides from presentation at MeetBSD California 2014

  • 1.
  • 2. Note: About these slides • Original slides from the presentation follow – The slides are light on content, because I present without reading the slides. You probably want to watch the video instead of reading these. The slides were originally made in Inkscape / Jessyink • Past the end, I’ve included a few additional slides with details about pipecut that were demonstrated interactively
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. (Switch to a shell and show example commands)
  • 13.
  • 14. Additional information about pipecut • The previous slide was the end of the deck used for the presentation at MeetBSD, it was followed by a demonstration of the tool. • The code for pipecut will be hosted here: • https://code.google.com/p/pipecut/ • Project homepage: • http://www.pipecut.org/
  • 15. What is pipecut? • A tool for developing Unix pipeline command lines more quickly and easily • An interactive, vi-like curses interface that lets you see the data and edit the command pipeline on the same screen (no need to run and quit more/less over and over again) • A way to save useful commands and recall them later, or share them with others
  • 16. How does pipecut make commandline development faster & easier? 1/2 • Single-keypress hotkeys for adding common Unix commands • Real-time highlighting of matches while typing regular expressions • The ability to see the data transformation applied instantly as you add a ‘blade’ on the command line. See just one screenful, or process the entire data file • The ability to browse the state of the data at any stage by using the cursor keys (left and right) to ‘scrub’ through the ‘blades’
  • 17. How does pipecut make commandline development faster & easier? 2/2 • Works with every existing Unix command by using pipe(2) and treating it as a black-box – just works better with built-in commands • Optionally, start with your familiar environment on the command line, and run history | pipecut to take your pipeline into the pipecut environment • Give a ‘toolset’ and name and description, and it gets saved in your SQLite toolbox for use again later • With one keypress, generate a shell script that executes your toolset.
  • 18. What else will pipecut do in the future? 1/3 • Generate code that runs your toolset in other target languages. • Generate its own regression tests by comparing internal/external command implementations and generated code results • Provide accelerated implementations for command combinations such as ‘sort | uniq –c | sort –nr’ where a counted hashmap can be more efficient than standalone commands without context of how the data will be processed next (executing in pipecut, or in generated code)
  • 19. What else will pipecut do in the future? 2/3 • Add interactive support for more utilities’ arguments (Regex, field-references, byte-references) • Static analysis of regular expressions (e.g. highlight syntactical and semantic errors) • Optimization of pipeline display to users’ tastes (e.g. egrep –v ‘foo’ | egrep –v ‘bar’ vs egrep –v ‘foo|bar’ ) • Remappable keyboard commands
  • 20. What else will pipecut do in the future? 3/3 • Interactive command help • Possess a deep understanding of command line options on each utility • Allow user to force Regex highlighting mode while typing black-box commands
  • 21. Pipecut • The code for pipecut will be hosted here: • https://code.google.com/p/pipecut/ • Project homepage: • http://www.pipecut.org/ • Target for first release – Dec 24th, 2014