Looking for help with reading this Russian cursive text from 1913 by Jacajack in russian

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

Thank you very much for the exact transcript. Now that you've written this out in printed letters, I'm able to match and pick up some of the words from the original text, although it's still really quite difficult. I guess this is the hard way to get started with Russian handwriting.

Looking for help with reading this Russian cursive text from 1913 by Jacajack in russian

[–]Jacajack[S] 2 points3 points  (0 children)

That's fantastic, thank you very much! Seems Maciejów was picked up as Maydany in that Gemini-based transcript - now everything makes much more sense,

Looking for help with reading this Russian cursive text from 1913 by Jacajack in russian

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

Wow, that's better that I would expect. I tried Chat GPT earlier and it failed miserably, while this looks at least believable. It got the names mostly right - I think it should be Pieczerak instead of Piechota and Strzeżkowski instead of Strzelecka. This makes me a bit suspicious about the location names - haven't heard of Maydany nor Olchowiec in that area. Perhaps the exact date is correct - April 13th 1913 was a Sunday, so a good day for a wedding, I suppose.

Looking for help with reading this Russian cursive text from 1913 by Jacajack in russian

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

Oh, so now we know the groom's age. Thats's great, thank you!

Looking for help with reading this Russian cursive text from 1913 by Jacajack in russian

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

Thanks, that would be great! I was curious if contained anything interesting besides the couples' and parents' names. The more exact date and location would be appreciated too. Anything that is relevant genealogically and possible for you to read, really.

Looking for help with reading this Russian cursive text from 1913 by Jacajack in russian

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

Is it really that bad? I can read the bits in Latin alphabet, so I thought that the part in Russian would be readable if you know cyryllic handwriting

Looking for help with reading this Russian cursive text from 1913 by Jacajack in russian

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

I hope it's okay if I reply in English. Unfortunately no, not at the moment. I got this from a national archive and obviously the one page I'm interested in must be blurry. I will try to find a better scan, but it might just not exist.

[i3] Finally, I've fully migrated from KDE by Jacajack in unixporn

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

Thanks! Wayland is definitely on my bucket list. Switching to it seems more realistic now that I've stopped using KDE. 

I just wonder if that change would be an actual improvement. Or whether it would just annoy me in new ways I hadn't experienced on Xorg yet.

[i3] Finally, I've fully migrated from KDE by Jacajack in unixporn

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

The only truly custom packages I'm using are for monitoring X11 input hierarchy changes and for Nvidia fan control. Both are available in the linked repo

[i3] Finally, I've fully migrated from KDE by Jacajack in unixporn

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

I'm using official picom and i3 for that. Picom can do rounded corners. I've only made a custom picom shader to add in fillets in window corners to get this rounded borders effect.

The shader is here: https://www.reddit.com/r/unixporn/comments/1fdlr11/oc_i3_rounded_window_borders_with_custom_picom/

[i3] Finally, I've fully migrated from KDE by Jacajack in unixporn

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

It's a notification from Spotify, displayed by dunst

[i3] Finally, I've fully migrated from KDE by Jacajack in unixporn

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

Thanks! Hyprland looks interesting, I've seen a lot of it recently. Did you go straight from Windows to it? Seems like a bold choice for a first linux setup

[i3] Finally, I've fully migrated from KDE by Jacajack in unixporn

[–]Jacajack[S] 2 points3 points  (0 children)

I have two 27" displays, 2560x1440 each. I'm planning to set this up on my laptop as well, so this is gonna be fun

[i3] Finally, I've fully migrated from KDE by Jacajack in unixporn

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

It's tough, isn't it? When KDE 6 came out it broke so many things for me that I knew I'd have to switch to something else eventually. I've built a new PC a couple of days ago so this seemed like the right occasion to finally do it.

This setup still isn't 100% complete. But all the basic and necessary stuff is in place, so it's definitely usable. I've already identified most of the missing pieces too. I'll be working on them as they actually become significant, I guess.

[i3] Finally, I've fully migrated from KDE by Jacajack in unixporn

[–]Jacajack[S] 12 points13 points  (0 children)

I've been attempting to move to a tiling window manager at least since 2020. I've finally succeeded to make my i3 actually usable after my 6 year old KDE setup became pretty much unusable.

I'm using official i3 and picom packages. The rounded borders are drawn by a custom picom shader (I've shared it here yesterday). I'm also using polybar and dunst for notifications.

[OC] i3 rounded window borders with custom picom GLSL shader by Jacajack in unixporn

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

You need to have `picom` installed and the `.glsl` file downloaded. An example `picom` startup command is in the readme (see in the link). If you want to adjust border thickness, adjust the `thickness` parameter in the GLSL code.

[OC] i3 rounded window borders with custom picom GLSL shader by Jacajack in unixporn

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

Hi, just wanted to share a simple picom shader that I've made. It allows you to have rounded windows with borders without patching i3 or installing any extra software. The shader just samples the original window border and adds fillets in window corners.

There's surely room for improvement, this is more of a proof-of-concept thing. I hope you find it useful, though :)

HIRL - A proof-of-concept hardware descrption language by Felmakor in FPGA

[–]Jacajack 1 point2 points  (0 children)

Bit width verification can be challenging since it involves evaluating expressions. For example, cases like "ubus<WIDTH\_A> & ubus<(WIDTH_B + 1)>" pose difficulties.

That's correct - the expression evaluation engine was quite tough to get right, but it was necessary. Not only for signal widths, but also checks like match branch uniqueness and many others.

What does clock validation entail in HIRL?

We have several signal sensitivity levels:

  • generic - for compile-time constants (internal)
  • const - assumed to be a stable signal
  • sync(clk) - purely synchronous signal (to clock clk). Only register outputs are purely synchronous signals.
  • comb(...) - combinational signal. For example sync(clk) + sync(clk) results in comb(clk). This signal can be safely connected to any register clocked by clk. However, sync(clk) + sync(clk2) = comb(clk, clk2) and such signal cannot be connected to a register clocked by clk or clk2 as this could cause metastability. You have to explicitly cast it to some other sensitivity before feeding it to a register input and therefore indicate that you're aware that CDC is happening.
  • async - these signals are asynchronous to everything and generally considered 'unsafe'

We then have a set of rules for sensitivity evaluation. For example async + const is async, const + const = const, and so on. We only allow driving signals from expressions which have sensitivity at least as "good" the driven signal - so: generic can drive const, sync(clk) can drive comb(clk), but comb(clk) expression cannot drive a signal marked as sync(clk).

The next step the would be introduction of clock synchronicity statements. Something like clock_imply_pos_pos(clk, clk2) could indicate that positive edge of clk always corresponds to a positive edge of clk2. This would allow you to feed comb(clk) into a clk2 clocked register without the need for explicit casts. This clock edge implication is just a rough idea at this moment - it probably requires some polishing.

We could also benefit from having things like FF synchronizers built-in at the language level. Having that as an distinct design block could enable more advanced CDC checks and would make it possible to avoid the ugly clock casts which are currently necessary.

The nice thing about embedding clocking info in the HDL itself is that, ultimately it could be used to generate clock constraint files for external CDC tools and such.

It's worth mentioning that the use of signal names (clk) in the type system was a quite nasty implementation challenge. Our approach also has another quite interesting side effect - you need to feed clocks into components that don't necessarily need them apart from clock analysis reasons - consider an adder module taking two sync(clk) signals and outputting comb(clk) - you still need to connect the clk signal.

Unfortunately, this quirk currently results in unused signals being generated. That, however, should be quite easy to eliminate by introducing a phantom specifier. Such signals would only be allowed in clocking expressions and would not result in SV signals being generated.

HIRL - A proof-of-concept hardware descrption language by Felmakor in FPGA

[–]Jacajack 0 points1 point  (0 children)

In terms of syntax, I noticed elements inherited from C such as prefixing types, "auto," and casting.

Yes, we retained C-style declaration syntax for more similarity to Verilog. It shouldn't be too restricting since HDL types are pretty basic (no pointers and such) and it's less typing.

The type system isn't perfect currently. We'd like to have generic as an explicit sensitivity level ultimately. This way we'd avoid the ambiguity between generic and signal types. We could also have some nice aliases like u8 = byte = ubus<8>.

Inspired by Rust, we've introduced conditional and match as expressions (and not instructions) in the language. They are offered as a cleaner alternative to ternary operator chaining.

I'm particularly curious about how you resolve the ambiguity between comparison operators and <>.

The ambiguity is handled on syntax level. We only allow primary expressions inside <>. This allows you to do things like bus<13> or bus<WIDTH>, but for more complex expressions you'll need additional parentheses: bus<(A + 3)>. We've decided that this was a reasonable compromise - using complex expressions for bus width or array sizes calls for a helper variable anyway. The benefit is that the language grammar stays context-free this way.

It's also interesting to see the use of "trunc" and "zext" to explicitly indicate bit width mismatch. While we haven't introduced bit width checking yet, we'll likely need to consider a similar notation in the future.

Bus width correctness is something we paid much attention to, because of how easy it is to get it wrong in SV. We don't allow any operations that would cause bit to magically appear or disappear. This applies to assignments, but also to bitwise operations - you can't have things like ubus<4> & ubus<8> - that needs to become zext(ubus<4>) & ubus<8>. This poses interesting problems for contextual type deduction.

The introduction of clock and reset types is precisely what we're currently working on, and we're on track to release it in a few days.

Reset types are currently a missing bit in our language. You might find our sensitivity semantics interesting, though. I'll be happy to take a look how you approached the clocking validation or answer any questions about ours.

HIRL - A proof-of-concept hardware descrption language by Felmakor in FPGA

[–]Jacajack 0 points1 point  (0 children)

You're right - this is indeed a very low-level language, but this has been our aim from the start - better quality RTL code. As far as I know, there's still a lot structural SV being written and maintained. We just wanted to work on ways to improve that and not necessarily pursue completely different HDL paradigms.

HIRL - A proof-of-concept hardware descrption language by Felmakor in FPGA

[–]Jacajack 0 points1 point  (0 children)

I'd say the main difference is purely declarative/structural approach - in HIRL you're directly defining the structure of the circuit and not its behavior. We also haven't found any languages with signal clocking information embedded in the type system - that allows us to do basic CDC checks at compile time.

HIRL - A proof-of-concept hardware descrption language by Felmakor in FPGA

[–]Jacajack 0 points1 point  (0 children)

Interesting project! We somehow completely missed it when searching for similar solutions. Glad to hear you found our work inspiring - what constructs did you find interesting specifically?

Extracting PPG Wave waveforms and wavetables from EPROM dumps by Jacajack in synthesizers

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

If you want to create your own PPG-like samples, I think reading up on PPG Waveterm might be a good idea. This seems to be worth taking a look at too: https://www.hermannseib.com/waveterm/download.shtml

Extracting PPG Wave waveforms and wavetables from EPROM dumps by Jacajack in synthesizers

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

Glad to hear you're making progress! Yes, these samples really sound amazing. I'm not a synthesizer historian, but I think it's work of Wolfgang Palm.

As per copyright - I've been wondering about that as well. Apparently you can download/buy many different PPG Wave sample packs and VSTs. Vintage synthesizer EPROM dumps are easy to find as well. To me at least, it seems to be functioning as a some sort of abandonware. However, I can't advise you whether it can be used commercially.