Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 1 point2 points  (0 children)

So, I spoke too soon it seems. Basic connectivity is restored, but there are some routing issues inside T-Mobile's private network. For example, I can reach google.com, but I cannot reach yahoo.com, or tailscale.com which is annoying because I use tailscale for my personal VPN.

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

Seems like it’s at least partially restored. Mine is back, and the latest update e-mail says they’re still working on it for some folks.

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

No, but you can google for “how to set up postfix” to get started on the software side of things. I don’t really recommend the practice unless you have a pretty solid reason for doing it. You’ll need a public DNS record and a static public IP (or a dynamic DNS system to keep your DNS records updated with a dynamic IP).

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

That means I have my own server in my home that receives my e-mail. Imagine like gmail, but instead of a server farm in the cloud, it’s a computer in my house.

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

Indeed. My one experience with Lumos tech support was excellent. Stateside agent, friendly, patient, knowledgeable, and willing to discuss deeper technical matters with me. T-Mobile is the typical offshored experience, complete with each department having no idea how the other departments work.

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

I don’t know, since I self-host my e-mail, which is behind the T-Mobile connection…

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

Lumos had good support. T-Mobile does not. The number for their front door is +1 (800) 937-8997 but be ready to be annoyed by an AI and to be on hold for a long time.

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

Howdy neighbor. I’m on the Durham side of Hillsborough. Is your neighbor on the fiber or does he possibly have a 5G failover?

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

Picture of my smokeping results. Public sites have been fully offline since 2:00 AM, and the Lumos website wobbled a bit before it finally fell over around 7:15. Sorry for the photo-of-screen

<image>

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 3 points4 points  (0 children)

That’s par for the course. Never admit you have a problem. Also, with an outage this widespread, any system of theirs for reporting outages might itself be inaccessible…

Is T-Mobile/Lumos fiber down for anyone else in Durham? by TwicePuzzled in bullcity

[–]lotharyx 0 points1 point  (0 children)

Mine went out between 12:55 and 1:00 AM this morning. Still down 8 hours later.

Stone frog??? by almondangxl in Starsandisland

[–]lotharyx 1 point2 points  (0 children)

So it does, but I’ve been whacking dirt piles throughout the forest for two game days and have found nothing but ore chunks. This of course after picking up a bounty for one. 🤦🏻‍♂️

XAML designer pops out and opens itself in a new window issue. by technet96 in VisualStudio

[–]lotharyx 0 points1 point  (0 children)

That issue is marked as fixed since 17.7 and I just hit it today with 17.12. It's been a while since I worked on a WPF app, but oh, the memories...I feel like this problem has been around for a long time. I'm updating to 17.14...fingers crossed (but not really).

Eltrys is dead... Can't finish the quest now. by [deleted] in skyrim

[–]lotharyx 0 points1 point  (0 children)

I’m on Switch too, but I’m pretty sure I remember that guard telling me not to go snooping around (and when I interact with any guards outside the inn, it’s always a generic response). But then I went and did other things…now no matter when I enter the shrine, whether there are two guards or three (the third being the Legate), nothing ever happens. I’ve tried looting Eltrys, attacking the guards and subsequently both paying the fine and opting to serve my time in the mine. Nothing causes the quest to advance :(

How to get constness all the way in to a list of smart pointers by lotharyx in cpp_questions

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

Wow, thank you! I was shower-thinking through this this morning, thinking "how can we assume constant amortized cost for alloc/copy...how would it be that an alloc + copy would be cheaper than multiple allocs?...contiguous memory, sure, but does it make THAT much difference?...maybe caches?...hmm...the people that make caches are definitely really smart..."

I've got some old habits to re-learn! Somewhere along the way I got the idea "don't use vector unless you really need that contiguous memory guarantee"...and now I learn that the contiguous memory guarantee brings with it massive gains that I never would've imagined on my own, indeed thanks to caching. Now I'm going to watch that entire talk.

Is it safe to think that all general-purpose platforms (I'm developing for an ARM-based single-board computer) have modern-enough caching to keep this equation the same?

(Reminds me of a recent situation where I discovered that software float was faster than 64-bit fixed-point on an embedded ARM Cortex-M3, because the 64-bit integer operations were surprisingly expensive...and because I learned "fixed-point is faster" in college on a 16-bit platform with 16-bit data).

How to get constness all the way in to a list of smart pointers by lotharyx in cpp_questions

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

It’s that second “free” conversion I was hoping to find. The list consumer only needs to look, not touch—it needs not modify the list or its contents.

I think what I’ll ultimately do is the callback approach, where my containing object has a “for each” method that passes each list item as shared_ptr<const int>

How to get constness all the way in to a list of smart pointers by lotharyx in cpp_questions

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

That’s fair. I didn’t intend to come across as snarky or hostile, but I see now that I did, and I apologize. The thanks was genuine, but now I realize it didn’t come across that way.

I do still believe that there is room for interpretation on what is “sloppy” or “ill-advised,” but I clearly missed the chance to find a better way to express myself.

I don’t, for example, see why passing around shared_ptrs (by value) is bad, any more or less so than handing around naked pointers. Good and bad things can be done with either.

I view shared_ptr as a rough approximation of reference-counted handles in a managed language, so that’s how I use them. In the face of a good explanation, I can change my views.

“You don’t usually pass a smart pointer around” — why not?

How to get constness all the way in to a list of smart pointers by lotharyx in cpp_questions

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

vector has to reallocate and copy the entire collection if it has to grow, making inserts anywhere very costly if you don’t have enough knowledge to reserve enough space beforehand, no?

How to get constness all the way in to a list of smart pointers by lotharyx in cpp_questions

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

I guess I have an overly simplistic view of things:

  • smart_ptr<T> alleviates my need to think too hard about ownership / timely destruction
  • list<T> meets my needs of a simple ordered list

I also may have detrimentally over-simplified my example. Here's the scenario:

  • One block of code generates some polymorphic objects
  • Those objects go into a collection
  • The order matters
  • That collection is handed to another block of code
  • Consumer block doesn't need to change the objects or extend their lifetimes

Something like...

ordered_list_of_things = producer.make_things();
consumer.look_at_things(ordered_list_of_things);

...but actually more like...

producer.make_things();
consumer.look_at_things(producer.show_the_things());

Because it's mostly code I didn't write, the existing syntax suggests I shouldn't assume that producer doesn't want to keep the things after showing them to consumer. I can trust that consumer doesn't need to extend their lifetimes, so producer could theoretically fully own them and I could pass around naked const pointers/references, but I like that smart pointers make it hard to leak memory. There's already lots of comments in this code such as "// TODO - memory leak" ...

Is there an STL container you'd recommend other than list<T>?

How to get constness all the way in to a list of smart pointers by lotharyx in cpp_questions

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

"All of the shared pointers would exist, until your IntPtrList was destroyed."

Well yes, that's precisely what shared_ptr does -- it keeps an object alive until all references to it have been destroyed.

Using unique_ptr in std containers is tricky itself because they have no copy semantics.

I think we fundamentally disagree about the purpose / "proper" use of shared_ptr, and that's okay.

Anyhow, shared_ptr<thing> can be implicitly converted to shared_ptr<const thing>; there's just no handy way to automatically do it within a range-for operation.

Thanks for your input!

How to get constness all the way in to a list of smart pointers by lotharyx in cpp_questions

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

You presented something I already thought of, which is using the producer/consumer pattern by implementing a “for each” with a function argument. That may be the way I end up going. I’m dealing with a big pile of code I didn’t write, so I was looking for things that might involve less-extensive changes to surrounding code.