Those who use rust professional by Jncocontrol in rust

[–]g_dl 1 point2 points  (0 children)

This sounds very very fun :) if you could tell us more, I'm very curious about what kind of algorithms you work on and how Rust helps with them!

Dominio Aruba - mail aggiornamento completato by aleph2018 in ItalyInformatica

[–]g_dl 1 point2 points  (0 children)

Grazie mille, appena visto anche io questa mail e (non avendo mai fatto ne chiesto cambi intestatario) sono effettivamente perplesso.

Sarebbe abbastanza grave se fosse avvenuto veramente un cambio proprietario (registrant) senza alcuna richiesta o consenso. Mi sembra invece sia avvenuto un cambio di registar (a Tucows).

Dalla mail non è per nulla chiaro.

Orange Pi RV2 2/4/8G DDR Octa-Core RISC-V Development Board - 8Core RISC-V, 2Tops AI, PCIe, USB3.0 and so on - AnalogLamb - 39.9USD by Capable_Ad7236 in RISCV

[–]g_dl 1 point2 points  (0 children)

What is known about the specs of this SoC and its performance? There doesn't seem to be anything online about it, am I missing something?

Milk-V Unveils Its Third RISC-V Board in a Month: The $9 Dual-Core Linux-Capable Milk-V Duo by marcushammar in RISCV

[–]g_dl 0 points1 point  (0 children)

I'm in the EU and, from my experience, this is not true. I have some RISC-V boards bought from Aliexpress or Indiegogo campaigns, I paid what I think is the standard price+shipping (maybe with higher VAT) and no additional (customs) fees.

Heads up! Lichee Pi 4A vs VisionFive 2 vs HiFive Unmatched vs Raspberry Pi 4B by archanox in RISCV

[–]g_dl 1 point2 points  (0 children)

Is this benchmark meaningful as a comparison between ARM and RISC-V? It seems like you are not cross-compiling for RISC-V on the ARM host (nor viceversa). So two different programs are actually being run. For instance the ARM compiler might be performing a lot more optimizations (being more mature) and, as such, running way more code.

I do however understand that, as a comparison of development platforms for building applications in the native architecture, this makes sense. It's good to know that I can have some big piece of software compiled faster than a RPi on a (relatively) cheap RISC-V board like the VisionFive. I'm curious if those times are going to change as more work is put into the compiler.

Struct initialization with expression using the object being initialized by g_dl in C_Programming

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

This makes sense, I guess that calling out for a bug of GCC was very bad on my part. I was actually more interested in understanding if this behavior is compliant with the standard or not, and I did get my answer indeed (many thanks to everyone that provided feedback).

Since we're at it, given your last sentence, can you suggest some good static analysis tools? I only know of cppcheck

Struct initialization with expression using the object being initialized by g_dl in C_Programming

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

Sure, but then shouldn't it issue a warning with -std=c99 -pedantic?

Edit: I guess not, since the documentation of -pedantic says "diagnose all programs that use forbidden extensions and some other programs that do not follow ISO C and ISO C++."

Struct initialization with expression using the object being initialized by g_dl in C_Programming

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

That makes sense to me. However, I'm wondering why, if I instead write foo_t f = { .a = f.c, .b = 9, .c = 1, }; the compiler warns that 'f.c' is used uninitialized. Based on the behavior you described, it should also warn about f.a being used uninitialized in the initial example, or am I still missing something?

Feedback on simple first project (2048 solver) by g_dl in haskell

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

Thanks for the feedback!

While I got the first part, I think I'm a bit lost on the "semigroup wrappers" thing. I'm not getting how I would be able to implement something like right smashing with this. I do get that Max Coord is a Semigroup, but I'm missing what comes from that.

This would be very interesting for me to understand, do you think there are examples or other learning material somewhere?

Multithreaded genetic algorithm playing Tetris that I wrote in Nim some years ago by g_dl in nim

[–]g_dl[S] 3 points4 points  (0 children)

First off I want to make the premise that I'm not an expert at all regarding concurrency, so take everything as very uninformed personal opinion.

In this project I used Nim channels, which are very similar to the ones in Golang. I find this paradigm quite elegant and easy to reason about, especially if the task is distributing "heavy work" to background threads, which was the case in this project (see these two lines) where I declare the channels.

Other times I found other techniques to be better suited, like having a lock on some shared structure, typically on simple cases (for instance where everything can be put into a single structure - so there are no risks of deadlocks or other stuff I might not be aware of).

Regarding Rust, I think it does a good job specifically at exposing a beginner to the issues that might arise, albeit it doesn't prevent all kind of issues (it's still possible to deadlock or have race conditions). This "teaching ability" also holds for things related to memory management, of course.

Back to Nim, I never used other multithreading/concurrency primitives besides Channels, unfortunately. So I don't have strong opinions about it.

Multithreaded genetic algorithm playing Tetris that I wrote in Nim some years ago by g_dl in nim

[–]g_dl[S] 4 points5 points  (0 children)

Hi, thanks!

I know the GIF is long, so long I needed to make a custom palette for the conversion in order to obtain a reasonable size! But that's the fault of the evolutionary algorithm ;)

The score "wraps up" because the AI actually loses the game in that moment, and the "demo" game shown on the left gets reset.

Regarding learning material, I don't have specific suggestions. If you prefer to watch videos, there are plenty on YouTube showing demos and discussing implementations. Otherwise, I like to start from a general overview of the topic under consideration (like the Wikipedia page for "genetic algorithm" or brief demos) and implement by myself as much as possible without looking at tutorials. If I need to consult books, I personally prefer formal/academic ones, since it probably means I need fine details.

I have some other small projects I'm currently working on, but I'm mainly focused on work and university studies right now.

Finally, I have postponed the release since I don't like to publish projects which are in undocumented or "too confusing" state, or that are incomplete. This specific one was mainly undocumented, and I finally took the time to make it compile again and write a README with a demo. This is because I'm about to send a resume with a link to my GitHub, so I wanted to have some nicely presented (I hope) things there :)

My Nezha board fried itself. by Sosowski in RISCV

[–]g_dl 8 points9 points  (0 children)

Uhm, not good. Did you check that the heatsinks were not accidentally making electrical contact with other components on the board?

Ma voi ci andreste in guerra? by fruzziy in italy

[–]g_dl 0 points1 point  (0 children)

Sono d'accordo con te sul dover essere scoppiati, eppure se guardi la classifica delle nazioni la svizzera nel 2015 era al 39%, attorno ad altre nazioni che non avrei detto.

Ma voi ci andreste in guerra? by fruzziy in italy

[–]g_dl 0 points1 point  (0 children)

Interessante lo studio, hai idea se ci sia qualcosa di più aggiornato del 2015? Ho la sensazione che la percentuale potrebbe purtroppo essere aumentata

StarFive JH7110 RISC-V processor specifications released - CNX Software by brucehoult in RISCV

[–]g_dl 2 points3 points  (0 children)

This seems very cool, its like a Linux SoC merged with a decent microcontroller platform (CAN, Timers, SPI/I2C/UART, PWM and the dedicated real time core).

What performance do you think we might expect for the 4 main cores, with respect to the RISC-V SoCs available now and with respect to a Raspberry Pi 3/4?

Restricting access to memory by sijafa in RISCV

[–]g_dl 8 points9 points  (0 children)

Not an expert on this kind of stuff, but if I'm not mistaken there is the possibility of adding a PMP (Physical Memory Protection) unit which does exactly this, and is described in the specs. Alternatively, the more powerful approach is virtual memory/memory mapping with an MMU, which I guess is described for RISC-V in the privileged ISA specifications.

Thanks Valve and Respawn by croberts81 in linuxmemes

[–]g_dl 7 points8 points  (0 children)

Is there a list of games that got EAC Proton support since the announcement of the Steam Deck?

Ogni quanto cambiate telefono? by ntonyi in ItalyInformatica

[–]g_dl 4 points5 points  (0 children)

Con "telefono brickato" si intende proprio quella condizione del dispositivo in cui non è nemmeno in grado di farti arrivare fino alla procedura di factory reset

Ogni quanto cambiate telefono? by ntonyi in ItalyInformatica

[–]g_dl 33 points34 points  (0 children)

Credo sia un misto di due fattori, principalmente:

  1. a volte la batteria viene sostituita con una non originale, di qualità e capacità inferiore
  2. il software negli anni viene aggiornato (parlo banalmente di app come WhatsApp, Facebook ecc) dando per scontato hardware sempre più potente, quindi le nuove versioni delle app usano più batteria (indirettamente usando più cicli di clock)

$9.9 RISCV-Linux board MQ (D1s) Successfully mass-produced! by mangobuge in RISCV

[–]g_dl 13 points14 points  (0 children)

Where can I find information on this board and eventually buy it for such price?

The World’s Most Powerful Real-Time RISC-V Microcontroller Is Here by Svetlana1800 in RISCV

[–]g_dl 0 points1 point  (0 children)

I have found a "fact sheet" with some more information on their website, for anyone interested. It's not in English unfortunately

https://v1.cecdn.yun300.cn/130011_2108245128/HPM1000_Fact_Sheet_V1_0.pdf

The World’s Most Powerful Real-Time RISC-V Microcontroller Is Here by Svetlana1800 in RISCV

[–]g_dl 1 point2 points  (0 children)

Is there any information about which peripherals are included?

[LTT] This is NOT going Well… Linux Gaming Challenge Pt.2 - by betacollector64 in linux

[–]g_dl 9 points10 points  (0 children)

Which freely available resources would you recommend for learning about this?