How To Use LLMs For Programming Tasks

[Simon Willison] has put together a list of how, exactly, one goes about using a large language models (LLM) to help write code. If you have wondered just what the workflow and techniques look like, give it a read. It’s full of examples, strategies, and useful tips for effectively using AI assistants like ChatGPT, Claude, and others to do useful programming work.

It’s a very practical document, with [Simon] emphasizing realistic expectations and the importance of managing context (both in terms of giving the LLM direction, as well as the model’s context in terms of being mindful of how much the LLM can fit in its ‘head’ at once.) It is useful to picture an LLM as a capable and obedient but over-confident programming intern or assistant, albeit one that never gets bored or annoyed. Useful work can be done, but testing is crucial and human oversight simply cannot be automated away.

Even if one has no interest in using LLMs to help in writing production code, there’s still a lot of useful work they can do to speed up the process of software development in general, especially when learning. They can help research options, interactively explore unfamiliar codebases, or prototype ideas quickly. [Simon] provides useful strategies for all these, and more.

If you have wondered how exactly glorified chatbots can meaningfully help with software development, [Simon]’s writeup hopefully gives you some new ideas. And if this is is all leaving you curious about how exactly LLMs work, in the time it takes to enjoy a warm coffee you can learn how they do what they do, no math required.

Solid Tips For Designing Assistive Technology (Or Anything Else, Really)

Do you make things, and have you got almost ten minutes to spare? If not, make the time because this video by [PrintLab] is chock-full of healthy and practical design tips. It’s about effective design of Assistive Technology, but the design concepts extend far beyond that scope.

It’s about making things that are not just functional tools, but objects that are genuinely desirable and meaningful to people’s lives. There are going to be constraints, but constraints aren’t limits on creativity. Heck, some of the best devices are fantastic in their simplicity, like this magnetic spoon.

It’s not just about functionality. Colors, textures, and style are all meaningful — and have never been more accessible.

One item that is particularly applicable in our community is something our own [Jenny List] has talked about: don’t fall into the engineer-saviour trap. The video makes a similar point in that it’s easy and natural to jump straight into your own ideas, but it’s critical not to make assumptions. What works in one’s head may not work in someone’s actual life. The best solutions start with a solid and thorough understanding of an issue, the constraints, and details of people’s real lives.

Another very good point is that designs don’t spring fully-formed from a workbench, so prototype freely using cardboard, models, 3D printing, or whatever else makes sense to you. Don’t be stingy with your prototyping! As long as you’re learning something each time, you’re on the right path.

And when a design is complete? It has the potential to help others, so share it! But sharing and opening your design isn’t just about putting the files online. It’s also about making it as easy as possible for others to recreate, integrate, or modify your work for their own needs. This may mean making clear documentation or guides, optimizing your design for ease of editing, and sharing the rationale behind your design choices to help others can build on your work effectively.

The whole video is excellent, and it’s embedded here just under the page break. Does designing assistive technology appeal to you? If so, then you may be interested in the Make:able challenge which challenges people to design and make a 3D printable product (or prototype) that improves the day-to-day life of someone with a disability, or the elderly. Be bold! You might truly help someone’s life.

Continue reading “Solid Tips For Designing Assistive Technology (Or Anything Else, Really)”

Wearables queen [Becky Stern] with a microcontroller and a speaker. And a skull!

Wearable Tech Tips Directly From The Queen

What’s the only thing cooler than building something electronic? That’s right — wearing it proudly for all to see.

But maybe you’re not into wearables. Maybe it’s because you’re afraid of sewing, or simply scared that you won’t be able to launder that blinkenshirt you’ve always wanted to make. Well, the undisputed queen of wearables — [Becky Stern] — has a bunch of beginner tips for making DIY wearables. She’s created dozens and dozens of wearable projects and matching tutorials over the years and has graced these pages many times.

As [Becky] points out, once you have your idea sorted, the next thing you need is the tools to get the skills to do the parts you don’t know how to do yet. Even if that’s almost all of it, then this is the guide for you. Importantly, [Becky] reminds us that we should only bite off what we can chew, and that ready-made modules and such are perfectly fine.

There are some tips here that may surprise you. For instance, [Becky] recommends against conductive thread for beginners who already know how to sew by hand, largely because of power delivery and other issues. She also is somewhat anti-lithium battery pouch, preferring instead to use a couple of AAs or a USB battery bank for the renewability aspect.

Be sure to check out the video after the break, which has these tips and more.
Continue reading “Wearable Tech Tips Directly From The Queen”

Winter-Proof (And Improve) Your Resin 3D Printing

Was your 3D printer working fine over the summer, and now it’s not? With colder temperatures comes an overall surge in print failure reports — particularly with resin-based printers that might reside in outbuildings, basements, or garages. If you think this applies to you, don’t miss [Jan Mrázek]’s tips on improving cold-weather print results. His tips target the main reasons prints fail, helping to make the process a little more resilient overall. [Jan]’s advice is the product of long experience and experimentation, so don’t miss out.

With environmental changes comes the possibility that things change just enough to interfere with layers forming properly. The most beneficial thing overall is to maintain a consistent resin temperature; between 22 and 30 degrees Celsius is optimal. A resin heater is one solution, and there are many DIY options using simple parts. Some of the newer (and more expensive) printers have heaters built in, but most existing hobbyist machines do not.

An extreme case of blooming.

Temperature control isn’t the only thing, either. Layer formation and build plate adhesion can all be improved by adding rest times between layers. Yes, this increases print time. It also allows resin to settle before the next layer, improving adhesion and preventing blooming (a rough texture caused by an imperfect cure.) Since resin flows less readily at lower temperatures, rest times can help improve results. The best setting depends heavily on your particular setup, so [Jan] gives tips on finding optimal rest times.

Most common knowledge and advice from well-meaning communities online focuses on increasing exposure time or blaming the build plate. [Jan] feels that these are ultimately the wrong way to go about addressing failures. Usually, an environmental change (like the arrival of winter) has simply pushed a printer that was not optimized in the first place outside of its narrow comfort zone. A little optimization can set things back on track, making the printer more resilient and reliable overall.

2024 Business Card Challenge: PCB Business Cards For Everybody

PCB business cards for electronics engineers might be very much old news in our circles, but they are still cool, not seen too much in the wild, and frankly inaccessible to those in other industries. For their entry into the 2024 Business Card Challenge, [Dima Shlenkevitch] is helping a little to alleviate this by providing a set of design examples and worked costs with suppliers.

Original green is still the cheapest option.

[Dima] lists key features every PCB business card should include, such as the expected thickness, restrictions for placing NFC components, and some aesthetics tips. Make sure to choose a supplier that allows you to remove their order number from the manufactured PCB, or it will look out of place.

Ordering PCBs with these specifications to keep costs reasonable requires effort, so [Dima] offers some example designs along with the results. If you want to have pretty gold lettering and graphics, you will need ENiG plating, increasing the price. Non-standard solder mask colors can also raise the price.

Will this help with the practical aspects of driving the PCB design software and actually placing the order? Obviously not, but the information provided gives you a leg up on some of the decisions so you don’t go down an expensive rabbit hole.

Linux Fu: Deep Git Rebasing

If you spend much time helping people with word processor programs, you’ll find that many people don’t really use much of the product. They type, change fonts, save, and print. But cross-references? Indexing? Largely, those parts of the program go unused. I’ve noticed the same thing with Git. We all use it constantly. But do we? You clone a repo. Work on it. Maybe switch branches and create a pull request. That’s about 80% of what you want to do under normal circumstances. But what if you want to do something out of the ordinary? Git is very flexible, but you do have to know the magic incantations.

For example, suppose you mess up a commit message — we never do that, of course, but just pretend. Or you accidentally added a file you didn’t want in the commit. Git has some very useful ways to deal with situations like this, especially the interactive rebase.

Continue reading “Linux Fu: Deep Git Rebasing”

Share Your Projects: Making Helpful PCBs

When it comes to things that hackers build, PCBs are a sizeable portion of our creative output. It’s no wonder – PCB design is a powerful way to participate in the hardware world, making your ideas all that more tangible with help of a friendly PCB fab. It’s often even more lovely when the PCB has been designed for you, and all you have to do is press “send” – bonus points if you can make a few changes for your own liking!

A lot of the time, our projects are untrodden ground, however, and a new design needs to be born. We pick out connectors, work through mechanical dimensions, figure out a schematic and check it with others, get the layout done, and look at it a few more times before sending it out for production. For a basic PCB, that is enough – but of course, it’s no fun to stop at ‘basic’, when there’s so many things you can do at hardly any cost.

Let’s step back a bit – you’ve just designed a board, and it’s great! It has all the chips and the connectors you could need, and theoretically, it’s even supposed to work first try. Now, let’s be fair, there’s an undeniable tendency – the more PCBs you design, the better each next one turns out, and you learn to spend less time on each board too. As someone with over two hundred PCBs under her belt, I’d like to show you a bunch of shortcuts that make your PCB more helpful, to yourself and others.

There’s a few ways that you can share your PCB projects in a more powerful way – I’d like to point out a few low-hanging fruits, whether README.md files or markings on the PCB itself. I’ve been experimenting quite a bit with external and embedded documentation of PCBs, as well as PCB sharing methods, got some fun results, and I’d like to share my toolkit through a few punchy examples and simple tricks. I’d also like to hear about yours – let’s chat! Continue reading “Share Your Projects: Making Helpful PCBs”