Mar
11

Presentation on LabVIEW recursion

by Tomi Maila, Mar 11, 2010 at 3:10 am
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 3.33 out of 5)
Loading ... Loading ...

A few weeks ago I gave a presentation on recursion in LabVIEW at San Francisco Bay area LabVIEW user group. The presentation slides and some example code are downloadable at JKI blog.  The presentation covers both algorithmic recursion as well as structural recursion. Example code includes a implementation of recursive quick sort algorithm that parallelize to unlimited number of processor cores. We also mention tail recursion, a recursive binary code optimization method familiar from many other programming languages but still missing from LabVIEW.

Print This Post Print This Post

Jan
19

Joining The JKI Dream Team of LabVIEW Developers

by Tomi Maila, Jan 19, 2010 at 7:54 am
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 4.33 out of 5)
Loading ... Loading ...

JKI Software Logo

I recently had an honor to join JKI, a San Francisco based LabVIEW consulting and software company well known among international LabVIEW developer community. JKI is probably best known of its dream team of LabVIEW developers and its rich set of innovative tools for LabVIEW developer community. I am really excited for the opportunity to be able to work together with such an outstanding team and I am looking forward to learn a lot from maybe the best LabVIEW developers in the world. At the same time I am confident I can bring new perspective to the JKI team and together we can come up with new exciting solutions for both the JKI consulting customers and the LabVIEW developer community.

Print This Post Print This Post

Dec
12

100k visits

by Tomi Maila, Dec 12, 2009 at 5:04 am
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ...

ExpressionFlow has reached the milestone of total 100,000 visits since the launch of the site three years ago.  I would like to thank all of you for following ExpressionFlow. I work hard to make ExpressionFlow even more interesting. What kind of subjects would you like to hear more about?

Print This Post Print This Post

Nov
10

Unlimited parallelism & concurrency with recursive dataflow

by Tomi Maila, Nov 10, 2009 at 4:09 pm
1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 4.50 out of 5)
Loading ... Loading ...

In my previous post I introduced the design pattern of worker pool based on dataflow recursion. In this post the pattern is revisited. I explain the theoretical concept of unlimited parallelism and concurrency that is a consequence of recursion in dataflow based programming languages. Furthermore I present how worker threads can be reused to manage system resource consumption.

more…

Print This Post Print This Post

Nov
04

Worker pool – a design pattern for parallel task execution in LabVIEW

by Tomi Maila, Nov 4, 2009 at 2:00 pm
1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, average: 4.75 out of 5)
Loading ... Loading ...

Creating parallel code in LabVIEW is simple; simply place parallel tasks parallel on VI block diagram and the tasks are executed in parallel. However this design doesn’t bend to use cases when the number of parallel tasks is not known at development time but needs to be specified at runtime.  In this post I present simple design pattern for parallel code execution based on recursion. In my next post I study the recursive concurrency in more detail.

more…

Print This Post Print This Post

Oct
23

Introduction to generic programming with type parameters

by Tomi Maila, Oct 23, 2009 at 1:28 pm
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Many modern programming languages implement generic programming support with the concept of type parameters. Generic programming using type parameters is the feature I have been missing the most in LabVIEW. Generic programming is about writing reusable blocks of code in terms of types that are specified in later time. In LabVIEW terminology type parameters would specify the type of wires and terminals of generic type. Type parameters can either be implicit or explicit. Implicit type parameters are determined by the compiler automatically where as explicit type parameters are specified by the developer. Furthermore type parameters can have variation limits, specifying what kind of type are accepted. Type parameters could be in principle applied to a VI, to a class, to a library, to a mixin class (trait), to an interface or any other kind of module that includes executable code or front panels. (EDITED Introduction & title 10/25/2009 9:36 GMT)

more…

Print This Post Print This Post

Sep
15

Limits of for-loop parallelism, how parallel they really execute?

by Tomi Maila, Sep 15, 2009 at 7:21 pm
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4.00 out of 5)
Loading ... Loading ...

I was today attending LabVIEW Developer Education Day in Helsinki (Espoo), Finland. The NI application engineer was introducing the new parallel for-loop structure released in LabVIEW 2009. The idea is that a for-loop iterations can be run in parallel when the loop iterations do not depend on one another. The concept is nice and I have been waiting for NI to introduce such a concept for some years. I was positively surprised when I noticed that LabVIEW 2009 is shipping with this new feature.

more…

Print This Post Print This Post

Feb
26

Agile 4 – LabVIEW software consulting start-up from Finland

by Tomi Maila, Feb 26, 2009 at 11:14 am
1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 3.00 out of 5)
Loading ... Loading ...

Dear ExpressionFlow readers and fellow LabVIEW developers. I’m very excited to tell you, that recently I’ve founded a new Helsinki based company, Agile 4, providing LabVIEW software development related consultation services. Today, it’s time to come out of the shadows and public with the company.

Agile 4 Ltd. is a software design, development, and software strategy consulting start-up specialized in building state-of-the-art LabVIEW based technology solutions. We are comitted to providing our customers with the best possible software solutions and world class software expertise.

We at Agile 4 are enthusiastic about software development with LabVIEW. We want to help our customers succeed in their business environment by helping them to make the best possible software solutions for their market. We understand that software development is an investment and we think our customers should get the best value for their software related investments.

ExpressionFlow will continue to as a LabVIEW and visual programming blog. I’ll do my best to keep posting articles on subjects close to me and Agile 4.

For more information on the company, please visit Agile 4 website.

Print This Post Print This Post

Feb
21

ExpressionFlow moved to Mosso hosting cloud

by Tomi Maila, Feb 21, 2009 at 6:30 pm
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Today I transferred ExpressionFlow from my old shared hosting provider to Mosso hosting cloud. If you are experiencing any problems, please report them so I can get the problems fixed.

Mosso is a kind of hybrid solution. You get the easiness of shared hosting together with the power of a cloud. During the last six months I’ve been using Mosso to host several different web sites, and I must say I’ve been impressed by the simply superb customer service they have. When ever I’ve had any troubles at all, my problems are solved immediately by the very helpful and skilled customer service. I can’t say the same of my old hosting provider. For fixed price a month you can host an unlimited number of web sites on both Windows and Linux hosts limited only by the total consumed system resources a month. Actually, the only thing I’ve been missing is a hosting plan with less capacity than the only current hosting plan they’re providing. If you are interested in test driving Mosso, use the referral code REF-EXPRESSIONFLOW at sign-up and you’ll get $50 credit.

Print This Post Print This Post

Dec
29

Is your application ready for the upcoming leap second?

by Tomi Maila, Dec 29, 2008 at 9:49 am
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

A leap second will be added at the end of the year 2008. That is after 23:59:59, a positive leap second at 23:59:60 would be counted, before the clock indicates 00:00:00 of the first day of 2009. The addition of a leap second may mesh up with the time synchronization of your software and your application may end up functioning in an unpredictable way. more…

Print This Post Print This Post

Get Adobe Flash playerPlugin by wpburn.com wordpress themes