Turbine UI – Laravel Blade & Tailwind CSS UI Component Library

https://picperf.io/https://laravelnews.s3.amazonaws.com/featured-images/turbine-ui.jpg

Turbine UI - Laravel Blade & Tailwind CSS UI Component Library

Turbine UI is a library of web components built for Laravel Blade and styled with Tailwind CSS. Turbine UI has been designed with simplicity and flexibility in mind, making it easy for you to style your apps and features over 30 professionally designed components.

You can effortlessly deploy these components out of the box or tailor them to perfection using the proprietary theme and variant systems.

Building a Laravel front-end with Turbine UI transforms the design process into a seamless joy, ensuring maintainability is a breeze.

You can get started for free by installing Turbine UI via Composer:

composer require brandymedia/turbine-ui-core

Also, check out the home page and official documentation for more details.


The post Turbine UI – Laravel Blade & Tailwind CSS UI Component Library appeared first on Laravel News.

Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.

Laravel News

You Can Get Almost-New Camera Gear for a Fraction of the Cost. Here’s How.

https://cdn.thewirecutter.com/wp-content/media/2023/11/buyingusedcameragear-2048px-mirrorlesscameras-3×2-1.jpg?auto=webp&quality=60&width=630&dpr=2

Four cameras shown side by side on top of a wooden fence.

Let’s be real—camera gear is expensive. And the hit to your wallet can feel most acute as you’re starting to build a system from scratch, when a new entry-level camera costs you north of $500, and it may not even come with a lens. Buying used, however, can get you 90% of the quality and longevity of new gear at 60% of the price. That’s a deal that’s hard to turn down.

Dismiss

Wirecutter: Reviews for the Real World

How to use the Basilisk II System 7 emulator on macOS

https://photos5.appleinsider.com/gallery/56786-116140-lede-xl.jpg

Article Hero Image

The Basilisk II emulator can be used to run old versions of Mac OS 8 and System 7 on a modern Mac. Here’s how to get started using it.

Before macOS and OS X, there was Mac OS 9, and before that were its precursors: Mac OS 8, and System 7.x.

System 7 was released in 1991 and was the first version of Mac OS to feature color. Prior to that, the Mac was black and white only.

Early Macs used a CPU from Motorola called the 68000, better known simply as the 68K.

Emulating Mac OS 8 and System 7

Today there are a number of emulators you can run on your modern Mac to emulate Mac OS 8 and System 7 running on a vintage 68K Mac. Among these are Basilisk II, Sheepshaver, macintosh.js, and others.

There are also many online Mac OS 9 emulators.

In this article, we’ll cover Basilisk II written by Christian Bauer.

Getting Basilisk II

To download Basilisk II, head over to its page which has links to acquire the executable. There is also a GitHub repo which contains source code written in C++.

Note that the download links are on the Basilisk II forums and can be a bit confusing. The most recent post from the forums page as of this writing reads:

“SDL2 port, 10 August 2023, universal (x86_64 and arm64) from github.com/kanjitalk755/macemu source Universal, will run natively on both Intel and Apple Silicon

Recommended for macOS 10.13 (High Sierra) through 13 (Ventura)

Download: https://www.emaculation.com/basilisk/Ba … 230810.zip”

SDL2 is the Simple DirectMedia Layer – a code library framework that handles graphics, sound, and user input. You can install SDL2 from its website as a macOS framework in /Library/Frameworks, but Basilisk II has a copy of the framework built in.

Basilisk II has been ported to run on macOS, older versions of Windows, most X11-based versions of Unix, and some older vintage operating systems.

Once Basilisk II has been downloaded, you’ll need to do some configuration first. Along with Basilisk II you’ll also need copies of original Macintosh ROMs from a 512K or 1MB classic Mac, Mac II, and the original version of Mac OS you wish to run (System 7.1, 7.5.3, Mac OS 8, or 8.1).

Also from the forums page:

“For a new BasiliskII setup, a BasiliskIIGUI application and a keycodes file are needed”

Keycode files are only needed if you’re not using the US-English keyboard.

To get the original Mac ROM files you’ll need to own one of the mentioned original Macs and dump its ROM to a file. For copyright reasons, we won’t get into how to do that here.

Apple does provide a free download of MacOS 7.5.3, one of the last commercially released versions of System 7, online.

The original Macs had much of their OS and APIs in hardware in ROMs on the motherboards. The OS could be extended later by installing software but all the old Mac OS versions and apps made calls to the ROM APIs to standardize many software functions.

Be sure to read the Basilisk II README file for additional details before you continue. You’ll also want to read the Technical Manual which is linked at the top of the main Basilisk II page.

The Basilisk II GitHub page also has a Mac OS 9 emulator called SheepShaver which emulates later PowerPC CPU-based Macs. Mac OS 9.0, 9.1, and 9.2.1 which ran on PowerPC Macs were the final versions of Apple’s classic OS before Apple released Mac OS X in 2000.

Note that when Apple released new revolutionary Macs in 1998 (iMac, PowerMac G3, and the first iBook), it switched to a new ROM format called “NewWorld” ROMs. Depending on whether you want to emulate a pre-1998 or post-1998 Mac, you’ll need either “Old-world” or “New-World” ROMs.

Macs from 1998 or later also switched to new firmware called Open Firmware. You can boot any 1998 or later classic PowerPC-based Mac into Open Firmware by holding down Command-Option-O-F on the Mac’s keyboard after restarting.

Installing Basilisk II

Basilisk II emulates either a Macintosh Classic, Classic II (the last of the black and white “compact Macs”), or a Macintosh II running MacOS 7.x, 8.0, or 8.1, or the successor to the Mac II line called Quadra. The Macintosh II was Apple’s first color Macintosh and came in a large, wide desktop form factor without a built-in display.

The original Mac II models were, in order:

  1. Mac II
  2. Mac IIcx
  3. Mac IIci
  4. Mac IIvx
  5. Mac IIsi

Original Mac II. Note the two 3.5-inch floppy drives at the right, top.

The IIcx and IIvx were short-lived models. By far the most popular of the Mac II models was the Mac Iici which was much more compact and easier to deal with than the original Mac II.

Later Apple replaced the Mac II line with the new Quadra line because it was based on the next evolution of the 68000 – the 68040. These models included the Quadra 700 which looked like the IIci, and two huge desktop tower models: the 900 and 950.

The 700 became one of Apple’s most popular models.

The IIsi was a low-end, more compact version of the Mac IIci with more limited features and only one expansion slot.

Macintosh IIsi – utilizing what Apple called the “Snow White” design language.

For Basilisk II installation instructions, you’ll need to clone the macemu GitHub repository on Christian’s GitHub page, dive into the /macemu/BasiliskII/ folder, and read the file INSTALL.

If you are running on a non-macOS UNIX system, you will need to compile Basilisk II from source on that platform, which is detailed in the INSTALL file.

As mentioned in the INSTALL file:

“The ROM file has to be named “ROM” and put in the same directory as the Basilisk II executable but you can specify a different location for the ROM file with the “rom” option in the preferences file (or with the preferences GUI).”

If you try to run Basilisk II without the ROM file, nothing happens.

According to that page, you’ll need to create folder in your user’s home folder named “BasiliskII”, and put the app, any keyboard keycode files, the ROM file, and other mentioned associated files into it.

You’ll also need the mentioned Basilisk II GUI beta application which is used to set up and configure the emulator.

Note that the GUI config app can only be downloaded from another linked forum post. Current version as of this writing is 0.20.

There is also another utility mentioned from a third party called “Basilisk II Disk Image Chooser” which helps select and configure disk images.

Basilisk II GUI has a popup menu for setting the Mac model, but currently only two models are enabled from the popup: Mac Iici (System 7.x) and Quadra 900 (for Mac OS 8.x).

The Basilisk II GUI also has a Browse button for selecting the ROM file using a standard macOS file Open pane, which allows you to choose a ROM file located in another location.

Select a Mac model, ROM file, and CPU type, then click “Save”.

The first time you run Basilisk II, it will create an invisible prefs file at the root of your user folder named “.basilisk_ii_prefs”. Although this file doesn’t have any file extension, it’s a plain text file which you can open with any text editor to change some of Basilisk II’s settings.

Some important values in the prefs file are:

  1. displaycolordepth
  2. ramsize
  3. fpu (Floating point unit)
  4. nosound
  5. rom
  6. disk

The ‘rom’ value is critical – it points to the Mac ROM file to use. But we’ll get to that in a moment below.

You can also set or add classic 1.44MB floppy disk drives to the prefs file from the GUI or by adding “floppy” keys with paths to the floppy diskette images you want to use.

Original Macs used standard 3.5-inch floppy diskettes designed by Sony which were in a sealed plastic shell with a sliding metal door to expose the disk media when a diskette was inserted into a floppy disk drive. You can make images of these disks and load them into Basilisk II.

They were called “floppies” because the disk media itself was just a thin plastic film with a magnetic recording surface bonded to it. If you removed the outer hard plastic shell, the disk would “flop” over if you picked it up.

A stack of 3.5-inch floppy diskettes.

You will also need to set a disk (volume) to boot from. This is different than setting the ROM file.

The ROM file contains only the Mac OS ROM code. You’ll still need a bootable disk containing the actual Mac OS operating system in order to boot the emulator.

If you haven’t set both, the emulator won’t start. Back in Basilisk II GUI, you can set up your disk volumes in the Volumes tab:

Set disks, volumes, and a shared folder in the Volumes tab.

If you’re not sure what to add here, add the DiskTools_MacOS8.image as stated on the forums setup page.

A better way is to run the third-party Basilisk II Disk Image Chooser app. This app detects if you don’t have any startup disk set in your emulator configuration – and if you don’t it will prompt you with options to set one up:

Set a startup disk in Disk Image Chooser.

You may want to quit Basilisk II GUI first before running Basilisk II Disk Image Chooser, then restart it after you’ve set a startup disk.

If you click the Select button in Basilisk II Disk Image Chooser, you can choose a disk image to use and the utility will set it for you in the emulator’s prefs file.

Once you try to exit Basilisk II Disk Image Chooser, it will ask you if you want to write the prefs file. If you do, it will then prompt whether you want to launch Basilisk II, return to the main menu, or exit.

Select Launch Basilisk II to start the emulator, or Exit to quit Basilisk II Disk Image Chooser so you can go back to Basilisk II GUI to finish configuration.

If you reopen the .basilisk_ii_prefs file, you’ll note several entries have been added. Most notably the ‘rom’ and ‘disk’ entries which point to the ROM file and startup disk to use when the emulator starts.

rom /Volumes/Virtualization/BasiliskII/9779D2C4 – MacII (800k v2).ROM

disk /Volumes/Virtualization/BasiliskII/DiskTools_MacOS8.image

Be sure the startup disk image file you select matches which Mac model (ROM) you’ve chosen to use. Some older Macs can’t run newer versions of the Mac OS, and vice versa.

If you reopen Basilisk II GUI, under the Volumes tab you’ll now see the startup disk image Basilisk II Disk Image Chooser set for you:

Shared files

As the instructions note, the UNIX root under the Volumes tab in Basilisk II GUI can be set to point to a shared folder on your modern Mac’s filesystem – any files you put in the UNIX root folder will appear on the emulated Mac OS desktop as a “UNIX” disk volume.

You can copy files from your modern Mac to the emulated Mac’s desktop by placing them in this folder. Note you need to restart the emulator for any changes to be noticed.

Starting the emulator

Once you’re satisfied with all the settings in Basilisk II GUI, click the Save button, then click Start. This starts the emulator from the startup disk you set.

When you’re done using Basilisk II and want to quit the emulator, select the Shut Down menu item from the Finder’s Special menu in the old (emulated) Mac OS you are running.

Unlike in modern macOS, the Shut Down menu item is on the right side of the menu bar in the old Mac OS under the Special menu.

While Basilisk II is a bit confusing to set up and configure at first, it’s a nice piece of software. Once you get everything installed, it’s easy to use.

Being able to run both System 7.5.3 and Mac OS 8 on modern Macs opens your computer up to a huge library of vintage software used on the Mac in decades past.

AppleInsider News

OpenAI’s GPT Builder: A Game Changer for Exponential Entrepreneurs

https://blog.finxter.com/wp-content/uploads/2023/11/image-35.png

5/5 – (1 vote)

The digital landscape is on the brink of a revolutionary shift, thanks to OpenAI’s latest offering: the GPT Builder.

Anyone can leverage GPT Builder to create personalized AI models and potentially generate significant revenue with the launch of the OpenAI GPT store!

Step 1: Accessing GPT Builder

To begin with, access to GPT Builder is exclusive to ChatGPT Plus subscribers. Once you’re in, navigate to the Explore tab and select “Create a GPT”. This is your gateway to entering the world of custom AI creation.

Step 2: Conversational Drafting

The process starts with a simple conversation within the “Create” tab to create your desired AI model through a casual chat with ChatGPT. This interaction forms the foundation of your custom GPT. Simply describe the behavior you want your GPT to have in natural language. Focus on value creation for the user or fun projects!

Step 3: Configuring Your GPT

Now click the “Configure” tab to adjust and modify your GPT. Here, you can also connect with custom “Actions”, i.e., APIs that call external services. You can also set whether your GPT will allow web browsing or DALL-E Image Generation.

You can also fine-tune your GPT such as renaming, changing the profile photo, and most importantly, infusing the GPT with specific knowledge by uploading relevant data.

Step 4: Bringing Your GPT to Life

Now you can click “Save” and publish your GPT to the world — or just keep it private for now. Make sure to test your GPT properly.

Here’s an example of my first GPT:

????‍???? Recommended: I Made a Dan Peña GPT with OpenAI and Learned This

The Upcoming GPT Store: A World of Opportunities

The launch of the GPT Store is imminent, signaling a significant opportunity for early adopters. To put this in perspective, consider the revenue generated by platforms like Shopify Apps and the App Store. The potential for the ChatGPT Store is vast and largely untapped.

Here’s the App Store revenue (source):

Similarly, developers made $320 billion from the App Store:

This revenue was shared by roughly 34 million Apple developers (cumulative). In other words, each App Store developer made $320 billion / 34 million = $10,000 on average. If you belong to the top 10% of developers, i.e., you didn’t only create an account but actually submitted an app, you can see why many early App Store developers became millionaires.

Conclusion

OpenAI’s GPT Builder is more than just a tool; it’s a gateway to innovation and entrepreneurship in the AI space.

With the ability to create and customize AI models easily, the possibilities are endless. There are at least as many possible apps as there are in the App Store — probably many more groundbreaking apps!

Be on the right side of change, stay ahead of the curve, and start experimenting with this transformative GPT Builder technology today!


Prompt Engineering with Python and OpenAI

You can check out the whole course on OpenAI Prompt Engineering using Python on the Finxter academy. We cover topics such as:

  • Embeddings
  • Semantic search
  • Web scraping
  • Query embeddings
  • Movie recommendation
  • Sentiment analysis

????‍???? Academy: Prompt Engineering with Python and OpenAI

Be on the Right Side of Change

Rethinking the Form Factor of the Wind Turbine

https://s3files.core77.com/blog/images/1457511_81_126227_x5sYCJRUD.jpg

Wind turbines are like skyscrapers: We’re just using engineering to make them bigger and bigger, and no one has re-thought the form factor with any concern for economics. Building a 500-foot tower and adding 400-foot blades can generate lots of megawatts, but they’re incredibly expensive to manufacture, difficult to transport, difficult to install, difficult to maintain, and limited in where they can be placed.

A company called Airloom Energy has rethought the form factor. Their clever alternative design for a utility-scale wind-energy-capturing system features "unique geometry [that] generates the same amount of electricity as conventional turbines at a fraction of the cost."

Rather than a tower, Airloom has developed a sort of suspended NASCAR track. This track is mounted to 25-meter (82′) poles, and has a series of vertical 10-meter (33′) blades hanging from it. The blades are not attached directly to the track, but to a cable that runs the perimeter of the track. As the wind blows, the blades start to move around the track. The cable gets pulled through power take-off units that harvest the resultant energy.

Airloom’s system can be built using readily available and conventional materials; no fancy composites are required. They cost 1/10th of a turbine that generates the same amount of energy, and are far easier to transport; broken down, the system fits onto a standard tractor-trailer.

The company also says an Airloom wind farm costs less than 25% of the price of a turbine-based farm, and that the end result is an electricity price of $0.013/kWh—which is about a third of the $0.038/kWh price offered by a turbine wind farm.

Most interestingly, the Airloom system could be set up over actual farmland, or directly next to power lines to decrease transmission distance.

The company has raised seed funding and plans to launch a pilot project in 2025.

Core77

How to use MySQL 8.2 read/write splitting with Connector/Python

https://i0.wp.com/lefred.be/wp-content/uploads/2023/11/Router-ReadWrite.drawio-1.png?resize=917%2C781&ssl=1

As you know, one of the most eagerly waited features was released with MySQL 8.2: the transparent read/write splitting.

In this post, we’ll look at how to use it with MySQL-Connector/Python.

Architecture

To play with our Python program, we will use an InnoDB Cluster.

This is an overview of the cluster in MySQL Shell:

JS > cluster.status()
{
    "clusterName": "fred", 
    "defaultReplicaSet": {
        "name": "default", 
        "primary": "127.0.0.1:3310", 
        "ssl": "REQUIRED", 
        "status": "OK", 
        "statusText": "Cluster is ONLINE and can tolerate up to ONE failure.", 
        "topology": {
            "127.0.0.1:3310": {
                "address": "127.0.0.1:3310", 
                "memberRole": "PRIMARY", 
                "mode": "R/W", 
                "readReplicas": {}, 
                "replicationLag": "applier_queue_applied", 
                "role": "HA", 
                "status": "ONLINE", 
                "version": "8.2.0"
            }, 
            "127.0.0.1:3320": {
                "address": "127.0.0.1:3320", 
                "memberRole": "SECONDARY", 
                "mode": "R/O", 
                "readReplicas": {}, 
                "replicationLag": "applier_queue_applied", 
                "role": "HA", 
                "status": "ONLINE", 
                "version": "8.2.0"
            }, 
            "127.0.0.1:3330": {
                "address": "127.0.0.1:3330", 
                "memberRole": "SECONDARY", 
                "mode": "R/O", 
                "readReplicas": {}, 
                "replicationLag": "applier_queue_applied", 
                "role": "HA", 
                "status": "ONLINE", 
                "version": "8.2.0"
            }
        }, 
        "topologyMode": "Single-Primary"
    }, 
    "groupInformationSourceMember": "127.0.0.1:3310"
}

JS > cluster.listRouters()
{
    "clusterName": "fred", 
    "routers": {
        "dynabook::system": {
            "hostname": "dynabook", 
            "lastCheckIn": "2023-11-09 17:57:59", 
            "roPort": "6447", 
            "roXPort": "6449", 
            "rwPort": "6446", 
            "rwSplitPort": "6450", 
            "rwXPort": "6448", 
            "version": "8.2.0"
        }
    }
}

MySQL Connector/Python

The Python program uses MySQL-Connector/Python 8.2.0.

This is the initial code:

import mysql.connector

cnx = mysql.connector.connect(user='python',
                              passowrd='Passw0rd!Python',
                              host='127.0.0.1',
                              port='6450')

cursor = cnx.cursor()

query = ("""select member_role, @@port port 
            from performance_schema.replication_group_members 
            where member_id=@@server_uuid""")

for (role, port) in cursor:
    print("{} - {}".format(role, port))

cursor.close()
cnx.close()

We can already test it:

$ python test_router.py 
PRIMARY - 3310

Good, we can connect to the cluster using the read/write splitting port (6540) and execute the query…. oh ?! But why are we reaching the Primary instance ?

Shouldn’t we access a Read/Only instance (one of the Secondaries) ?

autocommit

Connector/Python disables autocommit by default (see MySQLConnection.autocommit Property). And the Read/Write Splitting functionality must have autocommit disabled to work properly.

Add the following code above line 8:

cnx.autocommit = True

Then we can run the program again:

$ python test_router.py 
SECONDARY - 3320
$ python test_router.py 
SECONDARY - 3330

Great, it works as expected !

query attributes

Now let’s see how to force execution of the query on the Primary node.

The MySQL Router offers the possibility of using a query attribute to force the Read/Write Split decision: router.access_mode.

Add the following line just before executing the query (cursor.execute(query)):

 cursor.add_attribute("router.access_mode", "read_write")

Let’s execute it one more time:

$ python test_router.py 
PRIMARY - 3310

The accepted values for the router.access_mode are:

  • auto
  • read_only
  • read_write

Test with DML

Let’s try something different, we’re going to insert rows into a table.

We’ll use the following table:

CREATE TABLE `t1` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `port` int DEFAULT NULL,
  `role` varchar(15) DEFAULT NULL,
  `timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB 

We’ll use the following python script:

import mysql.connector

cnx = mysql.connector.connect(user='python', 
                              password='Passw0rd!Python',
                              host='127.0.0.1',
                              port='6450',
                              database='test')
cnx.autocommit = True
cursor = cnx.cursor()

for i in range(3):
    query = ("""insert into t1 values(0, @@port, (
          select member_role
            from performance_schema.replication_group_members 
            where member_id=@@server_uuid), now())""")
    cursor.execute(query)

cursor.close()
cnx.close()

for i in range(3):
    cnx = mysql.connector.connect(user='python', 
                              password='Passw0rd!Python',
                              host='127.0.0.1',
                              port='6450',
                              database='test')
    cnx.autocommit = True
    cursor = cnx.cursor()
    query = ("""select *, @@port port_read from t1""") 
    cursor.execute(query)
    for (id, port, role, timestamp, port_read) in cursor:
             print("{} : {}, {}, {} : read from {}".format(id, 
                                             port, 
                                             role, 
                                             timestamp, 
                                             port_read))

    cursor.close()
    cnx.close()

Let’s execute it :

$ python test_router2.py 
1 : 3310, PRIMARY, 2023-11-09 17:44:00 : read from 3330
2 : 3310, PRIMARY, 2023-11-09 17:44:00 : read from 3330
3 : 3310, PRIMARY, 2023-11-09 17:44:00 : read from 3330
1 : 3310, PRIMARY, 2023-11-09 18:44:00 : read from 3320
2 : 3310, PRIMARY, 2023-11-09 18:44:00 : read from 3320
3 : 3310, PRIMARY, 2023-11-09 18:44:00 : read from 3320
1 : 3310, PRIMARY, 2023-11-09 17:44:00 : read from 3330
2 : 3310, PRIMARY, 2023-11-09 17:44:00 : read from 3330
3 : 3310, PRIMARY, 2023-11-09 17:44:00 : read from 3330

We can see that there were no errors and that we wrote to the Primary node and read from all Secondaries.

Be careful if you set the query attribute for router.access_mode to read_only just before writing (line 16), you’ll get an error as writes are not allowed on a secondary:

_mysql_connector.MySQLInterfaceError: The MySQL server is running with the --super-read-only option so it cannot execute this statement

Transactions

Now we’re going to play with transactions. We create a new script that will perform several transactions:

  1. a read operation in autocommit
  2. a read operation in a transaction (by default, this is a read/write transaction)
  3. a read operation in a read only transaction
  4. a transaction with several inserts and rollback

This is the source of the program:

import mysql.connector

cnx = mysql.connector.connect(user='python', 
                              password='Passw0rd!Python',
                              host='127.0.0.1',
                              port='6450',
                              database='test')
cnx.autocommit = True
cursor = cnx.cursor()
query = ("""select member_role, @@port port 
            from performance_schema.replication_group_members 
            where member_id=@@server_uuid""")
cursor.execute(query)

for (role, port) in cursor:
    print("{} - {}".format(role, port))


cnx.start_transaction()
query = ("""select member_role, @@port port 
            from performance_schema.replication_group_members 
            where member_id=@@server_uuid""")
cursor.execute(query)

for (role, port) in cursor:
    print("{} - {}".format(role, port))

cnx.commit()

cnx.start_transaction(readonly=True)
query = ("""select member_role, @@port port 
            from performance_schema.replication_group_members 
            where member_id=@@server_uuid""")
cursor.execute(query)

for (role, port) in cursor:
    print("{} - {}".format(role, port))
    

cnx.commit()

cnx.start_transaction()

for i in range(3):
    query = ("""insert into t1 values(0, @@port, (
          select member_role
            from performance_schema.replication_group_members
            where member_id=@@server_uuid), now())""")
    cursor.execute(query)

cnx.rollback()
cursor.close()

cnx.close()

Let’s execute the script:

$ python test_router3.py 
SECONDARY - 3320
PRIMARY - 3310
SECONDARY - 3320

We can see that the first operation (1) reached a secondary instance, the second operation (2), which was a transaction, reached the primary node.

The read-only transaction (3) reached a secondary node.

We didn’t get any errors for the multiple writes that were part of the transaction we rolled back.

Conclusion

We’ve seen how easy it is to use MySQL Connector/Python with MySQL 8.2 Read/Write Splitting for an InnoDB Cluster.

Enjoy using MySQL Read / Write Splitting with MySQL Connector Python !

Planet MySQL

Why This Medical Saw Can’t Cut Your Skin

https://theawesomer.com/photos/2023/11/saw_blade_vs_human_skin_t.jpg

Why This Medical Saw Can’t Cut Your Skin

Link

Medical professionals use a special power saw to cut through casts when it’s time to remove them. While the high-speed saw blade slices effortlessly through a hardened cast, it does nothing to your body if it makes contact with your skin. Steve Mould investigates the physics that allows this ingenious device to work without causing bodily harm.

The Awesomer

2024 Honda Transalp 750 Review: Value-Packed, Confidence-Inspiring Middleweight Adventure Bike Contender

https://s3.us-east-1.amazonaws.com/images.gearjunkie.com/uploads/2023/11/2024_HONDA_TRANSALP_MEDIA_INTRO_ALIGN_MEDIA_AL8_6031-1.jpg

Seiji Ishii on the 2024 Honda Transalp 750

Honda announced the release of the Transalp 750 in the U.S. market last month. It then invited us to test the much-anticipated ADV bike on the Backcountry Discovery Routes (BDR) PA Wilds BDR-X route.

Transalp is a lauded monicker to motorcyclists who like to venture on the rougher surfaces of dirt and gravel back roads. The original Honda Transalp hit these less-traveled venues in 1986, and the 2024 Honda XL750R Transalp evoked nostalgia as soon as I saw it. Visually, the bike looked to possess the double personality of highway cruiser and dirt bomber that the original version introduced.

I rode the 2024 Honda Transalp 750 over 2 days on varied terrain in rural central Pennsylvania, luckily catching the incredible fall hues. I rode smooth highways, windy blacktops, and dirt that ranged from tame two-track to challenging rocky sections made slick with puddles and mud. The Transalp and I covered nearly 300 miles of the 500-mile BDR-X route.

In short: The 2024 Honda Transalp 750’s dual purpose matched its dual personality. It was extremely easy to ride, allowing me to traverse more challenging sections without hesitation. The pairing of these alter egos made the Transalp a bike suitable to a wide range of abilities and styles, making the bike an appealing choice for the ADV masses.

2024 Honda Transalp 750

Specs

  • Engine 755cc liquid-cooled 24.5º inline-two-cylinder four-stroke w/270º crank
  • Valve train OHC Unicam, 4 valves per cylinder, 35.5mm inlet valves, 29mm exhaust valves
  • Induction PGM-FI; 46mm throttle bodies
  • Transmission Manual 6-speed
  • Clutch Multiplate wet
  • Front suspension 43mm Showa SFF-CATM telescopic inverted fork w/ spring-preload adjustment; 7.9" travel
  • Rear suspension Pro-Link system w/ single Showa remote-reservoir shock; 7.5" travel
  • Front brake Dual 310mm "wave" discs w/ hydraulic two-piston calipers
  • Rear brake Single 256mm "wave" disc w/ hydraulic single-piston caliper
  • Fuel capacity 4.5 gal.
  • Wet weight 459 lbs.
  • Ground clearance 8.3"
  • Tires 90/90-21 (front), 150/70R-18 (rear)
  • Wheelbase 61.5"
  • Seat height 33.7"

Pros

  • Extremely linear and tractable engine response
  • Suspension effective over most surfaces at "adventuring" speeds
  • Excellent electronic rider aids package
  • Great brakes

Cons

  • Low exhaust could be prone to damage
  • No cruise control
  • Small, uncomfortable stock footpegs
  • USB-C port is under the seat

2024 Honda XL750R Transalp Review

Seiji Ishii on the 2024 Honda Transalp 750
The 2024 Honda Transalp 750 had impeccable street manners; (photo/American Honda Motor Co.)

2024 Transalp 750 Engine Characteristics

The heart of any bike is the engine, and Honda graced the 2024 Transalp 750 with one of the most agreeable motors I’ve ever ridden on an ADV bike.

The 755cc liquid-cooled, parallel twin powerplant amicably delivered torque and power. Twisting the fly-by-wire throttle elected a linear power curve that never surprised me, regardless of which of the four factory-set drive modes (Sport, Standard, Rain, Gravel) I chose. This amazingly tractable nature was partly due to the influence of the electronic traction control on the rear wheel.

Seiji Ishii on the 2024 Honda Transalp 750
The extremely tractable engine made riding in the wet and mud manageable; (photo/American Honda Motor Co.)

The single-cam engine (Unicam, borrowed from Honda’s MX lineup) produced a familiar feeling akin to the 1084cc Honda Africa Twin, which I’ve ridden extensively in Baja. The Transalp felt like I thought it should, given the roughly 250cc smaller displacement. And just like on the bigger cousin, the Transalp’s motor and EFI induction were smooth in all rpm ranges. I never felt any annoying vibrations or blips in power delivery.

This extremely linear and predictable motor characteristic made the 2024 Honda Transalp 750 easy to manage, but it did lack the excitement of other current ADV powerplants. There was no rpm to target for a power surge, even while nursing the clutch.

It was very “Honda-like,” in its delivery of 92 horsepower at 9,500 rpm and 53 foot-pounds of torque at 7,250 rpm, which some riders appreciated over the potential rush of riding a surge in power delivery.

Transalp 750 Suspension Performance

Seiji Ishii on the 2024 Honda Transalp 750
No appreciable fork dive with the stock suspension, it was good all-around; (photo/American Honda Motor Co.)

The Showa suspension on the 2024 Honda Transalp 750 felt on point for my 168-pound frame in off-road riding gear, without bags or luggage, while on the tarmac. I didn’t hesitate to push into turns, nor did I go out of my way to avoid potholes or wrecked pavement. I didn’t feel any bothersome fork dive upon braking, nor did I feel like I ate through much of my rear shock travel while accelerating.

Much like the engine, the suspension quietly and predictably managed the chassis. This allowed relaxed riding while cruising or on lean during spirited cornering. Again, it was very “Honda-like.”

I felt the same on winding two-track and tamer dirt and gravel on most of the first day along the PA Wilds BDR-X route. I didn’t notice any blaring shortcomings in damping or spring rate while standing on the pegs, which I do exclusively when off-road.

The front-to-rear balance felt fine, and the damping rate was appropriate for most terrains and speeds encountered that day. The off-road surfaces ranged from hardpacked and relatively smooth dirt to looser gravel roads and some sections of embedded and loose rocks up to tennis-ball size.

On the second day, there was an optional “expert” section of mud and wet rocks and roots of significant size. The rear shock was harsh, and the front fork blew through the middle of its travel too quickly. But it wasn’t anything I considered a shortcoming for an ADV bike.

Overall, I felt the Showa 43mm inverted fork and Pro-Link rear shock handled their respective 7.9″ and 7.5″ of travel well for the all-around usage pattern of an ADV bike.

2024 Honda Transalp 750 Electronics Package

A standout element of the Transalp 750 was the electronic rider assistance functions, especially given the four-digit MSRP.

2024 Honda Transalp 750 display
The 5″ TFT display was easily readable regardless of light or dust conditions; (photo/Seiji Ishii)

Riding Modes

In addition to the four factory-programmed riding modes, there is a user-programmable mode. Every imaginable aspect can be molded to personal preference: engine output, engine braking, rear ABS on/off, and traction control (aided by a slipper clutch). A surprising OEM inclusion is a programmable quick shifter.

For the streets and tamer dirt and gravel roads, the stock riding modes worked fine for me. But anytime it got a bit rocky or loose, the traction control and ABS were intrusive, so I switched them to the lowest settings in the User mode, and all was well.

Speaking of ABS and braking, I found the dual front and single rear caliper brakes excellent from the start. I didn’t have to modulate my naturally occurring braking efforts in any way, and they were always met with predictable bite and progression, both on the road and off.

Quick Shifter & TFT Information Panel

I really enjoyed the programmable quick shifter. After I got over the ingrained habit of tapping the clutch on shifts, I really appreciated the stock addition. Others should follow suit, in my opinion. It added a lot to my riding experience and now that I’m back on a bike without one, I miss it. I found the factory setting to be fine for me, but the “softness” of engagement and other factors is user-modifiable.

The 5-inch color TFT screen was a winner. No matter the lighting conditions, the characters on the screen were clear and easily readable while riding. And as a notable side note, the windscreen was perfect for my 6-foot frame. I experienced little buffeting even at 80 mph.

With the appropriate riding mode chosen for road and gravel, and then the user mode when things got rough, the 2024 Honda Transalp got 53 mpg over the 2 days of riding the PA Wilds BDR-X route.

XL750 R Transalp Nitpicks

Seiji Ishii on the 2024 Honda Transalp 750
The MSRP of $9,999 is remarkable for what you get; (photo/Seiji Ishii)

It was hard for me to find notable negatives on the 2024 Honda Transalp 750, given the $9,999 price. But, alas, it is my job.

Transalp 750 Chassis

The first and foremost thing I wanted right away was clickers on top of the forks. The forks have 15 levels of preload adjustment, and the shock has seven, but compression and rebound adjusters are not part of the stock package. Given that the forks are Separate Fork Function (compression and rebound handled by one leg each), it even makes more sense to include them.

2024 Honda XL750R Transalp
The programmable quick shifter was a welcome addition, but the diminutive stock footpegs were lacking; (photo/Seiji Ishii)

The next big thing to me was the stock footpegs. I know OEM pegs can be horrible, but I found the Honda ones especially so. They are tiny in every dimension and seem like they came off a kid’s bike. The tank is wider than motocross or single-cylinder dual sport machines.

So, combined with the narrow pegs, standing while squeezing the knees was awkward and uncomfortable. And, even with new Alpinestars Tech 10s, I had obvious pressure points on the bottom of my foot.

I stand almost 100% of the time on dirt. So, the lack of surface area was noticeable, especially on longer, rougher sections. Come on, Honda, give us some decent pegs!

Other Nitpicks

Another exclusion that is often found on ADV bikes is cruise control. I never use it, but others prefer to have it on long highway stints.

I would also prefer a higher exhaust routing. The muffler and mid-pipe felt and looked low. Although I didn’t damage them, they are more prone than a system with a higher exit point.

Lastly, there is a USB-C plug under the seat — not exactly a convenient location. It seems like putting it on the dash would be a default for an ADV bike, but not so on the Transalp 750.

And, the only color is the one you see here.

2024 Honda Transalp 750 Review: Conclusions

2024 Honda Transalp XL750R
The Transalp looks so much better with a bit of dirt on it; (photo/Seiji Ishii)

I’ve had the incredible luxury of riding many modern ADV bikes. And I want a 2024 Honda Transalp 750 of my own.

For ADV riders that cruise tarmac most of the time to link dirt and gravel sections, lightly loaded, it’s hard to fault this bike at this price. The bike responds predictably to rider and terrain inputs, and the electronics package allows for optimizing these responses. The result is the ability to ride in these conditions with confidence.

I’m more of a 75% off-road guy, and the Transalp would still shine with a few minor tweaks. I would change the stock rubber to a more off-road-worthy set, which we did for our PA Wilds BDR-X route.

And, if I were carrying a camping load, I would increase the spring and damping rates. I have taken both steps on every ADV bike I’ve ever owned. So, this isn’t a shortfall of Honda on the 2024 Transalp 750.

But, what makes the 2024 Honda Transalp 750 irresistible is the price and legendary Honda reliability. A KTM 890 Adventure lists for just under $14,000, while an 890 Adventure R sits at over $15,000. The KTMs may be more off-road-ready in stock format, but I’d trade that for the reliability of a Honda. Then, use the extra $4-5K for upgrades if required.

I’ve had relatively substantial electronic and minor mechanical issues with every other ADV bike I’ve owned. But I’ve had zero issues with any Honda bike. And, I predict the same excellent reliability from the $9,999 2024 Honda XL750R Transalp.

The post 2024 Honda Transalp 750 Review: Value-Packed, Confidence-Inspiring Middleweight Adventure Bike Contender appeared first on GearJunkie.

GearJunkie