Better, Faster Random Text for FileMaker

We often need large amounts of random text to simulate real-world data loads while building a FileMaker solution. I was looking to create a large chunks of unique data for testing — we’re talking at least millions of characters. Here, I’ll compare the performance of a few methods I tried.

Continue reading “Better, Faster Random Text for FileMaker”

Rome FileMaker® Week 2024: iOS Widgets & Local File Technique

A Claris Community event with presentations from Vincenzo Menanno and Fabio Bosisio, plus Beezwax as a Sponsor

This week it’s Italy for one of our favorite annual events in the developer community… formazione, condivisione e di nuovo divertimento [training, sharing and fun yet again] …covering the past, present and future of Claris® FileMaker platform development…

For Rome FileMaker Week (October 10-11, 2024), Vince Menanno and Fabio Bosisio from Beezwax have created presentations on:

  • iOS widgets using Javascript and FileMaker Data API
  • The ‘Local File’ technique… A force to be reckoned with!
  • plus a sponsored session: Analyze your solution with Inspector Pro 8

Beezwax is also proud to be a sponsor once again this year, for Rome FileMaker Week 2024.

Continue reading “Rome FileMaker® Week 2024: iOS Widgets & Local File Technique”

bBox 1.04 for FileMaker Now Available

We are pleased to announce the release bBox version 1.04, including improvements to text parsing, XPath and SQLite support, and utility functions for FileMaker Admin API, Data API and OData API.

bBox is a free utility plug-in to extend FileMaker solutions to easily use code libraries. Supporting both macOS & Ubuntu Linux, it has functions to help you work with Python, JavaScript, PHP, Ruby, AppleScript, Bash/Zsh/sh, XPath, and SQLite. Also included is a demo file that has over 220 examples of how you can put bBox functions to work for you.

Continue reading “bBox 1.04 for FileMaker Now Available”

Common Refactors: Part 1 – Conditionals

In this series, I’ll talk about common refactors I suggest when doing code review in my day to day. I’ll start with conditionals, including severals example refactors. The goal is to help produce code that’s easier to read and understand, and thus, easier to maintain and produces fewer bugs.

These examples will be in TypeScript but the refactors are common patterns and can apply to most languages out there, such as Python, Ruby, Swift, PHP, Java, Go, JavaScript, etc.

Continue reading “Common Refactors: Part 1 – Conditionals”

The Repository and Unit of Work Design Patterns

Most web applications we build benefit from having a separate “data access layer” (DAL) and separating business logic from database interaction.

The main advantages to this are easier testing and maintainability. Because business logic is separated from the actual implementation, you can write code in terms of higher level abstractions, rather than having to worry about specifics.

Continue reading “The Repository and Unit of Work Design Patterns”

My favorite Data Structure: The binary search tree

Ever wondered how computers organize information? Data structures are the building blocks that store and manage data efficiently.

Like filing cabinets for your computer, they decide how you can find, add, or remove information. Understanding data structures is key for developers, as they all have pros and cons, and choosing the right one can make or break your solution!

Continue reading “My favorite Data Structure: The binary search tree”

Did You Hear Something? Observer Pattern vs. Event Listeners

The Observer Pattern is like a DMV wait line. Event Listeners are more like a fire truck with its sirens blaring. Let me explain, and give you an example of each — the former in Ruby, and the latter in JavaScript.

Continue reading “Did You Hear Something? Observer Pattern vs. Event Listeners”

Rock Solid Business Logic: The Action Pattern

The Action Pattern is a rock solid solution for organizing business logic in an application. It works quite well for medium to large-ish projects. I like the Action Pattern because it introduces few concepts, unlike some more elaborate and complex designs. It’s flexible, scalable and helps me feel more confident in handling complex business logic in my work as a developer. Even though generative AI now plays a bigger role in programming, it does not replace actual software design, and the Action Pattern can be a great tool to have in your toolbox!

Continue reading “Rock Solid Business Logic: The Action Pattern”

demystify FileMaker and JavaScript [FM-JS]

You’re invited to explore this demystify(FM-JS) blog post and download this demo file – as you embark on expanding your Claris® FileMaker® solutions into the vast and captivating realm of JavaScript.

Continue reading “demystify FileMaker and JavaScript [FM-JS]”

End to End Web Integration for Claris® Platforms

Alec Gregory from Beezwax presents at the Claris Beyond Meetup.

Let’s talk about building web UIs, JavaScript functions and new integrations for Claris FileMaker and Claris Pro. Learn how you can manage various stages of the web integration process with the open source bzBond.

Continue reading “End to End Web Integration for Claris® Platforms”

Web UI and JavaScript with Claris® FileMaker®

Alec Gregory from Beezwax presents at DIGFM & Bay Area FileMaker Developer Meetup.

Let’s talk about building web UIs and JavaScript functions using Claris FileMaker.

Continue reading “Web UI and JavaScript with Claris® FileMaker®”

Modern Full-Stack Web Frameworks: When to use What and Why

When it comes to choosing web development technologies, we now have more options than ever. And while that’s a good thing, it also poses a problem. Answering the question, “What is the ideal technology for this new project?” is not as easy as it used to be. In this post, I briefly highlight the most popular full-stack web frameworks, and why you might want to choose each of them.

Continue reading “Modern Full-Stack Web Frameworks: When to use What and Why”

Rome FileMaker® Week: Docker, Node-RED, Native Script Transactions and a Chatbot

Vincenzo Menanno and Fabio Bosisio from Beezwax present at Rome FileMaker Week.

This week we’re in Italy… formazione, condivisione e ancora divertimento [training, sharing and more fun] …with the focus on innovations in Claris® FileMaker platform development. As realtori [conference speakers] at Rome FileMaker Week (October 6-8), Vince Menanno and Fabio Bosisio from Beezwax present three sessions:

  • Local FileMaker Development with Docker and Node-RED
  • The New Horizon: Native Script Transactions in FileMaker
  • Chatbot
Continue reading “Rome FileMaker® Week: Docker, Node-RED, Native Script Transactions and a Chatbot”

bBox v0.99 Integrates Claris FileMaker with JavaScript, Python 3 and Supports M1 Apple Silicon

We are pleased to release bBox version 0.99 for Claris® FileMaker® on macOS and Linux with new NodeJS and Python 3 integration, and M1 Apple silicon support for GraphicsMagick image processing and JQ JSON parsing functions.

About bBox Plug-in For FileMaker

bBox is a free utility plug-in to extend Claris FileMaker solutions to easily use macOS and Linux code libraries and functions from Python, JavaScript, PHP, Ruby, AppleScript, C/C++, Bash/sh, XPath, and SQLite. Also included is a demo file with more than 210 examples of how you can put bBox functions to work for you.

bBox is available on macOS and Linux, and runs with either FileMaker Pro or FileMaker Server. Here’s what FileMaker Magazine had to say about bBox version 0.99:

Continue reading “bBox v0.99 Integrates Claris FileMaker with JavaScript, Python 3 and Supports M1 Apple Silicon”

The Benefits of Automated Testing

Software changes over time. Your company’s web site this year does things you had no idea you needed two years ago. How can we keep the cost of change manageable?

Automated testing is one way. Especially for large software projects, the practice of automated testing can dramatically reduce the cost of adapting software to new business necessities.

Continue reading “The Benefits of Automated Testing”

OOP Fundamentals: Quick and Dirty Guide to Testing

There are entire books written on testing. And it surely feels more an art than a science. My approach is similar to Kent Beck’s:

I get paid for code that works, not for tests, so my philosophy is to test as little as possible to reach a given level of confidence (I suspect this level of confidence is high compared to industry standards, but that could just be hubris). If I don’t typically make a kind of mistake (like setting the wrong variables in a constructor), I don’t test for it. I do tend to make sense of test errors, so I’m extra careful when I have logic with complicated conditionals. When coding on a team, I modify my strategy to carefully test code that we, collectively, tend to get wrong.

https://stackoverflow.com/a/153565/1015566

He goes on to add that different people will have different strategies and, at the end of the day, you just have to do what works best for you and your team. Extremely practical, and the approach I personally follow.

This won’t be a detailed post on every possible topic on tests and testing in Object-oriented Programming (OOP). There are many books about that already. Instead, this article will cover the basics of testing, so you understand how and why we test, and you can adapt it to your own needs.

Continue reading “OOP Fundamentals: Quick and Dirty Guide to Testing”

OOP Fundamentals: The Decorator Pattern

The decorator pattern is one of my favorite patterns. It is simple, extensible and powerful. It feels like it follows the essence of object oriented programming beautifully. Sadly though, it is also easy to be misused or misunderstood. So, in this post I will show you the essence of the decorator pattern, illustrated with a few examples.

Continue reading “OOP Fundamentals: The Decorator Pattern”

OOP Fundamentals: The Dependency Inversion Principle

The dependency inversion principle is one of the cornerstones of object-oriented programming. Without it, there is no object-oriented design. It’s that important.

Continue reading “OOP Fundamentals: The Dependency Inversion Principle”

Composition over Inheritance, with JavaScript examples

If you are into object-oriented programming, you most likely have heard about composition over inheritance. The concept itself is simple: Whenever possible, prefer to compose objects rather than introducing inheritance.

Continue reading “Composition over Inheritance, with JavaScript examples”

Dynamic Forms with JavaScript and FileMaker Web Viewers

Using the FileMaker platform we can harness the power and wow-factor of modern web interfaces. This post shows how we can build dynamic data-entry forms for use in our apps.
Continue reading “Dynamic Forms with JavaScript and FileMaker Web Viewers”

1 2 3