What I Wish I could Tell Myself Back in College

Do what you’re good at

I majored in Physics (and Math). And I struggled – a lot.

I took 2 programming classes and they were super easy. So I dismissed computer science as beneath me because it did not challenge me. Dumb decision.

The way our brains are wired, our experiences as we’ve grown up, what we’ve studied, what we’ve learned, all of that makes some areas of study easy while many others remain hard. This doesn’t mean what I find easy is easy for others. Or that it’s not something that is challenging, really challenging.

Through a series of fortunate steps about a year after graduating I switched over to programming and found that I am good at it. Really really good. And at the same time, I’ve often faced problems that pushed the limits of what I can do. It turns out programming is not easy, it’s that I have to go way in to the hardest problems to find where I have to work my ass off to succeed.

When you find something comes easy in College, that’s your brain telling you that you’ve found something you will be really good at. You’ll probably find several areas that come easy. Pick one of those as your major, and as your initial career when you graduate. I don’t regret majoring in Physics (it taught me how to think). But I would have been happier if I had majored in C.S. And had a much better GPA.

Give up, Go swimming

When you hit a brick wall on a problem, a project, anything, walk away from it. I learned after a couple of years that when I couldn’t make progress, to go swimming. It was after I had forgotten the problem and was just thinking about something random, that the solution would suddenly jump into my mind. Leave your mind alone and it will usually work it through for you.

I’ve reached the point now in work that when something has me blocked, I drop it immediately and I usually have the solution as I’m exiting the Office. Learning to let go of the problem is powerful.

Ask and Then Drop It

Tell someone what they should do and you can see their defensive shields go up and all they do is argue with you. Instead ask. “What if you…”, “What happens if…”, “Have you considered…”. In those cases the person you’re talking to will consider what you’re proposing. Doesn’t mean they’ll agree, but it’s a giant step that they’re considering it.

And then drop it. Most of the time people will not change their mind instantly. Especially on an approach they are heavily invested in. And beating on them just makes them lock in their present approach stronger. But if you leave your “question” planted and give them time to think about it, a surprising number of times in a day or so they’ll come up with your idea “on their own.”

And with that said, I still have to remind myself to do this. Constantly.

Have Fun

Ok, I nailed this one. Enjoy your time at school. Do all those things your parents warned you to not do. (How do they know to warn you? Because they did the same dumb things.) You’ve got your whole life ahead of you to act as a grown-up. Have fun.

And with that said, never get so drunk that you make dumb decisions. And always walk away from a fight.

Posted in Uncategorized | Comments Off on What I Wish I could Tell Myself Back in College

Roadmap – To the Future and Beyond!

(I know the title makes no sense, but I like it.)

Ok, where are we going? Lots of cool stuff in process.

Version 12 is now released and has a lot of cool new features. My favorites in it are the new charting and Odata support. The future is fantastic but the present is pretty damn good too. Upgrade to version 12 and try out the new stuff.

The Engine

The big change coming next for the engine is we’re refactoring a significant part of it. Specifically we’re going through each of the primary template formats (DOCX, XLSX, & PPTX) doing several things:

  1. Cleaning up the code. Some of the code is still designed around the RTF specification while other places had new features added in an awkward manner.
  2. Fully documenting what we do and don’t support. What’s been surprising to me is how we support virtually everything. Over the years we’ve slowly added support for most every feature of interest in DOCX & XLSX (PPTX is still pretty basic).
  3. For any remaining feature we think should be supported, we are implementing it for DOCX -> DOCX, PPTX -> PPTX, and XLSX -> XLSX.
  4. Shapes & SmartArt support. We will handle 100% of it in DOCX -> DOCX & XLSX -> XLSX (PPTX to follow). To any other format, we render a bitmap and place the bitmap in the report. We do not support 100% of what can be done, but we have a strong first pass and we will add support for addition properties based on votes.
  5. DOCX & XLSX locking will be carried to the generated DOCX/XLSX report. So if you restrict editing of the template to only part of the document, the generated report (optionally) will also have the same restriction.
  6. Re-writing the code that handles the layout of the document (primarily for PDF and TXT reports). This all works, but we have added a number of new formatting properties we now handle that we’ve pushed the existing architecture to its limits. This code has been totally re-written 4 times already in the history of the engine and this will be number 5.
  7. In this work we’re also taking a pass to both speed it up and reduce the memory footprint. If you have any samples that take longer than expected (significantly slower than 7 pages/second) or eat up a lot more memory than expected, send them in to us. We’ll run them to see what we can do.

Figure we’ll have version 13 out for beta in August and release in September. This will have a heavy beta period because all these changes can cause problems in specific combinations of settings and no test suite has every combination (which we also hit as we send in “issues” to Microsoft every couple of weeks).

AutoTag (or template design)

And we have a giant change coming for template design. We are adding a web based designer. We’ll continue with the desktop Office & AutoTag. But you’ll also have the option of designing in a browser. What will this look like? We’re aiming to make the web based system very similar where you have a very powerful word processor along with AutoTag ported to the browser. So a similar experience to the desktop, but on the web.

And we’ll work to make it work very well on tablets (using HTML5 and handling gestures). The U.I. will change by checking to see if the system using it has a keyboard and/or a touch screen. So same “you can do anything” you get with a word processor as the fundamental template designer. Same “ease of use” we presently offer. But available through any browser.


And tied to the new designer, we’re adding to Javelin. We’re still working our way through what features to add so I can’t list them here (yet). But the basic idea is to add simple functionality so it can be used as an enterprise reporting or document server, but keeping it simple enough that you don’t need an IT staff to configure and administer it. And in this we’ll then have it available in a SAAS model. (With that said, I think most people will continue to purchase our servers to install locally.)


Shipping in a couple of weeks is our first iPad app. Dash is a B.I. product. We’re taking a different tack with Dash. With the engine & AutoTag it is a system designed to run against any data for any use. With Dash we are setting it up to hit specific datasources so that it can quickly be used with no configuration. The first is Google Analytics and AdSense. Following that will be the new big data support we are adding (read below).

Big Data

We’ve added support for Odata. But we are making a giant effort over the next 4 months on Big Data. We are adding support for Microsoft Dynamics, Salesforce, MongoDB, & OLAP/Cubes (and more to follow). What does this mean? First we are working to come up with a good way to read the metadata and give the user a way to easily select the data they want. A lot of our value comes from the select wizards we have for SQL, XPath, and Odata. We will make these as easy.

Second, the support for these will be added to the engine, AutoTag (classic & web), and Dash. You’ll get all the functionality and ease of use, but you can then add in these additional datasources. And as always, you can mix datasources in your templates.

If you have any questions, please shoot me an email.

Posted in Uncategorized | Comments Off on Roadmap – To the Future and Beyond!

Google, you don’t know me at all

Google makes such a big deal out of targeted ads. They present what we’re interested in. No they don’t. On YouTube I get lots of ads for:

  • Jack Daniels Whiskey. I had one sip of Whiskey 30+ years ago, didn’t like it, and never since (I like micro-brews). Total waste.
  • Zoosk. I’m happily married. Plus I’m 57 years old. How on earth do I fit that demographic?
  • Hair Club for men. Ok, I’m the right age for this. But I still have (most of) my hair. And I’ve never ever clicked on the link for this. So why???
  • Political ads in Spanish. The only thing I can think of is I watch a lot of Russian music videos and Google has decided all languages that are not English are equivalent.
  • Cheeseburger in Paradise. Because I looked them up to get the url for a blog post where I wrote about how bad they are.
  • Viking River Cruises. My wife suggested we look at that. It did look interesting. But I have seen their annoying video ad so many times now that there’s no way I would ever consider them.

I’m at the point now where I try to avoid Google searches on terms that might lead to ads (most of my searches are for technical info – which does not have this problem). And I will never click on a search link, I type the url in directly now.

If Google actually had appropriate searches displayed, and didn’t overdo it, they would be a lot less annoying.

Posted in Uncategorized | Comments Off on Google, you don’t know me at all

We Screwed Up (actually I screwed up)

We should have asked. Instead, because I said it would be no big deal, we sent out an email to all of our customers saying we were going to drop support for obsolete formats in version 12.1. I figured that everyone had moved beyond RTF for templates and WordML/SpreadsheetML for anything. Boy was I wrong. Even SpreadsheetML, that dead-end format that was for Excel 2003 only, is being used by a number of our customers. And I don’t think RTF or XLS will ever be given up (which is too bad).

Based on the response we sent out a follow-on email the next day saying we will continue support for all of the old formats until no one is using them anymore. I apologize to everyone for stating we were going to do this instead of asking if these formats are still in use. This was 100% my fault. I’m sorry.

On the plus side it gave our CEO a chance to talk to a lot of our customers.

Posted in Uncategorized | Comments Off on We Screwed Up (actually I screwed up)

Legitimate Criticism vs. Online Bullying

Adelen, a 16 year old singer who was a finalist to represent Norway at the ESC recently complained about the online bullying she has been subjected to reviewing her singing. Online bullying is a gigantic and very serious problem. At the same time, we cannot discuss music without criticizing that which we find sub-par. So where do you draw the line?

Part of the problem in Adelen’s case is she is suddenly thrust into the spotlight at age 16. That’s rough at any age and really rough for a teen. Most people want to be liked and human nature is to focus on the negative comments instead of the positive ones. Anyone who chooses to enter the public arena does so with the constant, sometime brutal, direct feedback of the quality of their work. The flip side of lots of people telling you they love your work are the others who don’t like it.

And no matter what you sing, no matter how good you are, no matter how amazing your presentation is, most people won’t like it. And the more popular you become, the more people you are exposed to. And the more you are exposed to, for each person who likes your music, several will listen and dislike it. There is no song that will be appealing to the majority of people. Justin Bieber is a prime example of this conundrum.

So how to draw the line between valid critiques and bullying? First off is writing that “I think this song sucks” as opposed to “the singer has no talent.” The first is saying the song does not appeal to you while the second denigrates the individual. That underlying focus is a giant difference.

Second, if someone is poor at singing, presenting, etc., it is valid to say so. But this skirts a lot closer to bullying and I think people need to ask themselves first if it is valid or their dislike of the song is influencing their view of the performer. All too often dislike of a song translates into personal attacks and that is unequivocally bullying. Same when the criticism turns to aspects that have nothing to do with an artist’s singing, then you’ve again crossed into bullying.

As to those posting, if you are focusing on the negatives, with most of your posts tearing others down, then yes – you’re a bully. And more to the point, you should probably look in the mirror because the big problem is you are not accomplishing anything and you’re trying to just pull those that have put in the effort to be successful back down to your level. You’re a crab.

As to Adelen and all of the others out there facing this, it’s a fact of life. By all means call it out but there are a lot of crabs out there. Don’t let that stop you from reaching for the stars.

It is not the critic who counts: not the man who points out how the strong man stumbles or where the doer of deeds could have done better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood, who strives valiantly, who errs and comes up short again and again, because there is no effort without error or shortcoming, but who knows the great enthusiasms, the great devotions, who spends himself for a worthy cause; who, at the best, knows, in the end, the triumph of high achievement, and who, at the worst, if he fails, at least he fails while daring greatly, so that his place shall never be with those cold and timid souls who knew neither victory nor defeat. – Theodore Roosevelt

Posted in Uncategorized | Comments Off on Legitimate Criticism vs. Online Bullying