We are getting very close to launching our first software product. We are very excited as this is just the tip of the plans we have regarding NetSuite.

This first project is a comprehensive interface between MailChimp and NetSuite. By comprehensive, we are looking to support the full API of MailChimp in NetSuite. So while the product will function out of the SuiteBundle in keeping both NetSuite and MailChimp data in sync, it will also offer a full MailChimp API to the NetSuite customer. Very cool stuff.

While it is very easy for us to just support MailChimp API in NetSuite as a JSON data feed, we have taken the time to create an environment where calling the MailChimp API will actually populate the data from MailChimp into NetSuite tables for integrated reporting. This is how it should be done.

There are a few competing products in the MarketPlace which integrate NetSuite and MailChimp. This is not the first, but it will be better than the rest because it will allow the customer to extend the product if they desire. If not, we can offer better customizations than the next company because we already have the work completed.

However, even the best laid plans take a turn. The goal of Office Data & Design is to implement our series of software entirely within NetSuite. Most of these companies who do this kind of integration use middleware for the conversion. This creates a secondary layer for failure, delays real-time updates, and increase the cost of deployment. We were trying to avoid that when NetSuite indicated they do not support an HTML anonymous PUSH method to their service from any User-Agent than those of the top 5 browsers. They support all other methods from anything, but the POST is only from these five. It seems very arbitrary.

So for a short period, we are going to release this software with middleware. We have a work-around which will get us back on track, but we need to launch the product.

Netsuite is putting in some overtime in getting their customer’s ready for a large change. They are finally updating the look of their interface.

For those customers who have eCommerce via Simple Website, Site Builder or Suite Commerce Advanced, the common term is the backend website when referring to the NetSuite interface. These webpages were last updated in 2008, with functional changes in each and every release.Continue reading →

I run a fairly large repository server which my children have nicknamed FatDrive. It is a 19 drive unit, with a total capacity of 35TB. Not in the extremely large size, but good enough. The box, like most of my Linux runs Gentoo. It is just faster.

At first I was just running LVM with mdadm. But after a drive failure, I found out my data was not as well protected as it should. See standard filesystems, like ext(2,3,4) do not have the ability to correct/repair data stored on the drives. As a standard, the data on drives start to decay. So it is best to have a filesystem which scrubs the data and verifies the information, recovering as possible.

ZFS is very mature system designed for very large datacenter systems. As such it has many capabilities and strengths. The only downside to ZFS is that it is not native to Linux. It is the creation of Sun and has been ported to Linux.

The port has it’s problems right now, but on the whole it is stable.

So, why move. Well, ZFS is designed around the use of very high end drives. ZFS expects the drives to be highly stable and have very large write caches. The kind of drives I am using are in the spirit of RAID (Inexpensive). In addition, to run ZFS takes a very large amount of dedicated RAM. Without these two pieces, ZFS running very large arrays is very slow.

As of this writing, BTRFS is still beta, however, having my drives sit with 100+ transactions per minute for 4+ days with no services running is a bit excessive. The ZFS drives, when not beating up my system on writes is VERY fast. The system is stable, and keeps my data secure, but so does my backup server. What I need is the ability to write to my drives without it taking 6 to 10 times as long as writing to a standard array.

BTRFS may not be fully stable on the full RAID, however, I do have backups, and am looking at reconfiguring my RAID to be more distributed. As it turns out I only need one 8TB drive, and the rest can be much stronger.

Well, this shows you should keep on top of open source, especially with Gentoo.

I did the standard emerge –sync since it has been > 48 days since I last updated my terabyte server. After this, I ran an emerge -av –update system. Yes there were 14 files which needed to be recompiled.

Turns out that the latest OpenRC updates delete one’s existing net.ethX sym links. Needed to recreate these. I also found out the array style of /etc/conf.d/net file has been changed. I can see this as a problem for some SliceHost slices I run. Need to make a note of this change.

I also found out the old afpd init script was still in the default list. This is the old version since Gentoo is only up to 2.1.5 of netatalk and I am running 2.2-beta4. Yes, some things I like on the bleeding edge. I removed this and added netatalk script I created (and is really better). Should be good now.

Been working on a CalDav server compile on Gentoo. I should have full instructions by the end of the week.

Getting back into the swing of things, I decided to update my WordPress software on the server. Having moved the web hosting from an old virtual server to a new Gentoo installation, I had not updated this software this year yet.

When I went to install the software, and clicked on update, the system prompted me for my ftp password, and then the next screen was blank. It had the WordPress theme on the top and the options on the right side, but the rest of the screen was blank. No message, no error, nothing.

I took a moment to look through the logs on the Gentoo server but saw nothing posted with regard to an error. So I decided to start putting debug statements into the WordPress PHP code to deduce what was happening in the software.

First let me say that WordPress really needs to improve their code here. While the software does check for errors, most of the errors return the functions with NO error messages being posted. In fact, the code specifically looks like it tries to hide errors occurring.

For example, the system checks to see if some class modules are loaded. If the class modules are not loaded, it tries to load these modules. If the files for these class modules don’t exist, the system just returns nothing. However, these errors were not the key problem.

If the user doesn’t have rights to the directory, the system just exits the function with no error. Once again, these issues were not the error.

The error came in the wp-admin/include/class-ftp.php code. The error is NOT in the class itself, but in the loading of the class. During that process, the code looks to see if the php sockets module is loaded. If it isn’t loaded, the code tries to load it. But if the module isn’t available to PHP, the PHP code just dumps and doesn’t return to the code stream.

In my opinion, this is not only an issue for WordPress, but all PHP code. If you try to do a @dl to load the module, and the module doesn’t exist, PHP will not error, nor does the error code following it get executed.

The solution in my case was to make sure PHP was compiled with the “sockets” module enabled. In Gentoo, this is a simple task of making sure the USE flag for sockets is set for the dev-lang/php package.

echo ‘dev-lang/php sockets’ >> /etc/portage/package.use

emerge -av dev-lang/php

After this, the updates were able to flow into WordPress. Hope this helps you.

Okay, we need a bit of a background. You need to change to survive. If you are going to change, it helps to understand the path of how we got to where were are today. From there, you can define where we want to go, and then chart the course. If I lost you at why you need to change, this article is not for you. Face it, the internet is not for you. For all others, please let me explain.

There are two paradigms in the corporate world regarding creative processes. The first is to take everything in a business workflow, reduce the work to a set of procedures and policies, then hire the cheapest person you can for the process steps. The more you simplify your processes, the easier it is to replace a worker with something or someone cheaper, and therefore, the cheaper a process becomes. A worker becomes the cog in the machine of industry. This is the concrete thinking process at its finest. Cheap processes increase profit and provide a necessary hedge against competition. Nothing new here right?

This model has been a main-stay of industry since Henry Ford realized you could produce consistent quality products at a lower price by standardizing the work. With the advent of computers, and the ability of computers to simplify/replace portions of the process, competing companies are in a race to lower costs and increase quality. This drive to extremes translates into companies maximizing profit. Because of these extremes quality has never been greater. One time asset investments in machines (digital and otherwise) produces huge dividends by eliminating a high cost of production, the worker.

For years in the USA, manufacturing has been driven by these goals. The first real challenge faced by US manufacturing was Japanese refinements to our processes and their subsequent improvements in quality. The second wave of hits in the US is a willingness of overseas workers to take a lower wage than their US counterparts to perform the same basic tasks. ISO 2000 is the final nail, making the quality and consistency of foreign workers similar to the US workers given the same materials and process. Then again, this is old news.

The one thing corporations have left out of the equation is a concept of creativity. So far, there is no way to make an assembly line out of a creative process. Creativity by its nature is not a definable process. Without creativity, corporations do not create the next latest-greatest widget. Once the new widget is created, a world of manufacturing knows how to break it down and create the widget consistently and reliably cheap. The lack of defined creative process has not prevented corporations from seeking this holy grail of production, to standardize their creative process, but largely, it is not a linear path nor are the most talented creatives prone to fit into the world of manufacturing standardization. These companies face a real problem of talent retention and try all sorts of legal tricks to capture an essence of the creative long after the creative is not compensated by the corporation.

We will call this first type of company, a process driven company (PDC). Recent examples of PDC companies would be Microsoft, GM and 3M.

The second paradigm is to make a corporation overly full of very creative people. These companies outsource all the manufacturing and become just a design shop. The more creative your staff is, the better your design. The better the design, the more unique your product is, and the easier the marketing for the product becomes. This is a world which Seth Godin is trying to define.

This paradigm is very old. It is a paradigm of the great architects and artisans. Creativity was classically found in a wheelwright, tentmaker, carpenter, blacksmith, or tinker of old. Today, some carpenters are artists, some are cogs in the PDC, so don’t mistake the two. It used to be, you could go to the blacksmith shop, explain a problem and have a smithy strike up an iron something or other to fill your need. Not every artisan made consistent items, and asking them to reproduce an object would give you an interpretation of the original idea in every unit. No consistency, therefore quality issues and production limitations. Also, you can only go as fast as the artist.

There has ALWAYS been a need for these artisans, but because PDC companies needed the next widget, they created a cog type role for an artisan and lulled them with false promises of security, decent-pay and constant pay, even if they didn’t always product the next greatest thing. This is called employment or a J-O-B. Most artists call this jail.

The second paradigm is to make something unique and fills a need. We will call the second type of company a creativity inspired company (CIC). Recent examples of CIC type companies are Apple, Zazzle, Google, 3M and Lady Gaga. I throw 3M in here because they do have a CIC branch even though they are mostly a PDC.

Problems exist for a PDC because they still need creativity. Another problem with a PDC is their attempt to fit a creative artisan into the same mold as a cog. A bigger problem for a PDC is an artist now has equal marketing power as a large corporation via the internet. The ability to generate revenue is no longer in a PDC, but in an artists hands. This makes an artist just as likely to score a new product without your company as with it.

A cog needs consistency. Therefore for a cog, the best schedule of payment is an attendance based compensation. If you show up, you perform your tasks by the procedure, you get paid. Artists do not handle an attendance model well and many of the best artists get fired for attendance problems.

Artisans should really get paid on an as-needed-basis based on an idea. This doesn’t always work well for a PDC because a PDC is about controlling costs. Therefore, they try to hire an artisan and get them to detail out their work process. This never works, so a company gets less creative. This leads to a false belief within a PDC that all artisans are a cost center. They see them as a drain on revenue, and based on how they retain an artisan, they are correct. Artists do not produce their work on a schedule. They produce it based on events. By forcing an artist to justify their existence everyday, the event does not occur.

An artisan who is treated like a cog will develop creative ways to justify their position. Attendance Based Compensation does not reward them for being creative, it rewards them for showing up, being consistent and showing they are producing cogs. This is exactly opposite of what the company needs. A company does not need an artist to be creative in how to take a companies money, a company needs an idea to fill the assembly line.

If you are a PDC, you need to recognize this is not a way to success. You are going to have understand you need a TRUE artisan, not a cog in an artisan role. You may need an artisan to create a new product, or another to take an existing product and creatively break down a work-load. These true artists are now termed free agents. A classical term is consultants, but consulting companies tried to apply a PDC model to CIC type work and destroyed the name. Free Agents are artists who work for more than one PDC. By staying connected to their art, they are more effective and better value than existing employee cogs with a title of artist.

If you are a CIC, you need to focus your company on the creative side of things and farm out production. CIC companies are usually fail because they don’t have an ability to separate the two branches. I would wager that any true CIC company needs to complexly separate for scalability and cost effectiveness as the adoption curve starts to rise or if you are in a long-tail marketplace. A problem a CIC faces is they really cannot retain the consistency of ideas needed to keep a business at peak operation without rotating your artists. Artists get a bit stale and something fresh is always needed.

Free Agents can fill this role, because while they are not needed by your company, they are renewing their art at someone else’s expense.

Being a PDC or CIC type company does not make you better or worst. There are very bad CIC companies and very bad PDC companies, and understanding your paradigm is important to maximizing your position in this venue. There are also very good companies in both roles but understanding the players and how artists work is far better return on investment (ROI) than existing business models of hiring and firing.

Because PDC companies are shedding so many positions in a bid to be the lowest cost, most of this shedding is occurring with people who may be artists. Even if they are artists, PDC and CIC companies need a method to understand intrinsic value an artist brings to a new project. Failure to understand this value, is a failure to be accountable to your corporation. My point behind this article IS you need to shed these people.

You’re existing paradigm of holding all the cards is going to cost your company in the long run. You need to destroy the concept of a captive artist. They are not as effective as you may think and are going to increase your project costs.

HR, in the future is going to need to embrace this new reality. HR is not prepared for this kind of interchange, nor are companies as a whole. Contractual obligations enforced by HR make it necessary to treat these artists as a consultant or vendor, but the role is more of a contract employee.

A better way to deal with this new paradigm of these free agents is honesty. I do believe there is a non-disclosure agreement, a time limit and an agreement to pay based on the idea must all be a part of an agreement on BOTH sides. Making sure the company retains value while investing in artistic solutions for the company’s customers is still paramount.

Companies leading this next generation of PDC’s will embrace CIC companies. The ones who don’t are going to be in an endless cycle of lower, and lower prices until… you are producing it for free. Both companies by embracing a Free Agent paradigm will compete better in this new market.

So if your company can survive on free, you win. Most companies cannot survive. Where are you?

A larger question become how to integrate these artists into your work teams.

Dave Ramsey is coming out with a new book soon about Leadership. In this book, he has announced his concept that all business is small business. At first, the realist in me sees that statement as false. However, there is a sliver of truth to the statement even if it is not a “real” statement.

For me, a “real” statement is one that is born out of what we like to call reality. While I would love to get philosophical about what is real and what isn’t , we will use a working definition of “real” to mean in this case, the current attitudes and actions of business dealing with one another.

The problem is, that while ALL business SHOULD BE small business, the larger corporations don’t like playing that way. Once you get to be real big, a fear is created by believing the business may shrink. If it shrinks, it may not be large and the advantage to a large corporation is that the number of competitors is less in their space. However, being a realist, I realize that the pie is not limited, and this fear of becoming small is the very reason that most of these companies will be small again some day. For example, consider Novell who was once larger than Microsoft.

The reality of business is it being about people. While there are large people and small people, people are people and business is about that person to person relationship. It is true that larger people, such as my father, were always good sales people because when he stated something with conviction, you listened. You don’t argue with the big guy. As least to this once small son of my father it was that way.

But the fundamentals of business are people. One-on-one interactions with people are the game. You cannot get smaller that one person and the decision is never far from just one person. Every company has that one person with whom the final buck stops.

Large companies try to change that dynamic as much as they like, but sale by sale, unit by unit, brick by brick, all business is still conducted at the small level of the person eventually. I might need to go through a committee to get the one person to sign the PO, but it still comes down to one person.

So in part, yes, all business is small business, but I am sure that Microsoft or Apple will never fully appreciate that nuance, because they are fundamentally afraid of being small again. Maybe not the company directly, but the shareholders and the board defiantly have that fear. If they didn’t we wouldn’t have them making decisions based on the short term, like locking people out of their products.

So for now, the small business of Microsoft or Apple will keep trying to insulate themselves by doing what a puffer fish does when it is afraid…make itself look big. Someday, these companies will be small again and have to learn all over again that the question is not the next greatest product, but how you treat each person.

PS There is another facet of the large/small business based on transaction volume. However, I know companies that deal in billions of dollars with a fairly small staff.

Many companies question existing software. “This software was written on and old XXXXX system and still works today, but we are not sure if we couldn’t get more out of a new system?” some say. Or more likely, “We have this system and it is just not doing what we need.”

The interesting thing about both of these statements is not about the system but about the process. Both have an underlying assumption that it is the system which has somehow changed, when it is just doing the process it was programmed to do, when implemented.

That doesn’t mean that the process hasn’t changed, but the system hasn’t changed with it. The process may have gotten better or worse, but because it doesn’t implement our process, it is the system that is in question.

Just for the sake of clarity, I do have a WMS provider with whom I am engaged. I don’t always see them as a solution, because sometimes the existing software they have just need to be modified to the current process. (Note: I didn’t say better process here). Sometimes this vendor does not do what the target process calls, and we need to use someone else. All of this is okay.

Many times it is cheaper to have someone who understands systems and software evaluate the process and tune the system to match the company’s needs.

I have seen companies with a piece of software, which could track all the items they were keeping in Excel spreadsheets, but because they didn’t see the process change and didn’t know the software, were doing extra work.

So do you still want to consider replacing that system for more money than fixing the existing one?This is okay, but how do you know you won’t be back to the same place next year?Do you really know if your processes are good processes or if they are contributing to this bad feeling you have about the existing systems?Will you solve anything?

I can help you by evaluating your process in terms of these systems. If you are interested in a freeinitialdiscussion, pleasecontact me. I have been known to tell people they are on the right path and I don’t believe my services arenecessary. However, it may be that hiring me could save you hundreds of thousands of dollars in mistakes.