HN user

tobych

344 karma
Posts4
Comments131
View on HN

I worked on software that runs in an IoT gateway on bucket trucks used in the power industry, that raises audible and visual alarms if a worker doesn't have their harness clipped onto the bucket while they're operating it. In particular, I wrote a Finite State Machine library in Python that supports what tracks what's happening with the bucket, and helped develop the (MQTT) protocol to communicate with the backend. It was a lot of fun, and very satisfying.

Having said this, some of my more cynical friends have told me: "You weren't saving lives. You were just helping these companies reduce their insurance premiums."

Actively looking for a new role, after a year-long break.

    Location: Seattle area (USA)
    Remote: Yes, though prefer hybrid, or meeting up every few weeks
    Willing to relocate: No
    Technologies: Python, Linux admin, PostgreSQL, MariaDB, Terraform, SaltStack, Docker, AWS, Lambda, Git
    LinkedIn: https://www.linkedin.com/in/tobych/
    Résumé/CV: https://www.dropbox.com/scl/fi/7szydmprdyturaigbxmcn/Toby_Champion_Resume_1Mar24.pdf
    GitHub: https://github.com/tobych/
    Email: toby(at)tobychampion.com
Generalist software engineer with 30 years experience consulting, contracting, and as an employee, in academia in the UK and commercial organizations in the US. Most comfortable in well-funded start-ups. Strong Computer Science background. I've primarily been using Python for 20 years, but it's time to learn Go and Rust, so I'm doing that.

Home lab includes Proxmox, OPNsense, VLANs, gitea, PostgreSQL, MariaDB, a Docker registry, openwrt, Home Assistant, Mediawiki.

  Location: Greater Seattle area, WA, USA
  Remote: I prefer remote or hybrid roles. Something that's worked well has been spending a few days with team members every couple months, or two or three days a week together.
  Willing to relocate: No
  Technologies: Python (Pandas, Numpy, Django, FastAPI, GraphQL, Celery), Rust (learning), C (long ago), AWS (IAM, EC2, ECS, S3, DynamoDB, Lambda, Kinesis, CloudWatch), IoT (MQTT, CAN bus, Embedded), DevOps (Vagrant, SaltStack, Terraform), Jupyter, Consul, Jenkins, Docker, JavaScript, Domain Driven Design, SQL (PostgreSQL), HTML and CSS (reluctantly these days), Linux (very familiar), JIRA (I don't hate it), GIS (QGis).
  Résumé/CV: https://www.dropbox.com/s/xw92bna8wfhp72w/Toby_Champion_Resume_2Feb23.pdf
  LinkedIn: https://www.linkedin.com/in/tobych/
  GitHub: https://github.com/tobych
  Email: toby [at] tobychampion.com
Well-rounded Software Engineer (Solutions Architect?) with 30 years' experience built on a strong Computer Science background. I've solved difficult problems and built successful products for ambitious enterprises, big-thinking start-ups, and international academic research projects.

Amongst other things, I've worked with a lot of scientists, data scientists and machine learning folks, helping get their code into production, and building libraries and automating things so they can concentrate on doing math and science stuff instead of trying to do something they weren't trained to do.

Contributed to a few open source projects, including WordPress (I helped get the REST API built).

I've kept up with modern development practices enough that I've ended up working with a couple teams recently where I kept wondering when the rest of the industry is going to catch up. I'm currently reading Dave "Continuous Delivery" Farley's "Modern Software Engineering", and Woody Zuill's new book about mob programming, "Software Teaming". I'm keen to not end up in this situation again but I'm not quite sure how to do that.

I try hard to avoid Microsoft Teams, Scaled Agile Framework, and PHP.

Outside of work: I'm a musician, composer, and do community theater stuff. Currently taking an improv class.

My CS course at the University of Sussex, UK did this (in 1988) with ML, the functional programming language. Plenty of us had already been coding in C or Pascal before starting at college. None of us had done any functional programming. I loved ML: it seemed all elegant and beautiful and magical.

When I hear people starting their CS degree with C++ or Java, it makes me cringe.

Perhaps "API" could be added to this list. I've been jobhunting this week, and first I heard recruiters use "API" to refer to what I'd call a "service", then heard other quite senior developers do the same thing.

The title of the OP seems pretty misleading. Neither the Consumer Reports article the author refers to, or the "owner satisfaction survey" that this in turn refers to, mention "happiness". The survey and the article seem to be about satisfaction with the car itself, rather than the owner's happiness in any general sense. Which is what I and, it seems from other comments, others have interpreted the title as.

Might be worth changing the title of ths post, too.

Wobblepaint 6 years ago

I was about to post the same video and say the same thing! I heard the theme tune in my head as soon I looked at the tool.

There's a little more detail about the Apollo situation on a post [1] by Neal Strickberger on Candlepower Forum:

"Chicken wire! Turns out this was added for the Apollo program, when they used the TVS-3s to light the pad. A 20kW short-arc fed with 400Hz 3phase fullwave rectified unfiltered power produces lots of RFI at 1200Hz harmonics, and when nice and focused with a reflector it was enough to shut down the capsule. So they made a Faraday cage."

[1] https://www.candlepowerforums.com/vb/showthread.php?348441-A...

Can someone please change the title of this - just as with other similar posts - to use "laid-off" instead of "fired"? Regardless of how loose some may be with language, there's a clear distinction between these terms.

For example, my home state's Employment Security Department: https://esd.wa.gov/unemployment/laid-off-or-fired

Given that there are non-US readers here, maybe there's another pair of phrases that Hacker News could use as standard in this situation. I know in the UK, "made redundant" is used instead of "laid-off".

I am, it seems, in the market for this. But...

I don't want to be alerted unless something is important and urgent. I was taught at college to use that distinction.[1]

Not seeing the word "urgent" in the copy on the front page made me think the authors don't appreciate this.

[1] https://en.wikipedia.org/wiki/Time_management#The_Eisenhower...

At the risk of sounding like that bloke who wrote about how he wants to be playing offense, not defense, when it comes to communication, this is what I tell people I work with:

Important/Urgent: Call me or come find me

Important/Not Urgent: Tell me when we next talk, or email me

Unimportant/Urgent: Hover by my desk, or message me. If I'm not dealing with more important things, I might see it in time.

Unimportant/Not Urgent: Bring it up when we next see each other, or email me.

The only things I want making a noise and interrupting me is calls on my phone, the doorbell, my egg-timer and my smoke alarm.

Location: Seattle area (USA)

Remote: Yes, at least 2 days/week

Willing to relocate: No

Technologies: Python, Flask, Sphinx, Django, Celery, Jenkins, Vagrant, Linux, Sentry, Docker, EC2, Kinesis, JavaScript

Résumé/CV: https://www.dropbox.com/s/s3uswgf8rdtardg/TobyChampionResume...

Email: toby at toby champion dot com

LinkedIn: https://www.linkedin.com/in/tobych/

GitHub: https://github.com/tobych/

Recently finished working with Phyn's (IoT domestic and industrial water leak detection) Data Science and Machine Learning team, from their Seattle office and frequently their Torrance, LA headquarters. I was the sole software engineer on the team, productionizing products ready to run on AWS.

Well-rounded, organized, experienced software engineer with a 30 years of experience, a strong CS background and a passion for Python, continuous integration and coaching junior developers. Enjoys building things and helping others build things to solve difficult problems for ambitious enterprises, big-thinking start-ups, intense political scientists and exhausted research students. A clear communicator with strong writing skills, bountiful perseverance and a gentle English manner.

Voices. Music. Emotions. Whimsy.

Try this episode of "The Memory Palace": http://thememorypalace.us/2012/12/dreamland/

That's four minutes twenty-five seconds you might find not wasted. And none of the information in it is likely to be useful to you whatsoever.

I listen to podcasts while I'm doing the dishes, cleaning the floor, cooking, tidying the house, sewing patches, reseating the heatsink onto a GPU. No need to be driving.

Pop songs are usually an incredibly inefficient way to consume information too, but I listen to those a lot. I wonder if you do.

JetBrains IDEs can do almost this using the PlantUML plugin (see my comment above): you just have to write a little graphml code to show the PNG. It's not inline with the source code, but in a separate pane. But a documentation generator (such as Sphinx) could show the image inline, with a little plugin.

Not line-art to ASCII art, so not exactly what you're looking for, but PlantUML [1] generates software-related diagrams from ASCII text. There's a plug-in for JetBrains IDEs such as PyCharm that will render the diagram in a pane in the IDE: you can include the ASCII text in a comment in code. You can also generate documentation (I use Sphinx, for Python stuff) that includes diagrams generated from code.

[1] http://plantuml.com/