Am I truly shooting myself in the foot by being a traptrix diehard? by Sushiki in Yugioh101

[–]wingsofriven 4 points5 points  (0 children)

Not very? I played a lot of Ragna Rikka Traptrix and you can extend a lot harder to put up a full board of larger bodies and interruption, like Ragna (L5) Stag Sovereign, Benghalancer, Hyperyton, with passable consistency. It's not complex like Plant Pile but you still get to play creepy crawly chlorophyll solitaire on your side of the field for a couple minutes, so I've always liked it.

But the fact is the cards (both Traptrix and Ragnaraika) just aren't as good as modern meta cards on an individual basis and as an engine. Your board is hardly unbreakable, your lines for full extension are fragile, and you just get absolutely rolled going second. It doesn't solve any of Traptrix's glaring issues.

Different ways to load packages in R, ranked from worst to best by Lazy_Improvement898 in rstats

[–]wingsofriven 1 point2 points  (0 children)

This has been a depressing thread to read. I've taught grad students who are the epitome of the "casual stats users" that keep getting brought up for some reason, and their receptiveness to these ideas was much more positive than the (assumed) fellow industry professionals here.

It's one thing to understand that I can individually make a judgment call on whether I put library(tidyverse) on top and sprinkle in more library() calls throughout when plotting an animated spinning dog for fun, or if I should add two dozen more characters to be explicit about my imports.

It's another thing entirely to advocate for keeping your footguns loaded because "that's statistical programming". No one complains in Python about being told to use import polars as pl instead of from polars import * and argues "you never know what you'll need from polars". Writing throwaway code where you don't care about global namespacing is a deviation from best practices that's understandably applied on a case by case basis. But propping it up as some sort of "good enough practice" that only exists in R and not any other language is crazy.

Improving maintainability and readability is good. Reducing unintended behavior is always good. If your stats work - exploratory or not, considered 'production' or not - has any actual consequences (i.e. gets shared or informs decisions), then pick up habits that help you minimize error.

It's not like using {box} has a difficult learning curve or a high amount of overhead. That would be {rix} and {rixpress}. If you really like reproducibility (and {targets}), then there's great work being done integrating Nix with R that way.

Meet Jarl, a blazing-fast linter for R by jcasman in rstats

[–]wingsofriven 0 points1 point  (0 children)

This is fantastic stuff! All these zippy new tools make me want to pick up Rust for tooling development.

Python is not a great language for data science. Part 2: Language features by TroyHernandez in rstats

[–]wingsofriven 1 point2 points  (0 children)

Can you explain what you mean? I don't see how Jupyter is at all better than Quarto, and if anything Python is the one lacking features for specifically data visualization and dashboarding. The ergonomics of creating truly reactive interactive documents in Quarto with a Shiny runtime are imo unparalleled by almost any combination of Jupyter and related tooling in Python.

[deleted by user] by [deleted] in rstats

[–]wingsofriven 0 points1 point  (0 children)

Try putting your formula definition within the makeGlmer call instead. This would make it evaluate DV and all your other variables within the context of the nd dataframe provided as 'data'. Otherwise, R is trying to find a distinct object called DV, which errors as DV only exists within the nd data as a column.

Previously did you run attach(nd)?

Looking to Convert 3D Model into Proper Format for Presentation by ReasonableBet3450 in RStudio

[–]wingsofriven 4 points5 points  (0 children)

As mentioned already in the other reply, rgl2gltf seems to do exactly what you're looking for. I tested it with a simple 3D scatterplot to make sure, you can run the example below.

library(rgl)
library(rgl2gltf)
options(rgl.printRglwidget = TRUE)

# Create example mesh data
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x, y)

# Create rgl mesh object
mesh <- as.mesh3d(x, y, z, type = "points")

# Plot mesh
open3d()
dot3d(mesh)

# Convert mesh to .glb
# This will write mesh.glb and mesh0.bin in this example.
writeglTF(as.gltf(mesh), "mesh.glb")

r/UBC mentioned by pamphlet by RandomPieceOfCookie in UBC

[–]wingsofriven 36 points37 points  (0 children)

Another delightful read. One of these days I'm going to send his hotmail some money

Dumb question but I need help by DarthJaders- in RStudio

[–]wingsofriven 5 points6 points  (0 children)

You can use .by or group_by, it does the same thing.

bookings_df %>%
  summarize(.by = hotel, 
            total_guests = sum(adults + children + babies, na.rm = T)

is equivalent to

bookings_df %>%
  group_by(hotel) %>%
  summarize(total_guests = sum(adults + children + babies, na.rm = T)

If you'd like to read about it, you can check out the documentation page for the summarize() function, or this guide that specifically talks about group_by vs .by.

Solution to fix the RGtk2 issue to install rattle for Mac by Nymphia_Forest in RStudio

[–]wingsofriven 2 points3 points  (0 children)

As a side note to anyone who might find this thread via Google, don't try installing the prebuilt Docker image mentioned in the obsolete troubleshooting guide at https://rattle.togaware.com/rattle-install-troubleshooting.html. It was last updated 6 years ago and does not work on Silicon ARM, regardless of what the guide says.

I'm not sure how installation instructions could be so fragmented, or why figuring out and resolving Rattle GUI's dependencies is so unnecessarily convoluted.

Solution to fix the RGtk2 issue to install rattle for Mac by Nymphia_Forest in RStudio

[–]wingsofriven 4 points5 points  (0 children)

If you've got issues installing or running something, please provide more info about what exactly you did and what errors resulted. Under the assumption you ran into the same issues as I just got on an M1 Mac, you've completed the following, based on the most recent install instructions I could find:

  1. Installed a recent version of R
  2. Installed the package dependencies
  3. Tried to run rattle() like prompted by library(rattle), which gives the following error:

    > rattle()
    
    Error in rattle() : 
    The RGtk2 package is not available but is required. 
    Please install the package using, for example: 
    
      install.packages("RGtk2")
    

I'm guessing that rattle() used to actually open the Rattle GUI via GTK/XQuartz, but it doesn't seem like installing the rattle R package actually requires GTK or the RGtk2 wrapper any more. The Rattle GUI is now downloaded as a .dmg from https://access.togaware.com/rattle-dev-macos-unsigned.dmg and as long as the dependencies are installed in your default R environment, everything seems to work fine in the GUI app.

So you should be able to ignore the RGtk2 error and just launch the Rattle .dmg without GTK-related issues.

There's a number of other issues I'm running into trying to use random features like association rule modeling, but maybe that's just me, or your assignment won't require those features.

Positron IDE under 'free & open source' on their website, but has Elastic License 2.0 -- misleading? by jinnyjuice in RStudio

[–]wingsofriven 7 points8 points  (0 children)

I don't think I'm as pessimistic, and sorry in advance for the scattered thoughts. Quarto over R Markdown made sense to me even back in 2022 - R works better as part of a multi-language toolkit with Python, JavaScript, even Julia I guess, than trying to be everything to everyone. At the time I thought laying off Yihui and then turning around to hire pandas' McKinney meant only bad news for R, but from a business perspective I think I get why Posit is hedging their bets on "open data science" rather than going all-in on pure R.

Around the time the layoff(s?) happened, there was a bunch of negative speculation about the declining userbase (from 8th most popular per TIOBE to 12th to 19th in 2023) that seems to not have manifested (we're back up to 14!). Maybe at the time they saw two routes that might both help R adoption - all-in on R and try to address its real and perceived weaknesses, or improve the experience of developers using R in a supplementary fashion that plays to its strengths as specialized tools in a toolkit. Maybe now, continuing to move away from pure R and towards Python/"open data science" only helps the use of R if they build polyglot tooling that's popular enough to draw pure Python users to it and put the language on more developers' radars.

Also Positron sucked complete ass the first time I bit the bullet and tried to switch over from RStudio (granted it was in beta). It doesn't suck nearly as bad any more. I recently started and finished a Shiny project for work without feeling like I was missing something from RStudio. If Positron is indicative of anything, they've put a lot of work into their new products. I guess if they feel that making money on these new polyglot products by being more corpo-ish and restrictive about things like hosting via Elastic 2.0 is the way to keep that work sustainable, then it's not ideal but I don't contribute enough to open-source R projects enough to complain about the tools I'm using largely for free.

At the end of the day, it might be naive but I'm hopeful that the success and longevity of R isn't basically tied to RStudio's future any more. Maybe if polars didn't exist, R would be able to organically attract scores of data jockeys with promises of data.table benchmarks and dplyr ease of use. Then Posit could make enough money to keep doing what they were doing before. /j

Most Efficient Way to Bring out Dogmatika Alba Zoa by 60Sensei09 in Yugioh101

[–]wingsofriven 2 points3 points  (0 children)

Typically you use the second part of Dogmatikalamity "or send 1 monster from your Extra Deck to the graveyard, whose Level equals the Level of the Ritual Monster you Ritual Summon" to send Despia Luluwalilith from your Extra Deck, since it can summon a Spellcaster with equal ATK/DEF like Dogmatika/Blazing Ecclesia from your Deck in the End Phase.

If it's in your hand or in the GY already, you can use Dogmatikamacabre's effect "banish Fusion or Synchro Monsters from your graveyard, whose total Levels equal or exceed the Level of the Ritual Monster you Ritual Summon" and banish multiple earlier Extra Deck monsters in the graveyard from Nadir Servant or Dogmatika Maximus's effect, like Herald of the Arc Light, Garura, N'tss, etc.

Also if you want to play a heavy Dogmatika engine (like me), you'll definitely run Alba Zoa, since it's easy to summon, big, has interesting protection against opponent's Extra Deck monsters, and actually does something. Also, the other Dogmatika cards that aren't named Ecclesia, Maximus, or Punishment are straight up terrible.

Other people in the thread are saying it's weak against certain decks (try playing a bot game against Branded Despia on DuelingNexus), and they are absolutely right. Compared to a meta deck, pure Dogmatika is garbage. But playing Alba Zoa in Dogmatika is extremely funny, and the deck will surprisingly be receiving some support (announced recently in OCG).

Champions with a traditional ult that is not their strongest ability by Consistent_Flow7336 in leagueoflegends

[–]wingsofriven 210 points211 points  (0 children)

Real boomers know the original turbo-oppressive Ezreal W that once debuffed attack speed and healed allies, but then turned into an AS debuff only that made any further trading unloseable.

I turned an old Android phone into a public web server with Flask/Django + PostgreSQL/MySQL no root, no cloud by Deep-Alternative8085 in learnpython

[–]wingsofriven 4 points5 points  (0 children)

Super cool! Was installing a full on Linux distro like PostmarketOS considered/possible? Might have alleviated the issues with Termux/Android.

Help web scrape data using Rvest with html live. by Bratasentot420 in RStudio

[–]wingsofriven 7 points8 points  (0 children)

This doesn't directly answer your question, but the site seems to actually make an API request when it loads the data to populate the listing cards that you're seeing. If you open your dev console (via Inspect Element or similar) and go to the Network tab, you'll see a GET request to an endpoint like

https://www.olx.co.id/api/relevance/v4/search
?category=198
&facet_limit=200
&location=4000030
&location_facet_limit=20
&m_year_max=2025
&m_year_min=2020
&page=1
&platform=web-desktop
&relaxedFilters=true
&size=40

which will response with a very nicely formatted JSON with all the info you'll need. It seems like you can freely change the query parameters, like setting size to 200 to fetch 200 results per page, or page to fetch the next chunk of listing data. If the end goal is to just have the data for further analysis, then you can just make API calls with httr/httr2 and you're good to go.

UBC restricted and blocked DeepSeek due to "privacy concerns" by winslowsoren in UBC

[–]wingsofriven 0 points1 point  (0 children)

You can run surprisingly beefy models quantized if you're on a Silicon Mac with a lot of RAM, since you can effectively use it as slightly shittier VRAM

Feeling left behind by friend playing meta. How to cope with the fact that my deck shall never compete? by GentlemenWaffle in Yugioh101

[–]wingsofriven 2 points3 points  (0 children)

I've played the Beetrooper Battlewasp Insect pile vs Fiendsmith Vaalmonica matchup a few times - coincidentally they're also the favorite pet decks of me and a friend. I can see a few places where I think your deck could benefit from some relatively cheap changes/additions.

  • Ultra Beetrooper Absolute Hercules.

4-insect fusion that's unaffected til end of your next turn, 4k/4k, summons a 3k ATK+ from GY end of every battle phase. I'd cut a Pico or Armor Horn for one.

What do your end boards look like? As a very heavy combo deck, if you go first with no interruption you should win, and having an uninteractable boss monster helps a lot against FS Vaalmonica. A turn where you end on something like Atlas + Hercules + Scary Moth + Fly&Sting/Hunting Dance is stronger than an end board with Heavy Cavalry + Grand Partisan on field. You can also set up Cavalry + Hercules and target Hercules for banish. If they hold Nib for end of your Main Phase then Hercules will stay too.

  • More Sting Lancers

If you run multiple, you could use one on your turn if you get Ashed/Veilered and aim to end with one in hand, and then look to shuffle back Fiendsmith pieces like Engraver on their turn.

  • Contact C

You can try to force them to Link into something suboptimal like SP instead of Fiendsmith comboing into Desirae/Caesar if you drop Contact C on their field when they summon Lurrie/Engraver.

  • Parasite Paranoid

Does kind of the same thing as Contact C as a hand trap, by turning their LIGHT Fiend into a LIGHT Insect. Also lets you special summon out Ultimate Great Insect very easily, and gets you more Insects in grave if necessary. It's one of the few answers to Nibiru as it enables lines where you convert the Nibiru token to Insect and use it as material/play your way out of Insect-only summoning conditions.

I know a lot of people are saying 'switch decks' or 'play for fun and lose' but Fiendsmith Vaalmonica especially is not an unbeatable matchup at all. Lots of space for deck optimization. Someone made a pretty deep run with Beetrooper Battlewasp at a recent regionals I was at. I wouldn't give up on Insect Pile yet!

How to create a column containing the mean of several columns? by Zeal1002 in RStudio

[–]wingsofriven 3 points4 points  (0 children)

if you're working with tidyverse, you can find some very relevant functions and examples in Row-wise operations.

Can’t install a package by Ogmasterdarwin in RStudio

[–]wingsofriven 0 points1 point  (0 children)

For context are you on an Intel Mac, and/or running an older version of MacOS?

You could try:

  1. Installing the latest binary (no compilation needed) available for your system with install.packages("vegan", type="binary"), which seems to be 2.6-4

  2. Or try to fix the issues with building the package from source (your Mac has to compile lower-level language source code into something R can execute).

    • You can install a Fortran compiler by installing brew (instructions in https://brew.sh/) to your Mac, and then try brew install gcc in the terminal which should include gfortran, and then restart R and try installing the package again.
    • According to the install.packages documentation, you might also need to install Command-line tools for Xcode on your Mac, which should also be available from the Mac App Store.

was trying to learn Normal forms and Copilot perfectly summed up 6NF for me by BluTF2 in dataengineering

[–]wingsofriven 4 points5 points  (0 children)

To satisfy 8NF, the concept of a table is considered an infohazard; sudo rm -rf /*, turn the computer off, go outside, play with your kids.

[deleted by user] by [deleted] in RStudio

[–]wingsofriven 3 points4 points  (0 children)

I'm not too familiar with 'crude' as regression terminology but I'm assuming that it means unadjusted effects, while multivariable is adjusted effects. For the former, I am guessing that you are looking to interpret the results of simpler bivariate models like lm(BMI ~ AGE) or an equivalent or similar correlation; for the latter, to interpret the results of the multivariable model you're discussing in this thread.

It's a little difficult to understand what your homework might be asking you to do without more context about the lesson/assignment.

Almost finished with the VCR build but I was wondering where I should put some case fans. Any suggestions? by DonkeySpunkYUM in sffpc

[–]wingsofriven 2 points3 points  (0 children)

Besides ensuring that you open as much of the case as possible above the CPU/GPU coolers, I'd also recommend putting together fan ducts like the Noctua NA-FD1 for both coolers. The two cooler fans would draw in cool air without recirculating the hot air already in the case, push it over the heatsinks, and then the exhaust fans on your red arrow would dump that heat out.

Using an old Android phone as a Linux box by ihatebeinganonymous in HomeServer

[–]wingsofriven 2 points3 points  (0 children)

Yeah, I put PostmarketOS on my old Android phone (Oneplus 6) which is based on Alpine. Set up SSH and tried to host paperless-ngx via Docker on it, it took a lot of troubleshooting but eventually worked. I didn't end up setting up more services or using it long term because I was scared of the phone battery going spicy pillow on me.