Threads for dkozel

    1. 2

      so why not git rebase -x ...?

      1. 5
        • It can’t run in parallel
        • It produces spurious merge conflicts for things like formatter changes
        • It can’t run if the working copy is dirty
        • It only runs on linear sequences of commits
        • It won’t cache already-processed commits
        1. 2

          I think git rerere handles the last point.

          1. 3

            git rerere caches a different thing: the manual resolutions to conflicts. In this case, the conflicts would be induced by applying an old patch on top of a newly-formatted commit. However, git test fix will sidestep conflicts by reparenting the child commit, rather than applying it as a patch, so no conflicts will be produced to begin with, and the rerere mechanism won’t be triggered.

            The thing that git test caches is that it won’t even switch to the commit or run the command if it detects that it already ran the command for that commit’s tree object. This is particularly useful in large patch stacks where many of the commits remain unchanged, and only a few of them need to be updated to accommodate reviewer feedback (or if it’s expensive to switch commits, such as in large repositories, or if the command is expensive).

    2. 12

      I love I’ve used them for over ten years and they do a good job of exactly what I wanted, no fuss, no problems.

    3. 2

      Working on my novel, enjoying a few beers, reading some SETI papers, possibly building a lego Saturn V.

      Using my savings from the past few years to take some time out away from work, so it’s pretty much the same as what I’m doing during the week.

      1. 1

        Do you have a particular interest in SETI? What areas? I’ve been peripherally watching the radio astronomy techniques used in SETI searches.

        1. 1

          I’ve more than a passing interest in SETA, as I think it’s the most promising area of SETI. If we’re going to discover intelligence out there, I think it’ll be either long dead or far more advanced than us, and the best way of detecting either is going to be massive artifacts that either outlive their creators or outshine anything that we could produce today.

    4. 7

      The ability to recall commands from the history, quickly.

      First, keep a large and deduplicated history that is shared across all open terminals in real time.

      # Maintain a merged history across all shells
      shopt -s histappend
      PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

      Then remap the up and down arrow keys to search the history using the currently entered command (up to the cursor) as the search term.

      "\e[B": history-search-forward
      "\e[A": history-search-backward
      set completion-ignore-case on

      Nothing else comes even half as close in terms of utility.

      1. 4

        I use to keep a syncable sqlite database of my shell history. Hit Ctrl+R and go through an interactive search. It’s pretty great.

        1. 2

          aww yay, glad to hear you like it! :D

        2. 1

          This is really useful thanks for sharing

    5. 7

      I’m headed down to Colorado Springs to help a friend move.

      On the way down I’m going to stop at the Ham Radio Outlet in Denver and (probably) buy some HF radio equipment. Based on a friend’s recommendation, I’m going to get a Xiegu G90.

      I also just got an RTL-SDR, and I may look into programming it with GNU Radio or librtl-sdr.

      And I’m still playing with OpenGL geometry shaders. The dynamic systems shader turned out well, and I’m going to try modifying it to draw “Strange Attractors” and some other fractals.

      1. 3

        I looked hard at the Xiegu G90, it’s got really good reviews and performance is very good. I ended up with an IC-7300, I love it, but wish it was smaller for portable operation. All around solid radio though.

        1. 1

          The ICOMs look really nice! I had been looking at the IC-705, which I think is basically a lower power, portable version of the IC-7300. Maybe a future upgrade…

      2. 1

        Hey, let me know if you have any questions about GNU Radio. The annual conference finished today so there’s going to be some new workshops posted over the next weeks.

        The main project chat is at on Matrix or #gnuradio on Libera IRC.

        1. 2

          Thank you!

    6. 4

      This would make a great case for a dsp/signals tag.

      1. 1

        I’d love to see more content like this on Lobster. There’s a lot of fascinating work going on, but this hasn’t seemed like the right site to submit it to.

    7. 13

      I can really suggest Mikrotik. They are cheap and very powerful. I have one running in my home as router and access point and it’s work fine from years.

      I had a bunch of ARM boards running Docker Swarm, but I am planning to migrate them to some refurbished x86 boxes because they struggling too much with CPU intensive applications (think about ELK). Anyway ARM boxes works fine for DNS or home automation services like HomeAssistant.

      1. 3

        Which Mikrotik box are you using? I’m considering the catchily named RB4011iGS+5HacQ2HnD-IN to get 10 gigabit ethernet ports plus really fast wifi. I wish I could get away with the hAP AC2 or AC3, but have too many ethernet devices.

        1. 2

          Anything with metal boxes is good. They used to make too-cheap plastic boxes as well.

          I’ve used RB433s (with capsman) for more than a decade and am a fanboi: Mikrotik still ships new firmware for >10yo hardware and replies to support email with a straightforward factual reply. If you want my undying love for whatever you’re doing, that’s the way to win it.

          1. 2

            I am a Mikrotik fanboy as well: in my very past work experience, I have used Mikrotik from small boxes to ISP BGP routers and they work very well. They are not Cisco or Juniper of course, but they cost a fraction and they are very powerful. You need a basic script skills and sometimes the configuration is a bit tricky (i.e. for QoS) but you can implement very advanced networking feature.

            The support is good (at least for a free support) and they keep pushing lot of new features, like Wireguard implementation.

        2. 1

          I have an hAP device. For my use case (I have a 50mb connection) it’s enough. Every room in my house has an Ethernet plug, but I am using a refurbished Cisco 3550 as core switch that I got for free at my job.

        3. 1

          I use RB4011 and a pair of PoE powered cAP ac. Copper throughout the house for desktop PCs and TV boxes. In conjunction with gigabit cable works amazingly well.

        4. 1


          As far as I can tell, while that model has 10 ethernet ports, they are not switched which means if you treat it like a switch and plug in 10 Ethernet devices and they start using bandwidth, they’re going to hammer your router’s CPU and memory.

          For best performance, you’re going to want to dangle a switch off of this, instead.

          Edit: I stand corrected. The block diagram shows two Realtek switch controllers inside. These are performant, switched ports. You are good to go!

        5. 1

          Keep in mind that the 4011 for some bizzare reason does not support passive DACs, which is really bizzare in the SFP+ world.

      2. 1

        +1 for Mikrotik. I have a couple Hap’s, Hex’s, CRSxxx, and an RB3011. Excellent kit. Fairly steep learning curve.

    8. 3

      Does anyone know when the videos might get uploaded after the fact? I won’t be able to attend live… or are there already some recordings of the live streams available somewhere?

      1. 2

        In a normal year the livestream videos are edited, reviewed, and approved pretty quickly by the speakers and room admins, usually in 1-7 days. This year the videos are all (99%) pre-recorded but I think the editing is happening anyways to include Q&A (optionally).

        Videos will be uploaded to the page of each individual talk in the room schedules.

      1. 3

        Same here. Mostly I’ll be in the Free Software Radio devroom. But there are some good talks in the community track as well.

      2. 1

        Ditto. Haven’t yet managed to make it in person, hopefully next year >:)

        1. 1

          I hope that you can one day go in person, after going there for the last 10y, it is always a joy to have a we at FOSDEM.

    9. 3

      Moved into a new house in September and finally got me a proper desk. This photo was taken to highlight the radio gear but it has the computer in there too :)

      PC is nothing super special, I’ve got an aging (but still not bad) i7-4790K, 32GB RAM, 256GB SSD for the OS, and a bunch of 3TB hard drives in RAIDZ5 for data. SSD prices have come down, but still not enough for me to stomach buying 12TB of them at once, so I’m still waiting.

      GPU is an RTX 2070 which just showed up a few days ago. I had a 1070 which I bought back in 2016, and which broke in 2020. When I went to buy a replacement I got the bad news that even just to get another 1070 would cost more than it did four years earlier, so I put in a 1660 scrounged from another machine. This week I had a check come in so I gave in and bought a refurb 2070 for an acceptable price. Luckily the thing works.

      Monitor is a Dell S2176DG (27”, 16:9), which I’m happy enough with. It’s a good size for this desk, and runs 2k @ 144fps with this desk. At my office desk (which I haven’t seen in the past 10 months) I have dual 4k monitors but I haven’t missed them very much. I use virtual desktops with convenient hotkeys so I can context switch very quickly, and it isn’t that often that I really care about seeing two things at once.

      Keyboard / “mouse” is an IBM/Lexmark TrackPoint IV keyboard from the mid-90s, through a USB to PS/2 adapter. I have another one at work, I have a few of them laid in storage against breakage, and I will be very sad when I can’t find anymore. Nobody in this century makes a replacement that I find suitable.

      Software choices:

      • Kind of hacked up Kubuntu
      • Kwin used in an almost tiling-like manner with most apps running maximized, and virtual desktops for task switching. The lower desktop numbers are dedicated to things I always have going (email, terminal, web browser), and the higher ones are free space for whatever.
      • Editor: vim 8 / neovim (I was an early neovim convert but with the recent vim releases I barely even notice which one I’m running. I consider this a perfectly fine outcome.) airline, ctrlp, nerdtree, vcscommand, gitgutter, ale, vista, vim-go, vim-perl, and some other stuff. Colors: a custom 256-color dark scheme (screenshot), originally based on metacosm
      1. 2

        Ham stuff in the photo (definitely also counts as part of the battlestation!):

        • Main rig: Flex 6400M
        • Amp: SPE Expert 1.3K-FA
        • Tuner: Palstar HF-AUTO
        • Transverters: Downeast Microwave L144-28HP and L432-28HP. The L432 is modified to open it up to 430-450 MHz instead of the usual 430-434, so I can use the Flex as my general purpose V/U rig to get on repeaters and stuff, as well as for sats and weak signal.
        • PSU: Astron RS-35M
        • 10MHz: Leo Bodnar LeoNTP
        • Mic: Inrad M628
        1. 1

          You do mostly VHF/UHF stuff? What do you enjoy about those bands most?

          I’ve finally gotten my extra and have been doing HF for the recent parts of the pandemic…

          1. 1

            Actually I mostly enjoy HF. I get on VHF/UHF for the VHF contests, or to chase satellites, or just to talk to locals on the repeaters. But HF is more interesting to me. I have a 500’ skywire loop, a modified Hustler vertical (with a wire up into a tree to make it work on 160m), and a 120’ loop-on-ground as a receive antenna (no room for Beverages). I just didn’t mention all that stuff because it’s not in the photo and this isn’t ham chat :)

            1. 1

              Ooh. Those are nice antennas. I’ve got a G5RV Junior and an 80 meter full wave dipole I made that I’m planning on fixing tomorrow. Nothing fancy, just lots of wire in the air. A slight trim of one side while installing it seems to have screwed up the resonance and no one can hear me on FT8, which I’ve been using to test my propagation recently. Or something broke while lifting it up, that’s all part of the fun…

        2. 1

          Have you done any exploring of the Flex from Linux? I’ve been starting to come up to speed with the current libraries and some of the proof of concept stuff that’s available around. Here’s one of the fun ones that I’ve seen stuff based on. I’ve just gotten access to a 6400 (not M) and have a local group that has some time reserved over the next four months to do some work on improving access from Linux.

          1. 1

            Yes - I know Frank and I’m the author of :)

    10. 3

      We’re living in an age where dark mode is becoming a must. Soon a switch for on/off will be present pretty much everyhere. It reminds me a transition of the web to HTTPS.

      1. 3

        Dark mode is an aesthetic choice. Many people seem to love it; some hate it. The arguments that it’s objectively better or reduces eye strain are pretty suspect, IMHO. My objective experience is that it exacerbates my (normally mild) astigmatism by making the pupils open wider, which reduces depth of field. The only time I find it useful is when reading in bed after light-out to avoid disturbing my partner.

        Modern browsers have a way for pages to detect whether dark mode is enabled in the OS, right? Can’t use that?

        1. 4

          If you’re worried about eye strain, just dial back the brightness. It always amazes me how we collectively make things harder by trying to make things easier and prettier:

          • Old way: monitors have physical brightness and contrast knobs. New way: buttons are ugly and we need a ton of other controls that no-one uses, so we hide everything behind invisible buttons and menus that are hard to operate. Result: it is a hassle to adjust the most basic things on a screen and no-one knows hoe to do it anymore.
          • Old way: let’s define only the structure of the document and let everyone display it the way they want. New way: we want pixel perfect control even though everyone has different pixels. Result: we need new layouts (or apps!) for every device and too bad if you don’t like the one we give you.

          If you look for it, you see this pattern everywhere.

      2. 2

        Dark mode a must? Dark mode is basically the computer nerd equivalent of “this seasons in color is pink” in fashion, its at best stylistic. https has technical reasons to exist, dark mode is “lets use different colors to display things, just in dark cause that’s the new fashion”. I’m not sure they’re even close to similar. One is simply color themes.

        1. 2

          You’ve misunderstood my comment. I am not comparing “dark mode” vs “https” technical implementation, just a similar trend happening in web.

      3. 1

        I’m curious, what do folks use a dark mode for? A few apps have started defaulting to inverted brightness and it’s sometimes attractive, but I haven’t found a personal use case.

        1. 1

          I like how it looks better, and often turn on dark mode for various programs I use if available. It’s not super important to me - I didn’t mind that lobsters didn’t have it, for instance.

    11. 3

      You can buy gigabit ethernet c-mount cameras for around the same price as a nice webcam, and less than a DSLR.

      Or alternatively Niklas Fauth is building one from scratch.

      1. 2

        Can you easily use the video from those cameras with Zoom/Google Meet? (i.e. does it act like a local webcam?)

        1. 2

          Yes, on Linux at least. UV4L has an IP stream to v4lc converter that makes them available as standard camera sources. So it’s not total plug and play, but very achievable.

      2. 1

        What’s the latency for these ethernet cameras? Can they be used for video calling?

        1. 2

          Yes, plenty good enough for video calling. Way less lag than the call itself has.

    12. 2

      Don’t really want to rain on your parade but you basically built a 720p without microphone which has high chances of failure (SDs are not the most reliable components out there).

      While that is definitely a great learning project (I did something similar myself before for fun), you can get 720p with microphone, longer durability and warranty for peanuts nowadays (around $30 or so). Also you can find some 1080p webcam (with microphone obviously) for about $55 on Amazon today.

      So, I’m not sure your setup is necessarily economically smart, especially after including work and future maintenance. Kudos for making things yourself though! 😊

      1. 4

        With a much better sensor and lens though. I’d be concerned about latency and agree it would be a sensible extension to figure out onboard audio.

        The thing I keep hoping to find in a webcam replacement is full 3D LUT color correction.

        1. 1

          The thing I keep hoping to find in a webcam replacement is full 3D LUT color correction.

          Hm, what would you use it for?

    13. 4

      Bunnie gave a talk about their FPGA based System on Chip, Precursor, a few days ago and the recording is up on YouTube.

      He’ll be giving another talk about RiscV today (Tuesday) @ 7 pm PST/10 pm EST!

    14. 3

      Does anyone here work with SDR or DSP for signals? I enjoy Lobsters but there hasn’t seemed to be much content around signal processing or electronics, happy to see some come by!

      1. 2

        I do. And yes, this content is rare, but there do tend to be some really cool submissions once in a while. You can perhaps try searching with hardware or science or reversing tags with some luck.

        I am on a passive lookout, and tend to upvote any good content in this domain.

        1. 2

          What libraries/environments do you usually use? My experience is almost entirely GNU Radio and I feel like I should at least try a few other options to see what they do well.

          1. 1

            These days, I tend to do more FPGA programming, I use:

            1. scipy.signal and GNU Octave for developing filters
            2. Some HDL libs
            3. Faust2 : In the past
            4. dassp: Recently

            Overall, I agree that there needs to be a tag for : DSP, image processing, stream processing, data processing. It’s not enough to classify this with a python tag or number 4 with a rust tag alone.

    15. 1

      I use an A5 notebook for notes, it’s 85% a write only notebook, but the process of taking notes helps me find the most important points in whatever I’m doing. Every time I try a digital notebook the extra overhead and work in maintaining it across computers and mobile has me back on paper within a week or two. Clearly lots of value in the digital notebooks, but nothings stuck yet.

    16. 7

      Most people familiar with mechanical keyboards are familiar with QMK. It’s really a great project, and it’s not very hard to make your own super advanced keyboard layout with macros and multiple keyboard layers.

      Their web based keyboard configurator is really slick too!

      1. 2

        It is cool indeed.

        Oddly enough, nobody is making standard, full sized mechanical keyboards with qmk as stock. That’s a gold mine waiting to happen, for the first to market.

        I fear some company will accidentally make a keyboard using a compatible arm or avr microcontroller, the community will pick up on it and it’ll thus get undeservedly popular, instead.

        1. 4

          An inline controller can be used to turn a non-programmable (full-size) keyboard into a programmable one. E.g. this one runs tmk, which is what QMK was originally forked from.

          1. 1

            I like how, with qmk, it is possible to reduce latency. An inline controller will only add latency.

            1. 2

              Sure it’s definitely a work around. Figured it was one way to get access to more programmable full size keyboards. Another option is to replace the controller in an existing board. I did this with my Filco TKL — it now runs TMK:

            2. 2

              But does it in reality? According to Dan Luu he measured the Planck which is presumably running QMK to have 40ms latency compared to 30ms latency that e.g. my Pok3r has with its proprietary firmware or 15ms that Apple’s keyboard seems to have. Overall a pretty weak showing for QMK which is presumably due to its myriad of awesome features but that were not written with latency in mind.

              1. 1

                I’m not sure about Dan Luu’s tested keyboard actually running qmk, or how to tweak qmk for low latency. It might have some silly slow debounce enabled by default. Or it might be qmk is hopelessly sluggish. But, at least, with source code and a friendly keyboard, it is possible to work on improving latency. If a keyboard won’t even run qmk, that’s not anywhere as good as a starting point.

                None of my keyboards run it, but I plan to eventually (once it’s easier?) get a supported full size keyboard. Then I might personally take a look at it. Worst case scenario, qmk turns out to be shit but I do learn how it works, then write my own.

        2. 2

          Or even just a standard full sized keyboard with QMK.

          1. 1

            If it isn’t mechanical, it won’t appeal to the sort of people who care about what keyboard they use.

            1. 5

              Reprogrammable, high-quality, low-volume. mechanical keyboards cost more to produce than conventional keyboards do. When cost is a consideration in this way, you’re more likely to think critically about each piece of the design and question whether the value you get from it will justify the additional cost, rather than saying “let’s just do an exact copy of the 101-key design that IBM standardized in the 1980s”.

              Given this dynamic, it’s very unsurprising to me that no one builds “full size” designs this way.

              1. 1

                There’s plenty of full size mechanical keyboards in the market. They also sell well, to gamers.

                Picking a qmk friendly microcontroller and preparing a friendly firmware update method can’t be that hard, much less increase the cost in any significant way.

                It just hasn’t been done.

            2. 1

              I disagree. I use the Microsoft Ergonomic keyboard as my preferred daily driver but would enjoy having QMK onboard. I’ve used a mechanical keyboard before but buying/building a shaped, tilted, split design mechanical is really expensive. The Ergodox EZ looks great, but it’s a month’s rent, ~5-6x the Microsoft keyboard.

              1. 2

                There’s full sized keyboards with mx brown switches in the $100 to $200 range.

          1. 1

            That one definitely isn’t full sized!

    17. 1

      I’m very curious how the performance of more complex higher level operations compares between hand optimized SIMD targeting each platform independently and auto-translating individual instructions. The VOLK library contains hand optimized operations for a variety of digital signal processing operations. It has a generic C implementation for every operation “kernel”, and some specialized “protokernels” targeting SSE{2,3,4}, AVX{2,512}, NEON, etc. But most kernels are missing some of the architectures. Maybe SIMDe could be used to fill in the gaps with a potentially faster version by auto-translating existing kernels. VOLK profiles all the available options automatically so if they were slower it wouldn’t negatively affect the runtime results.

    18. 6

      Something I love to add to ~/.inputrc is the following:

      "\e[A": history-search-backward
      "\e[B": history-search-forward

      This gives forward and reverse search (Ctrl+R and Ctrl+S) on your up and down arrow keys, so you can quickly search through history with prefixes.

      1. 4

        This is the single greatest usability improvement to the terminal that I’ve found. It changed my entire experience when I found it a few years ago. This and the history storage changes are the first thing I get new users to add.

    19. 3

      I use Gollum (GitHub’s wiki) as a wiki. I like that it’s markdown based, uses git to store the files, and has mathjax support. I don’t like that it lacks any form of authentication so you get a lot of spam on it if it’s public facing.

      1. 1

        There’s actually a few auth plugins for gollum. A quick google revealed and I know there’s a plugin that can authenticate from LDAP/AD.

      2. 1

        Gollum looks really nice but I’m addicted to knowledge capture wherever I am which means mobile. Certainly Git workflows are possible under IOS, but they’re not easy or streamlined.

        So I sacrificed revision control and went with Joplin which I’m deleriously happy with.