HNHacker News
TopNewBestAskShowJobs

ktownsend

106 karma · joined July 15, 2020

submissionscomments
ktownsend··on When Fine-Tuning Makes Sense: A Developer's Guide
Nice to see a clear example of doing this entirely locally on a MBP. It ran >2x faster on my M2 MBP compared to the numbers they showed for an M1. Only 23/25 of the test cases passed for me on the fine-tuned model following the README 1:1, but the speedup from fine-tuned versus off-the shelf was clear. Thanks for sharing.
ktownsend··on Writing an engineering strategy
Any example(s) you can point to?
ktownsend··on A Bird Translates Silence: Wong May updates the Tang Dynasty poets
Thanks for posting.

I've always had an appreciation for language, particularly concise, poignant, highly-visual word images that seem to snap you out of your mental lull in a handful of syllables.

For the most part poetry, however, was completely inaccessible to me. Uninteresting, even. It always felt too angsty, overly pretentious, seemingly trying too hard for it's own good and for my own pragmatic self to appreciate it.

Anyone can fall in love with a few easy-to-digest classics like the ending of 'The Hollow Men' (T.S. Eliot):

  This is the way the world ends
  This is the way the world ends
  This is the way the world ends
  Not with a bang but a whimper.
But nothing beyond those few textbook classics every clicked with me.

I don't know what changed a year or two back, now in my early 40s, but I decided to give poetry another chance recently, and I regret that I wasn't able to appreciate it's condensed, sometimes brutal, sometimes tender, ofttimes hit-and-miss relevance. Maybe just a lack of maturity on my part, but it's brought a lot of value to my life finding a handful of authors that resonate with me.

Most of them well known: W.H. Auden (“All we are not stares back at what we are.”), Seamus Heaney, T.S. Eliot, Baudelaire ("I am the wound and I the knife! \ I am the blow I give, and feel!")

Some unknown to me until recently, and whom I can't remember how I came across, but who I've grown to appreciate a lot: Ocean Vuong is definitely heavy on the angsty side, but God he can turn a phrase, pushing out some poignant parallel that catches you off guard. And you can forgive a bit of angst in the disorienting world we live in today.

I wish I'd have had more patience, or sensitivity, or just more of the requisite life experiences to appreciate poetry earlier, and not be ashamed of trying to be more open to it. All those emotions and ideas and feelings pared brutally down to the bone, until only a handful of sounds and syllables and some highly distilled reflection remains.

Christopher Fry wrote: "Poetry is the language in which man explores his own amazement". That expresses poetry well, for me ... at least for the authors that seem to resonate with me and my own life experiences.

If you're like me and have an interest in learning to appreciate poetry, but have no real bearings on where to start, I'd recommend 'How to Read Poetry Like a Professor' by Thomas C. Foster. He has a wonderful, witty writing style, but was an enormous help to me learning how to read and appreciate poetry.

Ordered this set of translations from Wong May just now. I'm thoroughly grounded in the Western tradition, but definitely open to a nice mental image from anywhere, and the (rather Wordsworthian) line in the subject here has a nice feel to it.

ktownsend··on Kevins got a bad rap in France
As someone with dual citizenship through marriage, and having lived 15 years in France (and speaking French at home despite English being my mother tongue), I'm amused and dismayed to discover than I'm the proverbial Karen of my adopted country ... and never had a clue before this article.
ktownsend··on He dropped out to become a poet – now he’s won a Fields Medal
I can empathize with the gut reaction, and the title is clickbait-y, but the article does elaborate that it's not the same tired trope of privileged kid drops out of Stanford/MIT/Harvard to become startup billionaire:

> he dropped out of high school to become a poet. It would take a chance encounter during his university years — and many moments of feeling lost — for him to find that mathematics held what he’d been looking for all along.

Having taken a similar path myself -- I dropped out of high school due to a combination of factors, but was still able to get into university 6 months later -- I can empathize with mandatory education NOT being something people fit into, and where making the right career choice isn't always clear or easy.

Not everyone who 'dropped out' did it because of unlimited mom-and-dad-money and boundless professional and social opportunities, nor wears it like a badge of honor.

I get tired of the trope and survivorship bias as well, but in this case it seems like the author did still put in the hard work of learning his niche the traditional way, if in a round-about manner: through a lot of hours of study, personal investment, natural curiosity, and using the abilities he has to the best of his abilities.

ktownsend··on A Bitcoin bust that took down the web’s biggest child abuse site
Indeed, I'd hate to be the recruiter for that. I can't imagine the kind of psychological profile you'd need for something like that. The end of the article describes the psychological cost the investigation had on the investigators who were parents themselves.

But even at an algorithmic level, it seems like there are all kinds of red flags you could pull out of public posts and do a much better job of redirecting potentially victimized people to some organisations doing meaningful work to help victims.

How many categories does my online profile fit in based on all my interests, and how many hundreds of bright people are wasting their lives to discern that I happen to like A + B + C and I'm in financial bracket F, with political leaning G ... to try to show me an advert I'm probably just blocking anyway.

ktownsend··on A Bitcoin bust that took down the web’s biggest child abuse site
Thanks for taking the time to post this, and I'm sorry you had such a sh*tty start to life. I think it's important to repeat this over and over that the lines are so blurry with content online, and it's not really getting better.

The whole idea of ethical porn is something that needs more discussion, and it's an area where if you enjoy porn you should put your money where your ideals are and encourage something involving consenting adults respecting certain norms, and treating people involved with the human dignity they deserve. Paying to encourage those kinds of ethical productions is the only sensible solution, IMO. Endlessly frequenting copy-and-paste free content sites is a race to the bottom that isn't doing anyone any good.

In any case, I hope you have some people in your life who have shown you the respect you deserve as well, and been there to help when you needed it, and not just take what they could get from you whatever the cost.

Edited for clarity and typos.

ktownsend··on A Bitcoin bust that took down the web’s biggest child abuse site
Sorry if this is too long form for HN, but if you read the article you clearly have some patience as well.

I'm surprised all the comments here seem to be solely around the technical details with blockchain and crypto. It's HN, I get the technical bent and find it interesting as well, but the human side of this one is pretty rough, and it made me appreciate that there are people -- likely sorely underpaid relative to what they'd make elsewhere -- following these (sordid) threads, often at significant emotional cost to themselves.

I did appreciate the odd bits of relief like 'Bitcoin Jesus' and 'Octopus Guy':

> At one point Faruqui remembers a German official asking him, as they stood in the cold outside the Seoul hotel where they were staying, how the Americans had gotten the Koreans on board so quickly. “Oh, Octopus Guy,” Faruqui had explained. “You don’t have Octopus Guy. We have Octopus Guy.”

But mostly, humor aside, it made me wonder for the 1000th time if I'm making the right career and life choices myself in a comfy, well paid job where I'm probably near the top of the pyramid in terms of professional respect, working on problems that I think have reach and import in my narrow speciality ... but am I really solving the problems that matter? I'm not in advertising (thank whatever god you imagine), more in security lately, so the work isn't meaningless ... but I work with some brilliant people whose technical capacities I admire, and I wonder what would happen if a bit more of that gray matter was directed at solving some of the terrible problems described here?

So much money is invested in understanding the psychology of how to force better engagement and squeeze out every last penny of hapless consumers in whatever social network. What would happen if a fraction of that went into trying to focus on influencing the people making these awful, life-destroying choices and somehow (re)sensitizing them to the costs of their actions and navigating them away from that preventatively, even if the success rate is only 1-2 percent? Or identifying victims of abuse through posting patterns to try to make sure they're potentially being flagged to receive content and help they may not be able to believe even exists? How much is invested in psychological profiling to maximize profit for the most banal advertising ends, when maybe for once some of that gray matter making those algorithms could do something positive identifying patterns indicative of abuse, beyond just the current simple fig leaf approach to pretend the owners of your social network of choice cares about your well being.

I'd love to do better, and I'd take a decent pay cut if I felt I could do something for that, and maybe even get to feel a bit better as a person in this weird world as a side effect. Seems like we not only should but could do a lot more here, before this gets to the criminal investigation level.

ktownsend··on The Kalman filter: helping chickens cross the road
For the past two years, I've been working on and off on a basic, open source scientific computing library in C (basic linear algebra on embedded devices, etc.), and hired a student this summer to work on adding some orientation algorithms.

It's still a work in progress, but we did dig up a couple other filter options to try out beyond the usual Extended Kalman (contributors very much welcome!) [1].

As another poster mentioned, finding the right parameters for the filters is essential, and involves a fair amount of testing and some trial and error to narrow them down to the right range for your application. There isn't a lot of info out there on that, either.

[1]: https://github.com/zephyrproject-rtos/zscilib/tree/master/sr...

ktownsend··on Using Device Tree Overlays, Example on BeagleBone Boards
The same concept is also used in smaller embedded systems, like Zephyr RTOS: https://docs.zephyrproject.org/latest/guides/dts/index.html

Useful video if you're interested in how DT applies to Zephyr, such as defining I2C sensors available on your board target: https://www.youtube.com/watch?v=sWaxQyIgEBY

ktownsend··on Six Palestinian organizations hacked with NSO Group’s Pegasus Spyware
There clearly aren't a lot of good bedfellows to be had in the region. US engagement in ME politics is rife with contradictions and blind self-interest, as are political calculations in the EU, China, or anywhere else with enough reach to matter. When you have to weigh blood, oil, military projection, and short-term regional influence in a unpredictable region, it's hard to see anyone as being on the right side of anything. At least the Russians aren't even pretending otherwise, which is sadly refreshing!

Anything involved Israel just has a depressing tendency to quickly degrade into double standards, name calling and selective vision from otherwise intelligent-seeming people I would normally respect. That's what really depresses me: the inability to have an intelligent rational discussion on anything involving Israel.

Be mercilessly critical if it's justified! I certainly am, and don't think oil is worth so much blood. But it's as necessary with Saudi Arabia, Turkey, Iran, and Palestine as it is with Israel. Just be lucid, honest and fair about it, and willing to admit you don't have all the facts or answers. Why that's so damned hard baffles me, especially from people like engineers who trade in complexity and nuance and edge cases days in and day out.

ktownsend··on Six Palestinian organizations hacked with NSO Group’s Pegasus Spyware
Historically, this hasn't always been the case, and the US were actively opposed to Israel's covert Nuclear program, for example, which was built with French support against the wishes of the US government at the time. The world has change significantly since then, including the French and American governments alignment of interests and weighing to pros and cons. I'm sure other people here can provide more nuance than I'm able to on the 'why', although there is a lot of emotional nonsense and baggage that comes with this particular topic, so you need to take it with a healthy dose of skepticism that there are NO blanket right and wrong people here and there is blood on everyone's hands.

Essentially, though, ignoring conspiracy theories and set in stone agendas, Israel simple represented a palatable partner in an incredibly complex, hostile part of the world and there is simple more in common between the two countries, despite their own at times competing interests. But US interests align far more with Israel, or politically moderate countries like Jordan than some others in the region.

I'm sure there is an element of playing to your electoral base TODAY, but honestly, I think it's just pragmatism at the end of the day in a region where the math can be brutal and bloody, and there are no easy choices of solutions, and real partnerships are fleeting in the region since the powerbrokers in one country or region today maybe be out of the picture tomorrow. Despite internal politics in Israel looking like a bloodsport from outside, they are at least a consistent voice in a highly turbulent region.

That's just my relatively uninformed, I'm sure biased opinion, but I don't have a fixed opinion on who the good and bad people here are, and thing there's a lot of blame in every direction, and no real will to change that on any side.

ktownsend··on Facts every web dev should know before they burn out and turn to painting
It tends to be a very small world where you get to know everyone after a certain point, or you know someone who knows someone, and jobs tend to be had by word of mouth. If you have a good reputation (which can be gained working on problems on visible open source projects), work tends to present itself. Even more so than in other fields because it is such a small world, despite the enormous amounts of money involved in semiconductors.

There aren't a lot of advertised jobs, but I think this is often because they tend to get filled via word-of-mouth and employability is rarely a problem for a decent embedded engineer.

ktownsend··on Facts every web dev should know before they burn out and turn to painting
The number of PRs and committers is what boggles my mind ... it's an endless stream, which is highly unusual for an embedded project. This is where the momentum and technical investment is happening today for open source embedded, IMHO.
ktownsend··on Facts every web dev should know before they burn out and turn to painting
I guess it depends on the problem you are debugging. I rarely fire up my oscilliscope anymore (maybe once or twice the past year), but it's hard to replace a cheap logic analyzer when writing drivers for new sensors. You really want to see the signals going out, and the response coming in to understand if you have the I2C/SPI/I2S/etc. bus configured properly, or if the polarity is correct, etc.

A logic analyser is cheaper than a scope, and does a much better job displaying this kind of data in volume. I'd say a DMM + some equivalent to a Saleae Logic are the two tools I couldn't live without ... IF you ever have to write drivers. But so much of embedded is about interacting with other devices, and it's a common enough requirement to have to port a driver over to a new chip, etc., that I can't imagine anyone regretting buying one sooner rather than later.

You can get by with printf, clearly ... but an analyzer is worth it's weight in gold for the right problem.

ktownsend··on Facts every web dev should know before they burn out and turn to painting
I certainly don't disagree, and wrote many an Arduino library and drivers and tutorials myself.

As long as you eventually take the training wheels off, and know that Arduino isn't a path that leads to being able to create financially viable products, and it's a first step.

It won't teach you certain good habits, but it will perhaps get you hooked and motivated, which is useful in itself, and does give you the satisfaction of making motors whirr and LEDs blink quickly.

ktownsend··on Facts every web dev should know before they burn out and turn to painting
Update since I should have mentionned HW as well.

If you're looking for something to play with at the HW level, it can be overwhelming to know what to start with. Stick to Arm Cortex-M. That will get you the furthest the fastest IMHO. If I was to suggest one company -- even though they all have their strengths and weaknesses and niches, and I work regularly with several like NXP, ST, etc. -- I think Nordic Semiconductors does a very good job with their support forums, SDKs, tools, etc. BLE is also a very rewarding place to start since you can talk to your phone, laptop, etc., which is Nordic's niche.

A development board like the nRF5340 DK has a HW debugger on it out of the box (to program the MCU and debug programs), is reasonably priced, works cross platform, and packs a lot of processing and peripheral punch. Being based on the Cortex M33 it has a solid security foundation (TrustZone and TF-M), and works well with a first-class RTOS like Zephyr with open source networking and wireless stacks.

You'll find answers to common questions with this chip on their forums and online.

There are other options -- ST and NXP have many excellent MCUs and inexpensive dev boards -- but the nRF boards and the ecosystem around them make them a good choice to make a serious start and learning embedded, and they are one of the only vendors who reliably answer questions on their support forums. The nRF53 dev board brings a lot of value as a serious learning platform if you're getting started.

Again ... just an opinion!

ktownsend··on Facts every web dev should know before they burn out and turn to painting
Like any niche, it's hard to know where to start and it also depends if you are more interested in HW design, or the firmware side of things. You need some knowledge of both since they overlap in many areas in embedded, but they are different paths.

Assuming you mean more writing firmware, the biggest thing to understand is that embedded is all about C. You'll absolutely want to learn the basics of C and properly understand pointers. A key part of C is understanding data types (signed, unsigned, float) and notations you rarely used in other fields like hexadecimal which is omnipresent in embedded. If you grew up learning C#, node, etc., you likely don't properly appreciate these fundamental types, and you'll need to learn those fundamentals, but that will come with learning C.

For books, I like Jack Ganssle's "The Art of Designing Embedded Systems". He does a good job of laying a solid foundation for planning embedded projects. It's opinionated, but you could do worse than start with his ideas.

And start with a professionally maintained foundation for your projects. Arduino is good for some people, but it won't scale and won't give you the skills you need professionally, and scripting languages like MicroPython won't help you later in life. Use a language (C) and platform you can go to production with, such as Zephyr RTOS, Azure RTOS, FreeRTOS, etc. It's more work and harder up front, but the investment will pay dividends and you'll learn good habits from the start.

ktownsend··on Facts every web dev should know before they burn out and turn to painting
Exactly. Measuring things at 10-200 MHz is easy and relatively accessible, and there are only so many things that can go wrong.

Dealing with anything in the GHz range is not only extremely expensive (order or magnitude more), but you also start to deal with far more complex problems that boil down to the need for a very good understanding of the underlying physics of signal transmission: concepts like impedance matching, crosstalk between signals on the PCBs, etc.

The design AND debug requirements are far more complex, and you need to account for a lot more explations of why something isn't working as expected ... and the software/firmware AND physical level.

ktownsend··on Facts every web dev should know before they burn out and turn to painting
If you want to improve, look at an open source project with a lot of momentum, and learn from what people are doing there.

I'm actively involved with Zephyr RTOS, for example, which is backed by the Linux Foundation and has people working on it full time from almost all the major MCU manufacturers. The development tends to correlate closely to Linux kernel as a model, and a lot of the key members were/are Linux kernel contribs, so skills learning with Zephyr can help you move to Linux dev later if you're new to it.

There is a non-trivial learning curve with Zephyr (device tree, KConfig, etc.), but it has more momentum than any RTOS I've seen in my career, and it has a very helpful community, while keeping the technical bar high.

If you prove your worth there, it's also an avenue that can possible even lead to job opportunities, which I've seen and benefited from myself.

That may or may not be of use, but if you want to improve in the embedded space, getting involved with something like Zephyr is some of the best use of limited time in my opinion to learn from some of the better embedded engineers working in the open.

ktownsend··on Facts every web dev should know before they burn out and turn to painting
A logic analyser (Saleae Logic, etc.), a HW debugger (J-Link for Arm/RISC-V), a good quality multimeter (spend the extra money here, don't get the $10-20 crap DMM off Amazon), and an entry level 200 MHz oscilloscope (Rigol, etc.) should set you back somewhere from $1-1.5K I guess, but that will give you 90% of what you'll need to debug most embedded MCUs (Arm Cortex M, etc., not Embedded Linux or Arm Cortex A which is a WHOLE other world).

That may or may not be a large amount of money for someone, but those tools can last you a good part of your career for the price of a low/mid range development laptop.

ktownsend··on Facts every web dev should know before they burn out and turn to painting
Similar route myself, though I've been in embedded longer. I do appreciate the relative stability of embedded, where in many ways I feel like we're still living in the 90s when you could realistically master the whole chain of tools and ideas as an individual. Things do change, of course, but at a much slower pace, and depth of understanding of Arm, C, various transports and their oddities, etc., is more important, but the underlying tools and ideas rarely shift in a major way.

You need a more fundamental understanding of how your MCU works (again, similar to any home PC in the 90s or early 00s), but once you learn those fundamentals they transfer very well, and knowledge has a high degree of transfer from one project and generation of devices to another.

I also find it highly satisfying to work on things you can actually touch or point to, versus spending 6-18 months of your life for something that just sits on a server somewhere as a cog in a short-lived system.

You do need a certain type of brain to enjoy this kind of low level development and HW design since there is some overlap and you often have to roll your own versions of common-seeming operations, and I suspect salaries are lower than in some shinier fields, but overall I've always appreciated the work I do, and the colleagues I've had in this field. The egos tend to be smaller, and the drama minimal since the people doing this kind of work tend to have been at it long enough to have some perspective on things.

ktownsend··on Graphreader: Extract Values from Graph Images
This looks like it has a few additional post-processing steps, although those aren't complicated to do yourself either.
ktownsend··on Graphreader: Extract Values from Graph Images
I've had to do this semi-manually several times based on plots in sensor datasheets, and this would have saved me some effort. I've previously used: https://automeris.io/WebPlotDigitizer/
ktownsend··on What's Inside the EU Green Pass QR Code?
The string is a BASE45-encoded payload that has already been signed before encoding as a QR-friendly string. The BASE45 is because QR codes only support 45 characters (versus more common BASE64). But by the time the string -> QR happens, the signing has already taken place from the lab who provides the string.
ktownsend··on We’re all paying for someone else’s 4-hour work week, not ours
To me, it sounded more like a call for a bit of empathy and thinking about the foundation upon which the modern economy is built than "a lot of banana republic heaven legislation". Something sorely needed, in my own experience (looking in the mirror at me here!).

I've been lucky, through no real merit of my own, to have ended up in a position where what interests me happens to be somewhat in demand, and financially valuable. I ended up in my field out of personal interest and curiousity, and the unexpected opportunities came on their own. True, those opportunities came through learning and effort, but the fact that I was able to invest the non-trivial time (2-3 years) involved learning those skills is, in itself, exceptional today. It's important to understand the context in which my own present success was possible, and that not everyone begins from the same starting line, and some people will never escape that arbitrary setback.

I'm not sure how a bit of empathy and looking outside our own narrow privileged silo is banana republic legislation, but calls for an honest assessment of the cost of things seemed refreshingly honest to me, and the article clearly communicated her point of view.

ktownsend··on Ask HN: Open Standards for Data Logging?
I wasn't aware of that project ... appreciate the heads up.