HN user

tompark

503 karma

my gmail is gtompark

Posts31
Comments115
View on HN
www.bloomberg.com 7mo ago

AI Data Center Gold Rush Driven by Newcomers

tompark
1pts1
siliconangle.com 7mo ago

Why Nvidia maintains its moat and Gemini won't kill OpenAI

tompark
1pts0
venturebeat.com 7mo ago

OpenAI report reveals 6x productivity gap btwn AI power users and everyone else

tompark
2pts1
www.technologyreview.com 11mo ago

Chinese universities want students to use more AI, not less

tompark
10pts1
venturebeat.com 1y ago

Moonshot AI's Kimi K2 outperforms GPT-4 in key benchmarks – and it's free

tompark
11pts1
www.wired.com 1y ago

How Software Engineers Actually Use AI

tompark
6pts2
www.ft.com 1y ago

Strategies to Beat the AI Bots

tompark
1pts0
www.bloomberg.com 1y ago

The Fujifilm X100V Went Viral Two Years Ago. You Still Can't Buy One

tompark
1pts0
news.ycombinator.com 1y ago

Ask HN: Going to tech interviews for a 3rd party shop?

tompark
6pts13
www.theverge.com 1y ago

Microsoft's new Fluent illustrations are more 3D, brings skeuomorphism back

tompark
3pts0
www.ft.com 2y ago

Are video games coming for the novel?

tompark
1pts1
www.theguardian.com 2y ago

Neopets' nostalgic revival tripled users in six months

tompark
3pts0
techstartups.com 2y ago

Netflix acquires AI-powered language learning startup THINKIN

tompark
1pts0
machinelearning.apple.com 2y ago

Hugs: Human Gaussian Splats

tompark
3pts0
venturebeat.com 2y ago

Apple's latest AI research could transform your iPhone

tompark
1pts0
www.nytimes.com 2y ago

An Industry Insider Drives an Open Alternative to Big Tech's A.I

tompark
3pts0
www.anthropic.com 2y ago

Decomposing language models into understandable components

tompark
445pts62
therecursive.com 3y ago

The Future of Coding Is Here: How Generative AI Is Changing Software Engineering

tompark
2pts0
www.pcmag.com 3y ago

Light Field Lab Demos Its Latest Hologram Tech: A Floating, Talking Head

tompark
3pts0
www.nytimes.com 3y ago

UT Austin To Offer Online MS in AI, tuition about $10k, starting spring 2024

tompark
21pts8
apnews.com 3y ago

Leak ruins NASA moon rocket launch bid; next try weeks away

tompark
69pts110
www.ft.com 4y ago

The 30-year-old book (Understanding Comics) that became a Silicon Valley Bible

tompark
2pts0
hbr.org 4y ago

“Digital Nomad” Visas Can Boost Local Economies

tompark
2pts0
www.ft.com 4y ago

How bad is Big Tech’s hiring freeze?

tompark
3pts0
news.ycombinator.com 4y ago

Ask HN: How much negative testing is done by Tesla and other self-driving teams?

tompark
1pts0
danielbmarkham.com 5y ago

Coding Constructs I Now Avoid

tompark
2pts0
wired.me 5y ago

Saudi Arabia’s NEOM to build 170km-long, AI-powered carless city

tompark
2pts0
m.sfgate.com 7y ago

Six Millennials make millions. So why do they share a house?

tompark
5pts1
www.fastcodesign.com 8y ago

This Primer on Generative Music Is a Masterclass in UX

tompark
7pts0
www.nyu.edu 10y ago

Neuroscientists find new support for Chomsky’s “internal grammar” thesis

tompark
182pts91

Most developers I know don't seem to care about the "right way" to run agents. They either yolo it on their primary dev machine, or setup a separate box (VM, VPS, Rpi, Mac mini) and let it run there with minimal protection. You could simply do the same, running Hermes or Pi on a VPS (e.g. Digital Ocean). Note that Pi has no protections so you probably ought to take extra steps. Hermes uses a container.

My setup took a long time to build and I don't know any devs personally who go thru the trouble.

* I use a custom harness in a podman container run by a non-sudoer system account. File access is limited to specific ZFS datasets. I don't use Anthropic models for agentic work.

* You can find an open-source network proxy that injects credentials into the network requests, I made a custom one.

   https://github.com/onecli/onecli
   https://github.com/smart-mcp-proxy/mcpproxy-go
   https://github.com/mcpharbour/mcpharbour
   https://github.com/bglusman/calciforge 
* I made a custom shell (nearly posix-compliant) and don't give it access to regular bash, thus no need to filter its shell commands. You could use an open-source one if you care about this: `https://github.com/search?q=agent+bash+shell&type=repositori...`

* Same story for agent memory, context management and token reduction/compression, but this requires a lot of constant tweaking. Again, there are a lot of open-source repos addressing these aspects. Just search github, hn.algolia.com, and/or look at subreddits like /r/agentsofai /r/ai_agents

* Also the agent must be able to run/test the generated code, so if you're targeting another platform you need a MCP or deployment tool that'll allow testing.

Appreciating Exif 1 month ago

A few years ago I wrote an exif parser too, solely for reading/editing text comments, which is much simpler than what you did. Even then, yes, it's not pretty, very frustrating. There are multiple places to put text in exif, and it took a while to find most (all?) the edge cases.

But now it's quite different with LLMs. I recently updated my code and Claude had useful recommendations.

It's possible that mainframe Oracle DBAs working on glass house HP 9000s looked at PC databases as toys, but within the PC industry these tools were considered powerful. Any growth of PC usage was a rising tide that lifted all the boats in the PC industry. If you had some experience programming in C, it was pretty easy to get a job. There weren't 100's (or 1000's) of job applicants for each position. If it was a niche segment, you could even know all the other candidates for an opening, as in "No Other Choice". (I was in a niche like that, developing architectural and facilities mgmt PC CAD software, then later cartography, for Microstation.)

I think the production shift from agriculture to manufacturing, or manufacturing to services, is probably a better way to understand what's happening now.

sigh American car culture.

I have the same problem and I'm only 5'11" (177 cm). Size "Small" might fit at the neck/shoulders but with lots of extra fabric around my midsection, but most retailers don't carry much inventory for Small, and almost never have Extra Small. In the SF Bay Area, the small items are always out of stock.

At one point I found that clothing boutiques in the Castro tended to stock clothes for skinny guys, but those stores disappeared during the pandemic.

Now I have to go shopping in Seoul or Tokyo or NYC, but if the pants fit in the waist, they're usually too short.

I'm guessing I'm over twice your age but my situation is similar to yours in a couple aspects. What I decided to do is focus on exploring the new capabilities that AI will allow individuals to do (especially those of us who can code). There are a lot of ppl who are justifiably frustrated with the current state of the tools. But don't get discouraged by that. I've seen A LOT of tech waves. It's still early in the AI era. I won't suggest any particular approach but recommend giving it some thought.

BTW, being an old timer, I also hated the leetcode thing when it became a widespread thing after Google adopted the practice in the wake of The Joel (Spolsky) Test. But you know, years later when I had to go through some interviews, I did spend a few months studying it and it turned out to be pretty fun. But passing technical screenings didn't help me land a job... only connecting via my network seemed to make any difference.

After Coursera/Udacity/EdX discontinued courses that I wanted to take, or removed access to ones I only partially completed, I switched to buying classes on Udemy. I completed only a handful of many purchases, and the quality level was okay-to-mediocre but better than nothing, so I got more value out of Udemy than Coursera.

I also found that Youtube videos are just as informative as Udemy classes, but they're not always as well structured.

The MOOCs had some pretty cool/interesting university classes that don't exist anywhere else. It's a shame those videos weren't preserved where we can access/purchase them without attending the college.

I agree, some of the worst employees I've seen were hired that way.

I haven't hired anyone recently but btwn 10-20 years ago I did hire a lot. Of course we reached out via our network of connections but that gets tapped out fast, so you have to rely on job postings. It was always hundreds of applicants per opening. Back then it wasn't 1000's but it might as well have been because I didn't have enough time to sift through them all. That's ok, you can just approach it like "the dowry problem" (also known as the secretary problem [1]).

But the job market and hiring is way worse now, and it's pretty horrible for job seekers atm.

[1] https://en.wikipedia.org/wiki/Secretary_problem

As mentioned elsewhere here, Ocaml and the ML family are often cited as easy to implement other languages, due to pattern matching, enum variants, sum types, etc. Since newer languages like Rust and Swift copied those features, you might be more interested in them since they're more popular than older ones like Ocaml and Haskell. Personally I like the syntax sugar in Swift.

Also I found it useful to compare other people's implementations to get a feel for different approaches. See this suggestion: https://news.ycombinator.com/item?id=28479120

In the absence of Western tools like ChatGPT and Claude, many Chinese universities have begun deploying local versions of DeepSeek on campus servers to support students. Many top universities have deployed their own locally hosted versions of Deepseek. *These campus-specific AI systems–often referred to as the “full-blood version” of Deepseek—offer longer context windows, unlimited dialogue rounds and broader functionality than public-facing free versions.*

This makes so much sense. Are there any U.S. universities doing this?

A caipirinha with vodka is called a caipiroska. I name my computers after caipirinha varieties. Once at the office my laptop screensaver was showing "caipiroska" and a Russian guy exclaimed, "what's that?!?" Apparently "piroska" has a certain connotation in Russian that's nsfw.

End of an Era 1 year ago

I'm glad you're trying to explain the difference.

I've been in too many conversations where this topic comes up, and it's very disheartening to me. Gamers insist there are plenty of great narrative games, and every example they give is basically a branching story with bunch of flags that gate which branches can be taken. If I give the Holodeck as a counter-example, well that's just too pie-in-the-sky.

These conversations remind me a lot of Paul Graham's Blub Paradox: "Blub is good enough for him, because he thinks in Blub." Current SotA narrative games are good enough for most gamers, because all they've played are branching story games.

End of an Era 1 year ago

Chris Crawford's tools for interactive storytelling may have failed, but he was a huge inspiration for me in my game dev career, and I still harbor aspirations in "interactive storytelling" due to his influence.

I first attended CGDC in 1994. It was two years after his Dragon Speech (which I knew nothing about), but the highlight of the conference was his talk about the challenges of story-based games. The part I remember is how he modeled stories as branching trees with fan-out, foldback, tree-of-death, etc (he covers this in the "Architecture" chapter of this book "The Art of Interactive Design"). I didn't really follow Crawford's work on Erasmatron or later, but by the late 90's it sounded like his story model had changed from a tree to a graph network structure, like a finite state machine. While it was an improvement, I was a bit skeptical that this model was enough. Nevertheless, I spent a lot of time thinking about the problem. You see, he'd already infected me with his dream of interactive storytelling.

By the time I moved to California and took a job at EA/Maxis on The Sims 2.0 team, I had decided that true interactive storytelling (as I saw it) was not possible until game AI was sophisticated enough to enable autonomous NPC chatbots. So I put that dream aside while I pursued a career in software development.

Here we are, over a quarter of a century later, and that AI technology is here now. For those of us who have been waiting for this moment, it is almost miraculous. It might be the end of an era for Chris Crawford, but it is just the beginning of the AI-based interactive storytelling era.

"Why is AI so popular when nobody wants it?"

This sounds like that Yogi Berra-ism, "No one comes here anymore, it's too crowded."

I suppose well over half of the people who read HN are too young to remember the dotcom craze. Everyone had every scrap of money tied up in tech stocks. IMO, the hype over AI is relatively small compared to other hype cycles. The goofiest part was the endless predictions about the singularity, and "you don't know what exponential growth looks like, man!". I mean, it can still happen, but for a while that's what AI was all about.

I agree that a debugger is a great tool; in particular, knowing how to set conditional breakpoints and how to read a stack trace allows you to do things that are nearly impossible in other ways. I can give a example story below, but first:

There's a larger point here that *debugging methodology* in general is a key skill that many programmers seem to overlook or take for granted, and even think they are good at it while making wasteful mistakes -- real Dunning-Kruger material here.

* I can't tell you the number of times I've seen developers get a hunch and waste too much time going down a rabbit hole, instead of devising a test to attempt to disprove the hypothesis before plowing into a huge code review and seeing ghosts in every shadow of the codebase.

* Print statements for debugging aren't necessarily always the wrong tool, but the mindset should be that they are code and can have bugs too. Good debug logging should be part of the code telemetry infrastructure, so you can toggle it on/off. If it's going to be written and deleted, then use a debugger instead.

Actually this post is getting long so I'll stop now, but I could go on for several paragraphs.

Oh wait, I promised a debugger story. One time I started a new job, they assigned me a bug that other developers had spent a lot of time on but never resolved. It was a random crash, in a game, that rarely happened in less than 12 hours of continuous runtime, typically after 18 hours. The crash occurred even when the game was idle with no player input. The crash stack trace was very different in many instances, so the failure was happening some time/distance after its cause. My first pass was to devise tests to eliminate subsystems: try to repro the crash after disabling all graphics/animation, another test that disabled all audio/input, etc. That led to narrowing it down to a problem with the music. Telemetry showed no memory leaks, it was not running out of heap. The music playback was in a thread, double-buffered. I added a bunch of conditional breakpoints that were based on assert-like conditionals. One of those caught the interrupt happening in between two statements that should have been in a critical section. Instead of using a mutex around the whole thing, I just switched the double buffer logic to a queue, which resolved the problem.

I too have been on Mac for over 20 yrs, but day-jobs are sometimes on Windows. Currently I work in Ubuntu under Windows on a Lenovo X1 Carbon. I feel the same about moving away from Mac. Apple's hardware planned obsolescence/deprecation schedule would have been reasonable during the Moore's Law era, but it feels too fast now, so I'm looking at migrating to Linux on Framework laptops. I don't play games much anymore so don't really need Windows.

Linux is fine, it's similar enough to macOS (and Windows, for that matter). For my tastes, all the OSes require some tweaking and compromise. I don't understand the fascination with tiling window mgmt, and disable it everywhere (was surprised it got added to macOS Sequoia). I love having different wallpapers on virtual desktops. Etc etc, there are all sorts of different setup options are available on one platform but not another.

It turns out that my stumbling block is the trackpad and keyboard -- I know this issue is highly specific to each individual, so you may not care about this. I haven't tried them on a Framework laptop but they're both horrible IMO on the Thinkpad. (Other people tell me that I'm crazy and they love the keyboard, so YMMV.) The trackpad feels like plastic crap and responsiveness is subpar. Causing a right-click by pressing slightly right of center is annoying. The page up/down keys in the inverted-T pad get in the way. Even on Mac, I didn't like the era of full size left-right arrows, and bought a couple spare old Mac keyboards that don't have those keys. Thankfully Apple fixed that in more recent designs.

Since I code all day, I'm constantly using the key sequences for copy/paste and search/replace. Maybe with time you can switch your muscle memory for these things, but I think it's simple to do these things on a Mac keyboard and not quite as easy (e.g. ctrl/shift-insert) on Linux/Windows.

However, the issues that you'd run into are most likely going to be different than the ones I did. You're probably just going to have to try it and find out if you like it or not.

Oh it's nice to see productivity ones. I mostly use bookmarklets on my phone to fix annoyances bc on a desktop browser you can just open the js console or inspector.

I beefed up the 'kill sticky' one <https://news.ycombinator.com/item?id=32998091> but that's not very interesting. Here are some other ones:

* Re-enable zoom on iPhone (for pages that disable it)

    javascript:document.querySelector('meta%5Bname=viewport%5D').setAttribute('content','width=device-width,initial-scale=1.0,maximum-scale=10.0,user-scalable=1');
* Open same page in new tab with js script tags removed (you must click to allow it to open a new tab)
    javascript:(window.openPageWithoutScripts=async%20function()%7Bconst%20resp=await%20fetch(window.location.href);const%20text=await%20resp.text();const%20doc=new%20DOMParser().parseFromString(text,'text%2Fhtml');doc.querySelectorAll('script').forEach(script=%3Escript.remove());const%20w=window.open();w.document.head.innerHTML=doc.head.innerHTML;w.document.body.innerHTML=doc.body.innerHTML;%7D)(); 
* Show page source
    javascript:(function()%7Bvar%20a=window.open('about:blank').document;a.write('%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3Ctitle%3ESource%20of%20'+location.href+'%3C/title%3E%3Cmeta%20name=%22viewport%22%20content=%22width=device-width%22%20/%3E%3C/head%3E%3Cbody%3E%3C/body%3E%3C/html%3E');a.close();var%20b=a.body.appendChild(a.createElement('pre'));b.style.overflow='auto';b.style.whiteSpace='pre-wrap';b.appendChild(a.createTextNode(document.documentElement.innerHTML))%7D)();
* Re-enable long-press context menu (for pages that disable it)
    javascript:(function()%7Bdocument.oncontextmenu=null;window.oncontextmenu=null;%7D)();
* Re-enable text selection (for pages that disable it)
    javascript:(function()%7B;document.onselectstart=null;document.onselectchange=null;document.ondragstart=null;document.onmousedown=null;window.ontouchstart=null;window.ontouchend=null;%7D)();

The temptation to use IDE-based AI is too great, so the industry is just going to to it, and we're just going to have to live with it. It's unfortunate.

Most devs who like AI-coding seem to think AI code-completion is more efficient than chatting with a LLM. Yes, it's true that code-completion is *faster*. But I think chatting with a LLM is more effective.

I'm not going to go into specifics about it now, but maybe if you give it some thought you'll realize the difference. When you're coding you don't always convey your intent to the AI, so it's important to add context with comments. Most coders are too lazy to do that.

Chatting can be just as bad, because many people have horrific prompting style. But I think it's more natural in chat to provide context and explanation, as well as corrections and "oh that's not what i meant" and "in your second point, what exactly do you mean by 'coverage'?", etc. The chat interaction allows you to really hone the code iteratively where both you and the AI have the meaning nailed down.

Even if you are being nicer, or happier, or trying to be helpful - large changes in behavior make everyone think you were lying to them throughout your time, that you were not being authentic.

Uhhh, so, for example, if you were kinda antisocial before, then gave notice and started acting friendlier... this means you were being inauthentic??? Hehehe

Isn't it just the opposite? If you actually feel differently, isn't it more authentic to act the way you feel?

While we're dishing out random advice, here's mine: Don't live in fear of what others think, especially right after giving notice.

Looks just like a capsule hotel. $700/mo is roughly $23/nt, about the same price as a basic capsule.

This past week I just happened to spend 5 consecutive nights in a capsule hotel in Yokohama, and 2 nights in a goshiwon[1] in Seoul.

In theory I liked the idea of capsules but the experience was not what I hoped. The capsule hotel was highly rated (on Booking.com) and would have been fine for 1-2 nights, but def not good for a longer stay.

- The capsule structures were metal with plastic panels, and would creak whenever anyone got in or out. It was easy to accidentally bump the wall and make a big noise.

- Climbing down the ladder was awkward.

- You could hear anyone snoring in the whole room.

- The aircon in the outer room was great, but as soon as you shut the screen across its opening, the capsule got stuffy despite its ventilation fan.

- Once at 1am, a guy intentionally pounded the wall of his capsule a few times, which reverberated through the whole structure, triggering shouting (in angry Japanese) from other capsules, and in response he just pounded the wall several more times.

The goshiwon cost about 1.7x more but was at least 4x better. A twin bed in a tiny room, with a tiny desk and a tiny window. In comparison it was an amazing value for the price.

Maybe I'd stay in a capsule again if I just needed a place to crash for the night after midnight, but otherwise never again.

[1] https://en.wikipedia.org/wiki/Gosiwon

also: https://www.youtube.com/watch?v=6MtdI5LKfgU

When I tried to preorder an iPhone they eliminated the option to pick it up from the store. An employee told me they didn't want hordes of people picking up preorders on the same day. I don't know if that's the reason but it was pretty frustrating.

Having it delivered is risky in several ways. If they try to force you to get it delivered, I think it's better to wait until after the preorder period.

Yes, please don't misunderstand, I agree with you on both points, with regard to both outsourcing and full-time employees.

And everyone on this thread is basically saying the same thing.

My point about the way most dev shops currently do business is that there's a grey area where there's not a bright clear line. As a manager who hired these dev shops, and as someone with a boss who wanted me to hire these dev shops, I was forced to deal with this issue every time.

Yup, I haven't replied to the email and wasn't going to. I was just wondering if there is a scenario where the arrangement is legit, or alternatively, if there's a particularly interesting scam going on here.

If one person does interviews, while someone else does the work, that is what we call a lie.

If you see my sibling comment (https://news.ycombinator.com/item?id=41649280), I explain how that lie is actually quite typical.

splitting profits 50/50 just for being part of a sales effort? Too good to be true.

Agreed. But sales commissions can be higher than 50%, so you never know.

OK, to clarify:

1. Most dev shops work in a similar way:

During my career I have worked as a middle manager at multiple companies where I was on the other side of the table. That is, I outsourced projects to dev shops. All of them would bring a technical lead to the initial interview, and all of them would pass the work to one or more junior devs. Of course, they'd say that the tech lead was overseeing the work, but in some cases it was only marginally true.

I came to expect that this bait-and-switch is how larger oursourcing shops work, so later I tended to hire individual contractors where it wasn't a problem. However, since that meant more of my time was spent overseeing the contractors, this approach didn't always sit well with my own boss who wanted higher volume output. So often I was forced to play this game with outsourcing dev shops.

Are those dev shops being unethical? If they got the job done, and they told the client that the junior employees handled the work and the tech lead simply approved the final submission, then I think most employers would be ok with it.

2. Working 2 full-time jobs is ethical IF the employers know that's what you're doing:

If an employee is so proficient that they can do their work at two different full-time jobs, then most employers shouldn't have much reason to complain. But generally we're talking about lying to the employer and since employment contract almost always include an exclusivity clause then it's no minor verbal lie. There's no way this is more ethical than what the dev shops do.