pwnna

joined 2 years ago
 

I have a Fujifilm camera and decent lens that can do 600mm FF equiv is not cheap. I'm wondering what is the best option for bird photography at that range? There are some tiny 1/2.3 compact cameras like the Sony hx99 that doesn't seem too good. There also seem to be an option of picking up a m43 camera with a 300mm (600mm equivalent) lens. What is everyone's favorite options?

 

And it ate it...

 
38
submitted 2 years ago* (last edited 2 years ago) by pwnna to c/[email protected]
 

It ate a snail...

43
submitted 2 years ago* (last edited 2 years ago) by pwnna to c/[email protected]
 

Also bonus dragonfly in the picture!

 
 
7
submitted 2 years ago* (last edited 2 years ago) by pwnna to c/[email protected]
 

I have this code where I have a class MyElement that holds a MyData<UnderlyingData> that's constructed during the constructor:

#include <atomic>
#include <iostream>
#include <vector>

struct UnderlyingData {
  int a;
  int b;

  UnderlyingData(int _a, int _b) : a(_a), b(_b) {}
};

template <typename T> class MyData {
public:
  std::atomic<T> data_;

  template <typename... Args>
  MyData(Args &&...args) : data_(T(std::forward<Args>(args)...)) {}
};

class MyElement {
public:
  int c;
  MyData<UnderlyingData> mydata;

  explicit MyElement(int _c) : c(_c), mydata(0, 6) {}
};

int main() {
  std::vector<MyElement> arr;
  arr.emplace_back(5);

  std::cout << arr.at(0).c << " " << arr.at(0).mydata.data_.load().a << " "
            << arr.at(0).mydata.data_.load().b << "\n";

  return 0;
}

As you can see, MyData<UnderlyingData> holds an atomic<UnderlyingData> and the constructor of MyData attempts to perfect forward to the UnderlyingData through the atomic. This code works if I try to construct a MyData<UnderlyingData> variable manually, or a MyElement variable, like this:

  MyElement element(5);
  std::cout << element.c << " " << element.mydata.data_.load().b << "\n";

However, when I put MyElement into a vector and use either emplace_back or push_back(MyElement(5)), I get this cryptic error:

test.cpp: In instantiation of ‘MyData<T>::MyData(Args&& ...) [with Args = {MyData<UnderlyingData>}; T = UnderlyingData]’:
test.cpp:20:7:   required from ‘void std::_Construct(_Tp*, _Args&& ...) [with _Tp = MyElement; _Args = {MyElement}]’
/usr/include/c++/11/bits/stl_uninitialized.h:92:18:   required from ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<MyElement*>; _ForwardIterator = MyElement*; bool _TrivialValueTypes = false]’
/usr/include/c++/11/bits/stl_uninitialized.h:151:15:   required from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<MyElement*>; _ForwardIterator = MyElement*]’
/usr/include/c++/11/bits/stl_uninitialized.h:333:37:   required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<MyElement*>; _ForwardIterator = MyElement*; _Tp = MyElement]’
/usr/include/c++/11/bits/stl_uninitialized.h:355:2:   required from ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = MyElement*; _ForwardIterator = MyElement*; _Allocator = std::allocator<MyElement>]’
/usr/include/c++/11/bits/vector.tcc:474:3:   required from ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {int}; _Tp = MyElement; _Alloc = std::allocator<MyElement>; std::vector<_Tp, _Alloc>::iterator = std::vector<MyElement>::iterator]’
/usr/include/c++/11/bits/vector.tcc:121:21:   required from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int}; _Tp = MyElement; _Alloc = std::allocator<MyElement>; std::vector<_Tp, _Alloc>::reference = MyElement&]’
test.cpp:30:19:   required from here
test.cpp:17:34: error: no matching function for call to ‘UnderlyingData::UnderlyingData(MyData<UnderlyingData>)’
   17 |   MyData(Args &&...args) : data_(T(std::forward<Args>(args)...)) {}
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test.cpp:9:3: note: candidate: ‘UnderlyingData::UnderlyingData(int, int)’
    9 |   UnderlyingData(int _a, int _b) : a(_a), b(_b) {}
      |   ^~~~~~~~~~~~~~
test.cpp:9:3: note:   candidate expects 2 arguments, 1 provided
test.cpp:5:8: note: candidate: ‘constexpr UnderlyingData::UnderlyingData(const UnderlyingData&)’
    5 | struct UnderlyingData {
      |        ^~~~~~~~~~~~~~
test.cpp:5:8: note:   no known conversion for argument 1 from ‘MyData<UnderlyingData>’ to ‘const UnderlyingData&’
test.cpp:5:8: note: candidate: ‘constexpr UnderlyingData::UnderlyingData(UnderlyingData&&)’
test.cpp:5:8: note:   no known conversion for argument 1 from ‘MyData<UnderlyingData>’ to ‘UnderlyingData&&’

I've tried a number of permutations and can't seem to figure it out either. I don't understand why the constructor inferred seems to be UnderlyingData::UnderlyingData(MyData<UnderlyingData>) as I'm just passing two numbers to it... Any advice I can get is much appreciated.

 
[–] pwnna 3 points 2 years ago (1 children)

Given that a lot of torrents seems to have shows with 1080p or 4k dumped from streaming services, does this mean there are private breaks of L1 that people are not publishing (so it cannot be easily patched)?

[–] pwnna 2 points 2 years ago

I use gnome, and it has a lot of pain points:

  • fractional scaling with multiple monitor sucks. Now it sucked with X too but this is not that big of an improvement.
  • fractional scaling single monitor sucks with the upscaling system for xwayland. X is also bad with tearing, but with a single monitor you can just font scale.
  • gnome fractional scaling sucks as it can cause artifacts like lines and dots to appear at edge of screens. Presumably some sort of division rounding problem but idk. Probably gnomes fault but doesn't happen on X. Also not Nvidia issue as I run Intel GPUs.
  • Wayland gnome has a number of performance and usability problems. Waking laptop from sleep: the mouse cursor will stutter (wtf!) for around 5-10 seconds before behaving normally. Not an issue with X. There are general performance problems with gnome tho so more than likely it is gnome's fault as usual.
  • sometimes when you unplug from monitors, the screen will stay blank for 30-60s, frozen, until it figures out. Probably also a gnome problem but it is not like this on X.
  • dragging from the archive manager to decompress file into nautilus doesn't work under Wayland. May have been fixed, but not in Ubuntu 22.04
  • screen share support is broken
  • global shortcut is simply not supported because of "security reasons".

Also the other pain point is how no one cares and how people are like.. well it works for me, or they don't care about stutters, or they say their distro and desktop environment is better, and blaming the user.

[–] pwnna 1 points 2 years ago

Same. I only effectively use one monitor but occasionally I want to plug my laptop to another monitor. It is frankly ridiculous that we have all these monitors with HDR, hidpi, VRR and high refresh rates. We also have technologies to daisy chain them. And Linux, Wayland or not, basically doesn't support any configuration other than 1080p 60hz sdr everywhere or a single monitor.

At this rate we will be lucky if we can get one of these things well supported in the next ten years. Sometimes, I wonder if technology development rate will accelerate fast enough such that it will reach escape velocity with respect to Linux display development speed. It already feels like we have regressed, and I wonder if it will get worse.

[–] pwnna 8 points 2 years ago (2 children)

I wish Wayland is not so trash because it is the only place where you can get fractional scaling with multiple monitors kind of working. The gnome implementation is especially trash too, but I use it anyway...

 

I recently bought a refurbished x390. Got it and found the battery had one charge cycle on it. i5-8365U, 16GB of RAM, 256GB SSD, 1920x1080 IPS. A very nice machine as a backup to the family travel x1 nano.

[–] pwnna 3 points 2 years ago (1 children)

Level of experience?

[–] pwnna 2 points 2 years ago

Yeah I see it for a lot of different communities unfortunately...

[–] pwnna 3 points 2 years ago (1 children)

"I hate configuring Linux distros which is why I use arch btw"

[–] pwnna 1 points 2 years ago

Actually it seems like the text post is on .ml and the picture is on .world

[–] pwnna 1 points 2 years ago (1 children)

Sorry. You're right. I meant to type .world

[–] pwnna 3 points 2 years ago

How is the battery life?

[–] pwnna 1 points 2 years ago

What mind of jobs are you looking for? Like infrastructure related or more software development? Maybe check levels.fyi as they have a decent filter?

view more: ‹ prev next ›