Category Archives: Web software

Post navigation

Everyone is in the software business You may not know it, but you are in the software business, no matter what your actual business may appear to be. It doesn’t matter what you produce, whether you are a “bricks and mortar” retailer or a “guys in trucks” distributor, software is where you are going to end up.

Why is everyone in the software business? Simply because software is become the lifeblood of so many decisions on what a business makes, how it is sold, and how customers are kept happy. All the interesting business operations are happening inside your company’s software. Software is where you can find out if your customers are going elsewhere, if your profits are coming from some new markets, and if your employees are helping or hurting your overall reputation.

As an example, the airline Virgin America has billions of dollars invested in planes and the people that fly them, but their brand lives and thrives based on their mobile and web experience. That experience is all because of the airline’s booking software, and understanding what is happening with that software will make the difference between success and failure for the airline.

Take as another example a national food service distributor. Their business is getting food into trucks, and then getting those trucks to restaurants and other institutional caterers and retail kitchens. The company has had an ecommerce business for the past decade, and a pretty significant one at that. But lately their customers have been shifting their emphasis from calling their sales representatives with the weekly orders and wanting to do more online. The distributor needed to scale up their online business, and also be more data-driven. Rather than letting their truck drivers or regional offices make decisions about distribution, they wanted a single view of their business, and use the changes in their orders and other data to fine-tune their deliveries. This food distributor is now firmly into the software business.

What is driving everyone to software? Several things.

The cloud. The days where you had to build your own servers and data centers are over. Post Holdings is probably the largest cloud-only company, and their revenues are in the billions.

Everyone wants an online storefront. Just like the food distributor, even the most basic industries are finding out there is value is selling their stuff online.

Big Data is getting more familiar. You can now find Hadoop clusters in many traditional Fortune 500 companies. The IT staffers at the giant retailer Sears eventually spun off a side business in helping others get started with Big Data.

Customer experience is king. One way that businesses can differentiate themselves is by paying attention to their customers. This isn’t anything new: Nordstrom’s department stores have been doing this for decades. What is new is a range of software tools to help figure this stuff out.

I will have more to say about this topic, right now I am working on a white paper for a client that will dive into this deeper. Check back here in the fall when I can post a link to it.

It’s practically a universal truth: just about every website is too slow. There are many, many reasons for this unfortunate fact, of course, but Dave Methvin, president of the jQuery Foundation, has some practical advice on how to get the biggest speed improvements with the least amount of effort. This is based on an in-person meeting as well as some of his talk that he gave at a programming conference earlier this year.

It is ironic that the same thing that got Chris Christy in trouble – delaying traffic into Manhattan — is being used by others to build a multi-million business. I am talking about network traffic for stock traders. Perhaps you have seen the stories about them based on Michael Lewis’ latest book Flash Boys.

In the celebrated George Washington “bridgegate” fracas, it was delays introduced by closing various on-ramps to the bridge. In the case of the stock market, it was delays of 350 microseconds that made high-frequency trades more equitable across exchanges.

Wait a minute, come again? Adding in latency is a good thing? Yes, that is another irony of the situation. A company called IEX developed a technique where they slow down the trades so that the exchanges can get the trading requests at the same time. This means that exchanges closer (in terms of connection time) to the Big Apple trading desks can’t trade a few microseconds ahead of the others. The technique IEX developed is basically a big spool of fiber optic cable that is 35 miles long (pictured above), the length it takes a beam of light to traverse 350 microseconds. The problem is that the biggest trading exchanges are located at different peering points in New Jersey, with some being up to 35 miles apart from others, at least in terms of how their packets are routed. Another irony: these locations were chosen so that the exchanges would have as little latency as possible to gain access to the trading data streams (see the map from the New York Times below).

It is probably the first time that anyone was deliberately introducing more network latency to improve their business that I have heard of. Many of us have spent a good chunk of our careers trying to cut down on latency issues: I can remember when I rolled out the first PC local area network application at MegaLith Insurance back in the middle 1980s. The file transfer app that normally took a few seconds to get from one point to another across our mainframe network now took tens of minutes. That wasn’t a good thing.

Programming professor Donald Knuth wrote in one of his seminal books how “programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs.” (Thanks to Dave Methvin of jQuery Foundation for uncovering this quote.) And in the world of high-frequency trading, a company called Spread Networks invested hundreds of millions of dollars building a fiber connection from Chicago to NYC a few years ago, only to find that a microwave network could shave even more time off their latency figures.

So we have the Internet to thank for introducing all kinds of unpredictable latencies into our apps and drive us nuts trying to track down the culprit. Now lower latency has been productized, thanks to the smart guys at IEX. Maybe the next step will be for the traders to actually colocate their offices on top of the major peering points themselves: that could actually work for cutting down on the times of some New Jersey commuters, too.

“Have you ever had the opportunity to work with someone who is the best in the world?’ That question got at the heart of a presentation from Jim McKelvey last night at a rather unusual event that I attended at our newly renovated central library downtown. I’ll get to Jim in a moment, but first I want to tell you the context of the event.

Here in St. Louis, like many areas of the world, we have a coding shortage. There are dozens of companies, some big and some just getting started, that can’t hire good programmers. It isn’t from lack of trying, or resources: they have the money, the open positions, and the need. The problem in the past has been explained that either they can’t find them or don’t know where to look. But there is a third possibility: the coders exist, they just need some training to get started. That is where an effort called LaunchCode comes into play.

For the past several weeks, hundreds of folks have been taking the beginning computer science programming class, CS50 that Harvard offers over the EdX online platform. The class started with more than a thousand participants and is now down to about 300 or so hardy souls who spend anywhere from 20 hours per week or more learning how to code. Each week they gather in our library to listen to the lectures and work together on the various programming problem sets.

David Malan, who went to Harvard himself and is a rockstar teacher, teaches the course. I watched a couple of his lectures and found them interesting and engaging, even when he covers some basic concepts that I have long known. If I had him teaching me programming back in the day, I might have stuck with it and become a coder myself.

The CS50.tv collection online is pretty amazingly complete: there are scans of the handouts, quizzes, problem tests, additional readings, supplemental lectures and so forth. The courseware is very solidly organized and designed and very impressive, from my short time spend looking around.

But here is the problem: while the online class is fantastic, only one percent of the people who take the class complete it satisfactorily. That is almost a mirror image of the completion rate for those attending in-person at the Harvard campus, where 99% of the students finish. I was surprised at those numbers, because Malan goes quickly through his lectures. You have to stop and rewind them frequently to catch what he is doing.

This is where LaunchCode comes into play. The operation, which is an all-volunteer effort, is trying to short-circuit the coder hiring process by pairing the students who complete the course with experienced programmers in one of more than a 100 target tech companies who are looking for talent. They think of what they are doing as going around the traditional HR process and building a solid local talent pool. It is a great idea. I spoke to a few students, many of who come from technical backgrounds but who don’t have current coding experience. They are finding the class challenging but doable.

LaunchCode is also supplementing the CS50 lectures and online courseware with meatspace assistance. They have space reserved downtown for the students to get together and help each other. Some students have actually moved to St. Louis so they could take the class here: that was pretty amazing! LaunchCode has created mailing lists and Reddit forums where students can share ideas. But that isn’t enough, and last night we learned that Malan is coming to town in a few weeks, bring a dozen of his teaching assistants with him for a special evening hackathon for the class participants. Wow. Will that help get more students to finish the class? I hope so, because I want Malan & Co. to make a regular trip here to see the next class, and the next.

The problem with teaching programming is that you have to just do it to become good at it. No amount of academic study is going to help you understand how to parse algorithms, debug your code, figure out what pieces of the puzzle you need and how to organize them in such a way to make more efficient code. You just have to go do “build something” as McKelvey told us all last night.

Back to his question posed at the top of my post. Obviously, he thinks Malan is the best programming teacher in the world. He challenged everyone in the auditorium to think about what questions they would ask Malan when he comes into town, and how they can leverage their time with the master. He used the analogy of when he built his glassblowing studio he was able to spend time with Lino Talgiapietra, a master Venetian glassblower. Last night he once again told the story of how humbling an experience that was and how he was allowed to only ask a single question of the “maestro.” Wow.

McKelvey was very gracious with his time, and answered lots of questions from the LaunchCode students. Many of the questions last night were how the students were going to position themselves to get a coding job once the class was over in a few weeks. McKelvey kept emphasizing that they need to just “rock the class” and not worry about whether they were going to be programming in php or Ruby. “That isn’t important,” he kept saying: just demonstrate to Malan that they could write the best possible code when he comes here in a few weeks.

I have heard McKelvey speak before and last night he was in fine form. Will LaunchCode succeed at seeding lots of beginning coders? Only time will tell. But my hat is off to them for trying an very unconventional approach, and I hope it works.

Copying content from the Web can be both a good and bad thing. There are companies that make it easy to scrape public data archives such as ScraperWiki.org that are used by data sciences and journalists to track trends and uncover government abuses. And Google and other search engines use various kinds of scraping algorithms to index and categorize your site, and to ensure that your content is ranked appropriately.

But for the most part scraping is bad news. Chances are good that someone has copied your Web content and is hosting it as their own elsewhere online. This happened with LinkedIn not too long ago, where someone picked up thousands of personal profiles to use for their own recruiting purposes. That is a scary thought, indeed.

And lest you think this is difficult to do, there are numerous automated scraping tools that make it easy for anyone to collect content from anywhere, including Mozenda and Scapebox. I won’t get into whether it is ethical to use these on a site that you don’t own the content. Some of these attack sites are very clever in how they go about their scraping, with massive numbers of ever-changing IP addresses blocks to obtain their content.

Scrape Defender is easy to get started with: you just plug in your site’s URL and it will take about a day to look at your site and see where you are vulnerable. When I tried it with my own domain strom.com I was surprised to see it listed 150 different exploits. Some of them have pretty oddball names, such as dripping water or shotgun that show where anyone can come in and grab your content. The service provides a piece of Javascript tracking code that you add to each of your site’s page headers. Once this is in place you can monitor what is going in in near-real time and protect your site against these abusers.

For example, you can view how many pages a potential abusive IP address has visited, any geolocation information, which risk metrics were tripped, what alarms were generated because of this activity and other IP addresses that are owned by the same organization. All that information can help you figure out if your site was suddenly very popular or was being targeted by one of your competitors or someone that wants to steal your content. Their service is Web-based; you bring up your browser and can view these metrics and reports, along with suggestions on best security practice to defend your content too.

The hard part about defending and hardening your site against potential scrapers is that it is difficult to distinguish between a legitimate visitor and an automated bot that is collecting your content. That is the secret sauce of ScrapeDefender: they have looked at thousands of websites to figure out when a bad actor is present, and have code these various behaviors into their system.

You can try Scrape Defender for free, the paid service starts at $79 per month to keep track of a single domain, with more expensive and extensive plans available. It is well worth a look.

Budapest has an interesting mix of old world charm and new age coding: a vibrant startup scene that is just taking hold. While I estimate that it is four years or so behind where I see things in St. Louis. That isn’t a knock on their innovation or spirit, just more a comment on their available support infrastructure. Hungary isn’t completely in tune with the notion of startups as economic development: there are crazy laws on the books that don’t encourage new businesses and seem to date back to the Soviet era when full lifetime employment was the goal. But that just means their startups are more determined to succeed. Call it Silicon Goulash, perhaps?

Hungary has a fascinating and long history of innovation. Many of its citizens were prominent mathematicians and physicists, including the Intel founder Andy Grove and the grandfather of computing himself John Von Neumann. The carburetor, the transformer, parts of the first telephone exchange, the first synthetic vitamin, the modern CRT, Rubik’s cube and the ballpoint pen all came from the minds of Hungarians.

Speaking of the Soviet era, Hungary was also ahead of its time in offering long-term asylum to political refugees. Cardinal József Mindszenty was the leader of the Catholic Church who was imprisioned and then lived in the US Embassy in Hungary for 15 years before being allowed to flee in 1971. Does this sound familiar?

I found Budapest a very walkable and livable city. It has hundreds of outdoor cafes packing dozens of pedestrian streets; something that we so desperately lack in the States. It has a terrific riverfront on the Danube with bikeways galore and an island park in the middle of the river that has my favorite water park ever. And speaking of water, there are dozens if not hundreds of thermal baths that span centuries. You can see why I enjoyed my time there so much.

Ostensibly, I was there on behalf of Balabit to meet with their executives and see their products and story. The company is behind the open source log aggregator syslog-NG and other security products, and has been in business for more than a decade. But while I was there I also met with other IT firms, including Electool.com, Graphisoft and Metta.io, and also visited with Prezi.com.

Prezi, the alternative SaaS-based presentation delivery tool is one of three software companies to have become an international success, along with LogMeIn and UStream. The three of them originated in Budapest and still have decent-sized development offices there.

Of the three, LogMeIn is a public company, while Prezi and UStream are private. All three have attracted tens of millions of dollars in A-list Silicon Valley venture funding. UStream and LogMeIn both have several offices around the globe in addition to the ones in Budapest and America.

The three firms got together to recently produce the well-attended RAMP conference about how to scale up your software architecture, bringing in experts from around the globe to Budapest.

And founders of the three firms have also put together their own nonprofit called Bridge Budapest to offer fellowships and internships at major software companies to Hungarians, and for the rest of us to come to Budapest and intern at one of their companies.

While I have tried Prezi several times over the years it has been around I never have been able to gain much traction with the tool. Maybe it is just the way I work or my speaking style. But their offices are an interesting twist on the typical tech startup playground: they have recently moved into a Beaux-Arts building with the top floor a former telephone equipment room. It is a fitting place for a modern tech startup.

Tech isn’t the only thing happening in Budapest. I met an agribusiness manager one night. He just moved his family from the Midwest to Budapest. His company does a lot of business in Eastern Europe and Russia, and wanted a stable place to have an office. “To Western Europe, we don’t look all that stable a country,” said another entrepreneur to me. “But to the east, we look rock solid. It is a nice position to be in.” Hungary is in the EU but doesn’t use the Euro: its currency is the Forint which sounds very Princess Bride-like charming to me.

Budapest is also home to the Soros-backed Central European University. It was the first on the continent to offer an American-style MBA several years ago and now has a budding entrepreneurship program, a business incubator and courses that seem quite current with promoting startups and what one could find in the States.

Speaking of schools, if you know someone who is a CS/EE student and is looking to study abroad, take a gander at this program that is offered by the Aquincum Institute of Technology (and where Rubik himself teaches).

I asked several people about the tax situation in Hungary and got a range of responses. One source told me, “our tax and legal system is so wonky,” and complained that half of one’s salary is taken in taxes. Another source said while this is true, the tax rate is less than it has been in recent years, so things are improving.

If you have a chance to visit, I think you will be as excited as I was. And if you would like an introduction to the companies that I mentioned, let me know.

How do you know you are fully engaged with all of your social networks? This turns out to be a difficult question to answer. And as we try to resolve complaints from customers on Twiter and Facebook, we also need to track mentions across other networks and develop consistent workflows and processes to respond and measure these involvements.