* Posts by Kristian Walsh

1473 posts • joined 10 Apr 2007

When one open-source package riddled with vulns pulls in dozens of others, what's a dev to do?

Kristian Walsh

Re: Inspection+test at "goods inward"? How quaint.

The flaw of ISO9000 is that it assumed that a business, on seeing the true horror of their process, would take action to simplify it. This was true in some businesses that introduced ISO9000 as a way to improve their operations, but not so in others, whose motivation was basically to do the minimum required to be able to print "ISO9000 certified" on their brochures.

Later quality processes such as WCM move away from process and focus on the general concept of eliminating wasted efforts. That change of focus makes "...and now, go and fix these crazy things" part of the standard operating procedure.

But you've still got to have a company that doesn't just talk about quality, while acting in every single way that's guaranteed to diminish it.

Apple gives Boot Camp the boot, banishes native Windows support from Arm-compatible Macs

Kristian Walsh

"There may be a time when MS produce a reasonable ARM version of Windows."

Windows 10 is fully ARM-native, including all of the built-in applications. Latest release includes the ARM-native Edge Chromium as default browser - the lack of an ARM-native Chrome was the biggest issue with Windows 10 ARM, but with Edge Chromium, that pretty much goes away.

Of course, third-party application developers can do what I want regarding ARM architecture support (as Apple will also discover that means that current products will get updated, and publishers will use this as an opportunity to kill unprofitable older product lines in the hope of spurring sales of newer versions), but Microsoft has already done the bit that's under their control.

Kristian Walsh

Re: So basically

It's not a small percentage at all. The ability of Macs to run Windows allows them to be funded by organisational IT budgets. Lots of middle/upper management types bump themselves up to a Macbook on this basis. Because under Bootcamp the Mac directly boots into Windows, it's no different from an IT department licensing point of view as buying bare from any PC maker and re-using existing licenses on it.

However, I don't imagine that running Windows in a virtualised container would come under that licensing, so while Apple supporting Windows 10 Arm trough a VM might be fine for individuals who need Windows, it may not fly with the corporate customers who've used Bootcamp as a way of getting work to subsidise their personal laptop.

Apple's new WidgetKit: Windows Phone Live Tiles done right?

Kristian Walsh

Yeah... whatever next? an Olympic Games in Beijing?

It wasn't even new when Android did it... but in fairness, Google didn't claim that home-screen widgets were anything special; apps being able to display summary status was seen as a basic feature of a mobile device.

It looks like Apple is copying Windows Live Tiles, which weren't true "widgets", as they didn't allow you to issue commands to an app: all you could do was click them, so they are more like hyperlinks that present a preview of their destination. But when they were done properly, they were very powerful way of managing the information that a phone can deliver. An app user could create a live-tile for any specific content that an app could access, with made them very effective for narrowing the scope of notifications, and as such they're something I really miss since moving to Android with its cacophony of pointless notification alerts (yes, I know how to turn them off; my complaint is that I shouldn't have to: they shouldn't be on by default).

Examples of live-tiles that worked: in a podcast app you can pin a few of your favourite feeds to the front page, and you'll see when those are updated, without being bothered by updates for the other podcasts you follow less frequently; or, pin a particular contact in a communications app, and you will see notification of when they contact you, not when anyone has contacted you via that app.

The Live Tile idea is based on well-proven principles of how people construct mental models of tasks: it shifts the focus onto the object of interest (your contact, the location you want a weather forecast for, your favourite podcast, your family photos album), and not the tool or method (the apps that provide you with those services). Understand that, and you can see why some brand-name social app developers were so lukewarm on Windows Phone - it shifted control of the interaction back toward the user.

Against that, the initial implementation of live tiles was visually far too "busy" and distracting, and by the time that was addressed, the fate of Windows Phone had already been sealed by developer decisions.

Apple to keep Intel at Arm's length: macOS shifts from x86 to homegrown common CPU arch, will run iOS apps

Kristian Walsh

Re: Keyword here is "maintained"

"30 year old (or even 10 year old) software should run fast enough even with a naive cross-compilation to modern ARM CPUs"

Cross-compilation is fine, but what exactly are you planning to link against?

Apple entirely broke backward compatibility in 2001 when MacOS X was launched. Code written for the previous OS's API, the Macintosh Toolbox, will not run without an application host ("Classic") which has not been supported for about 15 years.

Newer code that ran on OSX may also fail to run on the latest release of OS X due to dependencies on CarbonLib, the API that allowed easy porting of Macintosh Toolbox applications to OSX. CarbonLib was finally discontinued this year (the writing was on the wall back in 2011 when Apple announced that they would not port it to 64 bit).

In short, getting very old Mac software to run on new Macs generally isn't possible: even if you have the source-code, chances are the old software links against an API library from Apple that is no longer supported.

(Windows isn't perfect either: 16-bit software has not been supported for a very long time, and 32-bit is going the same way, but Microsoft does provide better supports for getting old source-code to compile and run on a new OS than Apple does)

Belief in 5G conspiracy theories goes hand-in-hand with small explosions of rage, paranoia and violence, researchers claim

Kristian Walsh

Re: So basically ...

There's a perverse comfort in believing that the whole world is rigidly ordered and coordinated, even if the goal is evil, when the alternative is to accept that the real world is a chaotic place with many bad things that happen by chance and cannot be predicted or prevented.

What's the Arm? First Apple laptop to ditch Intel will be 13.3" MacBook Pro, proclaims reliable soothsayer

Kristian Walsh

Re: Depends on what you're doing

Time for another look at Windows. Running my preferred Linux distro on WSL is superior to running BSD on MacOS, and now that the new default Windows terminal is finally better than Terminal.app, there's nothing that I miss from Macs.

I do like BSD, and I think its codebase is so much better than Linux's (the Linux networking stack... dear god!). However, nobody has ever asked me to write a product that targets BSD.

Kristian Walsh

Re: Strategy

No mystery: it was good old internal politics. NeXT vs Apple, and NeXT won. NeXTStep, rechristened as "Cocoa", won as the application environment of choice for MacOS X. However, a lot of the libraries that enabled it were written in C++. From my hazy memories of that time, Quartz, ATS (the font renderer) and IOKit were C++ codebases, to which you can add all of QuickTime, and any other library or application that was ported directly over from MacOS 9.

Oddly, there was such a thing as ObjectiveC++ (basically C++ with the added at-signs and SmallTalk-y brackets syntax to let you interact with the ObjC runtime), which was fully supported by Apple's tooling, but received zero publicity in developer documentation and training. It's a shame, really, because the "C" part of the original MacOS X ObjectiveC was a creaky pre-ANSI dialect that felt like a real trip back in time (as in having to define all your variables up front at the head of a function again...).

I really don't understand why Swift needs to exist, except to make Apple platform skills non-transferrable, but Apple has always had an unhealthy impulse towards proprietary approaches. The irony of course is that without OS X embracing so many open standards, there wouldn't be an Apple today.

Only true boffins will be able to grasp Blighty's new legal definitions of the humble metre and kilogram

Kristian Walsh

I once took a car for a test-drive without realising that my local dealer had sourced it from the UK.

I thought it was surprisingly sluggish to get up to 120 until the sun caught the part of the dial that said "MPH". Oops. (Cars in Ireland are sold with km/h-only speedometers)

Luckily for me, nobody from the Traffic Corps was around that day..

Gulp! Irish Water outsources contact centres to Capita for up to €27m over 7 years

Kristian Walsh

Re: Irish language service?

I had no involvement, but I'd make a guess and say it's to do with names.

There's a number of people in Ireland who choose to go by an "Irish-ized" version of their name, rather than what's on their official documents. So, a "Seán Mac Giolla Phádraig" and "John Fitzpatrick" can in fact be one and the same person, all of whose proof-of-identity documents are in the original "English" name. Similarly, those who actually come from an Irish-speaking background (rather than those who would like to think they're "more Irish" than you are) will sometimes do the reverse: their official name is a traditionally Irish one, but they use an Anglicized version when speaking in English.

When you've got a CMS with just one "Name" field, accommodating this would be awkward.

GitHub to replace master with main across its services

Kristian Walsh

Re: I like colors

Yes, this is true. The "Green" of the green traffic light was deliberately set at the blue end of the spectrum so that the red and green lamps will appear as yellow and white (Protanopia), or as orange and lilac (Deutanopia) to someone with total red/green colour blindness. To such a viewer, the amber lamp will look like red, which is a safe message to convey.

Actually, I was sligthly wrong when I said the Japanese lights are the same green as we have: although I never saw any on my brief time there, there are a few places in Japan where local municipal governments mounted blue lamps in traffic signals. The joys of written specifications in ambiguous language, I suppose.

Kristian Walsh

Re: I like colors

"Green" in Japanese also doesn't describe the same portion of the spectrum as it does in English Many things we consider to be either blue or green are described by the same Japanese word, 青 ao, and this is used to describe both the colour of the traffic light that means go as well as the colour of a clear sky. Just to be clear: Japanese green traffic lamps are the exact same hue as those found in Europe - it's the word that's different, not the actual colour.

There's another, newer, word, midori, 緑, which is used exclusively for what we call green in English (and yes, that does make the name of that melon liquor very unimaginative), but ao still carries both meanings.

(By the way, this isn't a uniquely Japanese quirk, and many languages mix the concepts of green and blue: https://en.wikipedia.org/wiki/Blue%E2%80%93green_distinction_in_language )

Microsoft brings WinUI to desktop apps: It's a landmark for Windows development, but it has taken far too long

Kristian Walsh

Re: But is it usable?

You don't have to take my word for it, open up one of Microsoft's own UWP apps like Mail or Microsoft To Do, and then try composing an email using only the keyboard



So, twelve keystrokes more than the total needed to enter subject, recipient email address and message body. (I didn't take advantage of autocomplete)

From app not running to message sent, that's actually one fewer keystroke that the old Unix "mail" tool, which needs 13, although I will concede that if your subject doesn't need to be shell-escaped, that overhead falls to 11 keystrokes. ( mail[space]recipient[space]-s[space][quote]subject[quote][return]body[ctrl-D] )

Kristian Walsh

Re: The problem is called "UI"........

I don't remember any time when there was just one command-line interface. Certainly typing ls or rm used to get me precisely nowhere on a VAX.

Even on "unices", a lot depends on your shell. There's so many people who think "shell-script" and "bash-script" are the same... right until they try to use an embedded system that has dash or a similar actual Bourne-shell copy installed. (Someone experiencing the difference between "vim", the command that's soft-linked from "vi" on most Linux distros, and actual "vi", is also fun to watch)

Command-line applications are a mishmash of good and bad UI. Some are an OS unto themselves (emacs, and that same vim these days), some are maddeningly inconsistent (the linux "ip" tool), and some are superb (anything that follows the ethos of the original core K&R command set of Unix: do one thing, do it right, don't be chatty).

The real problem with graphical UI isn't the toolkit, it's the way the applications behave (much more important than just "look"). There are design guidelines for the major OS platforms (except Linux), that explain what users learn about interaction from using the built-in software, and how you can reproduce those same patterns in your own code. The problem is that different OS platforms have different and conflicting design patterns. Linux is in its own special hell, because with no agreed "platform" behaviours, and at least two warring factions for the desktop, every single graphical application goes its own way, which means you've got to learn everything from scratch, with no carryover of existing knowledge.

(Don't get me wrong, I really like Linux. But I can't use any of its GUI shells without getting angry - the command-line shell is just so much quicker)

The longest card game in the world: Microsoft Solitaire is 30

Kristian Walsh

Re: The interface formerly known as....

Its not a clever approach at all - its nothing more than vector graphics (NOT invented by MS) shoved into unicode and having a load of unicode tables to contain graphics when there are an infinite potential number seems a particularly stupid way of drawing icons.

Missed my point completely. The "clever" bit isn't that it's a font, but that it makes use of the existing and highly-optimised font rendering code path to produce the coloured symbols needed for emoji. Contrast Apple's approach that just hacks enormous bitmaps into the font file, or the SVG-based solutions (the other OpenType approved mechanism) that require a separate rendering path for the Emoji glyphs versus the rest of the code set.

The rules for inclusion in Unicode are straightforward, and the set of Emoji, whether you like them or not, meet those rules. If you consider that the symbols of the Phiastos Disc, a set of characters used only on that single ancient artefact are assigned codepoints in Unicode (U+101DE0--U+101DFD), there's room for a few hundred pictorial symbols that are used by billions of people daily.

Kristian Walsh

Re: The interface formerly known as....

You're correct. It's to allow the interface to be rendered at a variety of different viewing distances and pixel densities. There aren't any bitmap "icons" anymore in Windows 10 for button functions: all graphical symbols are stored in fonts and rendered through the text engine. (the font is called "Segoe MDL2 Assets", and you'll find the icons encoded as characters within the Unicode Private Use pages).

Windows 10 also does the same thing for its emoji support, by using a colour-font feature (COLR and CPAL tables in OpenType) that allows coloured symbols to be built up like silkscreen prints, with one "character" for each colour layer. This is how Microsoft was able to implement every possible skin-tone variation in the "family" and "activity" emojis, and also provide non-coloured emojis without needing a new font (something I wish other vendors would offer). It's a clever approach that reduces the amount of memory and CPU effort needed to display the symbols, can be scaled to any size, and by limiting the number of colours per emoji, you end up with icons that visually blend with text much better than bitmap-based solutions.

(App icons remain as bitmaps)

I know this is not a popular opinion here, but I really the Windows 8 and 10 UI. It's clean and clutter-free, looks really sharp on a high-DPI display, and it's consistent as far as it's applied - the main thing I don't like about Windows 10's UI is how often you're dumped back into the Windows95 look and feel: surely it'd be worth putting a few interns on a task to turn those horrible tab-dialogs into something from this century (... and don't start me on the multi-row tab-bars where the tabs dance around after you click them, in some kind of twisted, user-interface whack-a-mole game)

Kristian Walsh

Other things "stolen" from Apple...

The cards in Solitaire, as well as the standard icon-set for Windows 3.0 were designed by Susan Kare, graphic artist whose other famous contributions to computing included the icon set for the Apple Macintosh, as well as its default bitmap fonts (and a hidden 32x32 portrait of Steve Jobs). To add to the set, as an independent design consultant in the 1990s, Kare also provided the standard icon suite for OS/2 Warp at the same time as doing the Windows 3.0 images... and later the Linux-based Nautilus desktop.

'iOS security is f**ked' says exploit broker Zerodium: Prices crash for taking a bite out of Apple's core tech

Kristian Walsh

Re: Here's an idea

They had one, but eventually there were so few bugs for them to find that Apple fired them all...

The Windows Phone keeps ringing but no one's home: Microsoft finally lets platform die

Kristian Walsh

The mistake wasn't in dropping 6, it was going from 6 to Silverlight on WinCE, then Silverlight to WinRT on NT in version 8. It's that Silverlight to 8.0 breaking change that kicked out many developers - once you were on 8, there really isn't a major difference in targeting 8.1 and 10: I got my reasonably complex 8.1 app running against the 10 SDK in a few days, although UI changes to conform with the UWP design langauge took longer.

Microsoft punished its early WP7 adopters (always the most enthusiastic developers) by landing them with a major rewrite to get their apps onto 8.0, and not providing user-space libraries for some of the Silverlight controls that had no equivalent in 8.0.

As for dropping 6, it had to be done to meet the performance requirements. 6 is a traditional event-loop runtime where apps generally run linearly on a single thread. The only way WP7/8/10 got its incredible responsiveness (and a 40-quid Windows Phone running 8.1 was far more fluid and responsive than a 400-quid Android of the same era) was by making asynchronous programming and deferred tasks a first-class feature of the framework and the C# language - this makes it easy for developers to do the right thing to keep the system responsive, but it's such a divergence from the "old" way of doing things that even if the Windows Mobile API were preserved, devs would have had to do extensive re-writes to get performance, and then re-write their UI to handle touch gestures rather than stylus...

Things Microsoft will be glad to never see again: Windows 10 1809 and Windows Phone Office

Kristian Walsh

Re: Option A for me

Unfortunately, I have a lot of friends who only read their WhatsApp/FBMessenger/Viber messages, and these services are going to stop supporting WinPhone at the end of the year.

If it weren't for that, and the now-knackered battery, my five-year-old Lumia 950 would do me for another few years.

Tesla has a smashing weekend: Model 3 on Autopilot whacks cop cars, Elon's Cybertruck demolishes part of LA

Kristian Walsh

Re: I Can't Stop Myself

AC is presenting a straw-man argument. Nobody wants to ban self-driving systems, they just want the vendors of these systems to prove that they're safe before putting them on the public roads. Uber and Tesla need to realize that this isn't some crappy javascript running on a web-page where you can just update when the thing crashes: if their system fucks up in a moving car, there's a good chance that people will die or be maimed for life. Higher consequences require a bit of grown-up responsibility.

Tesla's system does not meet the requirements to be called an "Autopilot" (I'm aware that autopilot doesn't mean self-driving - I'm referring only to maintaining a safe speed and distance within a traffic lane). In this case, the correct action would have been to sound an alarm to alert the driver of a stationary hazard, slow down before the hazard, and finally, in extremis, to apply the brakes to avoid impact. That's what other people's automated cruise-control systems do.

There are now too many instances of Tesla "autopilot" driving straight into visible hazards to consider it a safe system. In this case, the solution is for Tesla to re-engineer their product to fix this error, but until they do so, there is no reason why other road users should be endangered by the buggy software.

Kristian Walsh

Re: I Can't Stop Myself

" I know Google Translate is far from perfect, but it's far better than anything produced the analytical way."

To cure you of such delusions, I suggest you bookmark DeepL: https://www.deepl.com/translator

Thanks, Brexit. Tesla boss Elon Musk reveals Berlin as location for Euro Gigafactory

Kristian Walsh

Re: No, the UK was never in the running

Cars priced above €60,000 receive no subsidies at all under the new German scheme. The biggest gains are for buyers of vehicles priced under €40,000, and cars costing between €40,000 and €59,999 receive a smaller subsidy.

The cheapest Tesla vehicle retails for €57,000, so most of the American company's offerings won't benefit from this scheme at all. The intended beneficiary is of course not Tesla, but rather Volkswagen, whose ID3 EV will cost around 30-35k, right in the sweet-spot for the grants.

Not LibreOffice too? Beloved open-source suite latest to fall victim to the curse of Catalina

Kristian Walsh

Vista's problem was the incessant nagging, as each permission needed to be approved by the user. Where programs spawned additional processes it turned into a nightmare of re-approving each sub-process. Windows 7 to 10 actually use the same security model to protect the user's system against privilege escalation, but the user layer was changed to ask you only once for all necessary permissions for a process and its sub-processes.

Catalina's problem is different: the software is broken.

Kristian Walsh

Re: Just another...

App Store distribution has even tighter restrictions.

The problem here isn't app security - authentication of origin is a good thing (although Apple controlling the gatway is a smaller "bad thing"). It's that Apple has apparently shipped a broken implementation.

LibreOffice has had their build signed, but Apple is rejecting that build. That's a flaw in the process or the implementation. Perhaps the installation process changed something insignificant that the signing algorithm thinks is important? Perhaps Apple's crack team of stock-option clock-watche--- sorry, of software developers didn't test their code enough?

Good idea, lousy implementation used to be Microsoft's purview (Apple excelled in "bad idea, excellent implementation")...

Chemists bitten by Python scripts: How different OSes produced different results during test number-crunching

Kristian Walsh

Re: Fixing the symptom…

I did say "stored", not "presented". It's a subtle difference, but I'll accept that NTFS doesn't offer any other way of getting catalog data out except codepoint-sorted, so the point is moot for software running on NTFS volumes.

```In fact, I wonder if te quoted comment "because most times that returned order is basically "order of creation" ..." implies that the poster works on a system that behaves that way and is assuming that all other systems behave the same way.```

No. I was assuming nothing. I work on Linux, MacOS, Windows 10 and Ubuntu-on-WSL systems. I used that as an example of why assuming codepoint order is incorrect. NTFS does present its directory contents sorted this way, but HFS+ and most of Linux's filesystems do not.

For what it's worth, I think NTFS does the right thing here - a consistent, predictable and (above all) logical answer from the question "what is in this directory?".

The big surprise for people is that this is a _filesystem_ property, not an OS one. Running Linux, issuing `ls -1f` lists files in code-point order on a NTFS volume, but not on ext4 one. (As can be demonstrated by using Windows 10's WSL feature)

Python apologists saying "but read the documents - you were promised nothing" are missing the point. Python is supposed to be a straightforward and intuitive language. Leaving these kind of gotchas in there undermines this promise, and frankly, the effort that was needed to document the unintuitive and nasty behaviour is about equal to the effort that would have been needed to make the call work the same way across all filesystems in the first place.

Kristian Walsh

Re: Language question

My general advice agrees with Duncan's, above: split the extraction and manipulation into a different tools as much as possible: make your extractor export the data to a useful intermediary format (CSV, for instance, can be pulled into spreadsheets, but I know nothing about your format, so maybe that won't suit). You can then write other tools to work on that intermediary format, and use a third tool to re-assemble it into the packed form if needed.

C#, Java or Python can all do what you're looking for (so can C, but it is much harder, and you said "no C"). Python can deal with unpacking binary data, although the mechanism is a little odd (look up the Python 'struct.unpack' package). I find C# (and the .Net/Mono libraries) to be better at getting down and dirty with binary data than Java, but that may be my own prejudices against Java in general.

Once you've got the data out, Python will transparently deal with the largeness of the numbers (for integer values over 32-bits, it silently switches to a decimal-based multiple-precision "bignum" type). In the other two languages, use library "big integer" functions rather than the built-in long or int types (In C#.Net or Mono that's System.Numerics.BigInteger, in Java, java.math.BigInteger).

Given the limited information on what you're doing, I'd lean towards Python in this case: extracting the info will be a little harder, but manipulating it afterwards may be easier.

However, if this is something you're hoping to grow into a larger application, then don't go down the Python route - python programs can become very difficult to maintain when they get beyond a couple of thousand lines of code. Keep each program small, with a clear purpose, and resist the urge to attach unrelated features to an existing script.

Kristian Walsh

Re: Why the down votes?

I didn't downvote, but I suspect it's because the article explicitly says that the problem is due to file ordering, so it's a "RTFA" reaction. Secondly, research scientists know a lot about numerical precision, so that would have been ruled out early. Also, the poster assumed that the mathematics was floating-point, when almost all scientific modelling uses decimal-based mathematical libraries that don't exhibit this kind of rounding: the most commonly-used maths packages can work at thousands of digits of precision as long as you've got enough memory. Finally, even if it was FP rounding, the scale of error reported is far beyond what you'd expect from FP rounding, even on huge data sets.

Kristian Walsh

Re: Science

Agreed. This problem has nothing to do with hardware or OS. It's an error in thought. Assuming that the external input always conformed to an implicit pattern is a dangerous assumption, but only a lot of experience with filesystems and Python - much more experience of programming than I'd expect a full-time research biochemist to possess - would reveal this.

Software developers know (or should know) about input sanitisation, but if you're looking at a window that's listing your files, and the files are nicely ordered by name, you have no reason to suspect that the little program you just wrote will load them in any other order than that.

Simply doing a .sort() on the directory contents would fix the issue, of course, although I personally think that given Python's user-base and its principle of favouring "proper" over "fast", sorting the returned filenames by code-point should have been the built-in behaviour.

Kristian Walsh

Re: Fixing the symptom…

Yes. FP maths on all modern CPUs has to conform to the IEEE.754 standards. This is why the Pentium FPU bug in the late 1990s was such a big embarrassment for Intel.

The root problem is the filesystems involved, and how they return data. None of the potential filesystems involved (NTFS, HFS+, APFS, Ext4, ZFS) gives any guarantee about the order of the entries in a directory data structure. But, because most times that returned order is basically "order of creation" I'm going to put the blame for causing the problem not on the filesystems, but on the way the files were copied to disk.

Any system using threaded copy will cause the files to be created in effectively random order in the directory. From your graphical shell, do two copies of the same file set into two different directories, and then retrieve the file list from each (ls -1f will show you the directory entries in the same order as they were encountered on disk) - they'll most likely be in a different order in both directories if the shell has done any kind of disk-copy optimisation. In the old days, when graphical shells ran copies on one thread only, the files would get written in the order that the shell found them in, usually whatever sorting you'd chosen on the view window, but that's not true anymore, and the order is non-deterministic.

(I first encountered this problem when copying music-files onto an SD card that was consumed by a simple player device that treated "directory order" as "playback order"... )

All that said, the Python API should be more user-friendly, given how widely Python is used by inexperienced and 'non-programmer' programmers. As performance is explicitly not a goal of the Python language, why not sort the names in codepoint order before returning them?

Microsoft Surface Pro X: Windows on Arm usable at long last – but, boy, are you gonna pay for it

Kristian Walsh

Re: the device starts at £999 for the 8GB version

It's Docker, not Windows (or MacOS), that uses up most of the RAM on my systems. Windows 10 is pretty good at keeping its memory use down - certainly no worse than MacOS or Linux when running just the file-manager shell (Finder/Explorer/I'm-not-getting-into-the-Linux-GUI-flame-wars-thanks).

Chrome, meanwhile... I entirely agree.

I'd replace that spinning disk with an SSD on the Lenovo, though: it makes such a huge difference for launch and load times, especially if you're doing music work, and SATA SSDs are really cheap now that everyone wants NVMe.

Kristian Walsh

Purpose of Surface...

Really, the most rational explanation for Surface is the one Microsoft has given: they produce high-end hardware running Windows in order to shame OEMs into addressing the upper end of the market. This is the same approach Google has used for a decade to prevent Android becoming an OS for cheap phones only - from the beginning, Google invested in flagship devices to show how its OS could be used, and raise the quality ceiling for Android devices.

Before the Surface line, there were very, very, few Windows laptops that had the appeal of Apple's MacBook line. The OEMs competed mainly for the corporate fleet market and the bargain-basement Yes, you could certainly get high-spec models, but they were either aimed at gamers (no battery life, plus styling that's questionable when you're on the death side of 30), or corporate IT managers (every possible port, built like a tank, but as heavy as a tank too).

That left Apple pretty much unchallenged in selling to the wealthy personal buyer (and the shallow nontrepreneurs wasting their VC's money too, of course). Post-Surface, every manufacturer has realised that if you make a Windows laptop with good materials and don't load it down with crappy OEM software, there's actually money to be made, and so they're addressing that market too.

Microsoft makes money on Surface, which isn't bad for something that's basically a promotional tool for Windows PCs.

MacOS wakes to a bright Catalina sunrise – and broken Adobe apps

Kristian Walsh

Re: Apple only sold 32 bit Macs for ONE YEAR

The IBM PowerPC 970, sold by Apple as the "G5", was a 64-bit CPU, and had limited OS support from MacOS 10.4 onwards. (Mainly the "make it run without crashing" kind of support, but there were some optimisations to use the 64-bit ALU)

The real reason Apple is dumping 32-bit is because it allows them to stop maintaining the "Carbon" API, and with it the last remnants of the original Mac Toolbox (yes, some of the Toolbox sources were ported straight into Carbon). There's very little cost in keeping a second architecture tested if you're testing the APIs already on another architecture: compilers are very, very good these days, and most functions will compile and run fine on any kind of modern CPU.

Adobe hopes that this will force people onto a subscription. I Personally, when I faced this choice (moved from Mac to Windows, and thus lost access to my Illustrator CS6 licence), I bough Affinity Designer instead. It's not as complete as Illustrator, but for all but the most demanding print work, it runs much faster, and it only costs seventy quid, Mac or PC.

Microsoft emits .NET Core 3.0, C# 8.0, Visual Studio 2019 16.3, and more at e-conference

Kristian Walsh

Re: The missing piece is ...

Have there been any good cross platform GUI libraries?

Qt if you want to run the same UI at the same level of performance on different devices.

As we're talking about C#, Xamarin Forms is okay, but needs more development - I had hoped that when Microsoft bought Xamarin, they'd put development of the Forms and UWP libraries onto converging paths to create a common UI framework, but that doesn't seem to be happening.

The problem with cross-platform is when you need to make something look exactly like the target OS (this is more of a headache for desktop software rather than mobile/tablet apps). You can do a pixel-perfect reproduction, or a native-control mapping, but then the vendor changes everything and you have to repeat the process (Apple is by far the worst offender here - it seems incapable of updating the OS without screwing with the UI toolkit appearance and behavior)

German ministry hellbent on taking back control of 'digital sovereignty', cutting dependency on Microsoft

Kristian Walsh

Re: Uncontrollable costs?

Two problems with your theory: First, Microsoft didn't move to Munich, they'd been there for thirty years. All they did was relocate from a suburb into the city centre. The second problem is that they did so on the back of a generous relocation subsidy from the City of Munich. So, bringing revenue to the city? No. Probably a net loss in the medium term to Munich, and breaking even after.

Munich's failure was precisely because its plan was based on ideology, not a rational analysis of what was needed and what could be delivered. A gradual multi-year phase out of Windows would have worked, but the people driving this change wanted to have a Linux-only world working perfectly in an unreasonable timeframe. Replacing Windows with Linux on the desktop meant effectively writing a lot of software from scratch. That created a much higher IT budget than under the Microsoft system - the burden of filling in process holes fell on the city IT department, whereas previously it could be solved with a far cheaper application software purchase.

The hope had been that other municipalities would switch over too, and help spread that cost, but that never happened, partly because Munich's "Great Leap Forward" plan resulted in a lot of short-term chaos that put other cities off the idea... City administrators really aren't the kind of people to say "Fuck it, let's just do it and see what happens!".

They could have still got things going right, but the shift to mobile and cloud-based working was the last straw: Linux servers might run all of these services, but the client end of the deal is very poor, with poor integration to the application software that the City had chosen to replace Office.

You might think an office suite is "outdated", but you're probably a software developer or IT manager whose work only barely touches on policymaking, where such software is essential. MS Office might not be a great piece of software, but it's miles ahead of any other office document suite, and critically, it offered a private-cloud solution that could be managed as "pay this much a month and stop worrying about it"

Dropbox would rather write code twice than try to make C++ work on both iOS and Android

Kristian Walsh

"... You alloc, then init, then add to a pool. Simple, yeah?"

Ugh. I'd forgotten about autorelease pools until you posted. Another bad memory from my days writing ObjC code.

To be honest, as all of my, few, Cocoa apps were actually written in C++, not C, I think one of the first things I did was to make a std::auto_ptr<> concrete type that handled all that nonsense for me.

Apple kills iTunes, preps pricey Mac Pro, gives iPad its own OS – plus: That $999 monitor stand

Kristian Walsh

For a cinema feature, the audience will indeed have a DCI-P3 calibrated display, but that's pretty much the only use-case. It's also an easy pipeline: capture in RGB, process in RGB, proof in RGB, reproduce in RGB. Even then, variations in exhibition equipment mean it's back to "pretty much the same colour", but at least you started at an agreed standard,

For any kind of print work, though, I absolutely agree: so much changes at each stage, and even across a print run, that you're really only going to get "same colour within reason". The switch from additive (RGB) to subtractive (CMYK) colour spaces means there's no substitute for proofs. (I used to do a small amount of print design... I'm glad I don't do it anymore)

Kristian Walsh

Re: How much? They gotta be kidding, right?

A Bugatti Veyron is an apt example. A toy for the wealthy.

This is a showpiece, it'll be bought with a matching Mac Pro to show everyone that you're the "real deal". That's Apple's market these days: the lifestyle entrepreneurs who spend their own (or investors') capital on whatever the most expensive equipment is. Actual "professionals" who have this kind of money to spend on tools will go for something with proper support from a manufacturer with a better reliability record than Apple's current one: if it's your livelihood, you do not want to be waiting for AppleCare...

All we wanted was the previous Mac Pro tower. Something that cost maybe 10% more than a competitor, but offered easier upgrading. This thing costs at least 30% more than competing workstations... and (subjective, I know, but) it looks awful.

EU lumbers towards Apple probe as Spotify cries foul over App Store's 30% cut

Kristian Walsh

The problem with your analogy is that if I see that the product I want is too expensive in Tesco (because perhaps Tesco has an own-brand that it wants to sell instead), I can go and buy it in Asda, Lidl, Morrisons, etc. That way, the businesses compete on offering the best product to the consumer, and the one that does that best thrives.

Businesses indeed have the right to make a profit on their investments. But monopolies are subject to a few conditions on that, particularly about abusing their control of one market (e.g., iOS app distribution) to undermine competitors in another (e.g., Music streaming services).

Apple is the monopoly distributor of applications and services on iOS. Spotify is right to highlight the arbitrary distinction Apple has made between apps that take your credit-card to pay for services you book with the app (Uber) and apps that take your credit-cart to pay for services you consume via the app (Spotify). Also, the rules seem to differ for video: streaming services like Netflix don't pay Apple a cut on subscriptions, so why are music-streaming services singled out?

The Year Of Linux On The Desktop – at last! Windows Subsystem for Linux 2 brings the Linux kernel into Windows

Kristian Walsh

Re: But, but, but ...

No. Encoding support isn't script support. Linux applications still have problems with contextual (Arabic), bi-directional (Arabic, Hebrew) or combining scripts (Thai, or the Brahmic scripts used to write Indian languages), despite the existence of very good libraries for supporting these things. (As with everything else UI-related on Linux, the lack of an agreed standard toolkit means there's a patchwork, with some applications offering very good support and some being very, very bad)

Even with library support, developers can find themselves facing an uphill struggle, as these scripts break a lot of Latin-centric "rules" that they may have believed (particularly "one code-point is one glyph" and "glyphs are laid out in the same direction"). Brahmic scripts in particular break all of these rules: here's an example for the Devanagari script used to write the Hindi language among others - https://en.wikipedia.org/wiki/Devanagari#Compounds ...note how the following "vowel" moves around the preceding consonant*

(Despite their "foreign-ness" to Westerners, Chinese/Japanese characters are actually the easiest of the non-European writing systems to support, as they behave pretty much the same as Latin letters.)


* in practice, this re-arrangement is somewhat simplified by the font: the font contains a definition of a finite-state-automaton which selects a pre-composed "cluster" glyph for a given sequence of input codepoints. The Unicode standard defines the rules for these combinations, but they're usually implemented in the font to allow greater stylistic variation (similarly to how some fonts create ligatures for "c t" when used with English text)

Julian Assange jailed for 50 weeks over Ecuador embassy bail-jumping

Kristian Walsh

Re: Investigative Details in Sweden

... as is your source. https://mediabiasfactcheck.com/global-research/

Kristian Walsh

Re: Summing Up


In order to be an ad hominem attack, a statement has to be unrelated to the disputed point. In a court case, what's being argued is "the defendant is guilty of the charge", so anything that relates to this is admissible, including things that may reflect badly on the defendant's character. If a claim establishes either a motive or opportunity for them to have committed the crime, or evidence that they did so, then it's allowed; if it doesn't relate to the case, it's ruled out.

(Also, it's usually not the defendant making the arguments, but rather his/her appointed legal counsel, so an ad hominem would be one lawyer attacking the character of another to undermine their argument, but let's imagine you're defending yourself...)

Here's an ad hominem: You're on trial for speeding, you say you weren't in the car that day, I respond that you're lying because I've evidence that you lift cash from your employer to feed a gambling addiction.

And here's an admissible counter-argument: You're on trial for insurance fraud, you say you've a modest lifestyle and wouldn't need the money that was taken, I respond that you're lying because I've evidence that you lift cash from your employer to feed a gambling addiction.

Kristian Walsh
Thumb Up

he'd much rather be remembered as the victim of a government conspiracy than forgotten as a sex offender.

Bravo. That's pretty much core of Assange, in just a few words.

Surface Studio 2: The Vulture rakes a talon over Microsoft's latest box of desktop delight

Kristian Walsh

Re: Diagonal

It's a little larger than the size of an A2 sheet (four A4 sheets put together)

Kristian Walsh

Re: Before people jump...

32" Wacom Cintiq... £3,500, and that lacks the hinge of the Surface Studio. The hinge is no gimmick: it lets you do "drawing work" and "desktop work" with the same display - I've never seen a Cintiq setup that didn't have another, also very expensive, monitor sitting on the desk too, so in many cases the Studio would actually be a cost-saving option (!)

Like El Reg, I would really like MS to have offered a Video-in as an option, but the way modern computers are designed, I suspect that there's some place in the board design where a clever hacker could add a "bypass" video input once the motherboard is no longer viable..

The real computing load in media production is in final rendering, compositing, grading and editing. Actually drawing or designing the parts for a feature doesn't need very much computing power. In a large creative house (animation studio, ad agency, etc), these will be on the desks of the artists, but the render farm will be in a server room, and the grading/editing suites will still use "regular" high-performance workstation PCs...which will have monitors that cost far more than £3000 attached to them.

The economics of media production are about getting the maximum productivity out of each person - an extra two grand on tools for every artist's desk is not a big expense within a ten million dollar production (and ten million dollars puts you into the "small, independent" category when it comes to films these days) if it makes those artists even 5% more productive.

Congrats, Satya Nadella. In just five years, you've turned Microsoft from Neutral Evil to, er, merely True Neutral

Kristian Walsh


WSL started life as a way of getting Windows Phone to be able to run Android apps - it was developed alongside a code-porting toolset for iOS to address the other side of the mobile app market. The iOS tools were released, but the Android project never saw light of day, probably because while the iOS work would still be viable for Windows PCs, the Android one was only ever going to be used on the mobile devices that Satya was getting ready to kill off.

RIM/QNX did a similarly clever job to get Android apps to run on Blackberry devices, but QNX had the advantage of being a "Unix" kernel, unlike NT which stems from the VMS world. Now, that said, the NT kernel has always been able to accommodate different userspaces, but mapping Linux syscalls to equivalent functions inside NT must have been a big ball of fun...

Apple hands keys for retail to HR boss amid flagging iPhone sales

Kristian Walsh

"Passion" means lots of things. It's not so long ago that it still meant "uncontrollable fury", which I honestly would pay a small ticket price to witness at an Apple Store.

But the original meaning of the word "Passion" was as a contrast to "action". It meant to be uncontrollably subjected to something unpleasant by an external power*. Actually, now I say that...


* this older meaning is why the "Passion of Jesus Christ" is so called in Christian theology.

Everyday doings of a metropolitan techie: Stob's software diary

Kristian Walsh

Re: PodCasts

I listen to a lot of podcasts... or rather, I listen to the first two minutes or so of a lot of podcasts (I wrote a podcast app), and it amazes me what people can stretch out to an hour of dull conversation. And there's definitely a textbook out there in the deep pit of hell where marketing people are trained that says "to promote your idiotic product, do a podcast", because there's a hell of a lot of those "this is my BUY MY BOOK podcast about BUY MY BOOK and I'm joined by BUY MY BOOK..."

My personal favourite is the misplaced optimism of the "only one episode ever made" podcast: "Hey, welcome to the VERY FIRST super-duper-cast. Every week we'll be talking about stuff and it'll be AWE-SOME..."

My general rule is that anything that's been broadcast on radio somewhere is good for a listen: editors are truly the most underrated, and most necessary, people in the media.

Surface: Tested to withstand the NFL. Microsoft firmware updates? Not so much

Kristian Walsh

"Padded with dollars"?

Okay, I'm not much of an NFL fan but from an English publication, that is somewhat... rich. While many dollars are showered on the sport, the wages for players are strictly controlled (the NFL operates like a Soviet-style centrally-planned economy), and fall short of what you'd expect - especially when you look down the team roster.

But, starting at the top: the highest-paid player in the NFL is Minnesota Vikings quarterback Kirk Cousins at $22 million a year. Meanwhile, the highest-paid player in the English Premier League is Manchester United striker Alexis Sanchez at £25 million. Pounds. Or $32 million in greenbacks.

However, the gap widens dramatically once you get away from the big names. One thing about NFL teams is that because there's a controlled salary budget, the stars tend to get huge money, while the utility players are paid a tiny fraction of that: the median salary of a quarterback is about $15 million, but of an NFL full-back it's only $620,000 (okay "only", but the point is that there's a 25x difference). By contrast, no English Premier League player is paid less than £700,000 (about $1 million) a year, and that's at a team where the top-earning player is paid maybe £3 million a year.

Also, the yearly draft, limited squad sizes and the lack of other places to play makes the position of an NFL player a lot more precarious. While there's always the lower leagues for a player dropped from an EPL team (and Championship teams can and do pay in the million-pounds-per-year range), the dropped NFL player has very few professional options open to him.

Peak Apple: This time it's SERIOUS, Tim

Kristian Walsh

Re: A comparison from an entirely different industry may be helpful here.

I upvoted that, but in truth Sculley saved the company. Getting rid of Steve Jobs and his insistance on commercially-suicidal practices (custom Apple-logo rubber feet for under the case?) was the masterstroke.

Unfortunately, like most reformers, he then stayed too long, and allowed a proliferation of wild blue-sky fantasies (Pink/Taligent, anyone?) to squander Apple's cash and its technological leadership - this was the late 1980s, when Apple genuinely was a cutting-edge technology company.


Biting the hand that feeds IT © 1998–2020