The Register Home Page

* Posts by doublelayer

11394 publicly visible posts • joined 22 Feb 2018

Biden’s antitrust crackdown on tech M&As may linger into Trump’s reign

doublelayer Silver badge

Re: Need a full ban on M&A

"There's not a single circumstance in history that consumers were not left worse off after one company bought another."

Except, as you say, when the company was going to fail. Or when the company developed some type of technology which was expensive and used for niche purposes, but by being bought by someone that could advance it, became cheaper and available for more people and reasons. Or if a company was low on money, not so low that they were going to fail, but low enough that they either had to, or more likely were going to choose to, make their product worse in order to extract more money from the user, something they didn't end up doing when they got infusions of more cash by a company that wanted the users to be happy and knew it wouldn't happen if the product became more extractive.

This is not all or even most mergers. It is far from the none that you have claimed. There are also less helpful examples of mergers that had an indifferent result where consumers didn't care or even notice that anything happened. Those happen frequently.

This is why we actually need to review these before they happen to try to catch problems. Just forbidding it has lots of negative consequences. If you tried, you'd see lots of faux-mergers where two companies ended up making sealed agreements to operate together, and you wouldn't be able to ban all of them because, not only is that a thing that happens all the time in non-merger businesses, but those would be the only way that lots of desirable activity could happen. Many of the harms you've seen from mergers would happen from that instead. When there is a problem as multifaceted as the harms that come from a lot of private equity, the solution tends not to be as simple as we would like it to be.

Apple called on to ditch AI headline summaries after BBC debacle

doublelayer Silver badge

Re: Not an AI Problem

Bad headlines are nothing new, but these are probably still worse. Editors may pick headlines intended to mislead, that make bad summaries, or ones designed to make the article sound more interesting than it is, but they tend not to write headlines that diametrically oppose the article unless they didn't read it or confused one article with another. This bot did that all on its own with no pressure causing it to do so. That's likely to happen a lot more frequently than an editor making such a massive mistake.

I've always wondered why they don't have the article authors write the headlines. At least in non-clickbaity examples, that should get an accurate summary in there. I suppose we've now solved that problem. The article and headline will be written by the same thing: an AI bot that made both of them up.

doublelayer Silver badge

Re: It's garbage

Theoretically, that would be a benefit. Theoretically, it should be easier to fix an error in something than to make it from scratch. In my experience, that's not how it works. Correcting a bad document into a good one often takes longer than writing a good document in the first place, not even counting any time spent to make the bad document. The theory is only correct when I'm correcting a pretty good document by fixing small grammatical or factual errors.

When an LLM is liable to making something up and resting large parts of the document on that flimsy foundation, correcting it usually means removing everything but a mostly usable introduction paragraph and trying to do it another time. That doesn't result in less effort expended, because you're multiplying the time it takes to check every fact alleged by the document by the number of times you generate something new, plus any time you need to make manual edits. The further problem is that, if someone decides to skip one of those stages, the document still looks like it is complete, but now it's the kind of thing that results in summary judgements against you from judges annoyed that you're making them fact check your submissions.

doublelayer Silver badge

That's fair for Apple's interest in sending random news headlines to iPhones that never asked for it. Those were often irrelevant, but at least they were true. Users can turn those off when they realize how they don't need them.

Making up headlines and sending those is much worse, and unhappiness with Apple is completely justified, especially for the reporters given credit for the false statements. Consider your reaction if you were working in an office and the person next to you frequently shouted inaccurate statements at you about things you needed to check. Yes, you could and would eventually ignore them, but it wouldn't be your fault if you wasted your time checking out one of those inaccurate statements, the problems caused by any reaction would be their fault, and someone in management might well tell them to stop doing that. We can't make Apple stop doing that, but we have lots of reasons to want them to. Asking users to turn the thing off is not good enough.

Supreme Court to hear TikTok's appeal against law that would force it to shut, or sell

doublelayer Silver badge

Restrictions on free speech do exist, although the specifics in Canada, the US, and any other country someone might be reading from will differ and if we're going to refer to them, we'll have to use the US ones because this is a US case. However, it is probably useful to understand that they aren't written as such. The law doesn't say "you have free speech except in the following cases which can be changed by the legislature". Restrictions come when some other harm, such as that experienced by people who can't enter a hospital when they need to, overrides it. In many cases, this difference may look academic, because the result is the same, so the causes can't be that important.

There are two cases where that stops looking as unimportant. The first is in a court of law. If a court is going to decide that restrictions on the content or conduct of speech are necessary, they have to provide a reason that is compliant with other laws. In this case, that reason is "national security", which is now to be debated. The generic argument that you started with, that it isn't restricted if you could go somewhere else, is much broader than that and not supported by any law, which leads us into the second case where your version and the version currently in use look very different: in a world where there are active abuses.

There are always people who think that their free speech should have no limits whatsoever who think their inability to block a hospital door if they want to without being arrested is a violation of their rights. Those people are wrong. Most others understand why that is not allowed and wouldn't want to do that anyway. When free speech is eroded, the restrictions that are placed almost never say the right has been eliminated. They just put more and more restrictions on how you can exercise your right. For instance, when there were protests in the US about civil rights, the states that sought to block them never did that by passing a law saying that those protests were not allowed. They passed laws saying those protests were definitely allowed, because those people have the same speech rights as anyone else, but coincidentally you couldn't protest in the places where those people were likely to start doing it. They would then arrest people who tried. That was an illegal restriction, struck down several times by courts, that takes the form that you defended in your original argument. That is why your argument is incorrect from a legal perspective and undesirable if you could write it into law and why, even though it is, TikTok may well lose their case because it doesn't protect them. They will be protected or unprotected on their free speech claims by the court's interpretation of the national security value of a ban.

TikTok had some better, in my mind, legal arguments. This law appears to me to be a bill of attainder, a law that simply declares a certain entity is criminal without criminalizing any action they do. Those are not allowed. If I were a lawyer, I would have tried that. Their lawyers did and a court decided it didn't apply. As I am not a lawyer, let alone a constitutional lawyer, I don't know enough to know if the court had a good reason or not to decide that. I thought that was more likely to succeed than any free speech argument, and my opinion on that has not changed.

doublelayer Silver badge

I agree with that part. That's why I would have guessed this to be not their best argument. Yes, their local company does have its own freedom of speech rights, but I don't think that's going to help them, and I wouldn't be surprised if their attempt to argue on behalf of their users gets tossed out as they can't speak for their users.

That isn't the argument you made. Using your argument, their users could also not get heard as they are free to speak somewhere else. Not only that, your version is severe enough that it makes it seem like TikTok actually should be able to make an argument on those grounds.

doublelayer Silver badge

That principle doesn't work. Otherwise, why couldn't I, who control a majority of the seats in the Congress, simply ban any site that doesn't take you down if you post things I don't like. You are allowed to say whatever you want on the sites I allow to exist. It's not my fault that most of those choose not to let you say it?

Whether that's a valid argument against this is another question, and it is not the legal argument I would have guessed to be their best option. Then again, I'm not a lawyer, and I assume they've got several who came up with this plan. If it fails, it won't be your argument that does it. The ease of abuse from an interpretation like the one you've made is too obvious unless you're planning to set up a dictatorship.

Adélie Linux 1.0 – small, fast, but not quite grown up

doublelayer Silver badge

Re: Confused

Yes, they're not being entirely honest there. Not only do they have no images that you could deploy on a smartphone, but they seem to have no software intended to provide a smartphone interface. Their compatibility guide lists only typical desktops and laptops, although a lot of PowerPC Macs are supported. On that topic, I don't think you would need anything that unusual to install it, as it's also going to involve writing the image to bootable media and selecting it in the boot manager. They also seem to support only one SBC, the Pine64 A64, and otherwise you're on your own to make the ARM versions boot right.

The Automattic vs WP Engine WordPress wars are getting really annoying

doublelayer Silver badge

Re: nice diatribe, but not much insight

"If you doubt mullenweg's stated reason, then make the case."

They have. I have. His stated reason makes little sense and, even if that's what he actually believes, he is not implementing it in a sane way.

"But making (large) commercial concerns suppport Foss, why not ?"

When it's a large commercial concern "supporting" by paying a larger commercial concern, it somehow loses a lot of the "it's humble FOSS and deserves their support" argument. When the concern being targeted actually does contribute, that doesn't help with the argument. When the concern that would receive the "support" is one that took over an open source project, ACF, to the detriment of the users of that project, with no notice at all, it also doesn't make the case that they do things worthy of the support. I am all in favor of companies supporting open source. I am less in favor of them being forced to do it in a way that makes it non-FOSS from the perspective of the small user or contributor. I'm very much against it when they're being beaten with dubious legal threats that mostly don't work unless they changed the license to be explicit about it*, while someone like Mullenweg makes spurious arguments for why this is helping which look like lies or delusions.

* I have a feeling they don't want to change the license because they've seen what happens when others do it. If they did change the license, it would unify people who intend to fork it, while if they retain the GPL, they can hope that a lot of people just stand back because they don't use the services of either host.

doublelayer Silver badge

It's like a lot of cloud providers. The money is in hosting and management of the software, but they wouldn't have that without the software. A lot of open source companies are in such a position, because people start with self-hosting, they eventually get so familiar with the software that they want to keep using it, and they're happy to pay for support and maintenance so they don't have to do that themselves and they also don't have to change the software they're using. Word Press hosts have two more advantages. They can attach that to paid web hosting, which is also lucrative, and the product they're hosting is understandable to nontechnical people who want a website and don't like the look of the introductory HTML tutorial that seems to be their other option.

Unfortunately, some of those companies decide to try to take the software away from all those who continued to self-host it. I wonder if this is Automattic attempting to do the same while hiding that they're trying to do so. It has many of the same hallmarks, for instance the focus on one large provider first which is often intended to signal to all the developers who are providing free work that this isn't going to impact them. It does eventually come to hit those people, but only after the biggest money sources have either paid or left.

doublelayer Silver badge

"If WP Engine fork it then they would need to pay for development of that fork"

Yes, and they would have maintenance burdens just to keep in sync. Also, they should expect to have Automattic try to deliberately break compatibility whenever possible. All good reasons why they would want to avoid that if possible. If others in the community sided with them, they could have more success, but it's always somewhat difficult and risky.

"and the whole issue Mullenweg has was WP Engine is over WP Engine not wanting to pay for development costs."

No, that's what he said. Not even what he consistently says. It isn't consistent with reality. WP Engine does contribute code to Word Press itself in addition to the related open source components that add to its value, but that evidently isn't enough for him. Others contribute nothing, but they haven't gotten his attention yet. If this was his problem, he'd have acted differently. This suggests that, whatever his problem really is, it's something different.

Apple and Meta trade barbs over interoperability requests

doublelayer Silver badge

Re: This is not either/or

The reason you see that isn't because we have to choose. We're not going to get to choose anyway, the EU is going to pick a winner in each of these disputes. We're commenting because we are debating who we think the winner should be. I don't really like either of them. In previous rounds of Apple vs the EU, I have sided against Apple. I think the EU was right to require Apple to allow other app stores and browser engines. I was not convinced when Apple suggested nebulous security and privacy problems and the ones I could envision were small enough that I didn't care about them and Apple didn't talk about them because others wouldn't either. Now, I'm more likely to be siding with Apple. The privacy problems they're talking about are looking a lot more real this time and the benefits of the policy are much smaller.

doublelayer Silver badge

Re: go Apple

"Maybe everyone who doesn't have taxes automatically withheld from their checks should all together refuse to pay taxes [...] That's tens of millions of taxpayers, many with high (but not billionaire high) incomes"

Leaving aside the other problems that I think you already know about, I think you're drastically overestimating the number of people who could even try to refuse to pay taxes. In order to not have preemptive withholding, in almost every country, you have to not be an employee. Contractors and business owners may have some chances to do that, briefly anyway, but you're not going to get to tens of millions that way. Tens of millions could refuse to pay when the government didn't withhold enough, but that's a much smaller hit to the budget, one that will be quickly filled, in fact overfilled, by people getting fined for tax evasion.

doublelayer Silver badge

Re: cry wolf

IOS app distribution. IOS browser engines.

I'm sure you have your counterarguments lined right up, for example how smartphone apps as a whole aren't an Apple monopoly. It doesn't work, and has never worked, that way because the phone you have only runs one operating system and is limited to the facilities of that. The argument didn't work for Microsoft, either in the IE case or the Windows Media Player case, even though the restrictions in Windows were much weaker than those in IOS and you could install another operating system on the same computer, either instead of or alongside Windows. Unsurprisingly, it's not working for Apple either.

In this case, I'm much more on Apple's side. I disagree with the EU that interoperability is necessary in most of these cases*, and I am much more confident in Apple's privacy practices than Meta's. Apple does abuse privacy at times**, but Meta abuses privacy every second of every day. I think a GDPR-based argument is likely to go Apple's way if they have it adjudicated by someone knowledgeable.

* For example, I assume the request to have full access to iMessage is because of the theory that all messaging apps should be interoperable and thus that WhatsApp needs to be able to send to and receive from iMessage, and to avoid confusing everyone it probably needs to sync all the messages in one place. This may be correct from a technical perspective, but I don't trust Meta to have that access. Since I see no reason why WhatsApp and iMessage need to be interoperable when I can use both if I wish, I disagree with the EU and agree with Apple here.

** I am not likely to forget Apple's on-device scanning attempt. That significantly harmed their privacy record in my mind. I don't give them credit for not actually doing it because it took a lot of screaming to get them to back down, they tried hard not to tell people important information about it, and it feels too much like giving someone credit for not actually following through on a plan to punch me.

Don't fall for a mail asking for rapid Docusign action – it may be an Azure account hijack phish

doublelayer Silver badge

Re: Can these attacks trigger a browser to supply the credentials?

It depends on the quality of the password manager in question. Most of them store passwords with a specific domain name, so they won't autofill if the domain is wrong which it is in this and most other cases. Some more basic ones just give you a menu of passwords, so if someone's using one like that, it's back to hoping they don't take the manual actions necessary to put it in. There is also the third option of a site that is so convincing that someone manually overrides their password manager to fill in the password it wouldn't do automatically, which is possible.

As for the victim assuming a broken link, most phishers have found ways to deal with this risk because they want to have access long after the victim provides the credentials. Popular tactics include:

1. Using those credentials to make an active session and redirecting the user to it, most complex, but sometimes the most convincing.

2. Direct them to a page giving them some ostensible result of the lure you gave them. For example, if the lure was saying they got charged for something, give them a page with a cancel button that makes them think they've done what they had to.

3. Just redirect them to the real login page for the service, and they will assume they entered the password wrong and try again, gaining access to the normal thing.

$800 'AI' robot for kids bites the dust along with its maker

doublelayer Silver badge

That's a bit of an oversimplification. Many maintenance costs are not linear per device. For example, if they were going to have some developers write a new feature that runs on the device, then the cost to develop that feature is the same whether they run it on one device or a million. There are some costs that scale per device, like support for the new feature, but the highest one is constant. That means that maintenance cost is very different depending on how many of those you sold.

A company like this, though they probably did operate in an environment where they knew they wouldn't be able to continue, does not have fixed maintenance costs that they know about when they sell the product. They have estimates, but those can be wrong in several ways. I have a feeling their estimates didn't indicate that they would go bankrupt this quickly. Either they did and someone took all the money and ran with it, or more likely they thought they would be able to continue this for longer than they actually could.

doublelayer Silver badge

You're right in theory, but every idea has to make it past the ideal stage and the practical stage. My comments are about what I think will happen if someone tries to put that into practice. A lot of small companies start with an idea which they think will be profitable in a couple years, but if they have to pay for ten years of costs before they can sell a single item, they're not going to be able to. I think the first two options I described are how those companies that survive this will deal with that problem and the third one is how those companies that didn't start because of it will kill it.

The idea isn't bad, as it significantly reduces the risk to the purchaser of an item. It comes with the theoretical downside of companies that would be able to stay solvent not forming because they can't afford the bond they're required to have, and we could debate whether it is worth that. I'm afraid that, even if we decide it is, the bigger problem will be in evasion and avoidance to say nothing of getting it passed in the first place.

doublelayer Silver badge

It's possible. Many times, things like this fall into two groups, with almost nothing in the middle:

1. Everything goes in plaintext to a single server, possibly a Raspberry Pi, which responds back with simple responses with no security anywhere.

2. Everything is encrypted so nobody can repurpose the hardware, because if they repurposed the hardware, that would result in effectively free money because they just bought your hardware, cut themselves off from your recurring costs or you have an excuse to cut them off if you need to, and invalidated their warranty by replacing the software so you don't have to repair it if they break it, and we just can't have that.

doublelayer Silver badge

Re: Subscriptions?

They won't. They've existed for as long as ongoing costs have, and they will continue to. The important thing to me is that companies be required to be explicit about the existence of subscriptions. If they tell you about a subscription up front, you can decide whether to have the thing or not. The problem comes when they don't bother to tell you, but they impose the restrictions on you anyway.

doublelayer Silver badge

Re: Subscriptions?

Quite frequently, the price of the servers isn't high enough to concern them about this, because they can afford to run the servers quite a long time from a high purchase price. What they can't afford to do for as long is continuing to run the rest of the company. At the end, they don't have the money to run the servers either, but it wasn't the servers that did it. That's often how the calculations arise. When the server costs are high enough that it's appearing as a primary concern in the financial plan, they tend to make the subscription part of the product by default, which doesn't guarantee that they'll stay solvent either.

doublelayer Silver badge

Some things work really easily with that model. Unfortunately, there are many businesses that take software that can run just fine on the computers their users already have and insist on running it elsewhere anyway for extra lock-in potential and data to mine. However, some things work not as well and some things hardly work at all. For example, I don't know what this AI bot did, but I'm guessing it was running some large bit of software, maybe even an LLM. Building a robot with an LLM running locally in it is possible if you don't mind the robot needing to be tethered to a wall and coming with some fans, effectively a desktop computer in a fancier case. If you want something small or mobile, you will probably not have enough processing power to run something that big locally, which is why you would connect it over a network to something running the software. Most buyers aren't willing to have that something else be a separate machine they have to store and keep online. This type of preference tends to make a lot of companies with hardware like this run that software on their servers. This is in the "not as well" category, since it is certainly possible but it is unpopular.

Other services work even less well on a local computer. Generally, these are ones which rely on a lot of public access to something where self-hosted solutions work fine if you have the resources, primarily fast and unlimited home internet and the ability and willingness to be your own system admin. If you don't have those things, they become security holes, maintenance nightmares, or undeployable because public access also cuts off your ability to use your connection. This is where the challenge becomes harder and where new techniques are tried to try to make it easier for people to deploy. Not everything falls into the first category.

doublelayer Silver badge

Which will mostly not work because small or startup companies can't pay ten years of maintenance costs in one go. We might prefer that those which cannot just don't operate in the first place, but we don't get to make that choice. Instead, this situation will be resolved in one of three ways:

1. Companies will specify a lower maintenance cost, for instance, just the cost to run the servers on which the code runs, but not updates to keep the code working, get updated data on which the code relies, hardware repair, or paying necessary employees. If they go bankrupt, the group that inherits the bond is going to find that they cannot possibly run with the funds they have. They can use the money to provide full support for a shorter time or to run some basic, partially functional support for the specified time. Either way, the users and the new operators are going to be disappointed.

2. Companies will find a way of not complying, for example acting as a local subsidiary of a different manufacturing company, even if they actually designed the product. If the law doesn't allow that by putting the costs on the local sellers, then they may instead try to have the product sold by something operating internationally. Either way, unless the enforcement is strong, they can find ways to not comply, and by the time that people are checking whether they did or not, it is too late. This happens to some extent for nearly any type of regulation, but one that provides ten years of costs is so expensive that evasion is going to be really popular.

3. Companies will argue that the bond requirement is restricting innovation and get someone to remove that requirement or limit it in a way that is easier to comply with because users aren't getting a lot.

doublelayer Silver badge

I'm guessing that there may be more steps required to take these over than grabbing a domain name. Without their backend software, which I doubt they're releasing, you might need to put a lot of effort into reverse engineering their protocol and building your own backend, and that's if they haven't included some burned-in encryption keys which could make it infeasible.

Even Netflix struggles to identify and understand the cost of its AWS estate

doublelayer Silver badge

Re: Competition ?

Depending on what you're doing and how it's architected, those services can in fact be a competitive option. Specifically, if you would ordinarily be buying normal VMs from the big cloud providers. If your AWS bill is just EC2, S3, and bandwidth, or for the sake of not having a monopoly in this sentence your Azure bill is just VMs, storage accounts, and bandwidth, then these other companies can probably be used in the same way without too much difficulty. If there are more things on that bill that you intend to keep, it is not as easy.

The large clouds aren't just renting out servers. They're also renting out lots of software running on those servers. That software is used to develop and scale things. You could build similar functionality yourself, but development time and financial costs increase and inevitable bugs become a serious problem for those developers. Larger companies often have the resources to do that themselves and small projects often don't need it, but the medium-sized products are where there are significant reasons why people choose to design with those features, and sometimes those medium-sized companies become large ones and, although they may well eventually build it all themselves and stop using the cloud providers, they have enough inertia that it takes a long time to do so. Managed databases, functions as a service, notification systems for distributed applications, load balancers, and many other things are popular with some people. Individually, you don't really need the cloud provider to charge you to run each of those, but if you're using a lot of them, it can be costly to do it yourself. If you're running the servers in your own building or renting them from an IaaS company like the ones you mentioned, you are still doing that part yourself.

doublelayer Silver badge

That's almost certainly one of the costs. It's the cloud equivalent of "What's that server? Does anybody know? Has anyone logged into this thing in the last five years? Could anyone log into this if we needed to?", but you pay every month for the server, not just the power and cooling.

doublelayer Silver badge

Re: Then... there are the 'exit' costs

I don't think they're relying on AWS for storage of important things. All their video assets have copies on their self-built CDN nodes, and almost certainly on massive storage systems that are at a scale where renting them doesn't help. The pain in trying to leave is taking all the services that are built on AWS components and trying to run them somewhere else. That doesn't happen if they only rented IaaS with everything custom above that, but from their description, they use other services that you can't easily just move. For data egress, the stuff they would have to pay to copy is likely a bunch of logs of every customer's every action, and those are probably quite large files, but not compared to all their videos.

doublelayer Silver badge

Re: accounting codes

Oh, that happens. That's how you have companies with a hundred AWS accounts for each division. Sometimes, they also separate dev, test, and prod into different accounts, so make that three hundred. IAM becomes a headache then, but I think IAM is nearly always that way.

doublelayer Silver badge

Re: Amazing

It doesn't take a massive service to predict the bill. It takes a massive service to figure out where all the bill came from. To some extent, that's not unique to cloud services either. The thousands of different products that AWS or someone else offers makes it a bigger task, but you can have hideous snarls with any other large system. Trying to figure out who is using what kind of server resource can be complex even if you own the servers. Either you have clustered them and individual teams can provision resources, in which case you know when you're taxing them and need to expand but you don't necessarily know how it is being used or how necessary each load is, or you require them to plan this out for specific machines, in which case you know what everyone is using but it makes each increase in resources a drawn out process whenever teams need to expand.

The sweet Raspberry taste of success masks a missed opportunity

doublelayer Silver badge

Re: Print #X where X is channel (file descriptor, window number).

Your question about similar results confuses me. My objection to Scratch is that you can't really get results because, unless you write JavaScript for it, all you can do is move pictures around the screen. Of course, they've attached that to lots of concepts used in programming so you can choose to move a sprite as a result of a mathematical or logical operation, but your ability to build something else is hideously limited. Unless all you ever want to do is move sprites, you will need to do something else, and as with many graphical, block-based "languages", the limitations on what is possible are so severe that trying to teach those operations through it is more difficult than it would be using a language like Python.

As it happens, a book I learned Java from did indeed have a graphical thing because they also thought I might like to move some pictures around. I remember making it into a sort of game with their sample code handling graphics rendering because, unlike Scratch, I could take user input while the graphics moved. It wasn't a very good game. That was, admittedly, after writing many programs that were text only and I was 10-11, so somewhat outside your age range. That doesn't make those languages the best choices for everybody, but it is at least partially why I wouldn't automatically consider them unsuitable.

And your other question, neither of those libraries. I was self-learning things from books, websites, and an older child who agreed to teach me a couple things, so it was quite unorganized. The standard libraries and later, the proprietary example code out of a book was what I used to start with. There are certainly ways to do it better.

doublelayer Silver badge

Re: Print #X where X is channel (file descriptor, window number).

The major difference between Scratch and Python as choices is that Python can do things and is used elsewhere and Scratch can't do anything useful and isn't. That is why Python is an acceptable choice and Scratch is not.

I find Python an acceptable choice. It has some downsides, notably its approach to typing. A language that requires you to state your types avoids confusion. If they used something like JavaScript that lets you treat any type as another type and doesn't complain, at least they'll get something out. Python's lack of explicit type declarations while being strict about what the types actually are can be a point of confusion. While I think this slows down the process a little, I don't mind it as it means they're still going to learn things. Python also has the benefit of letting people write useful software using a lot of libraries, so that is one thing in its favor. I think you assumed that I was a supporter of Microsoft's Basic thing, when in fact I have never used it and think it probably doesn't meet my standards. I just think an object-oriented structure is totally fine to have in an introductory language.

That doesn't make other languages difficult to teach people. I first learned C++ and Java. It was not hard to start with the idea that all my code had to go between the "public static void main() {" and the "}". The person explaining it to me managed to make me understand this very quickly: "The program runs the code in the main function first. Functions are a way of having different pieces of code which you can reorganize. Right now, you won't use more than one. You'll write multiple functions in two weeks." And I did. It wasn't hard to explain the concepts. Public and static got explained later. That was an informal instruction from a friend. A teacher can probably do even more.

doublelayer Silver badge

Re: Print #X where X is channel (file descriptor, window number).

"In every other area of education you start small and build on previously learnt knowledge, so why should software be any different from that?"

Because many of the starter languages, probably including this one, have annoying limitations which hamper the education process in two ways:

Right up front, they can be incapable of some task that an actual language is capable of. If a student wants to write a program that actually performs a task but their language is incapable of it, it puts them off. If they are incapable of writing it yet because they don't know enough, then they can either be motivated to learn more so they can or someone more knowledgeable can abstract out some things for them. If their language just can't, they'll get frustrated by knowing that their tool will never do what they're trying to accomplish. It's not just that most of the things you do with Scratch involve moving a picture around the screen, but people may discover that that's all they're going to be able to do* and lose interest.

After that, you're making them start over and learn a language that gets actual use. If you taught them well and maintained their interest, they will have transferable skills, but they're not yet at your or my level. For us, learning a new language is probably not a big deal. The syntax will not take very much time, and we'll learn the standard libraries as we get to them. That's not the case for someone starting out. They've learned one language, and if it's Basic-inspired, they'll have learned a language that teaches them some harmful habits. I'm with Dijkstra on goto, and Basic tends to use it frequently. Even without that, students are learning a lot of things that were deliberately left out to try to simplify the language, but if that simplification actually resulted in cutting out the ability to do things and removing good program structure, it is not helping as much as it hurts.

* Technically, you can add some of your own behavior in Scratch. However, this isn't supported by the normal server, and if you are doing it, you're just writing in JavaScript.

doublelayer Silver badge

No, that's not what it is called. You know that already, I think.

Whether I can replace things is not related to whether GNU tools are in there. For example, OpenWRT lets me access any part of the system from the bootloader on up if they can, and they usually can. There are no GNU tools in it. You can also have GNU tools atop a Linux that I can't replace with firmware that's been locked down as long as those tools can be replaced. You also seem to have your GPL V2 and GPL v3 mixed up, since it is v3 that requires installation information and Linux is v2. You also blame Linux developers for allowing people to violate the license (for a violation that isn't possible) when those violations that do exist are not due to any failing from the developers. It's true that the things V2 requires of device manufacturers are sometimes, even often, not done, but it is those manufacturers that are at fault.

doublelayer Silver badge

"What on earth is a "full Linux environment"? - you either have Linux as the kernel, or you don't"

I grant that it's not a technical term, but what it usually means, and what I'd appreciate a term for, is a Linux environment in which you are allowed and able to modify things with ease. Primarily opposed to boards or devices that run Android, where there's most definitely a Linux kernel under there, but you first have to wrestle with things to unlock the bootloader, then manually make or patch something so you can replace it, then any attempt to remove mysterious things causes the device not to boot anymore, and only after you fix those three things can you actually start modifying the environment. To some extent, it also means that software intended to run under Linux can run on the environment, which offers a variety of options for how severe you want to be.

doublelayer Silver badge

Re: Everything has become so complicated

I granted them that having to set up the window themselves would be a problem, but their one line looks nothing like the one you made up. It is much more similar to your three acceptable versions with the difference that "TextWindow.WriteLine" is more bytes. It's still one function call with one parameter which, according to them, didn't require extra setup. Also, I don't like your options equally. Print is a common one for that. Write can work, but since we're also going to have functions for writing to files called write, it doesn't make sense for a global function called write to guess this for us. Type is a terrible name because a program does not type a message onto a console.

The problem with your example is that you insisted on adding irrelevant things when the things we're actually considering don't have them. Yes, to teach someone the basics of programming in C, you have to include something and have a main function before your fprintf(stdout, "Hello") works. However, the function they are writing takes only two parameters and they can and should be explained. What standard output is does not take a lot of technical knowledge to get across to a student. It doesn't require you to fiddle about with locales or memory allocation errors or any of the other specious examples you care to include.

That doesn't mean you have to start with C, and I generally wouldn't recommend starting with it. I advise against it because, after they learn some basics mostly involving calculating and printing numbers which is about as easy in every language, they're going to want to start doing some small useful things. C makes most of those things hard and can put them off when they find it difficult to achieve anything they want to do. Python is popular because the vast number of libraries makes this simple, but several languages, can also do it. From your list, I would say that C# is relatively easy to do and Java can be used although there is a lot more boilerplate and JVM work that they will need to simply trust at the beginning which isn't ideal.

doublelayer Silver badge

Hobbyists have done both of those things. I have done both of those things. The small Eee PC was well-known for having internals ripped out to serve as brains for something else. It isn't ideal, which is why the Pi was a popular product. Industrial users tended to get products which were similar to a Pi, but more custom and thus more expensive. In both cases, the availability of SBCs improved the situation, but it did not invent something that nobody had ever seen before. That improvement is why SBCs are going to continue to be made, even if the Raspberry Pi people somehow failed. However, it's not correct to say that it took three decades to get it (I'm also not sure what we had in 1982 which started that clock). It's as inaccurate as saying that we didn't have smartphones until Apple made the iPhone or we didn't have digital audio until the MP3 algorithm got written. Those were improvements but not the first version of a technology.

doublelayer Silver badge

They did say that, but that was not the only thing they said. They made a specific claim that Office files could not be opened in things other than Office and then claimed that this was the case because Microsoft deliberately designed it that way. The former is false, as demonstrated by the fact that LibreOffice, whether people choose to use it or not, can in fact open, view, edit, and save documents in those formats, as can Apple iWork, Google Docs, OpenOffice in whatever state it's in now, and several other programs. The latter is also false, because Microsoft could, subject to legal risks, break those formats and prevent software other than theirs from reading them.

doublelayer Silver badge

"once you've been locked into the office/windows monoculture, thats it. thats all you'll use, again because m$ make sure that stuff created in office can only be opened in office."

How little credit you give LibreOffice these days. I thought it was mostly Microsoft fans who thought it couldn't open anything. In your zeal to condemn Microsoft, you are not giving LibreOffice and other tools the credit they deserve for opening most documents just fine, but you're also just being wrong because the Microsoft Office formats are relatively open and static such that they are relatively backward and forward-compatible and can be opened by lots of software.

doublelayer Silver badge

Re: Everything has become so complicated

Oh no, they turned one line into one line. There's a good reason to have syntax that works like that: it lets you handle lots of objects instead of having only commands. Having one print command is great as long as you only have one place where printed text can go. If you have a GUI, then being able to say things like StatusBar.WriteLine or Button.Label.WriteLine or AutofillOptionBox.WriteLine are useful. Not just useful, but effectively required, so teaching students about functions has a reason to take precedence.

If the hello world program required setting up the text window first, you might have a valid complaint. In the absence of that, I'm reminded of the people who thought it was terrible when Python changed "print string" to "print(string)". Sure, you might prefer one syntax over another, but is that really the most important part of language design to you? The syntax of Basic-type languages was built for constraints different from those we work with today, which is why new syntax, for example the common C-derived syntax, is more common.

doublelayer Silver badge

Re: Cheap

Since the Raspberry Pi components are priced in dollars, I'm using those.

Pi 500: $90

Power supply and peripherals: included with desktop kit, increases above price to $120

Pi monitor: $100

Raspberry Pi 64 GB SD card: $12

Total: $232

Unlike the $90 Chromebooks, which exist but I wouldn't want to use them, $232 will add many options to the list, options with better specs. They also come with a useful feature: portability. People like that. If we tried to make the Pi portable with a battery, we would have to spend more to get a battery and we'd still end up with a much less elegant package.

The Pi is cheaper only if you have some of those things already.

doublelayer Silver badge

"The Pi is great but what makes me worry is why we had to wait almost three decades for something like it to come along."

Because, for all of the Pi's advantages, it's not like you couldn't do the same things with a laptop. Once Linux got mature enough that it mostly worked on hardware you had access to, you could use a laptop with the same software the Pi had. It didn't work so well for RISC OS because RISC OS had, and still has, a lot of ARM assembly in it which doesn't work very well on anything else, which is why it also doesn't run on most ARM SBCs out there either. Most other things were as or more functional with hardware available to the hobbyist, with the largest exception being the convenient GPIO pins and hardware designed around them. The former were available but more expensive, but a lot of the convenient peripherals were only made after the Pi proved that people were willing to buy them.

Many interested people were building systems around old computers running Linux or BSD before they got a Pi to make it quieter and smaller. Others would take embedded devices, often old networking gear, and hack those to make them a platform for things that worked under resource constraints.

As for the future, I think it's been clearly demonstrated that people use and are willing to buy SBCs. If the Raspberry Pi ones somehow crashed, it wouldn't stop the many competing manufacturers. They all provide at least the basics of a hobbyist-available board with a Linux base. Some of them do a better job than others at having updated images or mainline support (Raspberry Pi tends not to), and if Raspberry Pi ceased operating, then one of them would likely try to move into their market and succeed.

doublelayer Silver badge

Re: Everything has become so complicated

"Compare that to now."

"Throw some general purpose programming language on top (C#, VB.Net, Java etc). All of a sudden you have this massive amount of knowledge needed just to get started"

No, you don't. You have a lot of things to learn to understand others' code, but simple code often remains simple, in fact, often simpler than older languages. Basic and variants made simple programs simple at the cost of making complex programs maintenance nightmares. Not that people can't still use Basic, but they tend to use the languages that others use in production.

"Then you have to work out how to make the Linux firewall open ports."

As compared to before, where you didn't have to worry about that, free of the responsibility, because you couldn't write a program that would interface over a network because your computer didn't have any networking. The complexity involved, which mostly is going to involve one line, is directly related to having features which weren't available before. Eventually, the student will learn what happens when they type "ufw allow 8080", but there isn't much complexity when they learn how to perform the action.

doublelayer Silver badge

Re: Cheap

More useful, yes. Someone may be along to argue the utility of the Chromebook's Linux mode, but I'm not going to be that person. I'd much rather have a Pi 500 than a Chromebook.

Cheaper, no. Chromebooks can be really cheap. Some can be less expensive than the suggested $90 US retail price of the 500, though I'm guessing those are not very fun to use. Even when they're not, it ends up being similar, because you still need other things for a 500 to work. Add in the cost of a high-current power supply, sufficiently large and fast SD card, and display, and you've possibly doubled your costs. You may have some of those things already, but since the Chromebook includes that and a battery together, cost comparisons that compare like with like are going to include them. Some people who are considering a cheap Chromebook will not have an HDMI monitor just sitting around because they didn't have a desktop before, and while they're more likely to have an HDMI television, that's not their desired workspace setup.

Just how deep is Nvidia's CUDA moat really?

doublelayer Silver badge

Re: Antitrust?

They could try, but it likely wouldn't work. There are already open standards. Someone mentioned OpenCL. That's still around, there's your open standard, and the chips already support it. Every manufacturer can claim compliance on that. It's not their fault that people are not writing for it. Having an open standard doesn't do anything if people choose to write for the closed versions. If you try to forbid the closed versions, then you'll get a lot of complaints from all the people whose code you've just disallowed if they don't just ignore you.

Nvidia upgrades tiny Jetson Orin Nano dev kits for the holidays

doublelayer Silver badge

Re: The advertisement lacks some details

You could check these things. Let's take your questions out of order:

"Does it have digital handcuffs that stop you from replacing the proprietary software with free software?"

Good question. That kind of thing can be really annoying. The answer is: no. You can erase the firmware, which, unlike things like the Raspberry Pi, is a standard UEFI version, and write whatever you like in its place. You can also write any operating system you like to the boot media. There are docs for both. That means that, if you have software of your choosing which can handle the hardware, you can run it.

"Can it be used without proprietary software?": Define used. I can take out the software they include and it looks like it will still run an OS of my choice, but not all the options of the GPU may be available to me depending on the status of open source drivers. I don't have a board, so I don't know the full list of things that only work with the ones they wrote. The license they have on the main components is not an open source license, but it is freer than you imagined. If I don't use that software, I can still do things with this board, so by that definition, yes it can be used. I might still be better off with a different board because why spend the extra money if I'm not going to use what I'm paying for?

Coder wrote a bug so bad security guards wanted a word when he arrived at work

doublelayer Silver badge

Re: You can't write a bug

Of course you can write a bug. I can agree with your definition that intentionally writing something that you're going to say is a bug is not "writing a bug", it's writing an intentional flaw. However, writing something that has a bug means you have written that bug. You just didn't want it there. In the same way, if you're an author and write an inconsistency in a work of fiction, you probably didn't want it but you still wrote it.

doublelayer Silver badge

There are three options that would have spotted this. I don't find it implausible that one of them happened. In decreasing order of how ideal it is:

1. Someone manually checks a couple basic things, such as the weekly total, and when the weekly total started having a billions digit and probably a tens of billions digit, that person alerted others.

2. Some software has a feature to detect things that are unusual and flag them for review. When they noticed a customer's bill jumping by orders of magnitude, they pinged someone in the finance department to confirm this and the person alerted others.

3. Everything was automated and there were no checks until the payments got to the bank. Banks manage large amounts of money but what they probably don't manage many of is any payment that looks like a recent Unix timestamp. If you really are sending or receiving over a billion currency units in one transaction, they are probably handling that much more manually. So when they started receiving such things, they block the connection and have someone on their end review it and contact the company.

It's not surprising that this got detected. If you added 10% to every payment, you could avoid the safeguards and have a situation that only the customers notice is wrong. When you're charging billions, you don't need very good safeguards for them to go off anyway.

doublelayer Silver badge

Re: Defects appearing like magic

I think the original order is correct. A schemer may try to create schemes of their own, but when someone deliberately sets up a set of incentives, often with a balancing set of negative consequences, lots of people start to scheme their way around it. If you have a schemer, you'll get their schemes. If you have your schemes, you'll find that lots of schemers start appearing, even from people who you don't think of as schemers. I've certainly been a schemer in such scenarios, finding ways to optimize odd circumstances to my benefit, though in my mind always in a way that didn't hurt the people creating the scheme.

doublelayer Silver badge

Re: Defects appearing like magic

Yes, but the developer was probably planning on people not checking. As the comment demonstrates, they weren't even smart enough to match the timestamp to a plausible discovery time, so they would also be either unaware that the history could catch them out or assuming that the people wouldn't check the history. It probably worked the first few times. If I had reported something and someone told me it had already been discovered, I'd usually believe them and be reasonably happy because they're already on it and I don't need to do anything. Only when it became a pattern would I wonder about the history.

Jury trial kicks off Arm's wrestling match with Qualcomm

doublelayer Silver badge

Re: Screw loose?

I'm pretty sure both of them started this process with exactly the same assumption, I.E. Qualcomm assuming that they can violate the terms of the two licensing agreements because ARM needs them and ARM assuming that they can charge a lot to give them the needed licenses because Qualcomm needs them. Of course, that only works if they eventually figured out a solution, which was apparently not something they are very good at.

Guide for the perplexed – Google is no longer the best search engine

doublelayer Silver badge

I hope your results have been better than those reported by others. Many posts have included examples of queries where the wrong answers and poorer results have been returned.

I ran some tests of my own. The first one I tried was looking for information about updated firmware for a device whose manufacturer isn't great about telling people when they've updated the firmware. If I search for information about whether an update has been released on a normal search engine, I get updates, but not necessarily the latest version. Let's see if perplexity is better at finding such things. The result is... no. It simply refuses to find any information or sources at all and makes a generic suggestion that I look at the manufacturer's website. It doesn't even tell me where that is. Not a great result for test number 1.

Test number 2 involved a search for details about a product. Company A produces products 1 and 2. I am using product 2, but it doesn't have as many options as product 1. Can Perplexity tell me what options I have as a user of product 2? The result is... no. It confidently told me that product 2 had options that are only present in product 1. The source it cited for this was the documentation for product 1. It did not cite anything related to product 2.

I then tried something simpler, looking for a specific answer that's easily found on several sites. In this case, Perplexity was able to get the correct information, although its presentation could have been better. Still, it managed to weed out some outdated information which I would have had to do myself if I had used another search engine, so I'll give it a point for that.

Still, at the end of the process, I find myself not convinced that this is any better. I might use it if I failed to find information through normal search engines, but my hopes would not be high that this would do any better.