• 148 Posts
  • 1.11K Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle
  • Have you setup a rules file for USB? You must have a udev rule setup that gives your user access to the hardware. It is trivial to create, but is one of those little headaches you learn as you go. Sparkfun and Adafruit should both have good tutorials if you search either of them for udev rules.

    Mine for a ch340 is done like this:

    $ cd  /etc/udev/rules.d
    $ sudo nano 69-my-usb-serial-devices.rules
    # ch340
    SUBSYSTEM="USB", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="1a86", ATTR{idProduct}=="7523", MODE="0666"
    

    I just told you to enter the terminal editor nano and enter a note that will help you remember that this is for the ch340 # ch340 followed by a line that sets the permissions for the device using a rule for which users have access to the device. I’m assigning the rule based on the vendor and product ID numbers. You can find these numbers by using the $ lsusb command. FYI, the $ is standard shorthand for command line as your standard user. This is opposed to # which is short for the root user at the command line.

    Once you enter this line in nano, follow the instructions to save the file in nano :qw IIRC. The next time you plug in the device, the kernel should use this rule to set the permissions for the device to 0666 which means everyone can read write, but not execute stuff from the port; with execute would be 0777.

    When you are trying to find info about a USB device the following may be helpful:

    $ sudo dmesg | grep -F "USB device number" 
    

    Note that the last line should be the most recently connected device. $ dmesg is the system-d boot log. Depending on how system-d is configured, you’ll probably see timestamps on the left. The initial bootup devices will show up with a tightly grouped time stamp, while later connections will show a much larger number.

    There have been some recent changes in Fedora that have broken a script I wrote to help me with all the various places where USB hardware is located and finding the right info. I’m trying to parse that script for the key elements. The first step is to find the location of the hardware. You are looking for something like /dev/bus/usb/003/003 or wherever the new device got mounted. This is only the start, because different parts of the device may be mounted in different locations. I’m not just talking about the CH340, but like, if you are doing microcontrollers stuff that gets more complicated like forth, micropython and circuit python where there will be more going on than just the serial port, or you need to know low level stuff. Once you know the specific port, you can use $ udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/bus/usb/003/003) # enter the port for the device in question.

    In the past, my script used $ dmesg to retrieve the device location, then used $ lsusb -D *device location* to get the basic info. Then I went a layer deeper with the udevadm command to see everything related to the device. The command $ fdisk -l might also help with some STM32 type stuff that has a dfu bootloader and identifies as a USB drive when plugged in… At least, I think that was the reason I kept that option in my script, it has been awhile since I used one of those.

    Edit: I can get the actual port location of a device now using $ lsusb -t -vv.


  • Every character is important in AI, including the spaces between words and punctuation. “Womens” is not a word in English. Women is already the plural form of woman. There must be 's to denote the possessive ownership.

    In generative AI, the tools to monitor the tokenized model input are more challenging to view as these tools are not integrated into Automatic1111 or ComfyUI by default like how the feature is integrated into Oobabooga Textgen for LLM’s. Monitoring the tokenized input for the model would show how the word was either omitted entirely or was broken into the simplified single letters, or at least that is how LLM’s do tokenization.

    You should always keep in mind that every word and style you use in a prompt, must correlate with tags that were trained with the image. Many models are trained with natural language sentences, so they have some degree of natural language processing. It is not complex in the same natural language processing as a text to text model where there are complex special tokens that connect the input to the output.

    The way tokens are processed is a major aspect of the evolution of generative AI. For instance, the first stable diffusion 1.x models use CLIP G, which is a very small language processing model. The SDXL models use a dual processing setup with CLIP G and CLIP L used in tandem. The last Stable Diffusion model, SD3, uses a triple processing setup that uses G, L, along with a full T5xxl text to text large language model. I haven’t gone super in depth trying to understand the codebase from SD3, but there is something weird happening with the T5 where SD3 is swapping an entire tensor layer each time the model loads instead of shipping a pretrained model or using a LoRA layering scheme. Safety with generative AI is different from LLM’s. It is not part of the model in the same way that safety works for a LLM. I found it fascinating how SD3 omits human genitalia and started looking into the code for ComfyUI as a result because this behavior is deterministic and therefore not part of the actual tensor tables maths. The behavior centers around the T5 model… Anyways, I’m getting stupid technical on a tangent… What I meant to say is that the text processing and tokenization of the model is external to the tensor tables of the actual generative model. If the processing scheme is complex enough, it might be possible to error correct the prompt, but it is best to assume that the prompt will be exactly as it was submitted.



  • j4k3@lemmy.worldtoAsklemmy@lemmy.mlBest universities for women?
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    2
    ·
    edit-2
    2 days ago

    I’d be looking more at interests and leaders in those interests if possible. Red States don’t do much leading in anything relevant. It sucks to be looking at what one’s life interests might be like at such a young age.

    Personally, I’d be looking at who is closest to TSMC, Intel, Samsung, etc., and focus on getting into schools and programs that lead to semiconductor fabs. There is a lot of money and investment in that space.




  • I treat my persona on the internet like it is an extension of myself. I do not mask my complexity, my identity (if anyone cares to dig), and I hold myself to a universal moral standard that is entirely my own. If someone is rude, I delete my comments, block them, and move on just like I would if I met them elsewhere. I want to be helpful, to engage, but also to just be myself. I’m disabled, and in a lot of pain. I need the chance to think out what I am saying and to do this social engagement in between projects and other tasks. When I feel my limitations, I think about Stephen Hawking and what it must have been like with ALS. While other people’s problems do nothing to help with my own, I still find it helpful to keep in mind that it can always be worse until the day it can’t, and nothing really matters once you’re gone. So you might as well remember today for the glass half full before the rose colored glasses in your future force the perspective on you later. I try not to focus on the negative any more than this.


  • j4k3@lemmy.worldMto3DPrinting@lemmy.worldHelp designing a button?
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    4 days ago

    I just got lucky with the RadioShack unit having been the most convenient option and a 900 series iron. I got into electronics long before 3d printing. The hot knife attachment mixed with Xacto blades has some uses and the attachment is nice for a way to add a longer threaded stud for other custom stuff.

    In a pinch, it might be possible to add a single threaded turn to a sharp conical tip, especially if you can find the cheapest copper ones without the hard plating. Before I learned about the 900 series tips from McMaster, I had a couple of conicals that I used a die to cut a single thread into. That thread is enough to save the insert, but the ones from McMaster make the task more precise in a press jig that can pull too. There is a decent chance of getting an insert out methodically and saving a larger print with the threaded removal tips, you’ll just need a larger diameter insert if you can get the old one out cleanly.


  • Half joking… In absolute terms, - convert it to beer. Earliest forms of beer were basically leftover old bread left to ferment. It’s not great by itself, and the natural CO2 smells green about like rising bread. You’ll realize the effects of bittering agents like hops in commercial beer, but if you simply grind up old bread and either a wild ferment or add a little yeast to an air tight container with an air lock valve or sealed and burp it a few times, you can still access a significant chunk of those calories months or years later.



  • j4k3@lemmy.worldtoLinux@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 days ago

    Slowly over time you learn what you need when you need it. There is no hand holding. Under the surface, this thing is very complex. Every aspect of Linux is public. You do not need to understand most of it, but this is the realm of many brilliant developers and most computer science students, especially those studying operating systems. Everyone is welcome here, but be aware that all levels are present.

    The vast majority of Linux is not related to desktop users. Linux is more common on servers and embedded devices like routers, cars, and industrial/enterprise equipment. People are happy to help you learn when you hit a wall, but no one wants to be your tech support.

    Distros are not brands or marketing. They all have a specific reason to exist and specialties. Learning what these specialties are and how to leverage them for things like documentation for any specific task can make a big difference in your overall experience.

    It is quite common for people to call it Linux, but you are unlikely to interact with kernel space very much. Your actual experience is mostly limited to the desktop environment and applications.

    Since you are on a Debian > Ubuntu derivative, you are on a distro that may have outdated dependencies in some cases, especially with outlier software. Terms like outdated and stable/unstable are not at all what they seem at first intuitive thought. Windows is a stable OS, which really means it has outdated dependencies in most cases too. Distros like Fedora or Arch are kept up to date with the latest kernel and dependencies. If your software you want to run is actively developed and kept up to date, these are the best distros to run. If your software is static, these distros may break it and create headaches. By contrast, if your software is kept up to date but you are on a stable distro, either the distro packager may keep the needed libraries up to date or you need to go to the extra effort required to update stuff yourself by adding a PPA to your Aptitude sources list. This is important to understand because, if you are following documentation for some package using the internet, that documentation may be for a much newer version than what is available in the distro natively. This mostly applies to edgy software when you’re doing something specific that is not super common. The practical way to think about this is that Debian stable is primarily created as a way for developers to create some device that will be used online for a specific task and uses many high level software packages. Once the thing is working, the developer knows that the packages they used are not going to get updated arbitrarily and break what they created, while the device is still going to receive all the needed security updates to remain online safely for as long as the kernel is supported by the Debian team. This is beneficial for small one off devices and subcontracted types of development without a full time dev. Understanding this paradigm will massively improve your overall experience. I had a lot of frustration before I understood that much of what I was using was outdated and why when I first started using Ubuntu over 10 years ago.


  • You can’t do a lot of things with other irons like you can with a 900 tip, especially with 3d printing. There are hundreds of specialties. Like I have tips for ribbon cables, a Xacto blade holder, common heatset inserts installation tools, but also the specialty threaded removal tools from McMaster. That is in addition to all of my specialty soldering tips.

    I’ve been tempted in the past to go to a faster heating setup for my rework station, probably a T12, but instead I made my own circuit boards for mine. I have the old digital soldering station from RadioShack. It is a 900 series clone from Atten that uses a 2 wire element with the thermocouple in series with the element. I mase circuit boards that offset the element to contact one side of the tip and adjusted it to extend closer to the end of the tip bore. I also modified my station to have dual irons so that I do not need to change tips often, I just swap irons with a switch.

    I think a case for a different setup can be made for soldering, but for 3d printing, there is no replacement for the number of options available for crafting extras and heatset inserts options. Like I wouldn’t do iterative designs with heatset inserts in many cases if I had no ability to remove them.



  • j4k3@lemmy.worldMto3DPrinting@lemmy.worldHelp designing a button?
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    4 days ago

    Soldering is nothing like welding. Neither task is particularly hard, although welding takes a bit more coordination. Soldering is about as hard as using a hot glue gun or microwaving a meal, or scrubbing a toilet.

    When you’ve never done it before, it is easy to build it up in your mind. Here’s the things that matter:

    • acid core solder is only for pipes in a home
    • flux is important and the mess it makes is not
    • for just a small job, any soldering iron is fine, as is any solder
    • wet everything you’re joining with flux and the solder will wick into place
    • the tip of the iron should be shiny with solder before you start, and this may involve a good bit of solder added to the tip and then removed by a wet sponge or wire ball made for the task

    An adjustable iron is nice, and you’ll likely find that eventually you will use it for threaded inserts in prints. There is a lot of marketing about irons and junk, but it is hard to beat the value of one of the Chinese 936 Hakko clone irons. Most of the marketing junk is to try and obfuscate the value and availability of these clones. The Hakko 900 series tips are the defacto standard and there are many extra accessory options available that are only possible with this tip/iron type. Last time I checked a 936 clone is usually under $40. The actual circuit board required to build one is under $5 on AliEx while the iron handle and lead are ~$8. You don’t need this for a basic job, but an adjustable soldering iron is a lifetime useful tool to have on hand.

    Good solder makes a big difference on bigger projects when you’re doing this a lot. However, if I was in a zombie apocalypse, I could easily make a single solder connection by heating the tip of a screwdriver in a candle flame, use some resin from a pine tree, and a chip off of the pewter candlestick holder to solder a button to a circuit board.

    Buttons can be a bit challenging with 3d printing design. It depends on your goals, but clearances and textures matter a lot more than it may first appear. It is possible to get something that just works, but is loose or crude. Getting a button like the inserts that go into a typical video game controller are quite challenging to clearance and develop a consistent tactile feel. I’ve done this in practice and it took a lot more iterations than I expected.



  • Dry with pickled onions and some chicken.

    I absolutely hate salads, but that is what I ate 5 days a week when I worked for a chain of bike shops. It’s how I lost my last bit of weight to get under 7% back when I was racing. Going from 350lbs to 220lbs wasn’t super hard while just commuting to work, and training/racing casually. Going from 220lbs to under 190lbs was super hard for me. Eating something I could barely tolerate meant I only ate what I absolutely needed because I was freaking starving… So, to me, while I hate salads, if I’m eating one, it is for a specific reason, and if I’m objective about that reason, I’m going to fit my opinion to what best meets those goals. Therefore, my favorite salad is the one I can only barely tolerate and will eat, but only as much as I absolutely must. Like seriously, I brought my lunch into my office and would eat a few bites over the course of hours. That too is a major aspect of real weight loss. How much you eat at any given point in time is very important.



  • j4k3@lemmy.worldtoPolitical Memes@lemmy.worldUseful idiot
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    11
    ·
    5 days ago

    I consider anyone pushing anyone over Biden as part of the Trump campaign. This is a two party system. Creating indecisiveness like this is a very viable and practical subversion tactic and with Trump’s Kremlin backers as the Russian candidate as Putin’s puppet, anyone that fails to recognise this ploy is being foolish and falling for their nonsense. The Platonic sophism tactic is hard for the simple minded to see through. Unplug from the news cycle and think for yourself outside of the sophist spin doctor nonsense. Ask your own questions and seek out those answers without distraction and exercise skepticism about all sources. If your general media leads your thoughts, you have no real thoughts of your own.