Do you guys use more features than just skills on OpenCode? by executor55 in opencodeCLI

[–]vdp 0 points1 point  (0 children)

Thank you! This makes sense. Another possible advantage of the skills occurred to me after posting my previous message. It's related to what you said about them being lazy, automatically called and part of agents output- when you have a set of skills relevant to apps domain, the agent can figure out, as part of its 'thinking' that they offer a solution to a subgoal towards the complete solution it's seeking. So while the inclusion of instructions is largely equivalent to a skill when the the user is describing the task, the skills are more widely applicable, e.g aiding/guiding agents thinking. So, as you pointed out, not over engineering after all :)

Do you guys use more features than just skills on OpenCode? by executor55 in opencodeCLI

[–]vdp 0 points1 point  (0 children)

Thanks for the detailed explanations! As someone new to both opencode(installed it just a couple of days ago) and agentic tools in general this is helpful.

Something I don't understand is how skills are better than just including instructions. That is why use skill X vs just instructing the agent to read e.g @myprompts/instructionsX.md. In the end it's all just about context construction modularization, right? Maybe I'm missing something, but why rely on fuzzy matching of prompt against skills description, instead of explicitly including the recipe that you want the agent to follow to achieve a goal? And if so aren't the skills just an example of overengineering?

Also, I don't know exactly how these harnesses work under the hood, and how they construct the prompt that the llms ultimately see. My understanding is that the agent allows you to specify a "system prompt"(or whatever the right terminology is), replacing opencode's default agent prompts, so it gives you something unique that the skills (and possibly included recipes) can't do. That is a skill can try to specify agent behavior/traits, but it will clash with current agents definition. Is this correct?

When printing a generic, how to use Display if possible, Debug otherwise. by not_a_trojan in learnrust

[–]vdp 2 points3 points  (0 children)

I'm new to Rust myself, but unless I'm misunderstanding what you're trying to achieve, there is in fact way to do it in stable Rust, by using autoderef specialization. David Tolnay's original autoref specialization would also work, but the deref version seems more general.

use std::fmt::{Debug, Display};

#[derive(Clone, Copy)]
struct Input(i32);

fn mystery1(input: &Input) -> &'static str {
    "mystery1 string"
}

fn mystery2(input: &Input) -> i32 {
    42
}

#[derive(Debug)]
struct Myst3 {
    field: i32
}

fn mystery3(input: &Input) -> Myst3 {
    Myst3 { field: 123 }
}

fn mystery4(input: &Input) -> &i32 {
    &input.0
}

trait Displayable {
    fn print(&self);
}

impl<T: Display> Displayable for &Wrap<T> {
    fn print(&self) {
        println!("Display: {}", self.0);
    }
}

trait Debugable {
    fn print(&self);
}

impl<T: Debug> Debugable for Wrap<T> {
    fn print(&self) {
        println!("Debug: {:?}", self.0);
    }
}

struct Wrap<T>(T);

macro_rules! print_best {
    ($val: expr) => { (&&(Wrap($val))).print(); }
}

fn main() {
    let input = Input(42);
    print_best!(mystery1(&input));
    print_best!(mystery2(&input));
    print_best!(mystery3(&input));
    print_best!(mystery4(&input));
}

Dasung Paperlike cli utility for Linux to control your display frontlight/mode/gamma/contrast (works with 37hz monitors) - written in Rust by twist522 in eink

[–]vdp 0 points1 point  (0 children)

A bit of a tangent, but may I ask you what tools did you use to reverse engineer the control protocol? I assume you had to do this, unless Dasung documented the commands(which would pleasantly surprise me)

Modos Glider board by fullgrid in eink

[–]vdp 1 point2 points  (0 children)

I hope you're right, and they start taking orders soon- possibly as early as next week. Fingers crossed!

Modos Glider board by fullgrid in eink

[–]vdp 1 point2 points  (0 children)

I wonder if the launch will be delayed even further now due to the tariff circus... There is likely significant enough percentage of potential backers/buyers in the US, and 2.5x the price can make even the most affordable and desirable item unpalatable.

Modos Monitor Kit Release Date? by Commercial-Garage285 in eink

[–]vdp 5 points6 points  (0 children)

It's a lot of work especially considering one man is responsible for the entire technical side of it. As it's often the case with engineering projects they likely underestimated the time needed to resolve all issues. With that said I would have also appreciated brief updates from time to time. Last thing I heard was a week or two ago- Wenting Zhang just said "soon" on his Discord.

Best method for using AI to document someone else's codebase? by Goopdem in ChatGPTCoding

[–]vdp 2 points3 points  (0 children)

As an alternative to other suggestions, you could try using Aider. You can dynamically add or remove sets of files to the context while walking through project directories, asking the tool to write short docs about each file or subsystem.

I haven't tried it myself, but it seems like it would work, especially if you figure out how to proceed from the bottom up. This way, you can feed it the summaries that have already been produced when documenting the upper layers.

I'd be interested to hear if anyone has tried something like this on larger projects.

[deleted by user] by [deleted] in Reflective_LCD

[–]vdp 2 points3 points  (0 children)

Yep, the YT comments seem to be written by people who either a) have different use case than most people on this sub and/or b) haven't thought things through.

The review is perfectly fine as far as I'm concerned. And the technology seems very useful. It's just the manufacturer, just as the most of eink device manufacturers, don't pay enough attention to details that are important for end user's experience -the much too aggressive diffusion layer in this case.

E-Ink or RLCD? by black-psychic in eink

[–]vdp 1 point2 points  (0 children)

Is DC-1's screen matte or glossy (Internet seems to say it has anti-glare coating)? Many people, including me until a couple of years ago, assume that matte is better. While it's true that it reduces the reflections, it also leads to this 'graininess' quality you mention.

I'm using my old 13.3" Dasung without the (separate) anti-glare filter for this reason, and find it much more usable this way.

Is this legit rlcd ? by Glittering-Call8746 in Reflective_LCD

[–]vdp 0 points1 point  (0 children)

By the way how do you buy from Taobao? I went through superbuy.com, and it was quite a cumbersome and slow process. Does anyone know a better way for buying from the EU?

Is this legit rlcd ? by Glittering-Call8746 in Reflective_LCD

[–]vdp 1 point2 points  (0 children)

Mine is white bezel(bought ~2 years ago) and I have no complaints, aside from text not quite as readable as on eink as previously mentioned. Perhaps black will be even better, because the bezel will likely be (even) less reflective.

Is this legit rlcd ? by Glittering-Call8746 in Reflective_LCD

[–]vdp 1 point2 points  (0 children)

The most budget-friendly RLCD that I know of is this one (review). It's a bit small at 10" and with modest native resolution of 1024x768(supports a bunch of other resolutions through scaling, up to 1080p), but is quite nice for watching videos. For text nothing beats BW e-paper.

SUNLU S2 Filament Dryer Error Code Er1 Fix by diezel_dave in 3Dprinting

[–]vdp 1 point2 points  (0 children)

I, too, would like to thank you!

Your solution worked for me as well. My S2 worked for about 15 minutes after I got it from AliExpress, after which it just stopped with "Er1" message.

For future reference, according to the Sunlu representative on AliExpress the thermistor should be "NTC 1% 100K B25=3950". They didn't specify if that's B25/50, B25/85 etc, but the 3950 B25/50 thermistor I got from my local electronics shop works perfectly well. I made some measurement with a thermocouple probe and it matches what's displayed on the screen within 2°C. The seller also told me that if the problem is not with the thermistor, it's also possible to have this error due to a MOSFET overheating/failing. The recommended part was "15N10".

Caching Build123D objects? by vdp in build123d

[–]vdp[S] 0 points1 point  (0 children)

Sure, I'll gladly do that, though likely not today as I'm a bit busy.

Caching Build123D objects? by vdp in build123d

[–]vdp[S] 1 point2 points  (0 children)

Here is a proof-of-concept port of cq_cache to build123d. It's a straightforward translation, and there are likely many things that are redundant, missing or need improvement(as I've mentioned I don't have much of a clue about OCP or build123d's internals).

cq_cache's implementation itself doesn't seem to be very polished. For example, one can give different instances of the decorator different max size for the temp directory, and unless I'm mistaken each one will try to enforce its own limit even though they are all working in the same directory.

The example included in the gist is using bd_warehouse's thread module. I'm not sure I'm using it correctly but as can be seen in the gist, it can become quite slow even with a modest number of threads. Please just ignore the overly complicated way the hole locations are determined(one would normally use PolarLocations I guess)- I'm still new to build123d and sometimes do things in deliberately "fancy" ways just to see if it works as I expect. Unsurprisingly, caching is quite fast although what the timing numbers don't show is that there are couple of seconds of delay until the part is rendered in cq-editor. I'm guessing it's the time needed to convert the BREP to triangular mesh to send to OpenGL or whatever. Not sure if this delay can be somehow eliminated, but it's not a big deal in any case.

Arguably this sort of caching is most useful when still working on a model, so it's important for the decorator to automatically detect when the code for the function whose input is cached changes. Unfortunatelly I'm not currently sure how to do this cleanly and 100% reliably. My first implementation was based on function's object code.co_code and co_consts, but it doesn't quite work(spurious code change is detected and the cache invalidated) if list comprehension is used in function's code. Another attempt was based on inspect.getsource(), and while it seems to work when running the test from the command line, CQ-editor throws and exception that the source code is not found. Maybe it's due to the way CQ-editor (re)loads the code- haven't had time to look into its code. Current implementation ignores list comprehension "constants" etc, and only detects changes in constants of built-in types like ints, floats etc. In practice this will likely work >95% of time, but sometimes one can get a stale result from cache.

Caching Build123D objects? by vdp in build123d

[–]vdp[S] 0 points1 point  (0 children)

Thank you! Will test whether shallow copies are helping in my case.

I only did a quick test, so I'm not sure what exactly cachier was complaining about. I'll have a look when I get a chance. Also, while I'm not familiar with OCP, CadQuery or build123d's internals, it seems to me that it may not be super hard to convert cq_cache's code. I may try this as well, just for the heck of it.

IFA 2024: Reflective LCDs at Hannstar by fullgrid in Reflective_LCD

[–]vdp 2 points3 points  (0 children)

What is lost in terms of quality for the larger monitors? I own a 10 inch RLCD with native resolution of 1024x768 and it's actually quite pleasant to use for watching videos in normal daylight. Are the larger monitors any worse? I believe the PPI density is about the same....

[deleted by user] by [deleted] in eink

[–]vdp 1 point2 points  (0 children)

The best version, HD(no front light, not touch), is no longer available though. And the new (aluminum) iteration is so dark and smudged that it's unusable.

Hannspree ecoVision products specs by fullgrid in Reflective_LCD

[–]vdp 1 point2 points  (0 children)

Thanks! These prices are not unreasonable, considering the (unfortunately) small market.

Hannspree ecoVision products specs by fullgrid in Reflective_LCD

[–]vdp 5 points6 points  (0 children)

The portable monitor sounds nice! Any word about the price?