jwong's recent activity

  1. Comment on Steam - 2020 Year in Review in ~games

    jwong
    Link Parent
    I’m also a little confused by this since I have already played Steam games in China. It required me to put an ID card in to create my steam account, and I used WeChat to pay for it. All players...

    I’m also a little confused by this since I have already played Steam games in China. It required me to put an ID card in to create my steam account, and I used WeChat to pay for it. All players were mainland Chinese on presumably mainland servers, given then latency. I wonder what the “bringing steam onshore” means - more Chinese exclusive games?

    2 votes
  2. Comment on Full-stack developers starting a software agency? in ~comp

    jwong
    Link
    What’s IH community? Is that an acronym for Tildes that I don’t know?

    What’s IH community? Is that an acronym for Tildes that I don’t know?

    2 votes
  3. Comment on What do you use for email? in ~tech

    jwong
    Link Parent
    Oh that's very interesting, never thought about working with git over email. I would like to try that some time. It seems like a more thought-out flow, making you think about your changes before...

    How it's done is explained here, and this person explain why they prefer the e-mail patch flow to systems like PRs. I do, too.

    Oh that's very interesting, never thought about working with git over email. I would like to try that some time. It seems like a more thought-out flow, making you think about your changes before pushing.

    For automation, I created a timer script which regularly polls my inbox for emails whose destination address matches something like bot+...@, I use the ... as task type, and the message subject/content as task data.

    Interesting, and so I'm guessing you're using something like getmail to poll your inbox? I have an old flip phone that runs an ancient version of Android, and this seems like it might be a good interface to push/pull info. I had tried Dropbox originally, but that went very poorly on the poorly specced phone.

    I would be interested to hear if you end up finding something besides an AMQP server (or if you have any more details on that setup). I currently run a mac mini that is more or less my hub for everything, but if the AMQP server is light enough, could handle this sort of thing.

    2 votes
  4. Comment on What do you use for email? in ~tech

    jwong
    Link Parent
    Do you have any more details on your git email contributions? Is that just giving feedback on PRs? Or are you writing actual code here? Also would be interested in hearing about your automation...

    Do you have any more details on your git email contributions? Is that just giving feedback on PRs? Or are you writing actual code here?

    Also would be interested in hearing about your automation pipelines. I got burned by IFTTT's change to their free tier and want to own my automations from now on.

    3 votes
  5. Comment on What do you use for email? in ~tech

    jwong
    Link
    Fastmail On PC, I use the webmail client, and on phone, I use the iOS fastmail client (only because you can do wildcard from: addresses, otherwise I much prefer iOS mail). The one thing I hate...

    Fastmail

    On PC, I use the webmail client, and on phone, I use the iOS fastmail client (only because you can do wildcard from: addresses, otherwise I much prefer iOS mail).

    The one thing I hate about the iOS Fastmail client is that swiping is not configurable, and is opposite how iOS mail seems to default (swipe in one direction is delete, instead of archive like in iOS).

    I treat it as a loose Todo list, important action items are kept in inbox, everything else gets archived. Some project-specific things go into tags, but most just into the general archive bucket.

    7 votes
  6. Comment on LFG (Looking For Group) Thread: Play games with other folks on Tildes in ~games

    jwong
    Link Parent
    Had a try last night, man that's hard to get going. I'll need to find a day I have some more time to figure things out. The first attempt I somehow spawned myself without an opponent. The art and...

    Had a try last night, man that's hard to get going. I'll need to find a day I have some more time to figure things out. The first attempt I somehow spawned myself without an opponent. The art and UI is very well-thought out though.

    2 votes
  7. Comment on LFG (Looking For Group) Thread: Play games with other folks on Tildes in ~games

    jwong
    Link Parent
    Vantage Master looks really fun. What version/platform do you play on?

    Vantage Master looks really fun. What version/platform do you play on?

    3 votes
  8. Comment on Day 2: Password Philosophy in ~comp

    jwong
    Link
    Java again. Got tripped up a little on part 2, when I modified my part 1 solution. Part 1 - 5.44 ms import java.io.BufferedReader; import java.io.FileReader; import java.io.File; import...

    Java again. Got tripped up a little on part 2, when I modified my part 1 solution.

    Part 1 - 5.44 ms
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    
    public class PasswordPhilosophy {
    
      public static void main(String[] args){
        long startTime = System.nanoTime();
    
        // get input
        BufferedReader reader;
        try {
          String filePath = new File("").getAbsolutePath();
          filePath = filePath.concat("/input.txt");
          reader = new BufferedReader(new FileReader(filePath));
          String line = reader.readLine();
    
          int validPasswords = 0;
    
          while (line != null) {
            int charMin = Integer.parseInt(line.substring(0, line.indexOf("-")));
            int charMax = Integer.parseInt(line.substring(line.indexOf("-")+1, line.indexOf(" ")));
            char requiredChar = line.charAt(line.indexOf(" ")+1);
            int charCount = 0;
    
            for (int i=line.indexOf(":")+2; i<line.length(); ++i) {
              if ( line.charAt(i) == requiredChar ) {
                charCount++;
              }
            }
            if ( charCount >= charMin && charCount <= charMax ) {
              validPasswords++;
            }
            line = reader.readLine();
          }
          reader.close();
          
          long endTime   = System.nanoTime();
          long totalTime = endTime - startTime;
    
          System.out.println("Valid Passwords: " + validPasswords);
          System.out.println("Total Time: " + totalTime + " nanoseconds");
        } catch (IOException e) {
          e.printStackTrace();
        }
    
      }
    }
    
    Part 2 - 34.37ms
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    
    public class PasswordPhilosophyPt2 {
    
      public static void main(String[] args){
        long startTime = System.nanoTime();
    
        // get input
        BufferedReader reader;
        try {
          String filePath = new File("").getAbsolutePath();
          filePath = filePath.concat("/input.txt");
          reader = new BufferedReader(new FileReader(filePath));
          String line = reader.readLine();
    
          int validPasswords = 0;
    
          while (line != null) {
            int posOne = Integer.parseInt(line.substring(0, line.indexOf("-")));
            int posTwo = Integer.parseInt(line.substring(line.indexOf("-")+1, line.indexOf(" ")));
            char requiredChar = line.charAt(line.indexOf(" ")+1);
            int charCount = 0;
    
            if ( line.charAt(line.indexOf(":") + posOne + 1) == requiredChar && line.charAt(line.indexOf(":") + posTwo + 1) != requiredChar ) {
               validPasswords++; 
               System.out.println("here");
            } else if ( line.charAt(line.indexOf(":") + posOne+1) != requiredChar && line.charAt(line.indexOf(":") + posTwo+1) == requiredChar ) {
               validPasswords++; 
               System.out.println("here1");
            } else {
               System.out.println("here2");
            }
            //System.out.println("pos1:" + posOne + " char: " + line.charAt(posOne-1) + " required char: " + requiredChar);
            //System.out.println("pos2:" + posTwo);
            line = reader.readLine();
          }
          reader.close();
          
          long endTime   = System.nanoTime();
          long totalTime = endTime - startTime;
    
          System.out.println("Valid Passwords: " + validPasswords);
          System.out.println("Total Time: " + totalTime + " nanoseconds");
        } catch (IOException e) {
          e.printStackTrace();
        }
    
      }
    }
    
    3 votes
  9. Comment on Did youtube just make it so you can't watch embedded videos that have an age restriction without logging in? in ~tech

    jwong
    Link
    It's been like this for a week or so. Very annoying, as I also try to use YouTube as much as possible without being logged in.

    It's been like this for a week or so. Very annoying, as I also try to use YouTube as much as possible without being logged in.

    3 votes
  10. Comment on Day 1: Report Repair in ~comp

    jwong
    Link
    I'm surprised at the lack of Java here Part 1 - 2.025 ms import java.io.BufferedReader; import java.io.FileReader; import java.io.File; import java.io.IOException; import java.util.ArrayList;...

    I'm surprised at the lack of Java here

    Part 1 - 2.025 ms
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    
    public class ReportRepair {
      public static void main (String[] args) {
        long startTime = System.nanoTime();
        ArrayList<Integer> input = new ArrayList<>();
    
        // get input
        BufferedReader reader;
        try {
          String filePath = new File("").getAbsolutePath();
          filePath = filePath.concat("/input.txt");
          reader = new BufferedReader(new FileReader(filePath));
          String line = reader.readLine();
          while (line != null) {
            input.add(Integer.parseInt(line));
            line = reader.readLine();
          }
          reader.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
        // end get input
    
        // Create a hashmap of the complement, then we can look for the complement afterwards
        HashMap<Integer, Boolean> complements = new HashMap<>();
        int answer = 0;
        for(int i : input) {
          if (complements.containsKey(i)) {
            answer = i * (2020 - i);
            break;
          }
          int complement = 2020 - i;
          complements.put(complement, true);
        }
        if (answer != 0) {
          System.out.println( answer );
        } else {
          System.out.println( "No answer found" );
        }
        long endTime   = System.nanoTime();
        long totalTime = endTime - startTime;
        System.out.println("Time completed: " + totalTime + " nanoseconds");
      }
    }
    
    Part 2 - 12.69 ms
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    
    public class ReportRepairPt2 {
      public static void main (String[] args) {
        long startTime = System.nanoTime();
        ArrayList<Integer> input = new ArrayList<>();
    
        // get input
        BufferedReader reader;
        try {
          String filePath = new File("").getAbsolutePath();
          filePath = filePath.concat("/input.txt");
          reader = new BufferedReader(new FileReader(filePath));
          String line = reader.readLine();
          while (line != null) {
            input.add(Integer.parseInt(line));
            line = reader.readLine();
          }
          reader.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
        // end get input
    
        // Create a hashmap of the complement, then we can look for the complement afterwards
        HashMap<Integer, Integer> complements = new HashMap<>();
        for(int i : input) {
          int partialSum = 2020 - i;
          complements.put(partialSum, i);
        }
    
        int answer = 0;
    
        for(int i : input) {
          for(int j : input) {
            int comboSum = i + j;
            if (complements.containsKey( comboSum )) {
              int thirdValue = complements.get( comboSum );
              answer = thirdValue * i * j;
              break;
            }
          }
        }
    
        if (answer != 0) {
          System.out.println( answer );
        } else {
          System.out.println( "No answer found" );
        }
        long endTime   = System.nanoTime();
        long totalTime = endTime - startTime;
        System.out.println("Time completed: " + totalTime + " nanoseconds");
      }
    }
    
    2 votes
  11. Comment on No game days. No bars. The pandemic is forcing some men to realize they need deeper friendships. in ~life

    jwong
    Link Parent
    This has been really weird for me. I was in the middle of a move and got stuck in another country, so I didn't get to finish the move. I feel like I'm in sort of a limbo, as the people I do know...

    This has been really weird for me. I was in the middle of a move and got stuck in another country, so I didn't get to finish the move. I feel like I'm in sort of a limbo, as the people I do know in this area aren't really taking precautions (going to bars still, travelling).

    Thus, I've become a big hermit over the past 5 months or so, my only real contact through a couple people on the phone. I noticed it's been really bad for my mental health, making it easier to get aggravated at the slightest things. Without even else to commit to social events, my work and "rest" bleed together such that I don't really feel productive or rested most of the time.

    Not really sure what to do given that I don't really know how to find people who are taking precautions, and I don't feel comfortable "judging" people on it. Maybe it's just the fear of confronting people by asking really deep questions on this? I echo @vord's thoughts on getting more involved with the local community. I also want to find somewhere I'm comfortable to call home, and grow some deeper roots within.

    9 votes
  12. Comment on Best photo cards in 2020 in ~tech

    jwong
    Link
    An idea that's been swirling around my head for the past year is to make a "zine" of my photos I've taken. Even if it's just my own, the act of curating my own photos is appealing. I hardly ever...

    An idea that's been swirling around my head for the past year is to make a "zine" of my photos I've taken. Even if it's just my own, the act of curating my own photos is appealing. I hardly ever look back on old photos, so this would be a good exercise in that.

    For that, I had been heavily eyeing Mixam

    1 vote
  13. Comment on Is the duopoly forever? in ~tech

    jwong
    Link Parent
    I wonder how long off that's going to be given the many pirate copies of WinXP running in China everywhere (local cops, universities, etc) . I guess for the majority of Chinese , as long as...

    I wonder how long off that's going to be given the many pirate copies of WinXP running in China everywhere (local cops, universities, etc) . I guess for the majority of Chinese , as long as there's a webbrowser , QQ , some Office-esque software (WPS), they'd probably be happy enough . There's still a fairly large contingent of netbar attendees who play games on Windows though .

  14. Comment on Introducing the next generation of Mac - A new MacBook Air, 13-inch MacBook Pro, and Mac mini powered by M1, Apple’s chip designed specifically for the Mac in ~tech

    jwong
    Link Parent
    We'll have to see once it comes out, but maybe it's something akin to turboboost. Although I hate turbo boost because of the immense heat it generates -- I actually turn it off on all my laptops...

    We'll have to see once it comes out, but maybe it's something akin to turboboost. Although I hate turbo boost because of the immense heat it generates -- I actually turn it off on all my laptops (MBP 2015, 2018) so they run cooler since the boost in speed isn't really noticeable for my workloads.

  15. Comment on Looking for albums/artists with a rough, imperfect production style in ~music

    jwong
    Link
    I've never heard of the Voidz before, I love those two tracks you posted ! Cibo Matto's got some rougher producted songs. I think the vocals/beat of Sugar Water have a bit of that rough feel....

    I've never heard of the Voidz before, I love those two tracks you posted !

    Cibo Matto's got some rougher producted songs. I think the vocals/beat of Sugar Water have a bit of that rough feel.
    Birthday Cake

    LMF's 大懶堂 has looser guitar solos.

    2 votes
  16. Comment on Announcing Tildes' Make Something Month (Timasomo) for 2020! in ~tildes

    jwong
    Link Parent
    Do you've a place to listen to listen to your musics? Interested to see these, and what comes from Tim.

    Do you've a place to listen to listen to your musics? Interested to see these, and what comes from Tim.

    2 votes
  17. Comment on Announcing Tildes' Make Something Month (Timasomo) for 2020! in ~tildes

    jwong
    Link
    I’m super down for this, since quarantine i have been in a giant lull but this is the punch into my butt I need to get started again. Going to think about this the next couple of days and see what...

    I’m super down for this, since quarantine i have been in a giant lull but this is the punch into my butt I need to get started again. Going to think about this the next couple of days and see what I should do.

    I’ll start with what’s in my project list I started in January but didn’t get very far with...

    2 votes
  18. Comment on Announcing Tildes' Make Something Month (Timasomo) for 2020! in ~tildes

    jwong
    Link Parent
    I haven’t had much intro to old country music, but I’m really interested to hear that with an auz flavor. Are there other aspects you plan to make it more AU style? Like song lyrics?

    I haven’t had much intro to old country music, but I’m really interested to hear that with an auz flavor. Are there other aspects you plan to make it more AU style? Like song lyrics?

    2 votes
  19. Comment on Meet the customer service reps for Disney and Airbnb who have to pay to talk to you in ~tech

    jwong
    Link
    I noticed in recent years that most of my customer support calls were with American accented workers. I guess this explains how they are able to do it so cheaply.

    I noticed in recent years that most of my customer support calls were with American accented workers. I guess this explains how they are able to do it so cheaply.

    6 votes
  20. Comment on Do you churn, or otherwise sign up for credit cards simply for the sign-up bonuses? in ~finance

    jwong
    Link Parent
    Same here, if I have a big purchase, I'll make sure I get another good card, but it's so much admin working going through all the cards, paying them off, making sure balance matches my records....

    Same here, if I have a big purchase, I'll make sure I get another good card, but it's so much admin working going through all the cards, paying them off, making sure balance matches my records.

    Churning was fun in college when manufactured spending was as easy as walking into a pharmacy and getting some VGCs.

    2 votes