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 SmartKnob – Haptic input knob with software-defined endstops and virtual detents
Why hello there. I am building a digital jukebox with physical controls and was looking for a few different knob like controls to use to shuffle through tracks. Definitely going to be using this in the project. Thanks for a well documented and Open Source piece of hardware.
justinlloyd··on Are cooking videos making us better cooks?
Watch their videos. Read their magazines. Happily pay them a $100/yr for the education. But throw their books (especially their "every recipe from the show for the past X years" books) in the trash. Honestly, their books are horrid. There's a marked qualitative difference between the writing of the recipes in the magazines and the writing of the recipes in the books. Dan Souza is editor-in-chief of the magazines which explains why the magazine is so good. I swear they outsource their book writing recipes and photography to failed college essay writers & photographers they found on Fiverr. An individual recipe in the books is all over the place. You'd think by the 12th edition they would have nailed the formatting or the writing style but it seems to just be a terrible copy & paste job from one year to the next. Their digital editions are even worse with broken formatting, unsearchable indexes, and bloated images.
justinlloyd··on The worst programmer I know
For Tim MacKinnon's sake I sure hope you got Tim's permission to post this, and that Tim is near retirement age and not needing to interview for any team in the future because unfortunately, searching for "Tim McKinnon programmer" tells me he is the worst programmer in existence. If I were hiring and found that as the first link on Google, and feeling particularly lazy that day, Tim's C.V. would be round filed. HR would reject him before I ever got to see his C.V. Poor Tim.
justinlloyd··on Leaked Wipeout source code leads to near-total rewrite and remaster
"The original menu “system” was… I don't even know. I never took a close look. It's 5000 lines of spaghetti for the main menu plus another 4000 or so for the in game menu, credits (without the actual text) and win/lose screens."

"The 5000 lines of if else that handles the menu state is a striking witness to this insanity."

I can say, quite confidently, that was probably some junior developer who built the shell. It is always some junior developer that builds the shell. And it was a designer/director that didn't know what they wanted until just prior to putting the gold master in an envelope to send to the pressing house. Also the shell is completely throw away code that will never, ever be used again in any other game.

"Each time by a different set of developers that somehow had to make sense of this mess. The code still contains many of the remains of what came before. There was never any time to clean it up."

Exec Producer at publisher: "Hi, here's $25,000, can you port Wipeout from this platform to that platform? We'll give you another $10,000 if can do it by this date, and another $25,000 three years later if the port sells so many bajillion copies.

Desperate Studio Producer: "Absolutely can do that, let me find two cheap programmers to take care of that. Hey guys can you spend the next two months crunching like crazy with unpaid overtime to help me keep my boss happy and get that promotion? There will be a significant reward (a two pizza pizza party) if you can hit this release date."

The two developers then spend an inordinate amount of time trying to get the damn project to build and find some obscure missing header files, layers on more hacks and ships in the 11th hour.

And the rest is history. And nobody ever looks at the code ever again. Until the next poor programmer has to port it to a new platform.

justinlloyd··on A study on robustness and reliability of large language model code generation
I've used ChatGPT and Copilot with Javascript & Typescript and a bunch of frameworks. Python, C, C++, C#, Go, 6502, Z80, ARM and a few other languages so far. They've all worked pretty good. I wish it had a wider breadth of APIs and documentation, but it is pretty good so far.
justinlloyd··on A study on robustness and reliability of large language model code generation
I have been happy about 90% to 95% of the time with code that gets spat out by ChatGPT, though I don't fear for my job being taken by an LLM any time soon. It usually gives good insight in to unfamiliar code, or code in a language that I am familiar with but might have forgotten how to use. That said, I don't use it for every piece of code I write. Usually sections where I am exploring an idea.

At times, I need to correct the LLM on some usually obscure detail. It got the memory layout of the video screen on the BBC Micro completely mixed up with the ZX Spectrum, and I had to correct it about five times before it got it, and then it stuck for the rest of the conversation.

I've been on some wild goose chases, where I have fooled myself into thinking a particular approach would work and ChatGPT has been enthusiastically right there cheering me on.

It's like my dog going on an adventure with me, the dog doesn't care about where we're going or what we're doing, it's just excited to be part of the journey.

And in other cases, ChatGPT has been exceptionally useful in pointing out some blindingly obvious mistakes. It is like having a very knowledgeable, but exceptionally junior developer at your elbow.

If you ask the right questions, and don't except one shot questions to provide perfect answers, it works well for the most part.

justinlloyd··on New York is about to crack down on short-term rentals on September 5th
I need a clarification this statement. Are we waging war on the tourists to keep them out? Or keep them in? I just want to make sure I am routing for the side that will produce the most unintended consequences.
justinlloyd··on If you're interested in eye-tracking, I'm interested in funding you
I do hardware. I do software. I do computer vision. I built some software that ran on a cellphone used by LEO (law enforcement officers) to determine if the person they are quizzing is inebriated or impaired through controlled substances by examining the person's eyes and having them focus on images displayed on the phone screen. I've done eye tracking using fully custom solutions and also through a few of the off-the-shelf SDKs such as GazeSense from eyeware and a few other SDKs.

The problem is not the eye-tracking, it is reasonably easy to build robust systems that can do that easily enough, even with custom hardware under all sorts of lighting conditions. The hard part is the UX if you are trying to build something that isn't hampered by current UI paradigms.

Rapid typing and menus of custom actions with just eye movement, though fatiguing, shouldn't be hard to solve, and then render the output however you want; text, text to speech, commands issued to an machine, etc. Making a usable user interface to do anything else, that's where the rubber hits the road.

@pg, which software is your friend using? If it is anything like I've looked in to in the past, it's over-priced accessibility crap with a UI straight out of the 1990s.

justinlloyd··on Clever coating turns lampshades into indoor air purifiers
If you have a spare bathroom, and have a duct fan, with some 4" ducting, and a couple of MERV filters to prevent dust going up the duct, guess where you can duct the litter box odour too? Look up.

But yes, a fan that can pull some semi-decent airflow, I run the box fans on lowest setting possible, I could probably run 12v 120mm or 200mm computer fans and get the same effect, and pull that air through a charcoal filter and box filter, it cuts out all dust, allergens and honestly, just about all the odour. The cats have to drop an absolute stinker to overcome the filters. If you hit Amazon, you will find a lot of euphemistic phrases on pages for ducted fans, activated filters, and so forth, for "filtering for your tomato plants that you grow indoors." That's the kind of equipment you can research. The odour from smelly, indoor "tomato plants" are not even in the same league for what my cats produce on a daily basis.

Edit: Wait, I'm replying to original author who built the ducted fan version. You already know about the euphemistic language on Amazon as you have no doubt DYOR (done-your-own-research). Apologies.

Edit part-deux: The activated filters I picked up come in a big sheet, and then I cut them down to size to fit the back of the MERV. I simply tape them on with gaffer tape and they hold until I am ready to change them out, a single sheet of filter lasts well over a year before it loses odour control. I experimented with layers of activated filter, but, anecdotally, it didn't seem to make much difference. I think the thick MERV filter slows down the air flow enough that the odour causing particles linger around the activated filter for a longer period of time, so they have more chance to bond.

justinlloyd··on Clever coating turns lampshades into indoor air purifiers
I did a similar thing. Built a plywood box, used cheap box fans, MERV12 4", with a replaceable activated filter. Didn't think to use the screen door covering for pet hair. That's a good fix. The plywood box contains... the cat litter box, one for each litter box. And then I have a few other air filters throughout the home of similar, box=>box fan=>MERV12 filter.
justinlloyd··on Shit life syndrome
Why yes, how did you know? By developing new cutting edge technologies we are able to help website operators monetize their content but more importantly improve the user experience through accurate targeting of relevant advertising bringing the user's attention to products and services they might not be aware of. Some highlights I am particularly proud of are the ads that play at the gas pump, the ads that play on your in-car infotainment system before you can start the ignition, and those blindingly bright animated LED billboards that line the city streets and freeways that firmly establish the culture of the city your in.

P.S. It's joke. I adamantly refuse to work on anything adtech related. When I stated "for a more exciting game" I clearly didn't indicate who it would be exciting for.

justinlloyd··on Shit life syndrome
Having worked on quite a few of those claw machines that made their way in to arcades around the UK and Europe back in the late 1980's and early 1990's, there were a variety of variables we, as software developers, could control, from the ramp up and down of the motors that controlled how fast the claw moved, to how much lag was introduced when responding to your joystick/button input, to how "grippy" the claw retraction was, to how strong the grip remained over time. These made for a more exciting game, which were then translated into a simple user interface consisting of a few dip switches or a trimmable pot that the owner/operator could tweak.
justinlloyd··on Ask HN: Tell us about your project that's not done yet but you want feedback on
https://github.com/justinlloyd/banderschnappen

I am working on a dedicated GPT AI Dungeon Master. Results have been promising so far. Though it has a ways to go before it is even remotely playable outside of "yeah, it'll break if you do that, let me load up the jupyter notebook that can handle that situation."

https://github.com/justinlloyd/retro-chores

A physical chores list with a digital component. Unfortunately it has languished for a year due to circumstances of life (family health issues). Now that things are settling down I can return my attention to it.

And I found a functional 4K 55" TV on the street last night that was being disposed of, so I'm trying to decide what to do with that (apart from watching TV on it). I am thinking another cat toy, since the cats trashed their last one.

justinlloyd··on E-bike companies are fighting to stop riders from repairing their electric bikes
You don't need to do any wheel building yourself. You can buy the hub motor pre-installed in a wheel. Simply purchase the proper diameter wheel for your frame. The only aspect to keep in mind is to get the right sized motor for your frame. Too many people chase the "big number" hub motor wheel, picking up a 3KW or 5KW motor, and installing it on a frame that will shake itself apart, or a frame that isn't made to travel at 40MPH/60KMH with brakes incapable of handling that speed. If you do end up purchasing just a hub motor, and want to fit it to your current wheel, find a good bike shop that does wheel rebuilds, and have them put the motor in for you and tension the spokes. Takes like an hour of their time. My old motor is 500watt, which gets me a top speed of around 18MPH/30KPH on the flat and a 15 mile range. I am contemplating going to a 1KW motor. Eventually. Maybe.
justinlloyd··on E-bike companies are fighting to stop riders from repairing their electric bikes
The CDC (charge-discharge controller) of many BMS (battery management system) devices can already communicate the charge state. My home built e-bike uses a one-wire protocol, newer ones use a serial protocol. Even the plugs have become standardized these days. There are so many manufacturers selling components and kits, and 99.9% of them interoperate with components and kits from other manufacturers. Pick the bike computer you like, the form factor of the battery pack, size of battery pack (they all use 18650 cells anyway), BMS, CDC, wiring harness, motor. It is no more complicated today, and actually far easier so long as you size the motor to the bike frame and the battery to the motor, than assembling a desktop computer.
justinlloyd··on LangChain Agent Simulation – Multi-Player Dungeons and Dragons
Am too also working on a multiplayer D&D Dungeon Master agent, Banderschnappen, though right now it is in a non-playable state as I convert a number of Jupyter Notebooks into more modular and cleaner code. I treat the LLM (ChatGPT in this case) like a rendering engine of the world, and also of the user interface, but ultimately all the heavy lifting of logic is done by a traditional game engine.
justinlloyd··on Azure ChatGPT: Private and secure ChatGPT for internal enterprise use
Interesting release, though still lacking a few features I've had to resort building myself such as code summary, code base architecture summary, and conversation history summary. ChatGPT (the web UI) now has the ability to execute code, and make function callbacks, but I prefer running that code locally, especially if I am debugging. This latter part, conversation history summary, is something that ChatGPT web UI does reasonably well, giving it a long history, but a sentiment extraction and salient detail extraction before summarizing is immensely useful for remembering details in the distant past. I've been building on top of the GPT4 model and tinkering with multi-model (gpt4 + davinci) usage too, though I am finding with the MoE that Davinci isn't as important. Fine tuning has been helpful for specific code bases too.

If I had the time I'd like to play with an MoE of Llama2, as a compare and contrast, but that ain't gonna happen anytime soon.

justinlloyd··on Squeeze the hell out of the system you have
And you sir, are fucking toxic, just looking at your comment history I can tell that. So you calling me "fragile" carries about as much weight as the next idiot with an opinion.
justinlloyd··on Squeeze the hell out of the system you have
Incredibly dismissive of somebody's work, aren't ya? I regret breaking my own self-imposed rule of never answering follow-up questions on HN because there's always somebody willing to hand-wave away six months of my life and 40 years of real-world experience with a flippant comment of "oh, but that's easy if you don't have too..."
justinlloyd··on Squeeze the hell out of the system you have
I cannot go too deep. It was some client work.

https://justinlloyd.li/blog/how-much-cache-you-got-on-you/

justinlloyd··on Squeeze the hell out of the system you have
Some of that, some other bad practices. Lots of low-hanging fruit, then more esoteric changes.

https://justinlloyd.li/blog/how-much-cache-you-got-on-you/

justinlloyd··on Squeeze the hell out of the system you have
https://justinlloyd.li/blog/how-much-cache-you-got-on-you/
justinlloyd··on My Overkill Home Network
I love looking at other people's setups, especially if they have done a clean-job on it.

Currently I have four small racks:

  Rack #1 & Rack #2 dual side-by-side (custom built)
  Rack #1
    NAS x1 4U
    NAS x2 4U
    Patch panel 1U
  Rack #2
    PDU 1U
    UPS 4U
    UDM Pro 2U
    24 Port switch 1U 
    Rackmount cable modem 1U

  Rack #3 (it's an arcade cabinet)
    Workstation 4U
    Rackmount Mac Minis (Intel & ARM) 2U
    UPS 4U

  Rack #4 (custom built)
    Supermicro 4U server (330TB) that doubles as the VR computer
    Supermicro 4U storage box (700TB)
    PDU 1U
    UPS 2U

I like tinkering, but I don't rely on my racks for anything other than compute and storage. Technically I have a partial rack in a data center that I have never physically seen, where I self-host all the usual services, but as I only rent that rack, I don't consider it "mine." Tinkering with a homelab is a useful IT skill to have, even if you don't work directly in an IT only area, but you shouldn't burden yourself with an overly complicated setup. Keep life simple (and organized).
justinlloyd··on Squeeze the hell out of the system you have
Squeeze what you've got, as hard as you can, then realize after squeezing for a while that if you squeezed here, here, and also... here, by changing how you think about a problem, suddenly you've got a lot left to get.

I spent two or so months optimizing the crap out of a majestic monolith and went from under 2K RPS when the PM thought, and the team repeatedly reported, that everything had been squeezed as much as it could, then changing the hardware, which got us to less than 3200 RPS, then to 4K RPS after just a few days of tinkering, to 10K RPS with a bit more effort, to 40K RPS a week or so later. "Oh that's, enough, we don't need to go further." I then changed "quite a bit of stuff" which then jumped us to 2M+ RPS, and then a month later, a consistent 40M+ RPS with low latency on a single box and there is still some juice left in the box should we want to go a little harder.

Right now we're not even touching 5% of the capacity of what we can pull from, it was that much of a change, simply by changing how we think about the problems. Moving from the old server to the new server let us jump from around 1800 RPS to a hair over 3000 RPS. Adding more hardware didn't fix our underlying problems. Adding more complexity was just punting the problem down the road. But changing how to think about the problem? _That_ changed the problem. And changed our answer to the problem.

justinlloyd··on One car per green: Why the lights on freeway onramps can’t end traffic jams
Because on Van Nuys Blvd the sensors are vandalized regularly, especially around the court house at Erwin, and further North near Panorama City, and you will sit at those left turn lights late in the evening for a very long time, yet no cars pass by. And there are other places like that too. Venice Blvd just west of Lincoln, in the two decades I've lived in L.A., the left turn lights in that area are so badly programmed they might as well not exist. There will be eight or nine cars backed up at Venice & Overland, and they will briefly blip green enough for a car or two to get through, yet the left turn light at Glendon will sit on green long after the last car has passed through. There's a reason people shortcut down Glendon, then jink on to Overland further down at a T-junction with a functioning set of lights. Same problem exists on Fairfax around the school and theatre. You get to know precisely which lane you should sit in for which section of the road, that literally varies block to block, because the left turn lights will block up traffic all the way back to Canter's deli all the way from Santa Monica if it is the wrong time of day.
justinlloyd··on One car per green: Why the lights on freeway onramps can’t end traffic jams
The only time I've gotten a ticket of any kind in 30 years of driving a car is because of a left turn light on an empty highway that steadfastly refused to turn green. Pulled up, waited, waited, waited, through multiple cycles of green in the other directions. No cars passed by. Ever. Finally, after five or six cycles, and at least eight minutes of time I went "f** it" and made the left turn, with no vehicles in sight in either direction for the entire time I sat at that light in the middle of nowhere. And then a cop car tucked away on the side of the road lit up like a Christmas tree. He knew. Taking a nap, and making quota I am sure of it.
justinlloyd··on Ask HN: Is GPT 4's quality lately worst than GPT 3.5?
You may be right, but I think it is too early in the season for that to be true at this time, we're not even out of act 1 of the first episode of the season with regard to OpenAI. AI tech may be accelerating, but business still tends to move at glacial speed.
justinlloyd··on Ask HN: In which areas have you compared 3+ tools and formed strong preferences?

  Databases:
    PostgreSQL, mySQL, MongoDB, DynamoDB, SQL Server, SQLite.
    Preference: SQL Server for big stuff, SQLite for small stuff or prototyping.

  Editors:
    Notepad++ (Linux), TextEdit (macOS), Sublime (macOS, Windows, Linux), Nano, Vi, Vim
    Preference: Sublime followed by vi/vim if stuck in a shell.

  File Finders:
    PathFinder (macOS), Directory Opus, Finder, Windows Explorer (10 & 11), and a few different ones on Linux.
    Preference: Directory Opus on Windows, PathFinder on Mac

  Desktop Operating Systems:
    Windows 10 Pro, Windows 11 Pro, latest macOS, Ubuntu, CentOS, FreeBSD.
    Preference: Windows 10 Pro, followed by macOS, and Linux a distant 3rd.

  Desktop user interfaces:
    Windows 10 Pro, Windows 11 Pro, latest macOS, KDE, GNOME, couple of others in Linux.
    Preference: Windows 10 Pro, followed by macOS, and Linux a distant 3rd.

  Calculators:
    Speedcrunch, OpalCalc, SoulVer, Windows Calculator, bc.
    Preference: SoulVer, OpalCalc, Speedcrunch.
    Honorable mention: RealCalc on mobile.

  One-to-one messaging:
    Telegram, WhatsApp, iMessage, SMS, Google Messages
    Preferemce: Telegram

  Group or work messaging:
    Slack, Discord, Teams
    Preference: Teams, then Slack.

  Version Control:
    Mercurial, SVN, CVS, Git, Perforce, AlienBrain (defunct now)
    Preference: Perforce followed by AlienBrain followed by Mercucrial

  DVCS repo websites:
    Gitlab, self-hosted gitlab, Perforce self-hosted, Perforce hosted, github
    Preference: Perforce self-hosted, followed by github.

  VM hosts:
    VMWare Workstation, VMWare Fusion, VirtualBox, ProxMox, VMWare ESXi
    Preference: VMWare Workstation followed by ESXi.

  Chrome, Firefox, Edge, Safari, Brave.
  Preference: Firefox & Firefox mobile, Chrome

  Search Engines:
    Kagi, Google, DuckDuckGo, Bing, a few others.
    Preference: Kagi

  PDF Readers:
    Chrome, Firefox, Adobe, Foxit, PDF Reader Pro, Edge
    Preference: Edge

  Languages (only those I've used in the past 2 years):
    C, C++, C#, ARM Assembly, Rust, Python, Ruby, Typescript, JavaScript, VisualBASIC.
    Preference: Typescript, Ruby, C#, Python (and I never thought I'd ever put a "scripting" language before my beloved C/C++/C# languages)

  Coffee:
    Starbucks, Trader Joe's, Illy, Groundworks
    Preference: Groundworks, with Illy in a pinch.

  Shells:
   fish, zsh, bash, csh, few others
   Preference: Fish and fish in Bash compatibility mode.

  Code Editors (just those in the past 2 years):
    Jetbrains (pycharm, rubymine, intellij, dataspell, Rider, etc, etc), VSCode (Linux, macOS, Windows), Visual Studio 2017 & 2019 & 2022, XCode
    Preference: Visual Studio 2022 with latest intellicode disabled, followed by Jetbrains
   
  Clouds:
    AWS, Azure, GCP
    Preference: AWS
Now watch all the Linux lovers/Windows haters down vote personal preferences.
justinlloyd··on A fridge from 70 years ago has better features than the fridge I own now
Agreed on your points. Much like Samsung make domestic TVs and domestic fridges (and microwaves and toasters, and a bunch of other stuff), Samsung also makes their commercial line, which is, visually, almost identical, except that it will lack one or two features (no internet connectivity, no requirement to connect to WiFi so that your water filter works), or have a slightly less efficient motor, or metal blades on a fan that increase the energy consumption by 0.05% per year. And you can only buy those devices through dealers, and they cost about 50% to 150% more in price.
justinlloyd··on How too much daydreaming affected me
Google Maps and its ilk are like the contacts in your phone. If you teach your brain you don't need to remember that detail because you have a gadget to do it for you, you brain won't remember it. I have a pretty good mental map of the world around me, and can navigate pretty well, but the moment that a GPS navigation system gets involved, my brain shuts off and I don't remember how to get anywhere or where things are in relation to other things. I noticed this effect 25 years when I got my first in-car navigation system. I'm really good at recalling long sequences of numbers, six or seven credit cards and bank cards, including CV2 and expiry dates between my wife's wallet and my wallet, but the numbers in my contacts list on my phone, I don't remember any of those, my brain has learned it doesn't need to. I have observed the same effect in code navigation tools in IDEs for a quarter of a century, myself and other people forgetting the function they wrote just ten minutes ago. With the rise of chat GPTs I wonder how long we stop remembering details about documentation when there is an application that will just tell us what we need to know. There was even an Outer Limits episode about this very subject 30+ years ago.
← PreviousPage 4 of 22Next →