Benedict Ciceron (linkedin.com/in/ben*ajob)
Berkeley, CA - Permanent Resident - Travel Ok - Relocate No - Contract No.
bciceron on Skype - ********@*****.*** (email+IM)
--- Craftsmanship for Unix ---
Custom Tools, Metrics, Instrumentation, Graphing, Monitors, Automation.
---
WORKING HISTORY
Triggit (see triggit.com) - Senior Linux Engineer -- 11/2010 - 07/2013
As a DEV/Ruby
Transferring all transaction logs to the cluster nodes (100s)
Copying data into the hadoop cluster
Original coding and conversion of our Backup script from Shell script to Ruby+Amazon AWS/S3/
CloudFront+RSPec+Methadone
Manage Internet traffic through the Dynect REST API (Ruby+Redis/Doozer+JSON)
As a DEV/Python
Created custom 60+ monitoring probes in Python for Nagios/NRPE, Ganglia, Graphite, Datadog
Added alerting with SendGrid, Gnu Monit, SMS, PagerDuty, PingDom
As a DEV/Erlang with StatsD+Graphite
Memcached evictions stats (fetch+send)
Redis info stats(fetch+send)
As a DEV/Clojure
Original coding and conversion of a log shipping Bash script to Ruby then Clojure/leiningen
(partial)
As an OPS:
Evaluated Dashboards: Geckoboard, StatHat, Datadog, Graphite
Evaluated/rebuild GitHub projects : Kafka, Chronos/Mesos, Rundeck, Tron, Herd, Sensu, Doozer
Benchmarking, evaluation of new components : Riak, Scribe, Hpn-ssh, Bbcp, Cucumber for OPS
Single ops for over 2 years including 1st line of support before hiring 2 more ops
Implemented Puppet for all servers (Ubuntu 10/12 on amd64 with 24 cores 128G) in all data
centers across the globe
Added Monit probes for every software component across the entire Application Stack
Managed Hadoop, Hbase, Hive, Mapr
Daily use of cluster tools i.e parallel shells: Pdsh, Clustershell, Clusterit
Custom Built or back-Porting + re-Packaged by the dozen e.g : Redis 2.4, 2.6, Monit, MMonit,
Postgresql 8.x, 9.x, libjmalloc, libzmq, Nginx
Daily interaction with business partners:
● Data Center (DataPipe)
● Hadoop Cluster (Cloudera, Mapr)
● Monitoring (Datadog, Boundary)
● Global DNS (Dynect)
Managed Daily operations:
● Initial Provisioning with Provider (Datapipe) and re-provisioning
● Total Cloud Management of VMs (DataPipe Cloud)
● System updates, System upgrades (Ubuntu Aptitude)
● Firewall rules (iptables)
● Custom Kernels (dpkg, fpm)
● Troubleshooting Network, Boot, Performance issues (strace, nf_conntrack)
MontaVista Software/Cavium Networks (see mvista.com, caviumnetworks.com) -
Embedded Linux Support Engineer and Consultant -- 2008 - 2010
● Provided email and phone Support for MontaVista Embedded Linux Distribution in 3 major market :
Target : Kernel (2.4/2.6) and user-land, Testing KO Patches, Validation before Pre-Release
Target : Xilinx, MIPS+64, PPC, x86+64, ARM from single core to 16 cores
Managed Board farm including hundreds of targets/BSPs, including soldering
Handled BSPs from receiving dock to shelving and racking (ATCA/microATCA), config, boot, CPU
in socket replacement, debug, connect, shipment to remote board farms worldwide or archiving when
obsolete
Provisioned from scratch, HW + SW installation, Bootloader configuration e.g U-Boot, I/O
configuration, remote access ; used Xilinx tools to convert kernel and generate filesystems ; added/
removed INITRAMFS filesystems
Troubleshooted board malfunction including re-flashing bootloader using ABATRON's BDI2000,
bootloader backup copy on PPC, re-flashing EEPROMs
Managed servers install HW+SW+Network configuration as cross-development environment
Trained peers on internal board farm tools based on VM hosts within VMWare ESX cluster
+ NetApp Storage allowing booting any board form either NFS + INITRAMFS through GNU
EXPECT scripts
● Lead MVL6/OpenEmbedded effort for the Worldwide Support Team :
Championed Development from the Support perspective :
■ SPECed tools for gathering Hosts and Target data for Support
■ SPECed mirroring tool option to allow meta-data file format easy conversion for end-users
■ Reviewed dozens of Engineering SPECs on new features and tools.
Initiated and Reviewed documents for end-users from FAQs to User Guides to Quick Start
Engaged Field personnel to support the BitBake/OpenEmbedded paradigm shift
Top user sharing knowledge internally using TWiki extensively
Coordinated work with Sales and Field personnel regarding escalations, renewals and consulting
opportunities
Interfaced with peers at Cavium Headquarter for :
■ Best use of MontaVista's product on Cavium Platform
■ Best use of Cavium's SDK on MontaVista's BSP e.g SimpleExec, coordinated troubleshooting
● Contributed in BSP Release for all released target boards since hired
● Coordinated creation of remote board farms in the US (HI, TX) and INDIA (Mumbai, Bangalore)
● Offered Support at the Corporate level for other Field Engineers in WorldWide Branches
● Ensured Phone Support for Sales and Tech Marketing involved in customer demo or on-site presentations
● Participated in Pager rotation for Premium Fortune500 Customers WorldWide
● Interfaced with Major Manufacturer regarding test case to handle their official patch release with
MontaVista's BSPs : Motorola/Freescale MPCxxxx, Texas Instruments DaVinci Dxxx, Cavium Networks
Octeon 3xxxx/5xxxx
AOL/Time-Warner (see truveo.com, aol.com/video) - Linux Deployment Tools Engineer -- 2007
-- Build/Release Framework + Monitoring + Automation Developer
● Project: Video Search Engine
● As a DEV:
● Developed Build and Release Framework for a federation of Clusters : YUM 32/64Bits repository of RPMs,
GMake, Subversion-SVN, Trac(SVN)
● Developed deployment scripts for the server farm
● Developed framework and build packages for all (~50) internal and public code and config as RPMs, use
cluster tools (clusterit/dsh/barrierd) for parallel deployment in multiple Data Centers
● As an OPS:
● Automated tools configuration : Gnu Monit, DaemonTools(SVC), memcached, mysql
● Developed Monitoring scripts : Gnu Monit, Daemontools(SVC) for all processes
● Shared knowledge with scattered teams : Trac, MediaWiki
● Troubleshooted Linux C/C++ Application : strace, gdb
● Supported Ruby code, XHTML, REXML/erb
● HW: multicore DELL 2850/2950 running Red-Hat Enterprise Linux 4.5
Hewlett-Packard Corporation - Linux/HP-UX Application Engineer (Multi-Threaded & Distributed &
Concurrent)–- 2000-2006
-- (Platform engineering/Integration) --
● Project: ( hp.com/go/payperuse ) On-Demand Computing, Utility Computing, Pay-per-use
● Design linux application appliance as part of the 3-tier corba application back-end (IDL definition and
compiler)
● Developed Macro to CORBA client using GNU Guile/Scheme.
● Patched and repackaged existing OpenSource RPM (openpegasus/wbem/cim)
● Packaged proprietary application with RPM (created SPEC file and and all scripts), auto-install with
kickstart, GNU GRUB, GNUPG (GPG)
● Used OpenSource tool-set daily: administered SCM (CVS), administered bug tracking system (GNU
Gnats+Gnatsweb), administered collaboration tool (TWiki)
● Developed monitoring plugins for to keep production stable 24/7/365 with Gnu Monit,: JBoss, Apache,
Corba servers
● Developed dynamic update of RSS feed based on logfiles changes
● Automation of nightly build, daily data set for customer demo, system auto-install and patching
● Trained new platform support employees worldwide
● HW: HP Proliant DL & ML
-- (Linux Back-End Multi-threaded Applications) --
● Project: ( hp.com/go/payperuse ) On-Demand Computing, Utility Computing, Pay-per-use
● Architected 3-tier linux corba application to gather, load,, compute, archive, show, bill customer's usage.
● Developed back-end application using Design Pattern (3-Tier) with Mico/micomt Corba, Apache, openssl,
webm, Oracle10g, GNU Make, GNU GCC C++ (STL), CGI, javascript, GNU bash, GNU GDB on RedHat
(RHEL 3 & 4), Fedora, CentOS (3 & 4), Suse.
● Developed network application using TCP/IP, CORBA, SNMP, WBEM, HTTP, HTTPS
● Developed front-end application and xml/db API with XPATH, XML,/XLB Apache Xerces + Linux RedHat
(RHEL 3 & 4), CentOS (3 & 4), Suse (9 & 10).
● Developed unit tests, regression tests, integration/system tests for the above.
● Ported Unix Application from HPUX to GNU Linux, converted to multi-threaded paradigm
● HW: HP RX26x0 (Itanium IA64), HP RP34x0, K & R class, HP 9000 class, HP Superdome
Hewlett-Packard Corporation - Unix Engineer – 1996-2000
-- (Operating System) US headquarters
● Project: ConvexOS, SPP-UX
● Fixed bugs in the Mach-OS (Unix-SystemV): instrumented kernel (logging/tracing), reproduced, diagnosed,
coded short fix in C (GNU GCC), kernel crash dumps analysis (kgdb), packaged & qualified patches of
major OS releases, announced to the field, delivering to customers, testing on sites, advised on how to
prevent known failures, fixed security bugs (inetd), developed troubleshooting scripts
● Enhanced Unix kernel (e.g tunables) and Unix utilities (e.g rcp).
● Handled Support issues on multi-processors (ccNUMA) Unix-OS in Mission Critical environments (PA-
RISC on S-Class, V-Class)
● Traveled to Canada, Germany to fix customers' issues on-site to address network issues with HIPPI and
FDDI
● HP Most Valuable Partner - MVP 1998
Convex Corporation - Unix Engineer – 1993-1995
● Project: ConvexOS, SPP-UX (http://en.wikipedia.org/wiki/Convex_Computer)
● Resolved performance problems with the OS : tuned, configured initial system set-up and test ( on and off
sites), analyzed network TCP traffic, partnered cross-organizations : support / lab / customer, coordinated
field actions, porting utilities, lead candidates' interview, mentored new hired.
● Provided help to the field or customers by solving the sysadmin issues (Batch, LSF, FLEXlm), optimizing
applications using profilers (GNU GPROF) including on sites fix of hot issues, kept up-to-date database for
the support organization, installed/upgraded patches / software.
● Traveled around France, Oman to fix customers' issues on-site.
CRIL
● Development of a API for a C++ to Objective-C (objC ; objectiveC) translator
Thomson-CSF/Thales -- Internship in development
● Development of a Common-Lisp abstraction layer for an artificial intelligence prototype
EDUCATION
Telecommunication (OSI 7 layers model)) and Computer Networks (1 year euromaster/CITCOM -- see
francetelecom.com/en)
Software Engineering (4 years degree in CS engineering school -- see supinfo.com/en)
PROFESSIONAL TRAINING
Erlang Evening Class
Cavium Octeon Processor Family Introduction
Embedded and Real-Time GNU Linux
XML / XSLT / XPATH / XBL
Smalltalk & Objective-C programming
HP-UX system internals & IA64 asm
Mach OS internals
Home Projects and CONTINUING EDUCATION
since 1985 : Happy home user of MacOS + Xcode (Clojure,Erlang/C/C++/Ruby/Python//Git,SublimeTest) +
Interface Builder + AppleScript + Dashcode + Brew + VirtualBox.
since 1999 : Happy home Linux user + CLI + Open Source (Vim + shell + Gnu Make + Gnu GCC + Erlang/OTP).
Python for Programmers
Linux System Programming (POSIX)
Advanced C Data Structures
C++ and the Standard Template Library (STL)
Object Oriented Programming with Ruby