<html><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
</head><body bgcolor="#FFFFFF" text="#000000"><span><meta 
charset="utf-8"><span style="color: rgb(34, 34, 34); font-family: arial,
 sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">I'm not sure I follow. I think
 you may have misunderstood what I am trying to accomplish. Here is a 
simple low-level example I just whipped up in a Clojure repl using the 
standard built-in Java Process library.</span><br style="color: rgb(34, 
34, 34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><br style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">user=> (def proc (.exec (Runtime/getRuntime) (into-array 
String ["cat"])))</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">#'user/proc</span><br 
style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">user=> (def stdin (.getOutputStream proc))</span><br 
style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">#'user/stdin</span><br style="color: rgb(34, 34, 34); 
font-family: arial, sans-serif; font-size: 13px; font-style: normal; 
font-variant: normal; font-weight: normal; letter-spacing: normal; 
line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
 text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">user=> (def stdout 
(.getInputStream proc))</span><br style="color: rgb(34, 34, 34); 
font-family: arial, sans-serif; font-size: 13px; font-style: normal; 
font-variant: normal; font-weight: normal; letter-spacing: normal; 
line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
 text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">#'user/stdout</span><br 
style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">user=> (.write stdin (.getBytes "Hi!"))</span><br 
style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">nil</span><br style="color: rgb(34, 34, 34); font-family: arial,
 sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">user=> (.close stdin)</span><br style="color: rgb(34, 
34, 34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">nil</span><br style="color: rgb(34, 34, 34); font-family: arial,
 sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">user=> (let [arr (byte-array 3)] (.read stdout arr) 
(String. arr))</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">"Hi!"</span><br style="color: 
rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; 
font-style: normal; font-variant: normal; font-weight: normal; 
letter-spacing: normal; line-height: normal; orphans: auto; text-align: 
start; text-indent: 0px; text-transform: none; white-space: normal; 
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><br style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">Lots of unix programs work like this. We have cat in this 
example, but grep, wc, and various others work like that as well, in 
that when you run them they listen for data and wait for you to send EOF
 and then they start producing output. It's a very common thing.<br>
  <br>
Every language I can think of lets you work with programs like this. 
Ports are an abstraction for both reading and writing. The important 
missing piece of functionality is being able to send EOF and tell the 
program that you are done writing so that it can produce output. I'm not
 following why this is a bad thing.<br style="color: rgb(34, 34, 34); 
font-family: arial, sans-serif; font-size: 13px; font-style: normal; 
font-variant: normal; font-weight: normal; letter-spacing: normal; 
line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
 text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);">
</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">Perhaps this example and clarification will clear things 
up, and I apologize in advance if I am missing something crucial!</span><br
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255);"><br style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">-Anthony</span> </span><br>
<br>
<blockquote style="border: 0px none;" 
cite="mid:84B285D8-E332-4ECD-8B77-C444D9C0BCE6@cs.otago.ac.nz" 
type="cite">
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="ok@cs.otago.ac.nz" photoname="Richard A. O'Keefe" 
src="cid:part1.00060109.07000205@raynes.me" 
name="compose-unknown-contact.jpg" height="25px" width="25px"></div>   <div
 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:ok@cs.otago.ac.nz" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Richard A. O'Keefe</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">July 29, 2013 
12:15 AM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><pre wrap="">On 29/07/2013, at 4:14 PM, Anthony Grimes wrote:

</pre><blockquote type="cite"><pre wrap="">and communicating with external processes in Erlang. They seem to have
at least one particular fatal flaw which prevents them from being very
useful to me, and that is that there is no way to close stdin (and send
EOF) and then also read from the process's stdout. For example, I cannot
use a port to start the 'cat' program which listens on stdin for data
and waits for EOF and then echos that data back to you. I can do the
first part, which is send it data on stdin, but the only way for me to
close it is to call port_close and close the entire process.
</pre></blockquote><pre wrap=""><!---->
Note that "only send data to a command" and "only receive data from a
command" are the traditional ways for a UNIX program to communicate
with another over a pipe.  popen(<command>, "r") reads the output of
the command and popen(<command>, "w") writes to the input of the command.
There isn't even any standard _term_ for talking about connecting to both
stdin and stdout of a command in UNIX, and that's because it's an
incredibly easy way to deadlock.

</pre><blockquote type="cite"><pre wrap="">This issue prevents Erlang users from doing any even slightly more than
trivial communication with external processes without having some kind
of middleman program that handles the creation of the actual process you
need to talk to and looks for a specific byte sequence to indicate 'EOF'.
</pre></blockquote><pre wrap=""><!---->
Just like it prevents C users from doing the same thing.
Unless they fake something up using named pipes or UNIX-domain sockets.
(Or message queues.  I do wish Mac OS X implemented rather more of POSIX...)

Unix anonymous pipes are simply the wrong tool for the job in _any_
programming language.

The historic way to do "slightly more than trivial communication with
external processes" has been to set the external processes up as C nodes
or to use sockets.




</pre></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="i@raynes.me" photoname="Anthony Grimes" 
src="cid:part2.02060402.09070603@raynes.me" name="postbox-contact.jpg" 
height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:i@raynes.me" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Anthony Grimes</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">July 28, 2013 
9:14 PM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody">
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <span><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">Howdy folks.</span><br 
style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255);"><br style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">I unfortunately have not been able to use Erlang for most of 
what I've</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">been doing lately because of a long standing issue with 
Erlang ports</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">that I'd like to start a 
discussion about here.</span><br style="color: rgb(34, 34, 34); 
font-family: arial, sans-serif; font-size: 13px; font-style: normal; 
font-variant: normal; font-weight: normal; letter-spacing: normal; 
line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
 text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">As far as I am aware, ports are generally the only option 
for creating</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">and communicating with 
external processes in Erlang. They seem to have</span><br style="color: 
rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; 
font-style: normal; font-variant: normal; font-weight: normal; 
letter-spacing: normal; line-height: normal; orphans: auto; text-align: 
start; text-indent: 0px; text-transform: none; white-space: normal; 
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">at least one particular fatal flaw which prevents them from 
being very</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">useful to me, and that is that there is no way to close 
stdin (and send</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">EOF) and then also read from 
the process's stdout. For example, I cannot</span><br style="color: 
rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; 
font-style: normal; font-variant: normal; font-weight: normal; 
letter-spacing: normal; line-height: normal; orphans: auto; text-align: 
start; text-indent: 0px; text-transform: none; white-space: normal; 
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">use a port to start the 'cat' program which listens on stdin for
 data</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">and waits for EOF and then echos that data back to you. I 
can do the</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">first part, which is send it data on stdin, but the only 
way for me to</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">close it is to call port_close
 and close the entire process.</span><br style="color: rgb(34, 34, 34); 
font-family: arial, sans-serif; font-size: 13px; font-style: normal; 
font-variant: normal; font-weight: normal; letter-spacing: normal; 
line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
 text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">This issue prevents Erlang users from doing any even 
slightly more than</span><br style="color: rgb(34, 34, 34); font-family:
 arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">trivial communication with 
external processes without having some kind</span><br style="color: 
rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; 
font-style: normal; font-variant: normal; font-weight: normal; 
letter-spacing: normal; line-height: normal; orphans: auto; text-align: 
start; text-indent: 0px; text-transform: none; white-space: normal; 
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">of middleman program that handles the creation of the actual 
process you</span><br style="color: rgb(34, 34, 34); font-family: arial,
 sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">need to talk to and looks for a specific byte sequence to 
indicate 'EOF'.</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">I could totally be wrong, but it seems like we need 
something other than</span><br style="color: rgb(34, 34, 34); 
font-family: arial, sans-serif; font-size: 13px; font-style: normal; 
font-variant: normal; font-weight: normal; letter-spacing: normal; 
line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
 text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">just port_close. Something 
like</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><a
 moz-do-not-send="true" style="color: rgb(17, 85, 204); font-family: 
arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" 
target="_blank" 
href="http://www.erlang.org/doc/man/gen_tcp.html#shutdown-2">http://www.erlang.org/doc/man/<wbr>gen_tcp.html#shutdown-2</a><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;"><span class="Apple-converted-space"> </span>which lets you
 say</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">"Hey, I want to close the stdin of this process but still 
read from its</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">stdout." or something similar.
 I could be totally off track on what a</span><br style="color: rgb(34, 
34, 34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">good solution would be.</span><br style="color: rgb(34, 34, 34);
 font-family: arial, sans-serif; font-size: 13px; font-style: normal; 
font-variant: normal; font-weight: normal; letter-spacing: normal; 
line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
 text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">So I'm wondering if people are aware of this problem, and 
I'd like to</span><br style="color: rgb(34, 34, 34); font-family: arial,
 sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">make sure that people think it is an actual problem that 
should be</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">fixed. I'm also curious what people think a good solution 
to the problem</span><br style="color: rgb(34, 34, 34); font-family: 
arial, sans-serif; font-size: 13px; font-style: normal; font-variant: 
normal; font-weight: normal; letter-spacing: normal; line-height: 
normal; orphans: auto; text-align: start; text-indent: 0px; 
text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255);"><span style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
display: inline !important; float: none;">would be. I'm not sure I have 
the time/particular skill set to fix it</span><br style="color: rgb(34, 
34, 34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 
34); font-family: arial, sans-serif; font-size: 13px; font-style: 
normal; font-variant: normal; font-weight: normal; letter-spacing: 
normal; line-height: normal; orphans: auto; text-align: start; 
text-indent: 0px; text-transform: none; white-space: normal; widows: 
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); display: inline !important; float:
 none;">given that the port code is some pretty obscure (to me) C code, 
but</span><br style="color: rgb(34, 34, 34); font-family: arial, 
sans-serif; font-size: 13px; font-style: normal; font-variant: normal; 
font-weight: normal; letter-spacing: normal; line-height: normal; 
orphans: auto; text-align: start; text-indent: 0px; text-transform: 
none; white-space: normal; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span
 style="color: rgb(34, 34, 34); font-family: arial, sans-serif; 
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 
normal; letter-spacing: normal; line-height: normal; orphans: auto; 
text-align: start; text-indent: 0px; text-transform: none; white-space: 
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
 background-color: rgb(255, 255, 255); display: inline !important; 
float: none;">starting conversation seems like a good way to begin.</span>
 <br>
  </span>
  </div>
</blockquote>
</body></html>