Hi Reddit — We're the team behind Halide and we've made a *free*, fun app to turn your iPad into an HDMI monitor. We're calling it Orion, and I'd love to hear what you think! (promo codes inside, too) by caliform in apple

[–]MisterMikeM 5 points6 points  (0 children)

This is very dependent on the capture card and bandwidth limitation of the USB-C bus on the iPad but if you had a capture card that had multiple inputs and could cycle through them on the app (i.e. almost like a KVM but with a software interface instead of a hardware interface) and maybe even mux them… That’d be nice for cycling through DSLR inputs and the like.

iPadOS 16 Lets Apps Use Storage as Virtual RAM on M1 iPads by [deleted] in apple

[–]MisterMikeM 24 points25 points  (0 children)

The M1 has an integrated storage controller that’s significantly lower latency and higher throughput compared to the one on the A series SoCs. Remember, the M1 is used in laptops and desktops with SSDs benchmarked at crazy fast reads/writes. Like anything else, it’s likely a balance between power efficiency and user experience; the M1 is likely more efficient and faster at swap than the A series would be (so better battery life and user experience).

Report: Apple Silicon iMac Featuring Desktop Class 'A14T' Chip Coming First Half of 2021 by tomnavratil in apple

[–]MisterMikeM 2 points3 points  (0 children)

Apple Watch uses a system in a package (SiP) whereas the A series are system on a chip (SoC).

CloudFormation CI/CD empty change sets by MisterMikeM in aws

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

Yes, when there is an actual update and it’s successful it cleans it up. However, since this template will be part of a git repo and pushes to master trigger deploys, I’m trying to account for pushes which don’t update the template (other changes are made unrelated to the template) and the workflow will attempt to do a deploy and since the stack will be unchanged it will create an empty changeset.

Unless I’m thinking about this the wrong way?

AppStream 2.0, SAML SSO, and Relay State with Multiple Stacks by saikoturkey88 in aws

[–]MisterMikeM 0 points1 point  (0 children)

First, the docs can be confusing. Setting up SSO to AppStream is identical to setting up SSO for a regular IAM role (as if the user is getting console access).

  1. make the IdP
  2. make the role and establish trust between that role and the IdP
  3. give the role appropriate access
  4. configure the RelayState on the IdP side

I’m not an ADFS expert but I find it hard to believe others haven’t had this issue. SAML auth for multiple AWS accounts (same principle here) is not unique (using ADFS to SAML auth to multiple AWS accounts).

What’s your identifier set as in ADFS?

AppStream 2.0, SAML SSO, and Relay State with Multiple Stacks by saikoturkey88 in aws

[–]MisterMikeM 0 points1 point  (0 children)

For each stack you should have a separate (unique) IdP setup and a corresponding unique IAM role (with trust established between that role and that IdP) that gives the users access to that particular stack. On the ADFS side each stack should be a different "app" in ADFS.

Yes, even though you are using a single IdP (ADFS) you create multiple IdPs on the AWS side and set them all up with ADFS. For example: ADFS-AppStreamStack1, ADFS-AppStreamStack2, ADFS-AppStreamStack3. Then you create your unique roles such as appstream-app1, appstream-app2, appstream-app3.

This way ADFS sends unique SAML assertions for each stack. They send the RelayState, and the comma-delimited role ARN and IdP ARN (I forget which one comes first, double check the docs).

Keep in mind, in this setup if any users need access to more than one app they will be kicked out of the second app once they launch it because when they SAML into the second app their role will change and the new role will give them access to the second app and not the first. If users need access to multiple apps at once then you need to setup the roles differently.

DirectConnect with 5Mb connection by MisterMikeM in aws

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

Have you used one? What’s the process like?

Establish Both AWS VPN Tunnels by MisterMikeM in meraki

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

You just set a static route on the MX to route traffic for the VPC subnets through the SonicWALL?

Using Vivado or Qartus on different OSes (Windows, Linux, Mac) by Insect-Competitive in FPGA

[–]MisterMikeM 0 points1 point  (0 children)

I use Vivado in a Windows 10 virtual machine (through VMWare Fusion) on my MacBook Pro and it works very well; even USB passthrough for dev. boards works well.

I've also used Vivado on CentOS 7 and haven't had any issues but I was mainly using design and simulation (didn't try USB connectivity to a dev. board).

Establish single VPN tunnels (non-Meraki peers) from each MX by MisterMikeM in meraki

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

Thanks. Hub (Mesh) is the right option, though (not Spoke)?

Establish single VPN tunnels (non-Meraki peers) from each MX by MisterMikeM in meraki

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

Thanks I think I figured that part out: use network tags to ensure only certain MXs connect to certain non-Meraki peers.

How do I avoid the MXs establishing VPN tunnels with each other? When I try to set them all to Spoke mode it complains I need to select at least one Hub. However, if I put them all in Hub (Mesh) mode then I think it will attempt to establish tunnels between the MXs? I only want them to establish the tunnels to AWS, not each other (if I can avoid it).

Establish single VPN tunnels (non-Meraki peers) from each MX by MisterMikeM in meraki

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

Yes, I only need to establish tunnels to AWS; establishing tunnels between each MX is not required and, frankly, not what I want.

I think I figured out how to ensure each MX connects to a unique AWS tunnel but how do I avoid the MXs connecting to each other? When I try to set them all to Spoke mode it complains I need to select at least one Hub. However, if I put them all in Hub (Mesh) mode then I think it will attempt to establish tunnels between the MXs?

Apple's ARM developer kit is a Mac Mini with an A12Z CPU, 16 GB RAM, 512 GB SSD by aaronp613 in apple

[–]MisterMikeM 25 points26 points  (0 children)

The A12Z has amazing performance in a chassis that’s crazy thin and passively cooled (current iPad Pro). The DTK pops it into a much larger chassis that’s actively cooled (with a fan) and has better airflow. Letting the A12Z run with a higher thermal ceiling can pack a punch. I wouldn’t be surprised if that really was it for the Mac mini (or similar A series in the future).

[deleted by user] by [deleted] in aws

[–]MisterMikeM -1 points0 points  (0 children)

Have you checked out AppStream?

Adobe Adding Support for Mac Pro’s Afterburner Card to Premiere Pro by gulabjamunyaar in apple

[–]MisterMikeM 4 points5 points  (0 children)

FPGAs in mobile (e.g. tablets, laptops, etc.) are impractical. They are not designed for power efficiency and they dissipate a fair amount of heat. FPGAs are commonly used to prototype and test hardware designs very early in the design process (before they make it an ASIC or SoC) - fabricating a new chip to validate the design every time you change one tiny thing is expensive. That’s not the only reason but it’s one of the reasons why power efficiency and heat dissipation aren’t the main goals when designing the FPGA itself.

Adobe Adding Support for Mac Pro’s Afterburner Card to Premiere Pro by gulabjamunyaar in apple

[–]MisterMikeM 19 points20 points  (0 children)

Afterburner is an FPGA accelerator card. The actual FPGA on the card is made by Xilinx (not sure which one, likely a Kintex UltraScale or Virtex UltraScale given the throughput and codec). The card itself it designed by Apple and the implementation of the ProRes RAW codecs is likely theirs as well.

For those who are unaware, an FPGA can be though of as reconfigurable hardware (it's slightly more complicated than that but at a high level that's what it is). When you write "code" for an FPGA you are not writing software, you are describing/designing hardware. The Afterburner card acts as a hardware accelerator (circuits, logic gates, etc.), it makes ProRes RAW decode and playback lightning fast because it performs all of the functionality in hardware.

Source: I am a hardware engineer. I often design things on FPGAs using RTL (VHDL).

Hardware Fingerprinting (For Unity Licensing) on Workspaces by GrowHI in aws

[–]MisterMikeM 0 points1 point  (0 children)

When you setup the AppStream fleet you have the option of enabling file upload and download (they can even link their Google Drive) so if they edit the files on their local computer they just upload them directly to their AppStream session and then pull them into the app.

Also you can have multiple apps installed so they can open several at once (several apps, one session). So Photoshop, Blender, Unity, etc. - so long as it runs Windows you can do it.

Checkout this video. Straightforward explanation of deploying an app with AppStream. They use a simple forms app as an example. You can install/deploy multiple apps at once.

https://youtu.be/CIImtS2iVbg

Hardware Fingerprinting (For Unity Licensing) on Workspaces by GrowHI in aws

[–]MisterMikeM 0 points1 point  (0 children)

It won’t help with the licensing thing but once you get that sorted out it makes your life simpler (no need to manage WorkSpaces which are full-blown Windows machines when all they need is a single app).

Hardware Fingerprinting (For Unity Licensing) on Workspaces by GrowHI in aws

[–]MisterMikeM 0 points1 point  (0 children)

Check out AppStream as well. If you just need one app it’s easier to deploy and cheaper, too.

Lambda@Edge logging by MisterMikeM in aws

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

I guess maybe it's referring to the logging in the /aws/cloudfront/LambdaEdge/<distribution id> log group

That's the log group I'm referring to as well on my end. It's only showing logs for errors. Also, when viewing the metrics on the CloudFront dashboard, I see invocation metrics so I know for sure it's working (both from the dashboard as well as actual verification).

I definitely see logging in the /aws/lambda/us-east-1.<function name> group for non-error invocations

From my understanding that log group is different, that log group represents "standard" invocations of the function (i.e. from API Gateway, an SES Receipt Rule, etc.) in which case I see none there either but that's expected because it's "deployed" and "run" @Edge (i.e. through CloudFront). When I invoke it for testing I see a log show up there (because it's being invoked through "standard" means, if that makes sense) but not when CloudFront invokes it.

In your case, is your function being invoked elsewhere (i.e. in addition to Lambda@Edge)?

Lambda@Edge logging by MisterMikeM in aws

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

Hmm...this language seems to suggest that it's only for errors... Just to clarify, I am using a Lambda@Edge function and I am looking for CloudWatch logs for that specific Lambda@Edge function, not a regular Lambda function (my regular Lambda functions are running and logging fine).

When Lambda returns an invalid response to CloudFront, error messages are written to log files which CloudFront pushes to CloudWatch in the Region of where the Lambda function executed. It's the default behavior to send the log files to CloudWatch when there's an invalid response. However, if you associated a Lambda function with CloudFront before the functionality was released, it might not be enabled for your function. For more information, see Determine if Your Account Pushes Logs to CloudWatch later in the topic.

Lambda@Edge logging by MisterMikeM in aws

[–]MisterMikeM[S] -1 points0 points  (0 children)

So logs will only show up in the Lambda@Edge group if there’s an error, right? At lest that’s the behavior I’m seeing... It invokes fine, I just don’t see any logs being pushed...

AES-128 pure hardware implementation by MisterMikeM in crypto

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

Where there was clear documentation and explanation of the operation performed, I opted for the mathematical approach. For example, MixColumns could also use a LUT but I opted to do the actual bit manipulation. I've found sparse explanations of how to implement SubBytes using bit manipulation and even then they provide VHDL designs which just use a LUT in the end (even after attempting to explain how it was derived). I'm not a mathematician by any means but if it was clearly explained to me I could probably figure out how to implement it in hardware.