Jump to content

Justin Goeres

Members
  • Posts

    691
  • Joined

  • Last visited

  • Days Won

    10

Posts posted by Justin Goeres

  1. Oh boy oh boy oh boy! I'm in. Is there going to be any group transportation from the convention center?

    There will not be any official transportation from the convention center (unless you want to help me pull strings inside NI? rolleyes.gif)

    The options for getting to Scholz Garten will be some combination of the following:

    • Walk -- everyone will be sweaty anyway and we can all use the hike
    • Carpool -- anyone who will have a car and is willing to offer rides please post about it here (and tell me about it at the conference!)
    • Taxi -- People sharing cabs in groups would be a pretty cheap way to get there.
    • Is there an Austin bus system (the "Dillo" thing) that runs up that way? Austiners please advise!

    That's the plan. Any ideas/suggestions for other options are certainly welcome!

  2. post-181-1214520808.gif

    Where can you find cool beers, mesquite BBQ, and good times with all your friends from LAVA, OpenG, and the LabVIEW community at large? At the 2010 LAVA / OpenG NIWeek Bar-B-Q! This yearly tradition brings together all your best online (and real-life!) friends from

    LAVA (LabVIEW Advanced Virtual Architects), OpenG (home of LabVIEW's open source community), and even NI R&D. Come enjoy great barbecue with great people away from the hustle & bustle of the convention floor. Menu is TBD but is likely to include brisket, chicken, and pork ribs*.

    Date: Tuesday, August 3rd, 2010, 7:00 PM (after the NIWeek "Block Diagram Party")

    Location: Scholz Garten,

    1607 San Jacinto Blvd, Austin, TX 78701

    Cost: $30 per person

    PRE-REGISTRATION IS NOW CLOSED!

    There are still a small number of tickets left. If you want one and have not purchased one yet.

    please find Justin Goeres on the NIWeek floor (JKI / Booth #841) and pay him $30 in person.

    * Vegetarian food will be available on request -- contact me privately (or publicly!) if you want to know more.

    • Like 1
  3. If you follow me on Twitter you might already know that a friend and I recently entered a Popcorn company's contest to make a video of the "most inventive way to pop this all-American snack." Our idea: Write a LabVIEW program to find #popcorn tweets on Twitter, drive an NXT-powered contraption to deliver popcorn to a popping machine, and create the world's first crowd-sourced Internet snack!

    If you watched it, and if you liked it, and if you're on Facebook, can you now do me a favor?

    We're trying to win a contest here. To win, this video needs to have the most Likes on the Fireworks Popcorn's Facebook Wall.

    The easiest way to vote is the following:

    1. Make sure you're logged into Facebook (if you're not a Facebook member you can't vote, so you can stop now :) )
    2. Click this link to go directly to the post about the video.
    3. Click the Become a Fan button to become a fan of Fireworks Popcorn. You should stay on the same page as in #2; if it redirected you somewhere else, click the link in #2 again.
    4. Click the Like link under the post about the video.

    Thanks!

    • Like 1
  4. Gravity Waves?

    Actually they're shockwaves of insight emanating from each reader as they progress through the book. These waves propagate outward spherically (the book cover is merely a 2d projection!) and intersect with the shockwaves produced by other readers, in places like LAVA.

    What's interesting is that these waves have special properties.

    First, the energy of any point on the wavefront is not a function of its distance from the origin. That's to say that the farther the wave travels and the more people it touches, the more total energy it carries.

    Secondly, when multiple waves intersect at a given point, they always interfere constructively.

    • Like 1
  5. Allow me to offer my most belated of deep congratulations, as well.

    But what impresses me most is that you haven't let the new responsibilities of fatherhood get in the way of your true passion: (American) Football.

    "Little-used backup quarterback Chris Relf accounted for three touchdowns, Anthony Dixon set the Mississippi State single-season rushing record and the Bulldogs upset No. 20 Mississippi 41-27 in the Egg Bowl on Saturday."

    So congratulations on that, too! :P

  6. (crossposted to NI Forums)

    I'm seeing a behavior where LabVIEW's List Folder primitive returns incorrect results for a folder on a mapped network drive, if the folder contains a file whose name starts with any of:

    <space> ! # $ % & ( ) + , -

    (I suspect it's actually any ASCII character whose value is less than or equal to 0x2D, but some of those are illegal and/or unprintable).

    OS: WindowsXP

    LV Version: LabVIEW 8.6 and LabVIEW 2009

    Steps to Reproduce

    (1) Map a network drive to a drive letter (I'm not sure that a mapped drive is necessary, and the network drive in this demonstration is a samba share from a Linux system).

    (2) Create a file in a directory on the network share from #1, e.g. "Z:\list-folder-bug\file.txt".

    (3) Note that LabVIEW's List Folder function returns correct results when listing the folder you just created.

    post-2992-125269899986_thumb.png

    (4) Rename the file you created in #2 above, changing its name to !file.txt. (The key is that the filename must start with !, or any of the other characters listed above.)

    (5) Note that LabVIEW's List Folder function now returns two elements in folder names that don't really exist.

    post-2992-125269900668_thumb.png

    Why This Is Important

    This is important because these phantom directories "." and ".." are expanded to "current directory" and "parent directory," which means LabVIEW thinks that the target directory contains a copy of itself and its parent. This produces an infinite recursion when listing directory contents recursively. In particular, the OpenG function List Directory Recursively is affected by this bug and enters an infinite loop when run on the directory shown in #5.

    Bonus Information

    Note, also that the dir command at the Windows Command Prompt sorts the file list in an odd way for files that begin with the aforementioned characters, but only on network shares.

    post-2992-125269991409_thumb.png

    • Like 1
  7. If you follow me on Twitter, you probably already know that I own the "metric system" lunchbox mentioned in this list of the worst lunchboxes ever. The article, however, only shows the front of the lunch box. There's 5 more sides to the Exciting World of Metrics. So I thought I'd post the other faces of the lunch box here.

    Note: This was not a lunchbox I originally owned as a child. I bought it in a kitschy retro-70s-&-80s-crap store in downtown Portland a few years ago. Back in my elementary school years, I rolled with a sweet Return of the Jedi lunchbox, and then later on an even more awesome Dragon's Lair lunchbox.

    post-2992-125105011689_thumb.jpg post-2992-125105010579_thumb.jpg

    post-2992-125105011083_thumb.jpg post-2992-125105010046_thumb.jpg

    post-2992-125105009564_thumb.jpg post-2992-125105009154_thumb.jpg

    • Like 1
  8. There's no allocation shown even with all outputs wired.

    Something to consider is that even though the original array has been decimated into N new arrays of M length, M is the same for every output array.

    I have it in the back of my head that LabVIEW describes arrays in memory with a size (M), a pointer to the 0th element, and a step value (or something like that). Could it be that all the N decimated arrays are actually sharing literally the same M length value in the same register?

  9. index.php?app=downloads&module=display&section=screenshot&id=48

    Name: LVOOP ImageMagick Interface

    Submitter: Justin Goeres

    Submitted: 02 Jul 2009

    File Updated: 03 Jan 2011

    Category: Machine Vision & Imaging

    LabVIEW Version: 8.2

    License Type: Lesser GNU Public

    Copyright © 2007, Justin Goeres Engineering

    All rights reserved.

    AUTHOR:

    Justin J. Goeres

    --see readme file for contact information

    DESCRIPTION:

    This library provides an LVOOP-based interface to the powerful cross-platform ImageMagick image handling utility suite.

    It supports all of the ImageMagick utilities and almost every command-line operator (over 200 of them) with support for custom user-specfied operators for the edge cases.

    Several examples are included that demonstrate basic text & image creation, composition, and conversion in and out of LabVIEW (including VI icon creation).

    GETTING STARTED:

    The first thing you need to know about ImageMagick is that it has a pretty steep learning curve. Complicated things are complicated, and easy things are sometimes complicated, too. The Example VIs provided with the project are intended to give you a basic start on how to use the library, but you should expect to consult an ImageMagick Examples Page frequently.

    COMPATIBILITY:

    The library is written for cross-platform usage, but is currently limited to compatibility with Windows because I don't have any non-Windows LabVIEW machines to write the platform-specific code on. If you can help out with compatibility for other platforms, please contact me. I would LOVE wub.gif to hear from you.

    REQUIREMENTS:

    A working Windows ImageMagick installation. Tested with ImageMagick v6.3.4-Q16. Almost certainly works with later versions, and probably with earlier versions back to at least v5.4.8. (Personal testimonials on this are welcome.)

    REQUIRED minimum OpenG Packages:

    oglib-error-2.3.2

    oglib-lvdata-2.7.2

    RECOMMENDED OpenG Packages: (used in examples, but not in the core functions)

    oglib-file-2.8.1

    oglib-array-2.5.1

    KNOWN ISSUES:

    Currently applications built against this library throw a litany of execution errors when run in the RTE. If you need to build these libraries into an application, please contact me and I will try to help you.

    Functions for a few of the built-in pattern generators are not completely implemented. You can access them using a custom raw operator argument.

    CHANGE LOG:

    1.0.1: Fixed an incompatibility with ImageMagick 6.3.4 when using certain operators.

    Added a better error message when ImageMagick can't be located under Windows.

    (6/19/2007)

    1.0.0: Initial release (06/18/2007)

    Click here to download this file

  10. index.php?app=downloads&module=display&section=screenshot&id=46

    Name: ImageMagick Batch Image Converter VI

    Submitter: LAVA 1.0 Content

    Submitted: 03 Jul 2009

    File Updated: 03 Jul 2009

    Category: Machine Vision & Imaging

    LabVIEW Version: 7.1

    Version: 1.0.1

    License Type: Creative Commons Attribution 3.0

    Potentially make this available on the VI Package Network?: Undecided

    Copyright © 2006, Justin Goeres Engineering

    All rights reserved.

    Author:

    Justin Goeres

    --see readme file for contact information

    Description:

    This VI provides a simple batch image conversion interface to the ImageMagick 'convert' utility. It converts and resizes groups of images specified by the user (it was originally developed for organizing documentation screenshots).

    Be warned that this is a pretty simple VI. It has basic error reporting & handling. It should serve as a starting point for people who want to explore the usage of ImageMagick with LabVIEW.

    This VI is Windows-only (the registry lookup and calling syntax are OS-specific), but it would not be difficult to adapt to other OSes.

    Requirements:

    A working Windows ImageMagick installation.

    Change Log:

    1.0.1: bugfix (12/11/2006)

    - Removed SCC .svn folders

    1.0.0: Initial release (11/27/2006)

    Click here to download this file

  11. Can y'all do me a huge favor by helping to stuff an internet ballot box for me?

    NPR (National Public Radio) did a story today about the worst wedding party songs ever. On the radio they requested that people go to their website and add their own "worst wedding song" stories, and the best ones would be selected to be read on the radio. Obviously this isn't a democratic vote and is driven by the producers, not hordes of random internet lurkers, but since there is a sort of "voting" component, can you please stuff the ballot box for me?

    If you have 15 seconds to spare, do this:

    1. Click this link.
    2. Scroll to the bottom of the page and find my entry (posted by "Justin Goeres"). Right now it's near the top if you sort by "Most Recent".
    3. When you find it, click the "Recommended" link next to it.

    For reference, here's my story:

    QUOTE

    I was Best Man at a close friend's wedding a few years ago. It was a fortunate coincidence that he was getting married on his aunt & uncle's 35th wedding anniversary, so during the reception they recognized the aunt & uncle for their milestone, and had a special dance just for them. This was a very sweet gesture, and to make it more special(?) the DJ played a song for them by their favorite country artist, Garth Brooks.

    The song the DJ selected was one of Mr. Brooks' #1 hits, "When The Thunder Rolls," which is a song about nothing less than a scorned wife who smells another woman's perfume on her cheating husband. And then gets a pistol and shoots him.

    What made the experience even more surreal was that I was apparently the only person at the party who paid any attention to the lyrics. For the rest of the night I heard several other party-goers discussing what a great romantic song the DJ had chosen, and no one ever mentioned (maybe out of respect?!) what the song was really about.

    And for the record, it's 100% true.

    Thanks!

  12. QUOTE (Black Pearl @ May 8 2009, 01:24 AM)

    I've got both constants in 7.1

    For loop: if you wire I to the outside (no indexing), you will get 0 if the loop iterates 0 and 1 times. Not so nice...

    I agree that it's sort of counterintuitive at first, but what would you expect the result to be instead? Even though the For Loop executes zero times, there has to be a data value on the I wire coming out -- that's the nature of dataflow. In this case, what's happening is that wire is taking the default value of its datatype (I32), and that value is 0.

  13. I Google'd for this briefly and came up empty. If I missed another place where this has been posted, accept my apologies!

    If I take the logical AND of an empty array of booleans, the result is TRUE. I expected it to be FALSE.

    By the same token, the logical OR of an empty array of booleans is FALSE, as I'd expect.

    post-2992-1241621756.png?width=400

    Is this a bug, or another instance where I'm misunderstanding the vagaries of IEEE math? :)

    Attached VI: (LabVIEW 8.2) Download File:post-2992-1241621760.vi

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.