Jump to content
David Schwartz

tiny computer for Delphi apps

Recommended Posts

I don't know if you can run Delphi on this (maybe D7) but you can surely run small and modest-sized Delphi apps on it. Maybe even use it as a tiny web host for kiosks or demos.

 

https://www.indiegogo.com/projects/chuwi-larkbox-world-s-smallest-4k-mini-pc?secret_perk_token=2ec0a2d6&fbclid=IwAR0cxLgK8Nm7pLcx04GdkAbwKtnuGw46UqG_k2irYqkARFn-h_ya6YhP42M#/

 

What would YOU do with one of these?

 

(I'm just curious. I'm not involved with this in any way other than I love finding tiny computers.)

Share this post


Link to post

Depends which OS runs on it. 6 GB ram is a bit low for Windows 10. But if it runs Windows XP I'm sure Delphi 2007 will work fairly well (I've got a 6 years old netbook with only 2 GB ram that is useable with it). I guess that goes for any version that still officially supported XP and probably some later ones too. 6 GB is wasted on XP though, since it supports only up to 4 in the widely used 32 bit version.

 

Buteven with Windows 10 it should run recent versions of Delphi, probably not very fast though.

 

Personally I have no use for that kind of computer. My office / workplace at home has enough room for a full sized tower computer, I need more space for the monitors. And I like to be able to upgrade and replace components.

Edited by dummzeuch

Share this post


Link to post

6GB is pretty enough for Windows 10, if you don't run VMs on it. And Delphi IDE won't use more than 2GB for sure, since it is still a 32-bit application.

This mini PC would run very well with Delphi - the main bottleneck for an IDE is the disk, and with a good M2 SSD I don't see why it may be slow. Perhaps the default EMMC storage may not be optimum, but I guess it would work well enough.

From what I saw, the slowest part of the IDE is the copy protection check at startup... at least if you use Andy's FixPack. 🙂

 

Such computers are powerful enough for Delphi. Perhaps not with Visual Studio with a lot of plugins.

 

Share this post


Link to post
51 minutes ago, Arnaud Bouchez said:

6GB is pretty enough for Windows 10, if you don't run VMs on it. And Delphi IDE won't use more than 2GB for sure, since it is still a 32-bit application.

Recent IDEs are supposed to use up to 3 GB and since the language server is a stand alone executable it might use another up to 3 GB. And 6 GB might be sufficient but definitely is not plenty to run Windows 10 + the Delphi IDE, especially if you also want to run/debug your own executables.

Share this post


Link to post

I don't know which size are your projects, but I used a 4GB Win10 computer until recently, with no memory issue at all.

With hunderths of thousands of source code lines...

Edited by Arnaud Bouchez
  • Like 1

Share this post


Link to post

I like tiny computers too, but I would check for a NUC-sized to Mini-PC sized PC, with reasonable performance.

If I ever need a tiny computer like that, its probably something like a RasPi.

 

All these TinyPC I have seen so far were too expensive and not well supported.

Edited by Rollo62

Share this post


Link to post
On 6/28/2020 at 8:33 AM, dummzeuch said:

Recent IDEs are supposed to use up to 3 GB and since the language server is a stand alone executable it might use another up to 3 GB. And 6 GB might be sufficient but definitely is not plenty to run Windows 10 + the Delphi IDE, especially if you also want to run/debug your own executables.

I routinely operate in VMs, and my largest are given 6GB. I have one such with Tokyo in which I build an app where Delphi reports nearly 5 million lines of code.

Share this post


Link to post

It says it comes with Win 10 installed, but you can also install Linux. I didn't want to start a debate about running Delphi on this. I wouldn't want to.

 

I was thinking of it mainly for use with embedded or dedicated Delphi apps.

Share this post


Link to post

I am fond of mini PCs. Love them. But - as always - it always comes down to the basics.

- What do I want to do with them? Use as a server? NAS? Replace my noisy and hot running PC?

- What kind of processing power it has and is it enough for my needs described in point 1? Two years later if the room gets too tight, what are my options? Complete replacement, or simple expansion?

- Power consumption, especially at 24/7 devices

- Pricetag? I'm not going to spend a month worth of salary for something that is just "good to have".

 

I own a HP ProLiant MicroServer G6 running ESXi, hosting my test environment. I have (severely underpowered) VMs running major Windows releases since 2000 and I am testing my apps on these. 24/7 availability is needed, as sometimes I code at 3 AM, sometimes at 8 PM depending on my mood and I don't want to wait for the system to start up.

This machine is with me for about 6-7 years, and was only turned off when I expanded the memory, cleaned out the interior or swapped the power supply out with a PicoPSU. Price is ridiculously low (especially now, when Gen10 is the latest and greatest), processing power is acceptable, with the power consumption of 50 watts peak; averaging around 30 with 1 SSD and 2 HDDs.

If I'd have to buy something like this again, I'd look in this area; not something what a startup company is attempting to crowdfund.

 

16 hours ago, David Schwartz said:

I was thinking of it mainly for use with embedded or dedicated Delphi apps.

It's usually the other way around for me. I write an app which fulfills a job I want it to, and then install it on the machine where the job is done. I'm not writing something because I have a dedicated platform and I want to make use of it 🙂

 

  • Like 1

Share this post


Link to post

@aehimself

Right, and regarding consideration for an app like NAS, Smarthome, IoT broker/server or many others.

There are so many perfect ARM based, Linux based solutions out there, that Delphi never could catch up IMHO.

Take a simple, basic Synology NAS, which comes with all apps from NAS, PHP to Node.js even on the smallest footprint.

 

I'm so sorry to say, but this Tiny PC's are not Delphi's strengths at all, so I would not consider them for anything which is not veeery special.

Maybe this can change with the Linux option one day, but surely we will never see such many perfect, rich apps like in the PHP and Node.js world.

Edited by Rollo62
  • Like 1

Share this post


Link to post

I started my professional career working with embedded systems for nearly a decade, so I guess that's why hardware like this catches my eye. This isn't particularly useful for ordinary office tasks or testing or anything like that. But it would be great for a standalone kiosk, or some kind of dedicated application. 

 

For years you needed to use an embedded OS and special tools to build stuff that ran on specially-designed hardware. Today you can get a Raspberry Pi for under $50, sure, but you can't build stuff that runs on it with all versions of Delphi. Lazarus and FreePascal perhaps, but those are a lot more limited than a standard Delphi release.

 

This little box includes Win 10, and for the price, the hardware is practically free -- most of the cost is likely going to Microsoft for the Windows license. While that does not excite me, the fact that it's possible to use the same toolchain to build an app for a simple embedded application that runs on an otherwise standard Win 10 platform is far more inviting than the prospect of having to use a whole separate toolchain instead. I can't tell you how many projects I worked on where Management would order special hardware and compilers for builds, but then try to "save money" by not buying the debugger, so we had to use link maps and assembly output from the compiler for debugging off-line.

 

I've always had this vision of little functional building blocks, like "smart" Lego blocks, that perform specific functions and can be plugged into a network and used to solve specific problems.

 

A great example of this is being able to plug your phone into your car and access stuff on it like media, email, messaging, and calls, as if it's built-in. Most vehicles come with something provided by the auto company that built the car, and you're stuck with whatever they want to provide. It's a huge expensive effort for them to add, and it ends up being a political and economic decision for them because they want to retain control. 

I have a 2017 Toyota Prius Prime and one of the biggest complaints on a forum where Prime (and Prius) owners hang out is Toyota's adamant refusal to add this ability to their vehicles. They offer a horrid UI design and the same crappy mapping that auto manufacturers have used for 15 years. The stuff on our phones seems like it's light-years ahead. When I bought the car, the sales guys bragged "It has Google Maps now!" I don't know what part of their mapping is from Google, but the overall experience is the same crappy mapping I had in my 2012 Prius and in a Garmin GPS from 2005. 

 

I hear that Toyota has finally broken down and will be adding support for Apple's car interface to a couple of (non-Prius) models for 2021, but everybody else is out-of-luck. 

 

Why is this such a problem for them? Because 100% of their computing platform is dependent on a proprietary hardware design, proprietary embedded OS, proprietary interfaces, and a desire to keep total control of the user's experience. Why? Risk. 

 

It's pretty absurd when my iPad Mini has more computing power than the stupid crap they include at the factory and want you to believe is "the best available technology". Yeah, right. They just don't want to get sued by some problem your phone might have caused while you were driving.

 

Look how long it took car manufacturers just to offer a common 1/8" stereo AUX-IN jack to allow people to plug-in their iPods!

 

As far as risks go, I can get why a brand new 787 jet employs CPUs on it that are equivalent to what Apple used in 1990 -- they want stuff that is absolutely rock-solid and has millions of hours of flight time and testing time on it. But I don't need that level of reliability simply to select the tunes I want to listen to while I'm driving, or to display maps.


Alexa is another example of an embedded system, but it's an approach that scares me in terms of its ability to expose everybody to unethical and even illegal purposes. But that's a discussion for another day. 🙂

 

That's how I think of embedded systems that affect consumers -- standalone functional building blocks that use standardized software and interfaces to allow developers like us to offer customized features they just can't get any other way.

 

I started my career in 1979, and this kind of utilitarian application of small standalone computers seemed "just around the corner" in the mid-80's. Here it is 2020 and in spite of a huge proliferation of fully programmable portable computers (a la mobile devices) and almost unlimited access to connectivity to everything, we don't seem any closer to this than we were in the 80's.

 

 

 

Edited by David Schwartz
  • Like 1

Share this post


Link to post
34 minutes ago, David Schwartz said:

They just don't want to get sued by some problem your phone might have caused while you were driving.

Can you blame them?

Share this post


Link to post
52 minutes ago, Anders Melander said:

Can you blame them?

If they're so concerned, why did they do away with interface controls that you could touch and adjust without having to divert your attention from the road to their "touch-screen" interface that reacts to the slightest whisk of a finger and leaves no clue what you touched or how you ended up where you're at?

 

Nobody is ever going to convince me that a UI that is touch-sensitive and doesn't offer any way to do things without looking at it is in any way "safer" than one that does. The map won't let me edit anything while the car is moving, but if I'm using it for navigation and I happen to brush the screen, it can change state and get messed-up and I have no idea what I did or how to get back to where I was.

 

It connects to my phone and tells me I have a new text message. It forces me to divert my attention from driving to focus on the screen long enough to press a button, and instead of simply reading the text message to me (via text to speech), it displays a message on the screen telling me it cannot show me the message while I'm driving! What kind of idiot designed this and what committee decided it's a "safe" design?

 

Google lets me use my voice to find a destination; the car's nav forces you to enter everything via the touch-screen starting with State, City, address or name. It's effing worthless IMHO compared to what I can get on my phone with a couple of voice commands and touches.

I'm sorry, but the current crop of touch-based UIs is far more dangerous than using my phone. Yet states are passing laws to prevent people from using their phones instead of the more dangerous crap that car manufacturers are delivering. Not because they're designed to be safe, but because they're designed to be flashy and make you hope you don't miss your far more flexible mobile devices.

 

Never mind that most people upgrade their devices yearly, and vendors are constantly tripping over themselves to add new features and make them more and more useful. 

 

Compare that to car manufacturers who basically design what's in a car 2-3 years before it goes on sale, and IT IS NEVER EVER UPDATED! 

 

Unless, of course, their horrid UI ends up causing so many crashes that the resulting lawsuits force them to do a recall and issue an update. 

 

When I took my car to the dealer for an oil change recently, I asked the service manager when I can expect Toyota to download a software update to the car to improve the battery life and efficiency, the same way Tesla does it on a quarterly basis. He just gave me a blank look and shook his head.

Share this post


Link to post
1 hour ago, David Schwartz said:

I started my professional career working with embedded systems for nearly a decade, so I guess that's why hardware like this catches my eye. This isn't particularly useful for ordinary office tasks or testing or anything like that. But it would be great for a standalone kiosk, or some kind of dedicated application.

A kiosk is - usually - a larger hardware, allowing the manufacturer to stuff in standard PC / laptop parts. In case something goes bad, they can swap it without changing the whole thing. This allows less downtime, cheaper and quicker repairs - probably happier customers.

1 hour ago, David Schwartz said:

Today you can get a Raspberry Pi for under $50, sure, but you can't build stuff that runs on it with all versions of Delphi.

There is always a way, we have way too many (not that ethical) ethical hackers and hardware nerds (and I say that in the most positive meaning); it's only a matter of time when one of them decides to do it. Win10 IoT Core seems to be installable on an Rpi:

https://www.techrepublic.com/article/windows-10-on-the-raspberry-pi-what-you-need-to-know/

I never used an Rpi (I'm more of an Arduino person), so it's possible that it's outdated or not working anymore. Take it with a grain of salt, this was just the first Google hit.

1 hour ago, David Schwartz said:

This little box includes Win 10, and for the price, the hardware is practically free

Now I don't want to start anything in this topic, but even I received officially purchased hardware, coming with the software on an unlabeled CD-R with a readme file stating "Execute the ... application in the \Crack folder". I have absolutely no experience with Chuwi per se, so I might be damn wrong and in that case I immediately apologize for assuming. All I'm saying, they are located where most of the AliExpress sellers are 🙂

1 hour ago, David Schwartz said:

I've always had this vision of little functional building blocks, like "smart" Lego blocks, that perform specific functions and can be plugged into a network and used to solve specific problems.

It's called IoT. It exists. The difference is, they have dedicated hardware for one specific task. This makes production cheaper, devices sucking less power. For comparison: Arduino is running a standard ATMega chip. An Arduino can be connected to the TCP/IP network. With a bit of soldering, you can "build" your own Arduino and upload your projects on a single chip (on 8 Mhz, for 16 Mhz you need a crystal and two capacitors, too). If you do power management right, those beasts are using picowatts, allowing them to be able to run on batteries.

Specialized hardware will beat general hardware in price, space and parts required and power consumption.

 

I'm not going to quote the whole "car" thing, I'll just say "bluetooth". Most cars already have it, or can have it with a really cheap adapter. And why on Earth I would want to be able to read my E-mails in my car?! I should keep my eyes on the road and I already spend too much time "connected" - if you know what I mean.

 

Reading this post back I admit that it sounds offensive, but believe me - there's none. I'm just saying these overminimized PCs are usually good for one thing: thin clients. Cheap, no clutter on your desk, the unbeatable processing power comes from a server room from 3 racks.

I'll never buy something like this, but I'd be glad to play around with it if I'd get one for free. I'm a tech geek after all 🙂

Share this post


Link to post

It's a toy and in the professional world it's junk.

No embedded designer would choose a device like this for a controls design because of liabilty. After all, we are talking about a device that has yet to be made available and from what I see, it has no characteristic operational parameters.

Besides, I am not seeing a RJ45 for Ethernet connection, or RS232 serial which would definitely exclude it from PLC modbus use as a master sub module and that is key in embedded designs for controls and general SCADA.

Again, it's a toy.


 

Share this post


Link to post
3 hours ago, MDagg said:

It's a toy and in the professional world it's junk.

Depends maybe in what industry you are, as a Kiosk system this is probably OK (but far too expensive from my point of view).

 

In real industrial control systems you are right, its not accepted at all, neither is the RasPi.

But at least there were some RasPi more "ruggadized" in the market, which could be used for that.

 

In regards of safety I think none of the above will be really acceptable nowadays, I had done industrial controls in the past
also by PC technology, but this won't get through a normal risk-analysis anymore.

Especially the larger the machines get you want to control.

Share this post


Link to post
4 hours ago, MDagg said:

Besides, I am not seeing a RJ45 for Ethernet connection, or RS232 serial which would definitely exclude it from PLC modbus use as a master sub module and that is key in embedded designs for controls and general SCADA.

According to the initial specs it has an USB - which can host both. But this immediately adds a USB hub / USB NIC / serial to USB to the price in a real-world application.

I don't know how well USB handles dusty, hot and or moist environments though to call this reliable.

Share this post


Link to post

In the embedded controls world, USB is used for maintenance interfaces, if used at all. USB NIC, CAN bus are unreliable as are USB RS232 and become even more unreliable if they are hubs and even though there are numerous expensive non-consumer models, they are rarely chosen.

 

Consumer market hardware is never chosen for a controls design if there is significant liability and insurance companies involved, even if it is just display panel.

 

On the Delphi front, control interfaces written in older versions of Delphi (5-6) were fairly common running under CE, XP embedded and you had a good chance of getting them verifed and insured but not now. Even for newer versions, the verification cost is very high and getting insured is not likely. In fact, I am unware of any insurer that will cover a Delphi-written control program even in in a system with a low-to-moderate hazard score.

 

 

 

Share this post


Link to post
21 hours ago, aehimself said:

A kiosk is - usually - a larger hardware, allowing the manufacturer to stuff in standard PC / laptop parts. In case something goes bad, they can swap it without changing the whole thing. This allows less downtime, cheaper and quicker repairs - probably happier customers.

Sorry, but I've seen many that are simply largish-screen monitors (24"-27") with a small computer attached to the VESA mount on the back. I see these in banks, places with self-help customer services, and similar places. You're thinking of "old-school" things. Not that they don't exist, but this is a popular use for NUCs.

 

As for the "reliability" question .... I once had a contract to do some evaluation of COTS stuff for a military outfit that was wanting to know about the reliability of COTS vs. similar "mil-spec" boards. It surprised them to learn that some COTS boards they were considering actually had better reliability metrics (except for one thing that was easily resolved) than their comparable mil-spec devices, at 10% of the cost per unit. They decided it made sense to order 3x more of the COTS products and maintain a larger inventory of spares rather than order more mil-spec devices. They also expanded their search for qualifying COTS devices as the cost-per-unit was so much lower. 

 

In certain applications, you want ruggedized hardware to minimize the risk of random failures at times that would be hard to get replacement parts. But there are situations where it's simply overkill, and making replacement parts available is far more cost-effective than using fully-ruggedized devices.

 

If you have a data collection device out in the middle of a corn field that's supposed to relay data every 5 minutes, and it would take more than a couple of hours to replace, sure, use something more rugged. But if it's sitting in an office with A/C and heat and there are people constantly there who can recognize a failure and address them when they happen, then it's probably cheaper to go with something cheaper and have spares in the back room.

 

Then again, if Management prefers to hire people for minimum-wage and give them the least amount of training required, then the equipment is probably regarded as more reliable than the people, so that approach probably isn't viable for them.

 

At the end of the day, like most things, it's a trade-off. My employers give me Dell computers that are notoriously unreliable, both the hardware and Windows. But they seem to prefer them over Apple for whatever reason. I've been using Apple hardware since 2006 for my own needs, and have had far fewer problems than the equipment given me by employers. Yet how many times do we hear people say they think Apple's stuff is just "toys"? I guess it's all a matter of perspective.

Edited by David Schwartz

Share this post


Link to post
21 hours ago, aehimself said:

I'm not going to quote the whole "car" thing, I'll just say "bluetooth"

If that was the answer, then neither Apple nor Google would be investing in the development of "Car-play" and similar platforms that are designed to extend and even replace the crapware that car manufacturers install at the factory and never update.

 

What benefit does BT offer to me if I want to have Google Maps show up on my display rather than the junk built into the car? My car has BT, but so what? It's only used for audio and alerts from my phone -- yes, including text messages! Don't ask me why because it doesn't show them unless I'm parked, in which case I'm not going to bother reading them through the car's screen.

 

BT is a data channel. That's all. WiFi is higher bandwidth, but nobody has seen fit to built it into a vehicle's core yet as a way to replace the CAN plug. Maybe they're concerned about little things like security and privacy?

 

It would be a heckofalot easier to have an open WiFi connection for cases like Uber/Lyft drivers who've got passengers who want to connect their phones to the car's audio system. When I did that for a while, and kids would get in and want to connect via BT, it typically took half of the ride time just for them to get everything to connect. After a few times, I just told them, "Sorry it ain't happening".  Sometimes they'd get in and have an aux cable they wanted to plug in. I'd just say, "Nope, someone broke my plug. Sorry."

Share this post


Link to post
44 minutes ago, David Schwartz said:

If you have a data collection device out in the middle of a corn field that's supposed to relay data every 5 minutes, and it would take more than a couple of hours to replace, sure, use something more rugged. But if it's sitting in an office with A/C and heat and there are people constantly there who can recognize a failure and address them when they happen, then it's probably cheaper to go with something cheaper and have spares in the back room.

Context frames pragmatism. Mil-spec is a notoriously unreliable category. Many years ago, I was regaled with stories from former employees of a major semiconductor manufacturer of shipping dates met with chips which didn't even have the right number of pins.

 

On the other hand, I contend that the simple PC power supply is one of the most reliable devices on the planet. I can't recall the last time I had one fail.

 

Some of the assertions in this thread display a serious lack of real thought. Choose the wrong device, and you can't compete on price. And if the customer is more sensitive to price than to the occasional failure, that is a critical error to make.

 

There is a very famous tale of the time the master computer on the space shuttle disagreed with the results from the four lesser devices which checked its work. They decided to believe the master, on the premise that because of its stunning cost, it was more likely to have been well programmed and well debugged. The four lesser (6502-based) devices were correct.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×