Credit: Silversea cruises

Cruise Ship-Lengthening Surgery: All The Cool Companies Are Doing It

Sliding in an extra slice of cruise ship to lengthen it. (Credit: Silversea cruises)
Sliding in an extra slice of cruise ship to lengthen it. (Credit: Silversea cruises)

The number of people going on cruises keeps rising year over year, with the number passengers carried increasing from just over 3.7 million in 1990 to well over 28 million in 2023. This has meant an increasing demand for more and also much larger cruise ships, which has led to an interesting phenomenon where it has become more economical to chop up an existing cruise ship and put in an extra slice to add many meters to each deck. This makes intuitively sense, as the segment added is fairly ‘dumb’, with no engine room, control systems, but mostly more rooms and cabins.

The current top-of-the-line cruise ship experience is exemplified by the Icon class that’s being constructed for the Royal Caribbean Group. The first in this line is the Icon of the Seas, which is the largest cruise ship in the world with a length of 364.75 meters and a gross tonnage of 248,663. All of this cost €1.86 billion and over two years of construction time, compared to around $80 million and a few months in the drydock. When combined with a scheduled maintenance period in the drydock, this ‘Jumboization’ process can be considered to be a great deal that gives existing cruise ships a new lease on life.

Extending a ship in this manner is fairly routine as well, with many ships beyond cruise ships seeing the torch before being split. A newly built segment is then slid in place, the metal segments are welded together, wires, tubing and more are spliced together, before the in and outside are ready for a new coat of paint that makes it seem like nothing ever happened to the ship.

Continue reading “Cruise Ship-Lengthening Surgery: All The Cool Companies Are Doing It”

Assessing The Energy Efficiency Of Programming Languages

Programming languages are generally defined as a more human-friendly way to program computers than using raw machine code. Within the realm of these languages there is a wide range of how close the programmer is allowed to get to the bare metal, which ultimately can affect the performance and efficiency of the application. One metric that has become more important over the years is that of energy efficiency, as datacenters keep growing along with their power demand. If picking one programming language over another saves even 1% of a datacenter’s electricity consumption, this could prove to be highly beneficial, assuming it weighs up against all other factors one would consider.

There have been some attempts over the years to put a number on the energy efficiency of specific programming languages, with a paper by Rui Pereira et al. from 2021 (preprint PDF) as published in Science of Computer Programming covering the running a couple of small benchmarks, measuring system power consumption and drawing conclusions based on this. When Hackaday covered the 2017 paper at the time, it was with the expected claim that C is the most efficient programming language, while of course scripting languages like JavaScript, Python and Lua trailed far behind.

With C being effectively high-level assembly code this is probably no surprise, but languages such as C++ and Ada should see no severe performance penalty over C due to their design, which is the part where this particular study begins to fall apart. So what is the truth and can we even capture ‘efficiency’ in a simple ranking?

Continue reading “Assessing The Energy Efficiency Of Programming Languages”

Hard Lessons Learned While Building A Solar RC Plane

Although not the first to try and build a DIY solar-powered remote control airplane, [ProjectAir]’s recent attempt is the most significant one in recent memory. It follows [rctestflight]’s multi-year saga with its v4 revision in 2019, as well as 2022’s rather big one by [Bearospace]. With so many examples to look at, building a solar-powered RC airplane in 2024 should be a snap, surely?

The first handicap was that [ProjectAir] is based in the UK, which means dealing with the famously sunny weather in those regions. The next issue was that the expensive, 20% efficient solar panels are exceedingly fragile, so the hope was that hot-gluing them to the foam of the airplane would keep them safe, even in the case of a crash. During the first test flights they quickly found that although the airplane few fairly well, the moment the sun vanished behind another cloud, the airplane would quite literally fall out of the sky, damaging some cells in the process.

Continue reading “Hard Lessons Learned While Building A Solar RC Plane”

PC Floppy Copy Protection: Softguard Superlok

Many have sought the holy grail of making commercial media both readable and copy-proof, especially once everyone began to copy those floppies. One of these attempts to make floppies copy-proof was Softguard’s Superlok. This in-depth look at this copy protection system by [GloriousCow] comes on the heels of a part one that covers Formaster’s Copy-Lock. Interestingly, Sierra switched from Copy-Lock to Superlok for their DOS version of games like King’s Quest, following the industry’s quest in search of this holy grail.

The way that Superlok works is that it loads a (hidden) executable called CPC.COM which proceeds to read the 128 byte key that is stored on a special track 6. With this key the game’s executable is decoded and fun can commence. Without a valid ‘Play’ disk containing the special track and CPC.COM executable all one is instead left with is a request by the game to ‘insert your ORIGINAL disk 1’.

Sierra’s King Quest v1.0 for DOS.

As one can see in the Norton Commander screenshot of a Sierra game disk, the hidden file is easily uncovered in any application that supports showing hidden files. However, CPC.COM couldn’t be executed directly; it needs to be executed from a memory buffer and passed the correct stack parameters. Sierra likely put in very little effort when implementing Softguard’s solution in their products, as Superlok supports changing the encryption key offset and other ways to make life hard for crackers.

Sierra was using version 2.3 of Superlok, but Softguard would also make a version 3.0. This is quite similar to 2.x, but has a gotcha in that it reads across the track index for the outer sector. This requires track wrapping to be implemented. Far from this kind of copy protection cracking being a recent thing, there was a thriving market for products that would circumvent these protections, all the way up to Central Point’s Copy II PC Option Board that would man-in-the-middle between the floppy disk drive and the CPU, intercepting data and render those copy protections pointless.

As for the fate of Softguard, by the end of the 1980s many of its customers were tiring of the cat-and-mouse game between crackers and Softguard, along with issues reported by legitimate users. Customers like Infographics Inc. dropped the Superlok protection by 1987 and by 1992 Softguard was out of business.

Reinforcing Plastic Polymers With Cellulose And Other Natural Fibers

While plastics are very useful on their own, they can be much stronger when reinforced and mixed with a range of fibers. Not surprisingly, this includes the thermoplastic polymers which are commonly used with FDM 3D printing, such as polylactic acid (PLA) and polyamide (PA, also known as nylon). Although the most well-known fibers used for this purpose are probably glass fiber (GF) and carbon fiber (CF), these come with a range of issues, including their high abrasiveness when printing and potential carcinogenic properties in the case of carbon fiber.

So what other reinforcing fiber options are there? As it turns out, cellulose is one of these, along with basalt. The former has received a lot of attention currently, as the addition of cellulose and similar elements to thermopolymers such as PLA can create so-called biocomposites that create plastics without the brittleness of PLA, while also being made fully out of plant-based materials.

Regardless of the chosen composite, the goal is to enhance the properties of the base polymer matrix with the reinforcement material. Is cellulose the best material here?

Continue reading “Reinforcing Plastic Polymers With Cellulose And Other Natural Fibers”

Printed In Space: 3D-Printed Metal Parts Shown Off After Returning From The ISS

The European Space Agency (ESA) is showing 3D-printed metal parts made onboard the International Space Station using a printer and materials the agency sent earlier this year.  While 3D printing onboard the ISS is nothing new, the printing of metal parts in space is an important advancement. The agency’s goals are to be able to produce more tools and spares in situ rather than having to rely on resupply missions. An ambitious idea being pitched is to use captured space debris as input as well, which would further decrease the ISS’s dependence on Earth and expensive cargo runs from the bottom of the gravity well.

Continue reading “Printed In Space: 3D-Printed Metal Parts Shown Off After Returning From The ISS”

Reverse Engineering The Web API Of An Akaso EK7000 Action Camera

Recently, [Richard Audette] bought an Akaso EK7000 action camera for his daughter’s no-smartphones-allowed summer camp, which meant that after his daughter returned from said camp, he was free to tinker with this new toy. Although he was not interested in peeling open the camera to ogle its innards, [Richard] was very much into using the WiFi-based remote control without being forced into using the ‘Akaso Go’ smartphone app. To do this, he had to figure out the details of what the Android app does so that it could be replicated. He provided a fake camera WiFi hotspot for the app in order to learn its secrets.

Normally, the camera creates a WiFi hotspot with a specific SSID (iCam-AKASO_C_1e96) and password (1234567890) which the Android app connects to before contacting the camera’s IP address at 192.72.1.1. The app then shows a live view and allows you to copy over snapshots and videos. Initially, [Richard] tried to decompile the Android app using JADX, but the decompiled code contained so many URLs that it was hard to make heads or tails of it. In addition, the app supports many different Akaso camera models, making it harder to focus on the part for this particular camera.

Continue reading “Reverse Engineering The Web API Of An Akaso EK7000 Action Camera”