Hacker Newsnew | past | comments | ask | show | jobs | submit | michaelmior's commentslogin

What threw me off is the expectation that I use the same variable names and exact same code structure. There are many ways to implement effectively the same thing. I understand that it would be very challenging to implement a way to validate solutions in this way, but memorizing exact fragments of code feels like it's optimizing for the wrong thing.

Thanks for taking the time to try it and write this up.

You are right that the current check still leans too much toward my reference solution. It already ignores formatting and whitespace, but it is still quite literal about structure and identifiers, which nudges you toward writing my version instead of your own. There are many valid ways to express the same idea and I do not want to lock people into only mine.

Where I want to take it is two clear modes. One mode tracks the editorial solution for people who want to learn that exact version for an interview, while still allowing harmless changes like different variable names and small structural tweaks. Another mode is more flexible and is meant to accept your own code as long as it is doing the same job. Over time the checker should be able to recognise your solution and adapt its objectives and feedback to what you actually wrote, instead of pushing you into my template. It should care more about whether you applied the right logic under time pressure than whether you matched my phrasing.

There is also a small escape hatch already in the ui. If you completely blank or realise you have missed something, you can press the Stuck button to reveal the reference line and a short explanation, so you still move forward instead of getting blocked by one detail.

You are pushing exactly on the area I plan to invest in most. The first version is intentionally literal so the feedback is never vague, but the goal is for the checker to become more adaptive over time rather than rigid, so it can meet people where they are instead of forcing everyone through one exact solution.


Some might consider that a kind of commentary on the leet code interview format.

After hearing people complain about these fearsome "leetcode interviews" for what feels like a decade now, I have to wonder when I am finally going to encounter one. All I get are normal coding problems.

One man's leet code is another man's simple programming question which involves minimal domain knowledge...

I've had candidates describe what I'd loosely call "warm-up" questions as leet code problems. Thing like finding the largest integer in an array or figuring out if a word is a palindrome.


When people say leet code they usually mean problems that are easy once you know the algorithm, and hard to impossible (in an interview) otherwise.

typical examples would be sorting algorithms or graph search problems, and some companies do indeed ask these; some big tech (the ones everyone studies for) may exclusively ask these. Thats imo largely because CS new grads are their primary pipeline.


I mean to be fair "figure out a word is a palindrome" is literally one of the first questions on leetcode. #9 https://leetcode.com/problemset/

This by itself completely un-sold me. Requiring such rote memorization is a hard pass for me, it seems the user should just be able to self-assess whether they got it “right” (like Anki cards).

> You trust GitHub to give you the right code for a SHA.

The vast majority of users use GitHub-hosted runners. If you don't trust GitHub, you have bigger problems than whether the correct code for an action is downloaded.


I assume that git (not Github) verifies that, if you checkout a hash, the contents of the commit match the hash.

Anyway, software is so complicated that at some level, you need to trust something because it's impossible to personally comprehend and audit all code.

So, you still need to trust git. You still need to trust your OS. You still need to trust the hardware. You just don't have enough minutes in your life to go down through all those levels and understand it well enough to know that there's nothing malicious in there.


The in-browser demo is very cool! It's not clear from the linked page, but the GitHub repo[0] includes links to sample tile datasets that can be used for the demo.

[0] https://github.com/zengyf131/gswt_renderer


To the original authors, really needs a default tileset for the demo, with maybe a link to the files. An an progress/upload bar for when you're trying to upload a .zip. Tried, and appeared to stall out for minutes on upload with no response.

Took a while to figure it out, but no mouse looking AFAICT:

WASD for movement, IJKL for looking, Space for "a bit faster"


Very cool, performance is abysmal at least on my m1 pro mac though - only getting ~2fps.

It works "fine" on my M4 - didn't check the FPS.

If you hold "Space" you move faster - there were a LOT of settings in the egui pop-up that could probably help...


There are solutions such as Answer Overflow[0] that allow public indexing and search of Discord content that solve this problem.

[0] https://www.answeroverflow.com/


With a little work, it's sometimes surprising how easy things are to repair. My TV died a few years ago and just refused to power on. I don't really know much about electronics, but I assumed since there were no lights of any kind that it was probably a bad power supply. I opened it up and it turns out the power supply is a separate board with an easily detachable cable. I ordered a new one for less than $40 on eBay by looking at the part number and it only took a few minutes to replace and saved me several hundred dollars.

I'd imagine someone more familiar with electronics possibly could have figured out what specific component was wrong and replaced only that for an even smaller fraction of the cost.


As long as the small PCB is $40 it's fine. I had a central vacuum fail like that a couple of years ago, and the small PCB would have cost $350.

The PCB had already been replaced twice during the warranty period. Googled the major components and they were $3 - $5 a piece, just a couple of half bridge rectifiers, resistors and diodes.

Didn't want to risk a fire from a DIY job, which would have definitely voided my insurance, so I spent $400 on a new central vacuum unit (from a different brand).


Not a lawyer but I don't think home repairs void most home insurances in common law countries unless you are working with parts that are particularly dangerous, part of a safety system to protect others, and/or absolutely require a skilled professional.


I'm pretty sure that if a fire starts in my central vacuum unit, and my insurance company does an investigation that finds a DIY swap of power electronics components in that unit, I would at the very least be in a lengthy legal battle to get any money back.


That’s not true in the US, which is what the post above yours was trying to explain.


Power supplies may fail in a cascading manner. Unless it's something like a fuse that was blown due to a known external event, one broken component can take out a couple of friends with it.

If you can get a new board for 40$, that's probably the best course of action.


Just replaced a £500 IKEA combi microwave because the main circuit board is just behind the grating at the top of the door which had gotten dirty and had been slightly more enthusiastically cleaned by my partner than it was designed for.

It would have been a 10 minute job to change the circuit board but I only ever found an old advent on a Polish website. Apparently it's discontinued.

I refuse to believe every model needs a completely custom main board but there you have it.


I'd imagine someone more familiar with electronics possibly could have figured out what specific component was wrong and replaced only that for an even smaller fraction of the cost.

Probably electrolytic capacitors (usually in the tens of cents each, or less.) They are the #1 suspect in any electronics as they have the most well-known and finite lifespan of all parts. They became particularly infamous for failing when this happened: https://en.wikipedia.org/wiki/Capacitor_plague

The term has even created a noun in other languages: https://sv.wikipedia.org/wiki/Kondensatorpest


This was my assumption that it's a good chance that there was a failed capacitor. But at the time I didn't have a capacitance meter and I still don't have the confidence in soldering to be able to fix if that was the case.


Sometimes yes, but I've also got a fair number of appliances with a cooked main CPU which I can replace, but have no hope of ever being able to get the firmware for.


This would be a $1000 custom part in a Miele appliance though.


This. My miele door closed detector sensor broke. The part was 700 euros


Cool to see more players in this space. See also the Postgres implementation of Vercel's "Workflow" for something similar for JavaScript.

[0] https://useworkflow.dev/docs/deploying/world/postgres-world


I'm working on a JSON schema discovery tool, JSONoid[0]. JSONoid can discover many more features of JSON Schema than existing tools such as regular expression patterns, formats, and dependencies. I'm also working on integrating this with some past work I've done on using LLMs to augment JSON Schemas[1,2].

There are a number of use cases for such a tool. One is for helping data analysts who are handed a pile of JSON documents to be able to more quickly and effectively craft analytics pipelines for heterogeneous data where just inspecting a few documents isn't sufficient. Another is to help automate API specification generation and regression testing. Definitely interested in any feedback.

[0] https://github.com/dataunitylab/jsonoid-discovery/ [1] https://michael.mior.ca/blog/llms-for-schema-augmentation/ [2] https://arxiv.org/abs/2407.03286


GPUI yes, but I'm not so sure about GPUI Component which is what I assumed the parent was talking about.


I don't know that it's all that meaningful to discuss the component library as if it were its own UI framework. None of the other rust UI frameworks have distinct component libraries with distinct usage data either


> No hub required - TOMMY runs as a Home Assistant add-on or on a Linux host (Docker) and uses supporting devices to create a sensing network.

I don't see how either the HA instance or the Linux host can't be viewed as a hub. No hub required feels untrue to me. I assume this question is intended to clarify that some additional device is not necessary, but I think this could be reworded.


You're absolutely right. Thanks for the feedback! "No hub required" is misleading. What I meant was "no additional proprietary hub". Meaning, if you're already running Home Assistant or have a Linux machine, you don't need to own a separate device like Zigbee/Z-Wave hub. But yes, the HA instance or Linux host is effectively acting as the hub. I'll update that wording on the site.


I figured that's what you meant and I think it's totally reasonable! I just think the wording could be updated a little. I have a couple ESP32s lying around not doing anything, so I'm looking forward to trying out TOMMY with HA :)


I agree. I'm going to find something more suitable :-) Sounds good. Looking forward to hearing about your results!


>You're absolutely right. Thanks for the feedback!

I have PTSD whenever I see that phrase. Please don't be a LLM reply.


I'm hoping you'll open the API some time in the future. This would be great for diy installations with a esp32 hub.


Fair criticism. I think the generous interpretation of "no hub" means you don't have to buy a specialized hub eg a Smartthings hub.


OTOH, when you buy any Bosch, IKEA, Hue, Aqara device, it says on the box: Hub required (and they do mean get our hub and place next to all other hubs. Even though Home Assistant will usually work fine-ok).

So I see where he’s coming from, and I interpreted it as intended.


Don’t the matter compatible ones work with any hub?


You are of course correct but in the HA community "no hub required" often should be read as "no addiditonal hub required because HA can communicate directly with it"


Agreed although I think it would still help to be more explicit.


I'm curious if you do anything to control how the code evolves over time. Test suites are often incomplete and it's possible that behavior that is not fully specified may be unintentionally relied on.

If Specific regenerates code from the spec each time (which I'm not sure it does), there's the potential for different code each time even for parts of the spec that haven't changed. This seems like a nightmare for maintainability and debugability.


That's a good question!

> If Specific regenerates code from the spec each time (which I'm not sure it does), there's the potential for different code each time even for parts of the spec that haven't changed

It doesn't. When the spec changes, the coding agent takes the diff and turns it into the equivalent change to the codebase. The tests also run each time so that the coding agent does cause a regression as part of this. Although as you say, test suites are often incomplete. We are aiming to make it easier to build complete test suites in Specific than in regular code though because they are a part of the spec and the agent can you help write them as well.

We haven't done much yet in this area but I'm quite excited about how to evolve the codebase over time. I think we have an advantage in that a system evolving also means the specs are evolving and growing. We can maintain a loose mapping behind the scenes between specs and code for the coding agent, to give it the right context and keep code changes localised even as a system grows large. We can also refactor incrementally as we go as given that it becomes the job of the coding agent, instead of a human that might put it off.


Thanks for the reply! I still worry about debugability. What if the generated code doesn't actually follow the spec? I understand that then generated tests would fail, but I assume there will be cases where Specific will fail. With no access to the code, it seems like there's no way to correct this. Is there any sort of escape hatch for these cases?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: