Recent submissions

Comment · 24 days ago
Proposal: data on cloud, device wipe while going thru customs (See related: https://news.ycombinator.com/item?id=49063022)

Let's say you're using GrapheneOS and saving a device backup to a home server. You can wipe the device as the Journalist in (link above) did while entering the country, and restore from your backup after moving through customs.

I'm aware this is a technical soln to a social problem, but depending on the outcome of the case in (link above) I do think it's workable.

Would anybody be interested in contributing?

Comment · 3 months ago
"What I had been calling “Linux knowledge” was actually two different things bundled together: understanding of how systems work, and familiarity with where things live on a particular filesystem. The first transfers perfectly to NixOS. The second becomes largely irrelevant, and whilst that felt like a loss at first, I now think it is fine. Knowing that configuration files live under /etc is useful context, but it is not deep understanding. Deep understanding is knowing what the configuration does and why, and that knowledge is entirely portable."

Particularly: >> "familiarity with where things live on a particular filesystem."

Taken in context with mightyiam's quote: >> "because I get to keep it, share it across multiple computers, "

It seems to me like a primary advantage of NixOS is that familiarity with where things live on your particular filesystem is made to be portable across machines, and not a constant beachead.

Comment · 3 months ago
Today I vibe coded a webapp that is simultaneously capable of being hosted for free on github pages, uses a 22mb model (small enough to run in browser) to do semantic search across any 2 pdf's uploaded, and only took 1 working day to build.

Are LLM's a bubble?

Comment · 6 months ago
Comment · 7 months ago
3. Collision w/ meteorite or other debris
Comment · 8 months ago
I don't see the analytics eng on your site?
Comment · 9 months ago
I'm sorry, UTC+12? Eastern Russia?
Comment · 9 months ago
This could be a product. I'd pay for an app that fwd'd messages from other apps and gave me a wikipedia feed to scroll on the elevator / other places where the phone is a social respite
Comment · 9 months ago
The only AWS service I still use is SES, for sending emails from client applications. Surely that can be self hosted? Can anyone reccommend a competitor?
Comment · 10 months ago

  Location: Seattle, WA
  Remote: Yes (Remote / Hybrid / In-Office)
  Willing to relocate: Yes (would prefer to relocate)
  Technologies: Full-stack web (Postgres, Express, React, Node), Cloud infrastructure (AWS, GCP), Browser automation (Selenium), Windows desktop apps (Tkinter, PyInstaller)
  Résumé / Portfolio: https://www.douglasmckinley.com
  Email: [email protected]
Seattle-based full-stack engineer open to remote, hybrid, or in-office roles. Willing to relocate and actively interested in doing so.

My experience spans production full-stack web applications (Postgres, Express, React, Node), cloud infrastructure on AWS and GCP, browser automation using Selenium, and Windows desktop tooling with Tkinter and PyInstaller.

I’m currently operating as a consultant, working across technical implementation and customer-facing responsibilities, and I’m comfortable partnering closely with sales and non-technical stakeholders. Clients range from startups that nobody’s heard of to aerospace manufacturers that everybody’s heard of. I’m happy to sign NDA’s and bill against PO’s, but I would prefer a full-time W2 role. (https://cadocary.com)

Earlier in my career, I worked in electronics and hardware, including DO-160 compliant aircraft electronics testing, circuit design, and electrical bench tools. More recently it’s fullstack webapps and AI wrappers, including training and deploying own models, specifically supervised classification. My most recent W2 position was as a Patent Examiner in AI (Art Unit 2121) at the USPTO.

A defining part of my background is teaching computer science at Central Washington University. I taught nearly all core CS degree courses, authored four original courses that were added to the official catalog, and earned the highest student evaluation scores in the department across all quantitative metrics. Student evaluations: https://drive.google.com/file/d/1zb9vbd4TYhYxqA_o_aZVg7-nIWm...

Comment · 11 months ago
Let's assume good intent and that the problem came up without foreknowledge of the solution (which I think is endemic whether or not it is the case here)

How would you reccomend someone discover/decide is faster to learn/learn/implement existing solutions?

I'm asking because I'm currently in my "cambrian explosion" phase of homelabbing, so implementing that loop for myself personally will pay dividends.

Comment · 11 months ago
To explain better, there's basically 3 jobs avaliable in this kind of work right now, all of which I've interviewed for and been not selected with varying degrees of frusturation.

(1) build a bunch of automation scripts that we can reliably run as part of our product. This is closest to my day-to-day, you're (mis?)using selenium or playwright to make a known set of "click here, fill that, click there" scripts, and then expose some interface that calls them. At a company usually this will be a fastAPI / microservice, and your set of automation scripts is part of what makes the product possible. In my case, I'm currently working on registering my Tkinter/Pyinstaller app with windows so people can run my .exe and click the "do the script" button. There's also a slightly different approach to the selenium/playwright jam that runs curl requests which mimic the network requests of performing some action. You'll be able to see what I mean by clicking into your browser devtools "network" tab and clicking around the web. Imagine having a library of known API calls, you save a users cookie, and run script to achieve result.

(2) build a browser agent that we can use to run all of our (1) scripts. This is stuff that I iterate on as needed, and in my experience is best done by having a bunch of "helper functions" that spawn/kill/season different selenium webdrivers. It will depend on whether your (1) scripts are dealing with JS-heavy websites, bot detection, or just constantly changing UI's, but the deep rabbit holes here end up in places where you're building your own browser agent on top of webkit/chromium, implementing some kind of captcha solver, or trying to automagically discover what buttons exist by fuzzing the API or DOM.

(3) use a (2) to get us every PDF we need for our upcoming RAG chatbot. This is something I do by executing on (1), and I only bother to note the difference because it's a great example of the kind of actualy end product goal that all of this leads to.

Academically, the problems happening in web automation broadly fall into discovery and reproduceability. Discovery, meaning API fuzzing (how do we get that library of known API calls? / the equivalent buttons in a DOM?); Reproduceability, meaning running-without-errors. (How do we wait for the target's server to be ready to send the next command? How do we avoid getting blocked? How do we detect/recover when the target updates their website?) The most interesting opportunity IMO is inserting an LLM to build a self-healing scraper, and the edges of your tes/prod environments will be defined by your product's tolerance for wrong/nondeterministic behavior. I've got a great blogpost draft about a "railroad model of software development", where an LLM is a hammer nondeterministically pounding in railway ties, and an end product is a deterministic piece of code that can have trains run over it all day long. (effectively, LLM as test-environment devtool thesis, I don't think I'm saying anything that hasn't been said before.)

Practically, the problems that are facing me as an engineer are in packaging these tools for sale/distribution. My current state-of-the-art is to wrap up a .exe with Pyinstaller, build a GUI with Tkinter, and register with Windows so I'm not showing scary "This program is made of evil" messages when people try to run it. From there the plan is to give away free trials and after a month of people clicking their magic buttons they all disable and demand you purchase a license to re-enable (like if winRar was evil, but sorry yall I gotta eat). I'm also trying to sell building these tools as a service but that's very word of mouth, I haven't found a viable web/storefront model for that yet.

IM-Practically, most companies with a browser automation component are struggling with the same HR/Onboarding issues everyone else is. In the past ~2 months I've Interviewed at ~4 serious companies that profit from their browser automation, and every process has been unique: 1) firecrawl.dev; a black mirror hourlong AI-chatbot-zoom-interview, followed by a human call scheduled 3 weeks out, only to then be told that really they want someone fully specialized on breaking captchas, with a vaugely condescending suggestion that I'm "customer facing" and no followup when I lean into that 2) atomic.financial; actual-human-zoom-calls with engineers who I get along with great only to have no idea why I'm getting a rejection email the next week 3) sheer.health; a very contentious first call that demands I name a salary, followed by a trivially easy take-home test, followed by my 3rd round, 1/2 hour call with the CEO being cancelled the morning of because they filled the role. 4) Mozilla; where a principal/staff engr cold DM'd me, to schedule a call with an HR rep that told me they're paying 350k base 420k total and another staff eng who's leaving to start a startup, only to then tell me I'm not senior enough but could maybe come on as a contractor, only to then tell me they're using internal resources for the contractors.

Overall, I think the best opportunity in the space is going to look something like https://ui.vision/, which is an open-source tool!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton