A couple weeks ago (24 Feb 2010), I gave a presentation to the Bay Area LabVIEW User Group on recursion techniques in LabVIEW.

Title: Recursion in LabVIEW

Abstract: Many software engineering challenges can be solved efficiently using recursion.  Learn about several ways to implement both recursive algorithms and recursive data structures in LabVIEW and learn how to leverage the full power of multicore CPUs with parallelly recursive algorithm design.

Slides: Recursion-in-LabVIEW-Maila.pdf (362 KB)

Example Code: Recursion-in-LabVIEW-Examples.zip (134 KB; requires LabVIEW 2009 or higher)

Do you have comments or questions about this presentation, or do you have a topic you’d like to see JKI do a presentation on?  Post your ideas in the comments!

There is a known issue using VIPM 3.0 that prevents VIPM from managing VI Packages installed in LabVIEW 2010 beta.  We’ve identified the cause and will have a new version of VIPM (3.0.1) out soon that fixes the issue.  If you need this fix immediately and/or would like to help test the release candidate, please contact us.

Bug photo courtesy of spakattacks.

This past week’s Ice Hockey semifinals and finals were some of the most anticipated sporting events of the Vancouver 2010 Winter Olympics, and JKI scored big.  Nations represented by JKI engineers swept the medals in both the Men’s AND Women’s events!

GOLD
Canada

(Michael)

SILVER
United States of America

(Jim, Justin, Omar)

BRONZE
Finland
(Tomi)

At JKI we’re proud to have a diverse staff of talented professionals from around the globe.  That makes international events like the Olympics particularly exciting, but it’s not often that our home countries make so many of us proud.

Congratulations to Michael, and to Team Canada!


Image: “Golden Flag” by Shayne Kaye (Creative Commons Attribution 2.0)

We’ve just released VI Tester 1.1.1 on the VI Package Network.  This release contains a fix for a minor bug that caused the VI Tester toolbar to not show up in the LabVIEW 2009 Project Explorer window.

You can download & install this package using VI Package Manager.  Just press the “Check the Network for Available Packages” button to refresh your package list, then install the jki_labs_tool_vi_tester-1.1.1.137-1 package.

A weird thing happened a few days ago.  The JKI State Machine went viral.

If you follow me on Twitter or are my Facebook friend, you would’ve known right away about the LabVIEW-, LEGO Mindstorms-, and Twitter-powered popcorn-popping contraption a friend and I built recently.  We built it to enter a contest, where the object was to make a video showing the “most inventive way to pop this all-American snack.”

Our first idea was a winner:  Crowd-sourced Popcorn.

Since we uploaded it last week, the video has gone viral.  It was picked up first by Engadget, but things got really big when it hit Mashable.  Even now, there’s a steady stream of #popcorn tweets on Twitter, as people send the link around and around to their friends.  Most importantly, we won the contest.

What does this have to do with JKI?

If you watch the video, you can clearly see that the famous JKI State Machine plays a starring role.  I got to thinking, though, that the JKI State Machine is by no means the only important piece of the puzzle.  I used a whole bunch of JKI products!

We didn’t spend a lot of time designing and building the Popcorn Tweets system.  After all, I have a real job at JKI.  But luckily, I live in a world where NI makes great products like LabVIEW, and where NI partners like JKI can extend the platform and provide great tools to help people turn any idea into reality!

Want More Technical Info?

I’ve posted a technical overview of the system on NI’s LabVIEW DIY Crew group.  Check it out!

JKI is very pleased to announce the addition of Tomi Maila to our team of LabVIEW and system integration experts. Tomi comes to JKI with a deep theoretical background in computer and biomedical sciences, practical expertise in a broad array of programming languages including LabVIEW, C++, SQL & modern web languages, and business experience as founder of Agile 4 Ltd, a software consulting start-up in Helsinki, Finland.

Tomi Maila

Tomi is also a well-known figure in the LabVIEW developer community.  His ExpressionFlow blog covers some of the most advanced software engineering topics of any LabVIEW blog, and his work in the field of object-oriented programming in LabVIEW is highly regarded.  He’s also a principal developer of the OpenG Class Templates for LabVIEW Object-Oriented Programming.  This continuing support for the LabVIEW community has garnered him the title of National Instruments LabVIEW Champion.  All of these things make him a great addition to the JKI family, and we’re excited to have him.

Welcome, Tomi!

Happy Holidays from JKI Software!

NIWeek 2009 Group Photo
The JKI Team: (from left) Jim, Michael, Philippe, Omar, and Justin

To all our friends in the LabVIEW Ecosystem,

Thank you very much for being part of an exciting and eventful 2009 for JKI.  We wish you all a terrific holiday season, and great success in the coming year!

Warm regards,

The JKI Software Team
http://jkisoft.com

One of the downsides of using splitter bars (panes) is that, even when a VI’s main window is resizable, if you hide the scroll-bars of the bottom-right pane, the resize window image (Resize Handle) goes away (as shown below).

Hide Scrollbars Hides Resize Scrollbars Hidden

Sometimes, you might want to keep the resize window handle, such as cases where you use panes to create a status bar at the bottom of the window, as we do with VIPM (shown below).

VIPM Window

While there’s no obvious way to do this in LabVIEW, you can use an image decoration (an image of the resize window handle) to achieve the effect.

To see an example, download this VI (LabVIEW 8.2 or greater): Show Resize Window.vi (zipped)

Show Resize Handle

Tags:

In my last article, I talked about one of the major new features in VIPM 3.0: the ability to manage your own VI Package Repository.  Repository management is critical to JKI because we have one of the largest reusable LabVIEW code libraries in the world (hundreds of packages, thousands of VIs), and it’s all managed using VIPM.  That’s what we mean when we talk about eating our own dogfood.

Having the world’s largest VI Package repository means that we can identify scaling problems before they start to affect our customers.  That’s why we identified some key bottlenecks when using VIPM to manage large repositories, and fixed them in VIPM 3.0.  The result is that VIPM 3.0 is faster than VIPM 2.0, especially when dealing with large numbers of packages.  Here are a few of the benefits you’ll see as a VIPM user:

Faster initial setup time for new VIPM users

In VIPM 2.0, you might have noticed that it could take several minutes for VIPM to download information from the VI Package Network about all the packages available.  Now, in VIPM 3.0, we’ve implemented lazy downloading of package information (see the lazy acquisition design pattern [PDF] for more info), which means that VIPM downloads only the information it needs, right when it needs it.

Faster “Check Network for Package Updates”

Another effect of the lazy downloading of packages (described above) is a faster check for package updates.

Faster Installation and use of VI Packages and VI Package Configurations

We’ve optimized the zipping and unzipping of VI Packages and VI Package Configurations.  We found some areas where we were using high-level OpenG Zip Tools functions, but there were more optimal ways to use some of the lower-level functions.  This means that saving and loading of VI Packages & VI Package Configurations is now a lot faster.  You’ll notice a big difference especially when working with large VIPC files.

Faster Package Search and Column Sorting

We noticed that when there were a lot of packages in VIPM’s package list, the search and column sorting got a little slow.  So, we took a close look and found some ways to optimize this.  This wasn’t rocket science; VIPM mostly just caches certain data now, rather than recalculating it every time the search/sort operation is performed.  The result is that searching your package list for the package you want will be more responsive with larger numbers of packages in your library.

We hope you find VIPM 3.0’s performance to be better than ever.  If you haven’t downloaded it already, what are you waiting for?  Get it now!

And, stay tuned for more articles about “What’s new in VIPM 3.0?

Tags:

JKI has just released VIPM 3.0, and there are some great new features that I’d like to share with you.  So, I’m going to be blogging about them in a series called “What’s new in VIPM 3.0?”  (of course, you can check out the release notes for a quick overview).

One of the most important new features in VIPM 3.0 is the ability to create and manage your own VI Package Repository using VIPM Enterprise.  Now you can find, download, and install VI Packages of your team’s reusable code from a VI Package Repository located on your corporate network or the Internet.  Your developers will be able to install and use your VI Packages just as easily as they install and use packages from OpenG or JKI Software!

VIPM Enterprise Reuse System

How Does It Work?

Sharing VI Packages with VIPM Enterprise is easy.  VIPM provides a Repository Manager window that lets you create a VI Package Repository on any standard file or web server.  Using the Repository Manager window, you can see what’s in your repository, add or remove packages from the repository, and manage users’ access to the repository.  To publish a package, just drag & drop a package file from Windows Explorer into the Repository Manager window.

Publish a VI Package

Once the VI Package has been published to your VI Package Repository, VIPM users on your team will get a message from VIPM, telling them that the new package is available for download and installation into LabVIEW.

New Packages

VIPM is so “Web 2.0″

As an added bonus, VIPM allows you to publish an RSS feed of your package releases, so your team can also receive notifications of package releases in any RSS reader (Outlook, Google Reader, Thunderbird, etc.).  Now go tweet your coworkers, telling them that your LabVIEW code reuse system is Web 2.0 compatible! :)

RSS Feed

But that’s not all!  VIPM 3.0 includes other cool features, like:

  • User Management — VIPM lets you control which users are authorized to access your VI Package Repository.
  • VI Package Deprecation — VIPM lets you hide outdated packages from your users to discourage their use.
  • VI Package Validation — VIPM calculates a cryptographic hash for every package, which allows users to verify that they have the official released version of a package for traceability purposes.
  • much more…

I’ll be going over these features (and other VIPM 3.0 features) in future articles, so stay tuned.

If you haven’t downloaded VIPM 3.0 already, what are you waiting for?  Get it now!

Tags:

« Older entries