HNHacker News
TopNewBestAskShowJobs

justinlloyd

2,383 karma · joined April 20, 2012

    Location: California

    Willing to relocate: No

    Remote: Remote only

    Résumé/CV: https://justin-lloyd.com/ (psst, scroll down and right)

    LinkedIn: http://linkedin.com/in/justinlloyd

    EMail: justin@justinlloyd.io

    Technologies: Rust, C, C++, C#, Python, Ruby, Kotlin, Java, Go, Assembler, OpenCV, OpenCL, OpenGL, OpenAI, OpenCompute, MCT, TensorFlow, PyTorch and more
Autonomous vehicles, robotics, computer vision and machine vision, virtual reality, augmented reality, SLAM & D-SLAM, multiple sensor fusion, deep learning, neural networks, artificial intelligence, GPU programming, Mediapipe, embedded firmware, board bring-up, Linux, macOS, Windows, iOS, Android, high-speed/low-latency message queues, high-frequency trading, trading prediction systems, super-low-latency video processing/streaming, optimization, build pipelines, kernel drivers (Windows, Linux, macOS), low-level systems programming, software tooling development, direct CNC robotics programming, game engines & video games, blockchains & cryptocurrency, on-chain programming (ETH & Chia & Solana, Lisp, Solidity, JVM), lots of other stuff.

Masters Computer Science, Masters Artificial Intelligence, Masters Business Administration, Masters Project Management, Masters Entrepreneurship (Marketing & Communications) and a few other qualifications in electronics, contract & intellectual property law, accounting, marketing, project management and HR.

submissionscomments
justinlloyd··on A simulation of me: fine-tuning an LLM on 240k text messages
I did a fine tuning and embedding on a large LLM that is based on 50 years of daily journal entries, extensive daily notebooks usually measuring in the hundreds to thousands of words per day, and personal writings across a half-dozen different blogs and websites and various social media feeds. Social media posts and comments (including this one) are also put into my notebooks with a snippet of context about why I posted that.

In my journal and daily notebooks I write out some pretty deep and dark thoughts too. It's about as close to a snapshot of my inner thoughts as you can imagine.

And the LLM digested all of that. It took quite a while.

It has provided some interesting insight into who I am as a person, and also how I see myself.

justinlloyd··on Get your work recognized: write a brag document (2019)
I do it only for myself, and as supporting evidence when it comes time to negotiations, or a CYA moment, and if it has reached a CYA moment, I am usually putting one foot out the door anyway because the working relationship is probably deteriorating.
justinlloyd··on Get your work recognized: write a brag document (2019)
I think a repeating timer acts as a calming or focusing tool for some. I don't advocate it personally, unless your life or work schedule must be ruled by the clock.

When I say "write everything down" I mean use the lightest of note taking. It can be a bullet point for the day, or an expansive note on a particularly difficult technical challenge, there is no one set way of approaching this.

justinlloyd··on Get your work recognized: write a brag document (2019)
I think setting a timer for every 15 miunutes is the perfect way to destroy your productivity, especially for when doing deep thinking type of work. I use the Pomodoro technique if I am unfocused and cannot make a start, which happens on occasion, but once I'm going, I turn that timer off.
justinlloyd··on Get your work recognized: write a brag document (2019)
9,999 people out of 10,000 telling you "don't do this, if your manager doesn't know what you did 10 months ago, the manager isn't doing their job" would have difficulty telling me what they had for breakfast last Tuesday.

Keep a log of your work. In fact, keep a log of everything you do. It gives you a sense of accomplishment, it gives you an idea of where your year went, and it lets you refer back to key highlights during your negotiations for a raise or promotion.

You think your memory is bad? There is not an organization out there that will ever recognize anything you ever did beyond the last sprint planning session or Jira ticket you closed. I've yet to work for a manager, ever, that hasn't required a hard push to hit a deadline for months on end, only to then forget that effort and opine that you took off early on Friday. They'll remember the extended lunch you took yesterday, they'll forget you worked 19 days straight without a day off, whether it is a large tech organization or a small start-up of six people.

I am sure many of you will no doubt attempt to regale me with tales of awesome managers who made sure to give you "atta boy" pats and remembered that thing you did when it came to year-end review, but those stellar managers are few and far between, and most of us will never get to encounter such a rare shiny creature.

So don't be like all those times in college when you thought to yourself "I don't need to write this down, I'll remember it", because you won't.

justinlloyd··on Comparing 6502 Multiply Routines
The customization section is interesting, though it is missing things such as multiply & conquer, table wrapping, and the mask & jump techniques, but then, you aren't going to find every custom technique covered in any one text. Sine, cosine, and atan, usually used dual interweaving tables that wrapped, and for distance, you could use a short table and a long table that used Manhattan distance to do the lookup depending on whether X > Y or Y > X.

Edit: I see a link to another github on that page to sqrt implementations. I suspect that will make for interesting reading too.

justinlloyd··on Show HN: You Need Less Caffeine Than You Think
I don't drink coffee because I need the caffeine. I drink coffee because I like the taste. There is an addiction component. I've given it up in the past and had the two week headache that wouldn't go away. But if good coffee isn't available, I will go without.
justinlloyd··on Tohands – Smart calculator for small businesses
This is absolutely brilliant. It doesn't change the way shopkeepers and small business owners currently work, which is absolutely critical to its success. Uses a familiar form factor, another critical aspect to its success. Can work offline. Store the history of millions of transactions and then sync the next time it connects. Is mechanically robust. Has a long warranty by industry standards.

Congratulations to whoever came up with this.

justinlloyd··on Laptops Powered by AA Batteries
I had the Atari ST Book. Somewhat dreadful machine.

And I had the Amstrad PPC 512 portable which could also be powered by ten regular C-cells. It would eat NiCads by the hour.

And I also had the Sinclair Z88, which lasted about a week or two on a few AA batteries which I used all through college because laptops were new and bulky and the keyboards were noisy and so a number of professor's banned laptops, but the Z88 with its squishy dead-flesh keyboard was all but silent.

The great thing about the Z88 was everything was pre-loaded on to ROM, and your documents held in battery backed RAM for weeks at time, though you flash your files to the EEproms for safety. There was enough capacitance in the Z88 that if you pulled the batteries out to change them for fresh ones, you had about two or so minutes before the contents of RAM was lost.

A friend of mine, Ken, (who worked for Apple at the time) has a prototype Apple portable (pre-powerbook, IIc line I believe) that runs on C-cells. He keeps it on top of his fridge.

justinlloyd··on BBC Basic returns on multiple platforms, open sourced
And that is also why Dragon Data owes me about 4,000 UKP (in 1980's money).
justinlloyd··on BBC Basic returns on multiple platforms, open sourced
Not just functions, but procedures too, and local variables. DEF PROC, DEF FN, and LOCAL.
justinlloyd··on BBC Basic returns on multiple platforms, open sourced
Yes. That's exactly it. Just like an acoustic modem. And also how software and data was stored on compact audio cassette when disk drives (the floppy kind, not the hard kind) were too expensive or out of reach of the average person.
justinlloyd··on Writing documentation for your house
It'll be a cold day in Hell before I put that much information into a venture-backed SaaS that is driven by the desire to monetize my life by any means necessary. It also over complicates what is a simple requirement by throwing unnecessary technology at the problem. The only tech I need with my three ringer binder solution to figure out how to restart a furnish when the power and internet are out across the county on a freezing winter night is a flashlight.
justinlloyd··on Writing documentation for your house
I own an RV. The RV came with two thick manuals, one for the RV chassis, and one for all of the appliances that were factory installed. I am not the first owner of the RV. My brother, a meticulous military man kept the documentation for every appliance and gadget he installed in that RV.

And since I took ownership of it, and have I been ever grateful that he documented it, I have done the same too, for the WiFi, for the networking, for the tool shed, for sit-to-stand desks, for the oven, for the plubming, and so forth.

And I've applied the same rigorous principle to the house now as well for about the past three years. I kept documentation prior, but nothing so deep until the RV came along.

Two thick ring binders, one for the house "chassis" and one for the appliances in the house.

Instructions on how to reset the internet, instructions on how to "reboot" the water heater, instructions on how to change the AC filters, the model numbers required for the filters, and why there is no "air return" vents on the AC for the next owner, and also as a reminder to myself. Documentation on the maintenance of having the black water lines replaced after one of them collapsed, how to access the clean out hatch on the black water lines. Where wires in the walls are run too. The circuit breakers are each carefully labelled too. It gets written up in OneNote so it is searchable, and then it gets put in to the three-ring binder, with sections for each area, e.g. garage, master bedroom, kitchen, etc. And lots of paint codes for each individual wall.

It doesn't take long if you do it step-by-step rather than try to boil the ocean all at once, and you will be grateful you did it for years to come. And your home, unlike the software developed by your team, doesn't tend to change all that fast.

justinlloyd··on Even a laptop can run RAM externally thanks to CXL
Last one I put physical hands on was running 24TB, and was expandable to 32TB.
justinlloyd··on What happened to blogging for the hell of it?
I still blog, non-anonymously just for the hell of it, less so than I used to due to the pandemic, but I still have my cooking blog (which contains no life stories), programming blog, personal blog (consisting of quips, jokes, movie reviews, music reviews, stupid comics and observations on life) and a few other outlets. Once I work through some things, I will blog some more and also make some more comic books. I still keep my musings reasonably weird. I also pull old stuff from my journals and transcribe them into blog posts, with appropriately old date attached. My public writings go back some 40+ years with actual blog posts going back 28 years since some of my personal websites began in 1995.

https://justinlloyd.li/blog/hippos-and-ducks-are-verbotten/ https://justin-lloyd.com/ - it's not a blog, it's my C.V., and it has a space invaders game on the web page. https://github.com/JustinLloyd/retro-chores - it's a software project written like a blog

Some people like it, other people tell me they hate it (usually the space invaders game (wow! much unprofessional!1!) and it makes me un-hirable. Oddly enough the people telling me I am un-hirable are usually the people I would never consider working for, who in the next breath also try to convince me I should take a sizable pay cut to work for them.

The oodly weird and just for the sake of it are still out there, in fact, I dare say, more so than it ever was, but frequently people complain about the state of the web, and then immediately open up Facebook or Twitter or use Google to go find their next distraction. Discoverability remains a problem, especially given Google's almost hostile ecosystem of search that favours the recent and viral over the older and evergreen.

justinlloyd··on Joys of small game development
There is no bike shedding. Personal attack. There is no dichotomy. Try again.
justinlloyd··on Joys of small game development
Reddit begins with the letter R, not the letter H.
justinlloyd··on Joys of small game development
https://news.ycombinator.com/item?id=37813899
justinlloyd··on Joys of small game development
_I_ think you skimmed over the part where _I_ emphasized _I_. As in, this budget applies to me. Not anyone else. Not what does it. Not whether this nuance qualifies. Merely, can I do it for $N? I think what many people seem to do is taken a quite subjective statement such as _I_ made about an arbitrary budget and apply it universally to other people, and then try to argue the merit of meaning. Meanwhile, the creators are getting on creating. I do think manifesto of small games is good for one thing: it separates the makers from the bikeshedders.
justinlloyd··on Joys of small game development
I would state it in person, but not on an indelible public forum.

In descending order of expense: Insurances > food > mortage > utilities > rent > hobbies > travel > cleaning > maintenance > takeout.

justinlloyd··on Joys of small game development
Read it. I cannot say whether the concept of a manifesto for small games is a worthwhile endeavour. It sounds like an ideology, a stricture on creative thought, and then you start the endless debates as to what qualifies, and audiences bifurcate into "but what does it _mean_?"

That said, I like to make what I have often referred to as "$10K games." If I was being paid a realistic hourly rate to implement an idea, what could I do for $10,000 USD? $10K is one month of household burn rate (for me), and so I can aptly weigh the decision of "outsource this or do it myself?" It gives a very clear budgetary limitation.

And sure, you could "work for free" or "get a friend to help out for a pizza" or "well if someone in a LCOL country could do it, that's like two years worth of income."

But we would be arguing pointless nuances at that point.

The question is "could _I_ implement this idea for $10K, if I were being paid the $10K? Would _I_ be willing to set aside all other possible endeavours to work on this, if _I_ were being paid $10K for it?"

And so we get in to how to make a game that has a definite end, that somewhat fulfills the ideal of the small games manifesto, but still gives you enough creative freedom to achieve your goals whilst still shooting yourself in the foot by spending too many hours tweaking the individual pixels in a piece of artwork.

A $10K game, for me, could be a day's worth of work writing code and $9000 worth of outsourced artwork to make it beautiful. Or it could be two or three weeks of intense labour, flying solo, creating the art, music and code because you simply need that itch scratched. The game then becomes secondary to the importance of the creative endeavour itself.

justinlloyd··on Ask HN: How do I code offline for a week?
Family: "We're going to an area where there's no WiFi, no distractions, no internet, just quiet solitude!"

Me: "Awesome! I'll get my laptop so I can work on some personal projects without distraction."

The only part of the puzzle I cannot solve is the Figma issue, which is an online tool. If your designs are already done, you can generate PDFs or PSDs to take with you.

For documentation, if you're anything like me, I refer to it constantly, there are tools that you can use to clone entire readthedocs areas, along with many others documentation projects. Simply keep them local.

You can create a local clone of an entire npmregistry, there are tools to do this for build systems.

Alternatively, pick up a tutorial style programming book that is outside of your regular knowledge area, download whatever tools you need, and work your way through the book.

You know your workflow better than anyone else, so try working your workflow without internet for a day and see where it falls short. Again, you can work around most of the problems, except for those "I need a back-end server to work" tools, e.g. Figma.

justinlloyd··on A Bit About Byte Magazine
We studied assembly as part of our ancient literature class because so few written examples of languages from that era of humanity still exist to this day. We have had heated discussions over the pronunciation of NOP and BRK. Is it "no-op" or "nope"? Is it "brake" as in to stop? Or "break" as to damage? Should we say "brk" or "berk"?
justinlloyd··on How to see bright, vivid images in your mind’s eye (2016)
I prefer to self host vs running my brain in the cloud. After all, there is no cloud, it's just someone else's brain.

Eventually, someone on HN, in a few decades, will admonish with the same fervour at the proposal of self-hosting their dreams as they do when someone proposes running their own email server.

justinlloyd··on A Bit About Byte Magazine
I loved Byte. I was a subscriber to the bitter end. I learned C from Byte, which lead me to developing a C compiler (also from a Byte article series) in 6502. Along with a number of data structures and algorithms. If Byte were around today, I would happily buy it. Though I could do without the ad-fest it became in later years.
justinlloyd··on How to see bright, vivid images in your mind’s eye (2016)
The article kind of comes off as spammy/scammy and I fully expected to reach a point where the author wanted to sell me a course for $99 on how to achieve whatever it was he was hawking.

I have a propensity for staring at points in space and daydreaming/visualizing to the point where it thoroughly annoys my wife. Right now I am rotating a small grey elephant wearing blue boots and a red blanket with gold edging on the blanket in my mind's eye whilst staring at the HN web page and there is not a single thing anyone can do to stop me from doing it. It's also free which no doubt irks a number of CEOs and founders who have yet to figure out how to monetize it.

I have a family member who describes themselves as "visual primary" but during conversations of what this means woefully admits that they need to "see things" to know what they look like, cannot visualize rotating an elephant nor picture what the underside of a soup bowl might look like if they had never looked under that particular soup bowl but had looked under many other soup bowls throughout their life. I liken the ability to visualize as my first encounter with NeRF "Yes, it's like that! Seeing things from other angles even though you'd never seen that particular angle."

The human mind, it is quirky to say the least. Quirky in that I can now rest easy because the amount of HN karma I have accumulated has taken on a pleasant shade rather than the jarring visual noise it previously was when it was below 2000.

justinlloyd··on MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve
You can use redis or memcached, but every MMO or online game I've been involved with, unless it was a "web game", has eschewed those for the most part. The game server maintains the state, knows all the objects in the universe, or at least its portion of the universe, and is responsible for retrieving and updating those objects. Even redis and memcached would be considered slow by comparison. Those game objects/world objects/MOBs may eventually be pushed out to a key-store server, but generally are not. The only portion of the database on any MMO I've worked on that has cared about "proper indexes" has been the area dealing with account retrieval. Traditional databases, at least on the non-web MMOs I've been involved with, when it comes to game state, are not normally used. RDBMS are used for boring things like account management, customer management, and so forth. Our database on the current (non-web) MMO uses a few more web technologies than I have in the past for this particular problem, but once the shard is loaded, and the user is connected, it is back to tradition, for the most part.
justinlloyd··on MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve
The "cache, lots of cache" statement is the most true of any MMO architecture we can build. I did some optimization work earlier this year on a project where the single back-end server is now handling 2 billion requests per minute and had around 3TB of RAM for cache (I think the final production system was aiming for 12TB of RAM).

There's concerns around race conditions as you pointed out, message passing from client to server, and server to server, client hand-off between sharded servers. Those synchronization problems will haunt your dreams.

I think the biggest issue I still struggle with is tracking those ephemeral problems that only happen on one shard, or only when going between this shard and this shard, but not the other way. One useful trick is obviously message prioritization and different messages heading to different servers - though these days I'd put a message router in front of the shards and the router handles persistent connections other than the usual technique of direct connection I've employed in the past.

Contributed to an MMO game that involves waving light sabers around, another where you defeat the ultimate prime evil (though I was more on the fraud detection on that one), an unpublished MMO that unceremoniously died during the 2008 financial crash, a "shared world" game that involved animals, an open-world game that involves driving cars and running pedestrians over, a few "internet scale" websites, and am currently lead back-end on another MMO - though our database requirements are relatively simple this time around, but it is still again, read-at-start-up, write-only-when-necessary.

justinlloyd··on Rasperry Pi 5 Specs and Images Leaked from Element14?
Siig and a few others make a HDMI to USB-C converter for around $50.
← PreviousPage 3 of 22Next →