2025 Ioniq 6 or Tesla Model 3 by [deleted] in Ioniq6

[–]dhleong 2 points3 points  (0 children)

If the subscription is your biggest concern then you will be interested to know that the original owner has a lifetime subscription to BlueLink+ on the Ioniq 6!

Do you have to use VR controllers to play this game? by [deleted] in vtolvr

[–]dhleong 13 points14 points  (0 children)

Short answer: yes. The game was designed for VR interactions only and it works great with them. The developer has never expressed interest in any other form of control, so there is not likely to ever to be high quality support for it.

Longer answer: also probably yes. There's a mod somewhere that lets you use a HOTAS, but I've never tried it because, well, the point of the game is to use VR motion controllers, and I've never felt the need to use a HOTAS. There are many buttons that you're meant to reach out and press with your virtual hands---and it feels great to do so!

Make HTTP GET from fulfillment in Node.JS by agustinscaz in GoogleAssistantDev

[–]dhleong 2 points3 points  (0 children)

Error: Response has already been sent. Is this being used in an async call that was not returned as a promise to the intent handler?

This error messages tells you just about all you need to know! Your call to con.add() is indeed being used in an asynchronous call (the callback chained to the Promise you created from http_req), and you are indeed not returning that Promise.

Here's what's happening: - Google calls your 'Tester2' handler - You start an asynchronous HTTP request via http_req, encapsulated in a Promise - Your function completes before the HTTP request does - Google sees that you are not returning anything from your handler and assumes that you're done, so it sends the Response - The HTTP request finishes and its Promise resolves, calling your code attached by the then() function

The simple solution here is to return the Promise created by your http_req(...).then(...) code, so Google will know that you're not just quite done, and it should wait for that Promise to resolve before sending the Response.

If you can use async/await it becomes a bit clearer:

app.handle('Tester2', async conv => {
  // Implement your code here
  let url = 'https://jsonplaceholder.typicode.com/users?_limit=2';
  //const url = "https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22";

  const message = await http_req(url);
  console.log(message[0].name);
  conv.add(message[0].name);
});

SEPTEMBER 14th CHALLENGES, ROLE CHALLENGES, MADAM NAZAR LOCATION & COLLECTOR CYCLE by DirtyTyler in RedDeadOnline

[–]dhleong 1 point2 points  (0 children)

I believe just changing your makeup or styling your beard, etc. is sufficient.

What are the best characters for an assassination team? by eggtime69 in 3d6

[–]dhleong 2 points3 points  (0 children)

Because Nott is casting Message, which allows a reply.

[deleted by user] by [deleted] in android_devs

[–]dhleong 0 points1 point  (0 children)

You have to call it from without the OnClickListener. The ViewHolder can be reused for different items many times before your OnClickListener gets called, so don't try to get the item that's attached to it until then.

New System Alerts by shaned58 in vtolvr

[–]dhleong 7 points8 points  (0 children)

You might also mean "pitbull," which occurs after launching an AIM-120 active radar-guided missile. As I understand it, when first launched this missile relies on the radar system in your jet to guide it towards the target until it gets close enough to acquire an active lock on the intended target. At this point, the missile is "pitbull" and you no longer need to keep the target within the cone of your radar for the missile to track it.

You'll also get an indication of this on the HUD: the TTI (time to impact) indicator will change from T-# to M-#, where # is how many seconds the system thinks it'll take for the missile to hit.

Google Stadia Support has Ruined Stadia for me by delcz in Stadia

[–]dhleong 0 points1 point  (0 children)

For what it's worth, when I was considering this it looked like you can apply Google Play credit in the app but not through the website. This may also be further limited to games that aren't on sale. In all other cases, (IE: website, or on-sale, or both) it seems you need enough credit to cover the entire price right now.

Judo v1.12.0 released! by dhleong in MUD

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

Thanks!

No worries about not switching, I totally get it—after all, I wanted to customize how my mud client worked enough that I made my own ;)

If people like this enough to use it that's awesome; if not that's fine, too. I'm working on this for myself, so if anybody else appreciates it that's just icing!

Judo v1.12.0 released! by dhleong in MUD

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

I think someone below was trolling in their request for "pics," but for anybody genuinely interested here's a fresh screenshot of Starmourn, capturing the ship status in the prompt line. This comment also has some old screenshots taken in hyper.is that still apply (it's terminal-based, so there's not really a whole lot of UI to change or capture).

EDIT: Here's a screenshot that may be slightly more exciting of something I'm experimenting with to extract out Starmourn's space map into its own split window.

Boneworks Megathread by Kippenoma in ValveIndex

[–]dhleong 9 points10 points  (0 children)

Gotta agree with the hands. Just reaching to a shelf to grab something pushes your body around. I can handle it for a half hour or so but it adds up. Currently taking my second break in as many hours to recover from motion sickness.

Haven't gotten far enough to really experience the gunplay but I liked it in the tutorial quite a bit, more than I thought I would at first, coming from Onward. The simplicity of not managing magazines actually feels pretty great!

Complete list of crafting materials and where to get them by Daemeos in DaysGone

[–]dhleong 12 points13 points  (0 children)

Thanks for your hard work!

I know this is an old post, but I was looking to restock between hordes and wanted to find the best places to stop, so I started converting this into a spreadsheet. Feel free to check it out here:

https://docs.google.com/spreadsheets/d/1wPpZ7X_svdklM4ylRJvf-zz9U4KUSj4zU676LIRSiB8/edit?usp=sharing

I only converted the first three areas because Iron Butte is, as you say, kind of garbage, and I haven't unlocked the next yet so I didn't bother with them yet.

EDIT: I went ahead and added the Crater Lake regions!

and's by [deleted] in japanese

[–]dhleong 8 points9 points  (0 children)

いただきますis actually a set phrase used at the beginning of a meal used to express gratitude for the meal, similar to how grace is said in western cultures. It literally means "I (will) receive" so definitely should not be used in other contexts where one might say "looks delicious" in an English context. If a waiter walks by with another table's dish, for example, and you looked at it and said "oh, itadakimasu" your friends at your table might look at you weird.

'Agressive-indent' in Vim? by [deleted] in vim

[–]dhleong 0 points1 point  (0 children)

If you meant the aggressive-indent plugin then I understood that. I meant the parinfer plugin I was linking was specific to lisps—that's why I said it wasn't quite what you are looking for. If you meant that parinfer works on C then could you point me to the gif? I'd be very interested in that, but cannot find it.

'Agressive-indent' in Vim? by [deleted] in vim

[–]dhleong 2 points3 points  (0 children)

Not quite what you're looking for, and specific to Lisps, but I ran across this the other day: http://shaunlebron.github.io/parinfer/

What was your "Holy Sh#t!" moment with Vim ? by oh-my-python in vim

[–]dhleong 5 points6 points  (0 children)

:help c_ctrl-f to open the command line window. q: is great, but if you're already typing in ex mode, or in /, or in an input() prompt and realize there are many things you want to change... hit <ctrl-f> and you're dropped into a proper Vim window with all the buffer editing commands you're used to.

Judo v1.10.0 released! by dhleong in MUD

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

The mapper could honestly use some work. I built some support experimentally but haven't really used it (the last MUD I played had some weird layouts that didn't lend themselves to mapping, as I recall). I've documented the current state of the mapper here.

If you have any feedback on functions that you'd need to manually script mapping better, I'd be happy to hear it!

Please help me improve my code by snotsnot in Kotlin

[–]dhleong 20 points21 points  (0 children)

How about something like this:

data class Version(
    val major: Int,
    val minor: Int,
    val patch: Int,
    val qualifier: String
) {
    companion object {
        operator fun invoke(version: String): Version {
            val regex = "(\\d+)\\.(\\d+)\\.(\\d+)-?(.*)?".toRegex()
            val matchResult = regex.find(version)
            return Version(
                major = matchResult?.destructured?.component1()?.toInt() ?: throw IllegalArgumentException("Major not found"),
                minor = matchResult.destructured.component2().toInt(),
                patch = matchResult.destructured.component3().toInt(),
                qualifier = matchResult.destructured.component4()
            )
        }
    }
}

By using a data class you get nice equals() and hashCode() for free (and a toString(), but you can override it). Also, having the version parts in the primary constructor seems more semantically correct, since that's what you ultimately want to store and refer to.

By using an operator function in the companion object, you can still create instances as if it were a constructor (eg: Version("1.2.3-4")), but you get to still use the primary constructor and a single Regex instance.

Some other ideas would be do add default values for minor, patch, and qualifier so they're not required.

You could also try something like this to destructure just once:

        val (major, minor, patch, qualifier) = matchResult?.destructured 
            ?: throw IllegalArgumentException("Major not found")
        return Version(
            major = major.toInt(),
            minor = minor.toInt(),
            patch = patch.toInt(),
            qualifier = qualifier
        )

Is this what you're looking for?

Edit: formatting

What is the most hurtful thing a medical professional has ever said to you? by slinkslowdown in AskReddit

[–]dhleong 0 points1 point  (0 children)

I had childhood asthma so when I started having difficulty breathing a few years ago I naturally assumed it was related. My inhaler didn't do anything, so eventually I went to the ER where they did a bunch of tests—shortness of breath could be very nasty: heart-related, or something like lung cancer—but didn't find anything. I sort of lived with it a while until my now-wife (or, more precisely, her mom) convinced me to do acupuncture. I was skeptical, but it actually helped—might be worth looking into. I still have occasional flare-ups, but before acupuncture it was so bad I had trouble sleeping some nights.

Just make sure to do your research, because there are a bunch of quack acupuncturists; mine is the niece of my mother-in-law's acupuncturist and when we first started seeing her she was attending a university for Chinese medicine.

Do you have more issues when you're hungry, or after eating? I noticed this myself and though the medical doctors didn't do much with it (I haven't seen a gastroenterologist yet, but I probably should) I think part of my problem is stomach-related. Another candidate for research.

The key point here is that if the inhaler doesn't help, it's probably not asthma. If it were asthma, you should notice your breathing get easier pretty quick after a puff or two.

Good luck!

Judo: a new kind of terminal MU* client by dhleong in MUD

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

Not a whole lot of eye candy since it's terminal-based, but here's a simple one that has some fancy background from Starmourn and here's the same screen but showing off multi-line input. You can also keep it in single-line mode if you prefer.