HNHacker News
TopNewBestAskShowJobs

willemmerson

235 karma · joined February 8, 2013

willemmerson@gmail.com
submissionscomments
willemmerson··on Key genetic differences found in people with chronic fatigue syndrome
It's quite a big deal for people who have been told repeatedly "it's all in the head" by health professionals.
willemmerson··on Ask HN: Who wants to be hired? (July 2024)

  Location: Newcastle-upon-Tyne, UK
  Remote: Yes
  Willing to relocate: No
  Technologies: Python, Django, React, Node, C, Espressif ESP32, IoT
  Résumé/CV: https://www.linkedin.com/in/will-emmerson-06962340/
  Email: willemmerson@gmail.com
I'm a full stack developer with over 12 years experience using Python/Django/PostgreSQL but also have many years in other areas such as frontend (HTML/CSS/Bootstrap/React), firmware development (ESP32/C), and infrastructure (Linux/Docker/AWS/GCP).
willemmerson··on Better build system for embedded ESP32 development?
Try using literally any other embedded SDK and you'll realise that idf is actually a dream.
willemmerson··on Lies, Damn Lies and Analog Inputs (Comparing ADCs on ESP32, Pico and Arduino)
Doesn't seem like a very fair comparison, you're using a cheap, unofficial knock-off ESP32 board which only allows up to 1v, compared to official Rpi and Arduino boards which go up to 3.3v. Perhaps you should use an official ESP32 devkit (https://www.espressif.com/en/products/devkits) and try running it again. I don't really understand why people bother buying other boards when the official ones are so cheap.

Having said all that, I have heard the analogue inputs aren't that great on the ESP32.

willemmerson··on Ask HN: Using WebSockets instead of mqtt for IoT
You might be right about scale, but web servers already handle huge amounts of websockets, and already have complicated pub/sub schemes - think about a chat room for instance. I am using Django Channels which lets you define groups that other channels can subscribe to, and I'm sure other web frameworks have similar things. It seems easier to use than MQTT topics because it's all there right inside your webapp and DB, not on a seperate MQTT broker, this is the main thing that's attracting me to the idea.
willemmerson··on Ask HN: Using WebSockets instead of mqtt for IoT
MQTT does solve this by storing messages on the broker but you can just store messages in your database instead and send them when the client connects, and personally I think this is easier.
willemmerson··on Chronic fatigue syndrome may have a post-viral infection origin
So you're saying it's all psychological? If this is true, why are so many with ME/CFS/Long COVID responding so well to LDN? I have had ME/CFS for 25 years and also practised mindfulness and pacing all that time yet it did nothing, but when I took LDN it instantly worked.
willemmerson··on SoundStorm: Efficient Parallel Audio Generation
I don't have anything intelligent to say about this but it's ALOT of fun making all the samples play at the same time - sort of like the HTML version of Ableton Live.
willemmerson··on Dealing with Chronic Fatigue
Could be me/cfs, the defining feature is unrefreshing sleep but also "crashing" after overexertion, usually a day later. As mentioned you should look at r/cfs. Many people with cfs like myself have found Low Dose Naltrexone (LDN) useful, but it's not widely known about.
willemmerson··on WireGuard for the ESP32
What about https://randomnerdtutorials.com/lilygo-t-sim7000g-esp32-lte-...?
willemmerson··on WireGuard for the ESP32
It's not completely related but I've been thinking that having a router connected via wireguard might be a good way to do IoT deployments.

Generally IoT devices make an outbound connection to a server and use MQTTS for bi-directional data flow, because of the difficulty of inbound connections due to firewalls, NAT etc. But this has some downsides in that you have to run an MQTT server, each device is doing it's own TLS (which uses a lot of ram and increases firmware size on an ESP32), and MQTT doesn't really have end-to-end message confirmation.

It seems like a better way would be for each esp32 device to be in a wireshark network and to be running it's own HTTP webserver (which is easy to do with the SDK). Therefore any device can be sent a message from the server using a simple POST request to its ip address, and can send messages to the server using the servers HTTP api. It's much easier to test HTTP api's than mess about with MQTT, and individual devices don't need to do SSL because all data between the devices and server is encrypted by wireguard.

I suspect there's something I've overlooked, I think addressing individual devices could be difficult if you only know their IP addresses.

willemmerson··on Tell HN: HN London Meetup
I'd be interested if it's Newcastle.
willemmerson··on Show HN: I made a GitHub Actions workflow for OTA firmware deployment to ESP32
Looks interesting, just wondering why you chose this architecture over the more standard "message to esp32 via mqtt then esp32 downloads firmware over https" route?
willemmerson··on Espressif hires full-time employee to support Rust on ESP32
This is really interesting. For me what makes the esp32 so good though is the existing esp-idf sdk - adding things such as ota update, mqtt, sntp, coredump to flash, webserver etc to a product has been so easy. Will rust support somehow include those from the existing sdk or would you need to try and find rust crates to support those things?
willemmerson··on NodeMCU ESP32-C3 WiFi and BLE IoT boards show up for about $4
Actually it only consumes 150uA when it's active so if it's just doing one reading a minute then it'll be closer to the deep sleep current which is 5uA or so.

There is an awesome library (https://github.com/boarchuz/HULP) which makes using the ULP much easier so that things like software i2c and ADC multisampling are trivial.

willemmerson··on Open Source Continuous File Synchronization
If only there was some kind of service that could sync git repos properly, some kind of 'hub' that could also deal with conflicts
willemmerson··on Ask HN: Do you create music? let's hear it
This is the best thing ever.
willemmerson··on Tutorial for secure OTA (over the air) firmware update on the ESP32
LetsEncrypt certificates need to be updated every 2-3 months, so won't this code fail when the certificate on the server changes? Aren't you better off trusting the root cert(s) which don't change very often?
willemmerson··on Home Automation with ESP32
What is it about the esp32 which means it can't do long range wifi? Someone here is getting 10km which seems pretty long range to me: https://hackaday.com/2017/04/11/esp32-wifi-hits-10km-with-a-...
willemmerson··on Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS
That 100 lines includes the Django docker file which is only 5 lines long, there are no other docker files, at least none I have to worry about.
willemmerson··on Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS
At work I had to set up a server with django, postgres, SSL, rabbitmq, celery and a few other things. I did it in both ansible and docker-compose, the ansible version was 1500 lines and docker-compose version was 100 lines. A lot of the ansible stuff is dealing with users, groups, services, supervisord, virtualenvs and repositories - none of this is required in docker as containers restart themselves, users are already set up, you don't need virtualenv, and using containers avoids the need to use repositories to get specific software versions. Also the docker-compose version was much faster to pick up changes, vs minutes for ansible.

I don't find docker that useful for developing on a day to dat basis however, it just gets in the way and generally you're not going to need a webserver, SSL, celery, rabbitmq in development anyway. It is useful to debug things locally though.

The other reason to use docker is state: while using ansible we got bitten by old dependencies hanging around because ansible doesn't exactly mirror your config, it can really only add stuff. Whereas docker actually wipes the slate clean every single deploy so your server is an exact mirror of your docker-compose file. This is really important.

willemmerson··on ESP32-C3 WiFi and BLE RISC-V processor is pin-to-pin compatible with ESP8266
https://www.ezsbc.com/product/esp32-feather/

https://www.crowdsupply.com/unexpected-maker/tinypico

https://www.olimex.com/Products/IoT/ESP32-S2/ESP32-S2-DevKit...

willemmerson··on ESP32-C3 WiFi and BLE RISC-V processor is pin-to-pin compatible with ESP8266
There are plenty of esp32 boards with 10-20uA deep sleep current, how low do you want it?
willemmerson··on A List of Post-Mortems
For anyone that actually has to maintain servers, this is terrifying.
willemmerson··on A deep dive into the official Docker image for Python
Why doesn't it just use the Debian python package?
willemmerson··on An interview code submission that wasn’t even submitted changed our process
Hopefully it would have the comment "what the fuck?" in somewhere.
willemmerson··on Monica: Open-source personal CRM
I would be slightly worried about walking around with a notebook containing the physical attributes of lots of young children. But then again I'm a single 39 year old man.
willemmerson··on The Wrong Abstraction (2016)
What if the programming language could choose the right level of abstraction for you automatically? For instance a language like Rust forces you to structure your code so as to avoid race conditions etc., it's extra effort but once you've done it it should work. What if a language forced you to make the right abstractions or else it won't compile? We have self-balancing trees, couldn't we have a self-balancing programming language? I keep thinking about some way of programming which is more visual, perhaps involving graphs, where the problems of over/under abstraction would be more obvious and the graph could somehow balance/normalize itself somehow.

Just off to prototype this now, should have it done by the end of the day... :)

willemmerson··on Computer Science courses with video lectures
Is there a similar list but without video lectures?
willemmerson··on Randstad buys Monster for $429M as recruitment consolidation continues
Sorry to be opportunist but I'm a Python/Django developer who actually does know Python/Django if you're still looking.
Page 1 of 2Next →