HN user

chrisb

547 karma

Contact me at chris _at_ dunelm.org.uk

Located just south of London, UK

Github: https://github.com/chrisdunelm

Posts29
Comments115
View on HN
www.omgubuntu.co.uk 1mo ago

Canonical takes over Flutter desktop maintenance

chrisb
7pts0
spring-agriculture.com 5mo ago

Using Galileo High Accuracy Service (HAS)

chrisb
1pts0
news.liverpool.ac.uk 7y ago

Full Speech: Sir Ivan Rogers on Brexit

chrisb
1pts0
blog.ndcconferences.com 8y ago

Make me an offer I can't refuse – Writing an abstract for a CFP

chrisb
1pts0
www.uta.edu 10y ago

Solar photothermochemical alkane reverse combustion (H2O+CO2=fuel) [pdf]

chrisb
1pts0
www.dongenergy.co.uk 10y ago

World's largest offshore wind farm to be built – Hornsea 1

chrisb
1pts1
www.bbc.co.uk 11y ago

Swansea Bay's £1bn tidal lagoon given go-ahead

chrisb
2pts0
www.bbc.co.uk 11y ago

Vatican urges action on climate change

chrisb
1pts2
www.bbc.co.uk 11y ago

World's first lagoon power plants unveiled in UK

chrisb
17pts2
policy.greenparty.org.uk 11y ago

UK Green Party Policy: Unconditional “Citizens Income”

chrisb
19pts4
www.bbc.co.uk 12y ago

Ukraine: Security services 'infiltrated protest groups'

chrisb
3pts0
www.metoffice.gov.uk 14y ago

HadCRUT3: Complete land surface temperature record (except Poland) now available

chrisb
2pts1
github.com 15y ago

Show HN: Weekend project - VS2010 CoffeeScript syntax highlighting

chrisb
39pts8
www.greenstart.com 15y ago

GreenStart - SF Startup accelerator for cleantech - deadline Sunday

chrisb
2pts1
news.ycombinator.com 15y ago

Ask HN: London meetup - anyone interested in environmental startups?

chrisb
1pts1
clearclimatecode.org 16y ago

Python re-write of the GISTEMP climate analysis

chrisb
4pts0
www.realclimate.org 16y ago

Refutation of current media storm against IPCC

chrisb
24pts21
data.gov.uk 16y ago

Large number of UK government held data-sets now available

chrisb
1pts0
news.ycombinator.com 16y ago

Ask HN: Android development, revenue and compatibility

chrisb
9pts5
www.realclimate.org 16y ago

If It’s That Warm, How Come It’s So Damned Cold? 2009 temperatures by Jim Hansen

chrisb
1pts0
www.guardian.co.uk 16y ago

Avatar censored in China - fear of fermenting unrest

chrisb
2pts0
www.baidu.com 16y ago

Search Baidu for "Tiananmen square massacre" - guess how many results?

chrisb
20pts45
news.bbc.co.uk 16y ago

Frozen Britain

chrisb
3pts0
www.greencarcongress.com 16y ago

Greenland really is melting - two independent studies confirm

chrisb
12pts3
www.realclimate.org 16y ago

Superfreakonomics: elementary climate change errors illustrated

chrisb
5pts0
www.youtube.com 16y ago

Climate Change Crock of the Week

chrisb
1pts0
blogs.msdn.com 16y ago

DIY .NET LINQ provider for MsSql, MySql, SqlLite

chrisb
1pts0
msdn.microsoft.com 16y ago

Software Transactional Memory for .NET

chrisb
1pts0
www.bluebytesoftware.com 17y ago

A scalable reader/writer scheme with optimistic retry

chrisb
1pts0

I use an MT6701 magnetic rotary sensor mounted on the motor shaft, running in AB[Z] mode. This is used to measure the angle of the motor, and generate the correct PWM signals for the three motor coils. My inner current-control loop runs at 15kHz, using a PI controller.

For a robotic BLDC motor velocity control application, I moved to using a linear ADRC (Active Disturbance Rejection Control) [0] controller. It is not much more complex to implement that a PID, but at least in my context it handles changing real-world environmental conditions with a correctness which I could not achieve with a PID however much I tried to tune it.

Still uses a PID for BLDC motor coil current control, as this control loop is much more predictable.

Currently using the proportional part only from a PID for position control, but this may change in the future.

[0] https://en.wikipedia.org/wiki/Active_disturbance_rejection_c... (although this isn't a very useful reference if you want the implementation maths!)

The linked article is misrepresented.

Two points regarding blade recycling techniques taken straight from the top of the article:

- Cement co-processing and chemical dissolution are primary viable methods, yielding $27.57/ton and $199.71/ton returns respectively.

- Chemical recycling achieves top circularity (PCI=0.7) and notable carbon reduction (−0.475 t CO₂/ton).

Chemical recycling is not yet ready for industrial use; cement co-processing is.

Nice to meet an SRC investor :)

Yes, it was all very sad the way SRC ended.

Coincidentally, we're based fairly close to where they operated. We are in touch with some of the people that used to be involved with SRC, and have been able to learn from some of their experiences. There is agreement that the UK can be difficult for this kind of startup, but also about the importance of the product area.

My knowledge of ROS is a couple of years out of date, but primarily that reproducible testing and simulation, with precise time/clock management, which is essential for a reliable product, was very difficult in ROS.

I also felt the ROS build system more convoluted than necessary; and seemed rather brittle - it was too easy to break it with OS or other updates.

We found that many off-the-shelf ROS nodes didn't do quite what we wanted, and ended up spending much more time than expected rewriting code that we expected we wouldn't need to. It is quicker, and we end up with less & more maintainable code, by writing it ourselves.

I expect this could have been resolved, but when testing ROS we also ended up using more compute resources on-robot than we expected.

Using our own system allows us to build exactly what we require, which has become more important as our system gets larger and more complex; and means integrations into other systems (including testing) are easier.

Before we started building we considered many different designs, including legs. However, it introduces significant extra mechanical and control complexity, with more complex failure modes - e.g. one leg gets stuck in the mud; it also would be more expensive to build.

So we decided to stick with wheels, at least for this product iteration!

https://spring-agriculture.com/

Autonomous robotics for sustainable agriculture. Based in the south of the UK. Prototypes of an autonomous mechanical farm-scale weeding robot currently beginning real-world testing. Still a huge amount of work to do though.

Hardware and software developed fairly much from scratch, not using ROS (for not entirely crazy reasons...); everything written in Rust which I find well suited to this application area.

The robot is built using off-the-shelf components and 3d-printed custom parts, so build cost is surprisingly low, and iterations are fast (well, for hardware dev).

On robot compute is a couple of Raspberry Pi 5s.

Currently using the RPi AI Kit for image recognition, ie Hailo 8[L] accelerators.

Not currently using any advanced robotics VLA-type AI models, but soon looking to experiment with some of it, initially in simulation.

Feel free to get in touch if you'd like to talk :) Contact details in my HN profile, and on our website.

These are apparently not large EV-type rechargeable lithium batteries, as I immediately assumed.

From the article: "Aricell makes lithium primary batteries for sensors and radio communication devices". A "primary battery" is non-rechargeable; and given the use-cases mentioned I expect each individual battery is fairly small.

Of course, when there are 10s of 1000s of them together that's still a lot of energy to burn.

My anecdotal experience...

I own a Peugot iOn (rebadged Mitsubishi i-MiEV) manufactured in 2012, so it's 9 years old. I bought it second hand, and the service record shows it's needed zero maintenance (aside from tires). I have not needed to perform any maintenance in the ~2 years I've owned it. I'm not in any way recommending this specific car (although it suits me perfectly); but it shows that even a fairly early electric car like this is 10-year capable. The only downside has been the expected gradual decrease in range.

I've also owned a Tesla Model 3 for 16 months, and it's been maintenance and trouble free. I'm not denying that some people have problems with them, however that's not been my experience, nor the experience of the two other people I know who own one.

I probably plan to keep the Tesla for many years, so hope my trouble-free motoring continues :)

The energy density really is abysmal, which is why the "lifting heavy things up" techinique of energy storage is essentially never discussed outside of pumped-storage.

The problem is the linear relationship between the mass, the height, and the stored energy: energy = mass * height * gravitational-acceleration.

gravitational-acceleration is fixed at the earth's surface to ~10m/s2

So taking an example of 1,000,000 tons lifted up 100 meters:

energy = 1,000,000,000 (mass) * 100 (height) * 10 (gravity) = 1,000,000,000,000 Joules

This looks like a lot, but really isn't. It's equal to ~278 MWh (megawatt hours), which means it can supply 278 MWs for one hour. 278 MWs is equivalent to one small power station.

Note that the largest pumped-storage power station in the UK, which is of course constrained by exactly the same E = mgh formula, Dinorwig (https://en.wikipedia.org/wiki/Dinorwig_Power_Station) stores ~9,000 MWh.

Another way to consider this is to calculate how much mass needs lifting 100m to supply the whole of a country for a day.

As a very crude estimate the UK requires an average of about 30,000MW of electrical energy. Over a day this equals 30,000,000,000 * 24 3,600,000 Joules = 2.510^18 Joules per day.

The mass required to be lifted up 100m to store this is 2.510^18 / (100 10) = 2.510^15 Kg = 2.510^12 tons = 2,500,000,000,000 tons.

Which is many times more than the current global annual concrete production of 10,000,000,000 tons (ref: http://www.columbia.edu/cu/civileng/meyer/publications/publi...)

"These vulnerabilities affect many CPUs, including those from AMD, ARM, and Intel, as well as the devices and operating systems running them."

Curious. All other reports I've read state that AMD CPUs are not vulnerable.

Sadly DotNetAnywhere definitely isn't ready for production, and by the sounds of it Blazor is not either (I'm not involved in Blazor).

It's possible some of the other DNA forks mentioned here may be more suitable for production, I'm not sure.

My memory is a little vague...

But I'm fairly sure the hardest part to implement was the support for generic types/methods. It made all the code that handles types way more complex (as expected I suppose!), and there's definitely a bug or two remaining. Correctly handling open/closed generic types and construction of types from generic arguments was painful. It didn't help that I initially implemented only non-generic type support, then had to hack generics into it. Were I to start again I'd implement the whole thing in a generic-first way.

The design of classes/structs and they they interact with generics is nice. And the `constained` IL prefix is a really neat optimization to avoid boxing. The use of type-agnostic CIL instructions (e.g. `add` can work on int, float, ...) is also a nice touch.

JIT literally stands for "Just In Time". It doesn't say what it's actually doing just-in-time ;) So (in my opinion) JIT.c is correct. It's translating CIL opcodes to dna-internal opcodes, which it does just-in-time just before a method is executed for the first time. The reason it does this at all is because there are many things to resolve when working from CIL that it's much better to do just once rather than every time a method is executed. A simple example is method references, which are by name in CIL, but are a simple pointer in dna-internal opcodes.

I'm the original author of DotNetAnywhere.

For all its flaws (and there are quite a few) it was a very interesting learning exercise, and it worked better than I ever really expected ;)

I don't really intend to ever do any more work on it, especially now that there are open source "real" implementations. But it's been nice to see it used in Blazor :)

If you have any questions about it, please ask.

Agreed about the hope for our species.

As a species and as individuals we're capable of such astounding accomplishments like this; yet also capable of outstandingly in(s)ane idiocy.

How can society be arranged/evolved to encourage the former, and limit the latter? Is such a thing possible? Desirable?

The lack of societal optimization, or even moving towards the optimal, frustrates me!

This is factually wrong; rare earth elements are not required for batteries.

Rare earth elements are cerium (Ce), dysprosium (Dy), erbium (Er), europium (Eu), gadolinium (Gd), holmium (Ho), lanthanum (La), lutetium (Lu), neodymium (Nd), praseodymium (Pr), promethium (Pm), samarium (Sm), scandium (Sc), terbium (Tb), thulium (Tm), ytterbium (Yb) and yttrium (Y) (https://en.wikipedia.org/wiki/Rare-earth_element)

Lithium batteries generally require elements such as: Lithium, graphite (carbon), Nickel, Cobalt, Manganese, Aluminium, Oxygen.

None of these are rare earth minerals, and production of most of these elements is not concentrated in China. See https://electrek.co/2016/11/01/breakdown-raw-materials-tesla...

The powerful permanent magnets used in some EVs do require rare earth elements (e.g. neodymium), but many EV motors don't require permanent magnets at all. E.g. Tesla uses an induction motor (no permanent magnet required); whereas the Nissan Leaf does use permanent magnets (assuming https://en.wikipedia.org/wiki/Electric_vehicle#Electric_moto... is correct).

Windows93 SP2 9 years ago

Making Arena93 full-screen (within Windows93) hard-crashed my Mac! (MacOS 10.12.4, using Chrome 58)