HackerTrans
TopNewTrendsCommentsPastAskShowJobs

rleigh

2,030 karmajoined 11 лет назад
Embedded software developer for medial diagnostic instrumentation

comments

rleigh
·3 дня назад·discuss
I got downgraded for the first time today. Because I was using a library with the characters "bio" in it. The classifier is strict beyond reason. It got the name from a commit message in the git history (wasn't even in my prompt) and it immediately freaked out. I eventually got it to work by getting opus to write a plan, then editing the plan to strip out all references including commit hashes, then getting Fable to review and refine that edited plan. Eventually got it done. But what a pain.

That said, I've got it easy. My colleagues who are chemists and biologists can't even ask one question. There are so many triggers in their memories and workspaces they can't even ask a non-triggering question. And we all work in medical diagnostics, it's not like we're doing anything remotely nefarious. Fable could be such a benefit, but the limitations make it worthless.
rleigh
·2 месяца назад·discuss
The enclosure is the real added value, hardware-wise; and the H2D has even better environmental control (active heating and cooling of chamber).

While the open-source part of me loves the more open nature of Prusa, the commercial-minded part loves the immediate convenience of the Bambu. But the environmental control is something which Prusa doesn't really do well yet. Heated chamber, as well as filament humidity control is something Bambu has done which Prusa has not, and when it comes to printing with "engineering" filaments like PA6CF, PA6GF and other higher-end lubricating plastics for bearings etc, along with support filaments like PVA which are incredibly hygroscopic, the Bambu is the only contender if you want high-quality prints that don't warp.

IMO this is where Prusa gave up the race and need to catch up. Give me equivalent or better environmental control, and I'll be happy to consider it.

The accessibility to non-experts, and the fact that it just works out of the box without fiddling around optimising settings, is why I have a Bambu family at work and zero Prusas.
rleigh
·3 месяца назад·discuss
Let me just throw in:

ETL State Chart and Hierarchial FSM https://www.etlcpp.com/state_chart.html and https://www.etlcpp.com/hfsm.html

Quantum Leaps https://www.state-machine.com

I've used them primarily in safety-critical systems where complexity, timing and the ability to effectively verify behaviour is obviously important. Being able to separate the decision-making from the actions is a great aid. Having to strip back the decision making to "what do I do next" when I'm in this state and this event occurs is a bit different to how most programs are structured, but really does aid separation and makes it easy to reason about behaviour under different conditions.
rleigh
·3 месяца назад·discuss
There are plenty of embedded chips which only provide RMII. No RGMII or alternatives.
rleigh
·3 месяца назад·discuss
To truly fix this would require revisiting of some very old fundamentals.

The C0 control set (ASCII 0x00 to 0x1F) contains all sorts of esoteric functions, most of which are generally unused, and only a few of which are useful and could be implemented at a higher-level. ESC sequences are only part of the problem.

And this also applies not just to terminals, but to systems programming as well. None of these have any business in e.g. filenames, but it's all commonly permitted. Some systems do forbid them, and it should IMO be universal.

If we really want to fix this, then we would develop a character encoding that strips out all control characters entirely, including LF and CR, and have text be nothing but graphic text characters. It's so entrenched and convenient that it's difficult to see that happening. But I do think routine stripping of all control characters in situations that don't require them would be good for security.
rleigh
·3 месяца назад·discuss
This is broadly correct, but not entirely. Terminals have historically had additional capabilities, be that ringing a bell (BEL) or outputting to a line printer. There are escape codes dedicated to doing file/tape access and running system commands. Not in wide use, but they do exist. See ECMA-48 for some examples from the '80s.
rleigh
·3 месяца назад·discuss
True, I missed that. I suppose with symlinks you have the reverse problem: you can point to deleted filenames and then have broken links. The cycle detection is still an issue though--it has indeterminate complexity and the graph can be modified as you are traversing it!
rleigh
·3 месяца назад·discuss
Historically, it made deletion rather difficult with some problematic edge-cases. You could unlink a directory and create an orphan cycle that would never be deleted. Combine that with race conditions on a multi-user systems, plus the indeterminate cost of cycle-detection, and it turns out to be a rather complex problem to solve properly, and banning hard-links is a very simple way to keep the problem tractable, and result in fast, robust and reliable filesystem operations.
rleigh
·4 месяца назад·discuss
When they used to have to fit the whole thing onto six floppy discs, it had to be constrained in size and scope. Today there are no constraints and it really shows. I think having hard constraints, be it storage, memory, cpu, update distribution, product requirements, drives quality and forces hard engineering decisions to fit within them. I think a lot that is wrong with Microsoft of today is a complete loss of enginering discipline and focus; you only have to look at the incoherence of their GUI development strategy to see how badly they are doing there.

I think it would have been useful for them to have really made a proper effort at modularising Windows along the lines of how Linux distributions and the BSDs do things. I can't see any way of recovery from the bloated mess they have created; they can't keep cramming any more in, it's an unstable, unusable and untestable mess.
rleigh
·4 месяца назад·discuss
Likely. Whenever I see that it usually means it itself created the test failures but won't admit to it!
rleigh
·4 месяца назад·discuss
Just for a bit of balance, another book I bought was the ZYNQ book and companion materials. It's made by a university in collaboration with Xilinx. They don't hide that because it's niche and low volume, they used a print-on-demand service. I even went and looked them up, and it's a small UK printer with pretty reasonable pricing for self-publishing small runs of books. The quality was great, no problems with it at all. So it /can/ be done.
rleigh
·4 месяца назад·discuss
It's not just Amazon. I bought a copy of an ARM assembly book from a proper bookseller (Blackwells) which was a proper hardback for a high price--something like £80, and I received a print-on-demand mess with a hardcover. The print was there but barely legible, a dotty mess which gave me a headache. I returned it.

I can see print-on-demand working very well, but not until the quality issues are sorted out. Being charged top dollar for something which is substantially inferior is unacceptable.
rleigh
·6 месяцев назад·discuss
If it loads at all. The last two days, the start menu refuses to launch it when you click on it.

The lack of quality in Windows is simply astonishing. And the new start menu and taskbar are terrible. Quite how a company can transform a product into such a mess in just a few years is incredible.
rleigh
·6 месяцев назад·discuss
I started on the cheapest £15/mo "Pro" plan and it was great for home use when I'd do a bit of coding in the evenings only, but it wasn't really that usable with Opus--you can burn through your session allowance in a few minutes, but was fine with Sonnet. I used the PAYG option to add more, but cost me £200 in December, so I opted for the £90/mo "Max" plan which is great. I've used Opus 4.5 continuously and it's done great work.

I think when you look at it from the perspective of how much you get out of it compared with paying a human to do the same (including yourself), it is still very good value for money whether you use it for work or for your own projects. I do both. But when I look what I can now do for my own projects including open-source stuff, I'm very time-limited, and some of the things I want to do would take multiple years. Some of these tools can take that down to weeks, do I can do more with less, and from that perspective the cost is worth it.
rleigh
·6 месяцев назад·discuss
I've found it to be terrible when you allow it to be creative. Constrain it, and it does much better.

Have you tried the planning mode? Ask it to review the codebase and identify defects, but don't let it make any changes until you've discussed each one or each category and planned out what to do to correct them. I've had it refactor code perfectly, but only when given examples of exactly what you want it to do, or given clear direction on what to do (or not to do).
rleigh
·9 месяцев назад·discuss
It's the other way around. It's the GPL which is incompatible with the CDDL (and many other licences).

The CDDL is actually very permissive. You can combine it with anything, including proprietary licences.
rleigh
·10 месяцев назад·discuss
Yes, this is a prime example of completely gratuitous breakage.

The change adds zero value. It's a deliberate API break. And it could have been made a non-breaking change all for the sake of a single one-line macro or inline function.

This isn't unintentional. It's a deliberate choice they have made. And not just this one, it's happened repeatedly over the years.

The thing that really gets me, as an end-user/developer, is that it forces incompatible changes not only in my codebases, but in every other application developer's codebases worldwide. A small change in GTK+ imposes hundreds of thousands of man-hours of maintenance work upon every application developer. And this burdensome work not only takes time, effort and money, it doesn't improve our applications one iota, and on top of that, it breaks backward compatibility so our code will not longer build with older GTK+ versions. Most of us won't be chasing the latest development release, applications might need to target a wide range of distributions with a wide range of GTK+ versions. So it's a logistical nightmare as well.

The lack of concern for the needs of actual application developers is why I eventually had to give up on it entirely. At some point it doesn't make any sense either commercially or for free software development, it's just masochism.
rleigh
·10 месяцев назад·discuss
Recently it's got really bad though. The taskbar is badly broken.

* If you use auto-hide, it won't show when some applications are open. Edge in particular is bad.

* Some applications simply don't show on the taskbar at all. Teams is one. It's in the alt-tab list.

* Sometimes it stops working entirely.

The testing and QA of this stuff appears to be largely absent.
rleigh
·5 лет назад·discuss
I joined a couple of years back, but came away disappointed. All the groups I followed 20 years back are pale shadows of their former selves, filled with spam. And most of those were big in the day and included the comp.lang.c|c++ and a few of the comp.os groups.

There's still a need for usenet, and I'd love to participate if there was anyone worth talking to. But it needs fixing first.
rleigh
·6 лет назад·discuss
> Any portable build system, that already requires EVERY user to have that build system installed, is DoA for being a viable portable build system.

I don't understand the argument, it seems very circular.

Most software packages have a number of build dependencies as prerequisites for building, including a compiler, build tool like make/ninja, libraries and headers, other processors and tools like doxygen, sphinx, static analysis etc.

What makes the "build system generator" so unique in its requirements that this one tool must be embedded in the source package?

Nothing.

It's a convention adopted by the GNU Autotools initially for pragmatic reasons--the requirement that the end user install m4, perl, and a few other tools, and that in the early days the breakage between autoconf and automake minor versions was routine and really annoying. Today you can just run "autoreconf -fvi" for the same effect, and many packages have stopped distributing the generated scripts. Many distributions regenerate them as a matter of course, making the distributed copies redundant. Today, when we have fully-described and automatic installation of build-dependencies on most platforms, the need for embedding no longer exists.

I'm afraid that I don't buy your argument. Don't mistake historical conventions established for a single tool with a hard requirement. The requirement doesn't actually exist.