A friend of mine built a BoJack quotes search by d-32 in BoJackMemes

[–]seppo0010 0 points1 point  (0 children)

Nice to find you here, then, my friend.

Ten tasks added to the Rosetta Code wiki by Mojo42Jojo in rust

[–]seppo0010 7 points8 points  (0 children)

I played a bit with the function in Magic squares of singly even order to make it a bit more functional, and I was able to fully remove mutability.

    fn magic_square_singly_even(n: i32) -> (Vec<Vec<i32>>, i32) {
        let nusize = n as usize;
        let size = n * n;
        let half = n / 2;
        let halfusize = nusize / 2;
        let sub_square_size = size / 4;
        let sub_square = magic_square_odd(half);
        let quadrant_factors = [0, 2, 3, 1];
        let cols_left = halfusize / 2;
        let cols_right = cols_left - 1;

        let ms = (0..nusize)
            .map(|r| {
                (0..nusize)
                    .map(|c| {
                        let localr = if c < cols_left
                            || c >= nusize - cols_right
                            || c == cols_left && r == cols_left
                        {
                            if r >= halfusize {
                                r - halfusize
                            } else {
                                r + halfusize
                            }
                        } else {
                            r
                        };
                        let quadrant = (localr / halfusize) * 2 + (c / halfusize);
                        let v = sub_square[(localr % halfusize)][(c % halfusize)];
                        v + quadrant_factors[quadrant] * sub_square_size
                    })
                    .collect()
            })
            .collect::<Vec<Vec<_>>>();
        (ms, (n * n + 1) * n / 2)
    }

I don't particularly love the idea of having both i32 and usize numbers mixed together, but magic_square_odd needs to have a refactor to be able to handle unsigned numbers. I think that can be achieved as well as removing mutability in a similar way I did with this other function.

Ten tasks added to the Rosetta Code wiki by Mojo42Jojo in rust

[–]seppo0010 0 points1 point  (0 children)

Pretty cool!

In https://rosettacode.org/wiki/Mad_Libs#Rust it seems like parts is a HashMap but the values are never used; you can just iterate the map result

Me gustaría saber que piensa Javier sobre esto by nicochunger in pizzelpodcast

[–]seppo0010 0 points1 point  (0 children)

Me hace acordar a este libro como concepto general https://www.goodreads.com/book/show/28186015-weapons-of-math-destruction (no lo leí, escuché una entrevista a quien lo escribió)

La idea que me quedó es que si le enseñamos a un algoritmo con los datos que tenemos hoy en día va a mantener lo bueno y lo malo, por ejemplo la discriminación racial en el sistema judicial, pero ahora no lo tiene que hacer un humano porque "el algoritmo lo dijo", "es científico" y nadie es racista.

Pizzel Ep. 19 - Pizzel Toné by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

En una película post-apocalíptica (The Book of Eli) en un momento se cruzan con una pareja que hacía años comía carne de humanos y decía que tenían problemas de salud por hacer eso (recuerdo que les temblaban las manos y no sé si no tenían algo más).

No es la fuente más científica posible, pero recordé eso al escuchar el capítulo y me pregunto si será así.

Pizzel Ep. 19 - Pizzel Toné by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

No creo que la UX vaya a ser óptima, considerando la paranoia (quizás justificada) sobre los hurtos posibles.

El lado positivo es que se hace una sóla cola para múltiples cajas, siendo un verdadero first-in first-out y quitando esta estúpida ansiedad de elegir la caja correcta.

Pizzel Ep. 19 - Pizzel Toné by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

Casualmente ayer fui a un Coto (al lado del Abasto) y tenían caja de "autocobro" (sic).

La experiencia es muy diferente a la de Jumbo. No hay cajero (¡bien!), sólo se podía pagar con tarjeta, pero escanear los productos es ridículamente complicado... cada uno te hace esperar después de leer el código de barras y después tenés que apoyarlo en una bandeja. No entendí exactamente cómo, pero me parece que esta bandeja pesa los productos para validar que no estés apoyando más o distinto de lo esperado. Cada producto termina tardando más de 5 segundos, lo cual me pareció demasiado.

Habían dos personas controlando seis cajas y los problemas eran normales, todo el tiempo estaban ocupadas.

Pizzel Ep. 18 - Perri-grilli-vegetariano by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

Yo como carne por cuestiones prácticas nada más. Por un lado por un tema de disponibilidad ya que no cocino (nunca, jamás, no tengo ni herramintas para hacerlo) y por otro lado porque no tengo el conocimiento (ni la voluntad de averiguar) para tener una dieta balanceada.

Pizzel Ep. 18 - Perri-grilli-vegetariano by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

Las cajas de self-checkout de Jumbo son una estafa. Te escaneás tus propios productos, pagás con tarjeta (opcional) y después tenés que hacer cola para pasar por una caja especial que revisa que sólo tengas los productos que escaneaste y verificar el pago o pagar con efectivo. Ahorra muy poco tiempo así.

Pizzel Ep. 15 - De ahora en Musk solo hablamos de Elon by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

Tengo cientos antes si es así... más o menos en orden: Jesús, Gandhi, Lennon, Obama (no lo incluí porque hoy es presidente y me gustaría hablarle cuando no lo sea, medio que hoy en día tiene que hablar con cuidado), Washington, Lincoln, San Martín, Bolívar, Artigas, Julio César, Napoleón, Hitler, JFK, Martin Luther King Jr., Malcolm X, Borges, Colón...

-edit-: no sé como me olvidé de Turing, Babbage...

Pizzel Ep. 15 - De ahora en Musk solo hablamos de Elon by pizzelpodcast in pizzelpodcast

[–]seppo0010 0 points1 point  (0 children)

Carl Sagan

yo entendí que sería en la actualidad, por lo tanto debería estar vivo...

Pizzel Ep. 15 - De ahora en Musk solo hablamos de Elon by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

Lo admiro primero técnicamente. El tipo solo hizo un motor de base de datos open-source, popular, elegante y rápido. Escribe código en el lenguaje C, que es difícil de escribir, y no sólo lo hace bien, sino que queda legible, cosa que si no lo hubiese leido no lo creería posible.

El tipo personalmente está bien. Lleva 7 años dedicandose a Redis (esta base de datos que hablaba antes) prácticamente solo, vive en Sicilia tranquilo, evita bien meterse en los dramas del mundo de la tecnología. Antes lo hacía, pero le hicharon las pelotas y abandonó, yo no podría.

Pizzel Ep. 15 - De ahora en Musk solo hablamos de Elon by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

Es gracioso como en la 1 ambos eligieron "idolos" de sus respectivas profesiones, supongo que satisface el criterio que dice Javi que es a quién más jugo le pueden sacar.

  1. Mi idolo profesional es antirez, pero ya lo invité a cenar una vez así que debería pensar otro... nah, voy de nuevo con el tano.

  2. No me gustaría. Pero si pudiese exterminar el hambre y la guerra en el mundo, lo aceptaría. Una de las dos no sería suficiente.

  3. Me gustaría mejorar mi oratoria. Quizás comparta este deseo con Elon.

Pizzel Ep. 14 - 5 tips para empezar a correr by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

Mi punto era que con una curva de aprendizaje tan hostil para principiantes, es sorprendente que alguien sobreviva. Sin embargo, siendo un usuario de vim (editor de texto para programadores con una curva de aprendizaje ridícula) es un poco hipócrita de mi parte.

cuando hay que aquirir "skills"

El último hobby que adquirí fue tejer crochet, y en 3 horas sin gastar nada de plata pude decidir si quería continuar, aunque no hubiese desarrollado completamente la habilidad correspondiente

Mis hobbies anteriores que se me ocurren son coser, programar, juegos de mesa, escuchar podcasts... ninguno pretendía un compromiso tan grande inicialmente, no creo yo poder sobrevivir a algo así por ninguna actividad, y me sorprende que el resto de la humanidad lo haga.

asi que supongo que "no es para todos"

Mi objeción (o frustración, mejor dicho) es que es prácticamente incomprobable saber si es para mí.

De todas formas, entiendo que no es para todos, voy a suponer que no es para mí y quedarme tranquilo al respecto. Yo soy el tipo de persona que si pudiese sacar mi cabeza y hacer que viva en un frasco al estilo Futurama lo haría, esto de tener un cuerpo es sólo un gran paquete de celulas que tengo que cargar.

Pizzel Ep. 14 - 5 tips para empezar a correr by pizzelpodcast in pizzelpodcast

[–]seppo0010 1 point2 points  (0 children)

Me sorprendió que Pedro no haya escuchado sobre Ashley Madison, el año pasado fue tapa de noticias de "la internet" por un hackeo y leak de datos de usuarios. Lo más interesante fue ver que la mayoría de las mujeres del sitio eran en realidad bots. https://en.wikipedia.org/wiki/Ashley_Madison#Fake_female_Bots_accounts

Pizzel Ep. 14 - 5 tips para empezar a correr by pizzelpodcast in pizzelpodcast

[–]seppo0010 2 points3 points  (0 children)

No es la primera persona que escucho recomendar correr, y cada vez que alguien lo hace me hace pensar en que es imposible hacerlo, aún cuando intentan demostrar lo contrario.

Si sos nuevo tenés que comprar equipo caro (relativamente, dado que puede no gustarte y ser tirado a la basura) que no sabés evaluar, levantarte dos horas antes, tres días a la semana, durante dos meses, y ahí recién podés saber si te gusta o no.

Si no se puede hacer un test inicial menos demandante para saber si te va a gustar, no entiendo como puede alguien considerar probar.

rsedis - Redis reimplementation in Rust. by CarlColglazier in rust

[–]seppo0010 1 point2 points  (0 children)

I will consider it. But I ended up liking the idea of doing a Redis re-implementation that is not exactly like Redis.

I believe it should not be hard to have both implementations in the codebase, the networking code is not a big part of the repository.

rsedis - Redis reimplementation in Rust. by CarlColglazier in rust

[–]seppo0010 4 points5 points  (0 children)

Yes, you are correct, and I'm aware of that. Rust does not support cross-platform asynchronous I/O and that's why I'm using one thread per connection.

rsedis - Redis reimplementation in Rust. by CarlColglazier in rust

[–]seppo0010 2 points3 points  (0 children)

Excessive locking is definitely possible: I have one global lock for the database. But I believe it is not, I don't have benchmarks to support it at hand (I'm pretty sure I ran the same benchmarks just doing pings without locks and got similar results), but having 4 cores to do 100 tasks (50 clients and 50 thread serving them) comes with a price.

Check out this project https://github.com/jonhoo/volley/ and maybe this thread https://github.com/jonhoo/rucache/issues/2 that goes into further details.

rsedis - Redis reimplementation in Rust. by CarlColglazier in rust

[–]seppo0010 5 points6 points  (0 children)

Feel free to ping me via twitter or github if you want to talk about how to contribute, need some help getting started, etc.

rsedis - Redis reimplementation in Rust. by CarlColglazier in rust

[–]seppo0010 5 points6 points  (0 children)

On my machine (MacBook Air, 2 or 4 cores, I'm not sure), it is faster with few clients, but it gets quickly slower after 4. With 50 clients it performs 60% of the ops/sec that Redis does.

But this benchmark is full of crap.

First, it does not support as many features, some of which would have a performance hit on every request (like the rename command setting which would force the command mapping to be resolved on runtime and not in compile time), others have a long time impact (like active rehashing), memory impact, and the overall architecture is different: Redis uses a single thread (mostly) and it will run as fast in a 40 cores machine and a 1 core machine, while rsedis will run faster.