• Content count

  • Joined

  • Last visited

  • Days Won


jbante last won the day on November 2 2016

jbante had the most liked content!

Community Reputation

136 Excellent

About jbante

  • Rank
  • Birthday

Profile Information

  • Gender
    Not Telling
  • Location
    CA, USA

Contact Methods

  • Website URL

FIleMaker Profile

  • FM Application
    15 Advanced
  • Platform
    Cross Platform
  • Skill Level
  • Certification
  • Membership
  1. See https://san-diego-workforce-partnership-1.workable.com/jobs/431628.
  2. If you're driver is already looking at the information on a smart phone, it's better to hand-off each destination to a navigation app than to generate the directions in FileMaker. This blog post describes how (at least on an iOS device). FileMaker can still maintain the order of destinations, and the Google and MapQuest APIs both include solutions to the traveling salesman problem that you can use in FileMaker to determine what the order of destinations should be.
  3. A solution to the original problem! Huzzah! And I really like a more thorough enumeration of the difficulties getting FileMaker to work with the null character. However, null-terminated strings are generally avoided whenever possible these days. Despite the other awkward handling of the null character, FileMaker is probably not using null-terminated strings under the hood, either in the calculation engine or in field storage: Let ( [ _null = Base64Decode ( "AA==" ) ; _string = "a" & _null & "a" ] ; Position ( _string ; _null ; 1 ; 1 ) // = 2 )
  4. You do not need a computer science degree to be hired as a FileMaker developer. Most FileMaker developers don't have any computer science training, in fact, so having one is a competitive advantage for an entry-level position. Be aware, though, that knowledge and skills unique to computer science (as distinct from general computer programming and IT) are often not what makes the biggest difference between a good and a great FileMaker application. A lot of computer science doesn't go as far as a little computer science combined with a little design.
  5. I'm way late to the thread here, but another way to make a (perfectly valid!) null character in FileMaker is Base64Decode ( "AA==" ). While this is a perfectly valid character both in UTF-8 and in Unicode more generally, it is disappointing that it doesn't get escaped in export formats like XML where it is not.
  6. Let ( [ #error = Get ( LastError ) ; #newError = If ( #error ≠ 0 ; Trim ( #error & " " & scriptStep ) ) ; It sure looks to me like the function is trying to ignore error code 0, even if there are previously recorded errors. It looks like FileMaker 15 is successfully setting $Error to empty until the first error, and successfully not appending new lines for error code 0. So FileMaker 15 isn't crashing. Great!
  7. I just tested this, and FileMaker 15 custom functions were happy to set local variables that persist outside the function for me. It looks like the ErrorList function in your demo file isn't setting the $Error variable because the custom function chooses not to save error code 0, and the script doesn't trigger any other errors for it to save.
  8. Since your result from step 1 is sorted, you can get your result from step 3 without making another ExecuteSQL call. You could do a binary search on the result from step 1 to find the last value within your upper limit, and use LeftValues ( $step1Result ; $positionOfLastValueToInclude ). This may or may not be faster; try it, measure the time, and use the faster approach.
  9. When working in FileMaker, you should usually presume that ExecuteSQL is one of the slower links in the chain, not the calculation engine. You may have a point in this case, but only because naïve parsing of return-delimited lists with calculations is a quadratic-time operation — not that it makes much difference up to a couple hundred rows or so.
  10. What is the reason you would prefer to do this with SQL instead of a function in FileMaker's calculation engine? You could easily use a (non-SQL) custom function to calculate an average from the return-delimited list result of your first query.
  11. For even the simplest of the calculation options, some historical data is necessary to fit the harmonic series. However, as long as you don't need the accuracy provided by local current and topography details, you shouldn't need that reference data after you've fit your coefficients.
  12. Judging from a quick Google search, tide calculations can range from moderately complicated to you-can-get-a-masters-degree-in-it complicated. How accurate do you need it to be, and how much detail do you need? Do you just want high and low times, or do you want to calculate height for a given time? I suppose you could do a simple calculation taking into account only the angles of the sun and moon relative to a position in a 2D model of the solar system. You could get a little more complicated by taking into account the declination of the sun (season) and moon, i.e. 3D model of the solar system. I understand that local currents and topography can also have a big effect, but then you're getting into needing to feed-in lots more location-specific data to the calculation. Mathematically, we're talking about a harmonic series for the more basic versions, i.e., a sum of sin functions representing the different periodic cycles and with different coefficients representing the relative strengths of their effects. You could pick out which effects you want to take into account (sun and moon phase at minimum, seasons and ellipsoidal orbit effects if you want to get fancier, latitude of the location if you want to show off), and fit a harmonic series with those components to a data set of actual tides.
  13. In general, there's more to how Google does what it does than just having smart people and good software. Google doesn't work "smarter, not harder"; Google works "smarter AND harder". In particular, you're right that solutions to searching massive data sets quickly (i.e. in sub-linear time with respect to the size of the data set) exist. Indexing, for example. FileMaker has indexes. (There are other types of indexes that might be nice to add, but not that would help the content of this thread.) However, there are no solutions for quickly making massive data sets searchable, at least in terms of doing it with few CPU cycles. Building indexes is a super-linear affair. (The time it takes to build an index grows faster than the amount of data to index.) This is due to computing constraints more fundamental than gravity. Google's solution is to throw billions of dollars of hardware at the problem (with some non-trivial intelligence going into how to parallelize the indexing), but the total compute time is still super-linear. Search is fast when you ask for it because some computer has spent a lot of time preparing for the search. "Big iron" has some different techniques at their disposal, but the governing principles of computing are no different. There are problems big enough that using FileMaker for them is impractical (by which I mean either impossible or takes substantially more resources to accomplish than a solution using competing tools); but those problems are rare, and that threshold is very high. Very few people are trying to index the entire internet, and those who are will have to spend monumental resources to do it, no matter how smart they are.
  14. I don't know of any apps that let you access barometer data from a URL scheme. FileMaker has a Product Ideas section of their own forum where they take feature requests.
  15. Use substitute to convert the hyphen to a return, then you can get the different numbers with GetValue: Let ( [ _values = Substitute ( Table::field ; "-" ; ¶ ) ; _left = GetValue ( _values ; 1 ) ; _right = GetValue ( _values ; 2 ) ; ] ; /* ... */ )