Marc J. Greenberg

Codemarc's Blog

awesome marc-i-tech

I am an awesome architect, who will likely fail your technical interview. Is it because I don’t really care (yikes) or maybe I can’t handle the pressure or maybe I am real renaissance man and it takes concentration to pull specifics from my minds long-term?, secure?, durable? object storage (glacier).

I often wonder why this is. I am a guy who has designed many really interesting and sometimes complex systems. I have ideated, prototyped, implemented and patented all sorts of technology (well ok, mostly integration focused stuff). Early in my career I worked on system architecture and language implementation. Later I spent time designing application independent protocol interfaces and lots of network connectivity stuff. Then I spent time as a integration architect, creating mountains of software to enable client/server, ESB/Integration Adapter/SOA/REST and finally arriving at the cloud/ data integration/bigdata/complex event processing/analytic world  I defined, designed and coded lots of interfaces. I worked the UX and coded the UI. I spent years with c/c++/, java, javascript, declarative scripting and so much more. I’ve designed eclipse based tooling (plugins) out of sheer willpower. I created tons of script, and built out what we call dev/ops today as tools to make my work more efficient. I have been a technical manager, scrum master, mentor and chief digital officer helping companies to “think” differently for years.

My bae’s were guys like Bill Gates, Steve Jobs (and the dancing Woz), Philippe Kahn, Ray Noorda and later Craig Newmark, Jeff Bezos and Jack Dorsey (who was so cool 10 years ago), John Resig!

I straddle the line between technology, sales and marketing.  I am a looking for a place where I can engage my best self fully. Where I can bring my unique value to make a difference in the creation, marketing and selling of cloud based, containerized, IoT,  aware, micro-service based software components.

I am not only the person who conducts the symphony, but the one that typically scores it as well. I have been a developer since I was a teenager and I still jam to that vibe. I have been known to ideate, create, and advocate all in once. I Identify the trends, locate the influencers, build the tools and engage the community and customers. It turns out that I am really a technical sales architect that is been successfully working indirectly in channel (sales) between the light and dark sides of the force for years. This is not my first rodeo, as I am 2/3 of the way home. I work the fog and clear the way.

In a company of over a thousand people, you will only find a handful of true innovators. These people spend their time thinking about how do things better. They stumble up new techniques, tools, technologies and methodologies, each replete with absurd complexity and thru careful researching and sometimes hacking they absorb the concepts and often build interesting things of substance.   

I have been doing this for years. Who are you and what do you do? Perhaps we can build something together?

You have the floor.


Know Thyself

photo-4Who are you? What do you Do?
Do you really know?

I love to build things. I like to play with hardware, IoT and other digitally driven real world magic . As a young software artisan, I rose thru the ranks of development organizations like doing laps in a pool. I slid gracefully into management, at first for of a small group, and then a larger one, and then a multi-team, multi-site, multi-tiered, matrix-managed, scrum of scrum-butt style of organization. I have been and have worked with chickens and pigs and the whole rest of the zoo.

I have always worked in and around math but was never really “good at it”. I am NOT a good speller! I am music, I am rhythm, I am creative, I am a script-er, I speak geek.

I have noticed that I am aging and I my vision is not so great anymore. Years of ear bud injected music has hurt my hearing. And the attention sucking internet has cause me to have trouble focusing. So I say dump it all. Do something better. Get out and live.


Spend time with the children and with your parents before they have gone. I can hear the ticking of the wall clock now and I am reminded of the Hal 9000 in Space odyssey. Will I dream? Of course you will. All intelligent beings dream. Nobody knows why.

Bright Lights – Blink Red

So here I am at a stand up desk. Its been a week of working with a new schedule, new office and new personalities. I keep low tones and an open mind.

All day out of the corner of my eye I have this Polycom ip phone on my desk with the red message light flashing. I ask if anyone knows how to shut it off and it appears that few people actually use their phones at all. So after a week of watching nuisance blinking, I got fed up and finally searched for the answer.


The side effect of the search is the location of documentation and of coarse the api / developers site.


Stevedore in the Fog

I have always been connected to the water. Staring out of my office window, gazing over downtown New York, I sometimes think about the what the city looked like during mid 19th century “Gangs of New York” times. I imaging myself as a dockworker loading and unloading ships only to realize I am a stevedore even now.

For the past year, many of the projects that I have engaged in have been about developing cloud delivered containers for large scale applications. The work allows me to maintain a sharp focus on a “Big Things” agends while continously delivering useful and reusable components.  To me the cloud is a reborn technology that encourages better architecture. The cloud of the now is simply understood as “Compute, Storage and Networking”; pure constructs in the cyberspace of Gibsons, Neuromancer.

Docker… Docker… Docker…   is the enabling technology that brings the devops estibador, super-scripting-power. The question is: how do we unravel the bigger messes and produce cloud native components that are robust but simple. Hopefully the answer will materialize soon enough

Tags: , ,

The script king

I have always been a scripter. To me scripting is the glue that binds the universe together. I have claimed that I am like a classic composer, creating beautiful symphonies out of concepts and code. Each movement, designed to evoke strong emotional reaction.

As a conductor it is script that drives the story home. It brings together a prelude, body and epilog in a way that allows us to look at something of interest in a holistic manner.

Scripting is often explained as the nirvana of high-level programming that is both abstract and concise, devoid of difficut low-level details (memory, performance, etc…)

Scripting appeals to the “hacker” element in our collective conscience by providing us with the
ability to drive a project’s design and development. There is a famous column by a well known
language designed Paul Graham entitled hackers and painters, where he says:

“What hackers and painters have in common is that they’re both makers. Along with
composers, architects, and writers, what hackers and painters are trying to do is
make good things. They’re not doing research per se, though if in the course of trying
to make good things they discover some new technique, so much the better.”

So this in a nutshell describes a core premise of my own working life.

“Sometimes what the hackers do is called “software engineering,” but this term is just as misleading.
Good software designers are no more engineers than architects are. The border between
architecture and engineering is not sharply defined, but it’s there. It falls between what and how:
architects decide what to do, and engineers figure out how to do it.”

So a final thought, script; as it relates to life the universe and everything.  For many years I have been a fan of one of the more interesting authors of our times, the late great Douglas Adams who somehow had a finger on the british humorist version of computing where the earth is itself is hadoop

relational humor (:
scott adams (dilbert),  douglas adams (hhgh),  douglas cutting (hadoop)
) yahoo!

And thinking along those lines are do we live our lives by acting out our life-script.

Is our life-script instantiated at birth as:

var script = new life();

for(var yearofyourlife=0; yearofyourlife < 100; yearofyourlife++);


A Fresh Start?

“Spring is the time of plans and projects.” – Leo Tolstoy (Anna Karenina)

As a software developer with a background in hardware it is always interesting and often painful to setup a new work environment. As it happens to be a sunny spring day (good friday almost easter) it seem that the theme of renewal is here. Coincidentally my old Dell precision workstation (circa 2004, perhaps the first 64-bit machine i ever used) has finally died.

Over the past few years I have bee running Ubuntu as my primary desktop working environment. This is probably the reason I to so much milage out of the old system. Each time someone else’s Dell precision workstation died, I would cannibalize the good parts and add them to my system. Net result is that for a grand total of $65 (for a galaxy force 6500 video card, an old but awesome card appropriate for the old system)  I had a great 2 dual core cpu’s (4 total), 24G memory and about 1 terabyte of disk space dual monitor developer workstation. So what happened? One of the three old fans died probably about a month ago but ubuntu didn’t care, it kept on ticking. eventually I needed to use the dvd drive for something and noticed it was dead, so eventually I powered down the system to check it out. And that was all she wrote. Funny thing is that although it was obvious that some of the insides had issues, the hard drives (2 beautiful SATA drives) were just fine. Oh well.

optiplex7010So I removed the good parts and scrapped the old system and ordered a new one. You know what, sometimes new is really better. I ordered up a Dell Optiplex 7010. with 3rd Gen Intel Core I7 (quad core, bug cache, real fast) so basically a 8 cpu machine with 16G of memory, 2TB disk, no monitors no fluff  for about $800 bucks.  It came in today so I ware ready to go to work on it.

On boot I got a brand new super clean version of window 7 running. I quickly configured the dual monitors and that I thought about how to configure the machine for real. After think about it for a while I decided there was no real reason torero what was done and as long as I am vigilant in the way I use the host (in this case windows 7) it should service as a great platform for development. So I painfully located all my windows application license codes for the basic stuff. For me this means Google Chrome, Dropbox.  Office 2010 (64-bit), Adobe Acrobat and virtualization software (I typically use virtual box). A few hours I finish installing the latest UBUNTU as a guest and start using it. AND it sucks. What—–

It just doesn’t feel right to me. Several discussions later and I realize it. Linux or OS X on the bottom is always the way to go. So now what. I guess I can use something to suck up my windows drive and virtualize it. Or may be I should go right ahead and boot Linux from a different physical drive. Then I can use the actual physical drive (with windows as the guest) and maybe that won’t suck at all. By the way I’ve also had a great deal of success using the latest wine stuff, so maybe I can look at that as a another option.

Funny thing about the story is that while I sit here waiting for all the file transfer/shuffling to finish (I needed to rearrange some of the stuff in disk) I am typing on my mac using its notes app. I really just use my mac and don’t ever really think about it.  So thats it for now I wait:

“Expect to have hope rekindled. Expect your prayers to be answered in wondrous ways. The dry seasons in life do not last. The spring rains will come again.” – Sarah Ban Breathnach

What do you do?

I am often asked, what do you do? I typically respond, I am in computers. I have no idea why this is an appropriate response but in the beginning it was quite literally true


I learned beginners programming (BASIC) in 1977, where the Dec-Writer was king and the ribbon was always broken. You literally got your hands dirty if you wanted to get anything done. I then took an after school job at Oliver Office Equipment Company, an original typewriter repair company that sold and delivered office supplies.
The ugly part of fixing typewriters was crawling around the basement of the store to find a replacement part from the hundreds of broken buybacks. I was just beginning to learn how to repair the IBM Selectric (with its million or so unique parts) when the first shipment of Kaypro II computers arrived. As an employee, I got the 50% discount and my first real box for about $850.00. I still have this computer on my window sill and it still works (although half of the 360K, 5 1/4″, single sided, single density are de-maged). Taking that bad boy apart and putting it back together was alway fun.

Then there was my work study job at Syracuse University with the campus computer services department. Day 1, I was given a cool briefcase full of tools and handed a bunch of trouble tickets and sent out to fix terminals. About half of the tickets were to replace ribbons on old Dec-Writers around campus and the other half was reseating video cards in volker-craig terminals. Then there was the day where a friend of mine tried to replace a card on terminal where he had inappropriately grounded the static discharge. And calling the ambulance after he flew across the room convinced me it was probably time to get out of being in computers.

So what do I do? I read, I write, I hack, I invent, I think and I teach. Creativity is a part of who I am. As an mathematical artist, I find beauty in music. I love its patterns and symmetry. I am interested in the layers and complexity that I hear and feel effortlessly. The math of technology is harder for me. I love simple logic, truths, repeatable certainty. I am fearful of complexity in that it can be a huge distraction. I am a fan of good field position, keeping your eye on the goal, and getting it done and while I dispise the notion of “good enough”, as an adult I understand it. The essence of Zen is on not identifying with one thought or its opposite, it is about getting to the awareness that is behind the thought.

I leave you with this thought: A distraught man approached his master. “Please, Master, I feel lost, desperate. I don’t know who I am. Please, show me my true self!” But the teacher just looked away without responding. The man began to plead and beg, but still the master gave no reply. Finally giving up in frustration, the man turned to leave. At that moment the master called out to him by name. “Yes!” the man said as he spun back around. “There it is!” exclaimed the master.

Big Data Floating in the Clouds

For the last few months I have been building a prototype on top of an Apache Hadoop 1.0.4 cluster that I  built from scratch out of six virtual machines running  Ubuntu Server 12.04.2 LTS. It has been an interesting experience. Simply put, this is the actual learning process that every hacker goes through on every new project whether its a programming language, platform or technology. So now that I got a handle on the basics and I can take an earnest look at other peoples packaging.

Today I am checking out the current offering from Cloudera. I found the download named Clouder Manager 4.5 Free Edition, and proceeded with the installation. Of course I need to install it on a few nodes so I am back to setting up some more servers.

Cluster up

This time I decide to use my mac pro server configured with virtual box. I planned on running a three server cluster (cloud1,cloud2,cloud3) so I set it up and run into a few networking problems. I get my ops dept to fix my port to allow for multiple mac addresses. Here are some of the issues and solutions I encountered when setting up the environment:

For each cloned virtual server I needed to change (persistently) its host name and mac address. The tools ( virtual box in this case ) should have properly handled this. It did NOT. So I did the following  hand job on each machine.

  1. sudo vi /etc/hosts
  2. sudo vi /etc/hostname
    (remove cloud definition from each)
  3. sudo vi /etc/dhcp/dhclient.conf
  4. sudo rm /etc/udev/rules.d/70-persistent-net.rules
    sudo mkdir /etc/udev/rules.d/70-persisitent-net.rule
    (thank you Peter Mount)

Install Cloudera Manager (Free Edition)

So my first installation was from my remote desktop linux to my cluster and it failed. I then decided to allocate another local instance (cloud0) and try again. The installer runs ok and i point my web browser at http://cloud0:7180, login as admin/admin and away we go:

This installer will deploy the following services on your cluster:

  • Apache Hadoop (MapReduce, HDFS, Common)
  • Apache HBase
  • Apache ZooKeeper
  • Apache Oozie
  • Apache Hive
  • Hue (Apache licensed)
  • Apache Flume NG
  • Cloudera Impala (Apache licensed)

You are using Cloudera Manager (Free Edition) to install and configure your system.

I specify cloud[1-3] and get the following results:

Expanded Query Hostname (FQDN) IP Address Currently Managed Result
cloud1 No Host ready: 9 ms response time.
cloud2 No Host ready: 7 ms response time.
cloud3 No Host ready: 16 ms response time.

While it took a few tries I finally got the following:


So now It asks me decide which CDH4 services I should install. I pick core hadoop for my first attempt withan embedded PostgreSQL database setup:

Database Host Name: Database Type: Database Name : Username: Password:
cloud0:7432 PostgreSQL hive hive aflhU8ZThz

and all defaults for the rest. 13 steps later  and viola:


Now What

cm Ok so its installed, and we can see. I guess I have to spend some time installing my parts and working with this version to see what happens and how it behaves. But thats for another day.

Thoughts on a long and healthy battery life

So today, I woke up as usual, ran thru the morning rituals, ate breakfast, grabbed the keys and phone and out the door I went, A very typical day. I jumped on the train, found a seat and then started my work day (I get 1 hour each way, 5 days a week, 4 weeks a month. So I basically work an additional 40 hour week on the train).

First I check my phone and notice it is off. I try to boot it a few times and realize, no power, way lo battery as it flickers off. Who knows why, maybe the charger wasn’t really plugged in or maybe some-one switch batteries on me (again!). Like I said a typical day. So I pull out the laptop, as this is Ubuntu 12.04 LTS release time, now is a great time to play with it. As I open the lid, I notice that it is powered off. Like the phone, I try to boot and cant get passed the bios check. Like the phone, another device is dead again. Next up I the iPad and it’s batter meter is red with 5% left. I try using it a but but shortly device #3 is doa. So I pull out my workout iPod nano, at least I can tune out the trip. Guess what, another fail.

Holy moly, did we have an EMP burst? So here I sit on the electric train with no electronics to use. Perhaps its time to read. I check my bag and no books, no mags, no papers except an old paycheck envelope. So I grab a pen and begin to write, Old school. Why does the simple act of writing with a pen seem like such a luxury in 2012. Here I sit on a quiet train, traveling with my thoughts and the time to compose and record them by hand (which is beginning to hurt since its been a long time since I’ve written more then a signature). As I look around I notice I am the only one with a pen, in hand. Everyone is glaring at the tiny devices; tablets, phones, laptops, etc. I am surrounded by energy and yet I have none of my own. I guess this is the real reason why, I don’t like Mondays. Ive always know that I had no real power. It’s a good thing we don’t need to remember to recharge ourselves.

Live Long and Prosper

The new York scrum

Last week I spent three days attending a Learning Tree course entitled “Agile Project Management With Scum” Course 918.
I took this course because I was looking for some validation on what my scrum team had been doing and I figured that this was an easy way to achieve it. And anyway the company had some education vouchers so it was pretty easy to arrange.

Getting up real early and riding the subway downtown had some real surprises. First of all, I had forgotten that if you leave the house real early, then parking at the station is easy as there are many many spots. Also the subway downtown pre-rush hour is pleasant, although the extra 15-20 mins each way kinda sucks. But the biggest thing that I had forgotten is how simply wonderful lower Manhattan is in the morning.

The facility is located at One New York Plaza-31st Floor. This spot is across the street from South Ferry, and has a great view of the waterfront including Governors Island, the Statue of Liberty, and the rest of the harbour. I have not really spent much time downtown since the summer before 9-11, so this was a pleasure. I roamed around quite a bit and kept thinking about the “Gangs of New York“.

The course was lead be a guy named Maurice Hagar who was reasonably well trained as a “professional teacher”. These classes always feel like they are a little heavy in the marketing aspects of “professional education” but I guess everyone needs to make a buck. There were at least 25 attendees and while the information disseminated can be learned from books there is nothing like being forced into participation with a group of strangers. I had initially thought that I was going to hate this, but it turned out to be really ok. And the whole experience was worthwile.

Sometime agile is referred to as fragile. In the end the all we need to do to tighten up our current agile process is to get a little stricter with out adherence to the principles and maybe do a little less scrum but.