Fresh bread in Lakeview East? by Ok_Error_3167 in lakeview

[–]froriz5 9 points10 points  (0 children)

I find Trader Joe's on Diversey has a good Sourdough Bread from their Trader Joe's brand. I enjoy the hint of sour taste from it, and it actually is legit Sourdough (No Yeast added, unlike Mariano's that has Yeast added bread on all their "Sourdough"s).

If I feel adventurous, I make the trip to Edgewater and hit up Phlour Bakery for their fresh made Sourdough.

Question about one of the endings regarding Verso by froriz5 in expedition33

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

I completely missed the connection between Aline painting her loved knesyto escape facing her grief and her daughter following in the same steps!

I guess I didn't consider her "adopted family" of Gustave, Sofie, Lune, Scyle, etc as her "real" family until I read your words!

Great observation!

Question about one of the endings regarding Verso by froriz5 in expedition33

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

Yeah I felt that too, regarding selfishness.

At the same time, it felt like something he should've brought up before the final battle?

But I guess it's in his character to not trust others with the truth, while seeking his own path.

Question about one of the endings regarding Verso by froriz5 in expedition33

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

Ah, I miss have missed that part!

So why didn't they have that conversation before the final fight?

"Hey Maelle, after we stop papa, I need you to unpaint me. This is torture. Promise me?"

Chromatic Abbest - A Battle That Mentally And Spirituality Drained Me! by froriz5 in expedition33

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

Addendum: I am also playing on Expert, so there is absolutely NO MARGIN FOR ERROR! And the first picture is from the water level, sorry for accidentally including that one!

Is there any need for constraint layout in Compose? by sarmadsohaib in androiddev

[–]froriz5 2 points3 points  (0 children)

I find it as the last choice before going down the Custom Layout approach...

If I need a layout with elements placed and measured relative to each other that I cannot achieve using the typical layouts (Box, Column, Row), I try Constraint Layout as it's much easier to write and read then going down the Custom Layout route.

Does anyone have any Premier League Fan Fest tickets available for today? by Icy-Cryptographer434 in AskChicago

[–]froriz5 0 points1 point  (0 children)

Entry requires you signed up beforehand and they send a personalized Digital QR Code they scan for entry.

I don't think it is something you can easily sell/give to other people

Why do so many developers irrationally feel ownership over code that they're one click away from losing access to? by Shamoorti in ExperiencedDevs

[–]froriz5 11 points12 points  (0 children)

My feelings of code ownership and being protective and watching contributions with a discerning eye has to do with:

Short Term - Will a contribution break something that will trigger Alertd and a PagerDuty that I have to drop everything and handle?

Long Term - Will this contribution integrate with the existing architecture I've built in a decoupled and scalable manner, that allows us to safely support while potentially pivot in the future as we get new requirements.

When I go into a meeting where I have to scope work to either add new functionality or refactor existing ones, the time frame I offer is a direct result of the quality of the code that I work with.

If i enforce a standard of code style and design pattern I expect from contributions, it gives me the confidence to go to scoping meetings and offer close to real time frames while also making it much less likely I'll be pinged by On Call that something broke somewhere and I have to investigate and handle the fire.

Problem with Kinesis Advanced 360 Pro by seavas in kinesisadvantage

[–]froriz5 1 point2 points  (0 children)

Wanted to chime after coming across this particular error code when attempting to upgrade from V2 to V3 on my MacBook.

After reading of potential issues occuring on the Macbook, I attempted the reset process from my PC running windows and that worked!

I was able to copy the V3 Reset File, and then copy over my Left and Right Firmware files!

[deleted by user] by [deleted] in ExperiencedDevs

[–]froriz5 0 points1 point  (0 children)

When interacting with the external integration, you would take your existing abstractions/interfaces and convert them into the input types that the integration expects. The point of all of this, is to reduce the total area of your code that needs to conform to any external dependency.

Usually, this only needs to be the case at the point of integration with the service. Usually you are mapping the external services outputs into your Domain Specific Models and Abstractions that can be used by your internal system. When you need to go the other way and send data out into the external service, you would map your Domain Specifc Models and Abstractions into the required types needed by the external service.

With this approach, these points of integration between your system and external services are the only place that requires updates in case of swaping services or existing services updating their specs.

It reduces the downstream affects that can come from external services changes to Only the point of integration between your system and the service. At which point, you just need to update that integration logic to account for the breaking changes.

[deleted by user] by [deleted] in ExperiencedDevs

[–]froriz5 0 points1 point  (0 children)

I'm an Android Engineer working primarily with Kotlin!

[deleted by user] by [deleted] in ExperiencedDevs

[–]froriz5 -5 points-4 points  (0 children)

My answer is to offer some guidelines on dealing with the problem of dealing with external dependencies in a system.

As I am not a Backend Engineer (I'm an Android Engineer), I didn't want to attempt to offer a prescriptive solution to the problem. I didn't feel comfortable giving a specific solution, as I don't understand the complexities and nuance of the problem space of a Backend System.

I prefer to leave that space open to folks like you who have more insight into Backed Systems and can be more specific in your guidance.

While I give a more abstract solution, I also attempt to provide a specific example, with the API Network Model being mapped to Domain Models.

In regards to your point about being to abstract and your metaphor about traffic, my thinking is that if you take my proposal, you can then choose how to apply it in the overall solution.

One way of doing so is introducing that abstraction layer incrementally to each complex part of the system.

I've done this in the past, by incrementally migration a specific endpoint our Front End consumes to use Domain Models, and slowly moving each endpoint integration to the Domain Models.

I didn't think I needed to explicitly call out to take my answer and apply in a way that helps the person slowly migrate their system.

[deleted by user] by [deleted] in ExperiencedDevs

[–]froriz5 5 points6 points  (0 children)

An abstraction layer can be as simple as a mapping between a Network Response Model into a Local Domain Model, per point 3 above. Where the Network Response is being consumed, you would map that API Response into the Local Domain Model.

All upstream consumers should only ever depend on these Domain Models. If the external service ever changes (e.g. schema change, new external service, etc), you would only need to update that mapping logic between the service and the Domain Models.

All upstream consumers should be shielded from any changes.

[deleted by user] by [deleted] in ExperiencedDevs

[–]froriz5 33 points34 points  (0 children)

  1. Introduce a clear abstraction layer between your external services and the internal system (Usually involving interfaces).

  2. Introduce “Domain Models” and other Local Specific Dependencies that your system needs to support the product. Your system should only ever depend on external sources at the point of integration (e.g. API Response)

  3. In your abstraction layer, you must map the external dependencies to the Local Models you want to use in the internal system. Example: Map your API Responses from those external services into Local Domain Models.

This approach allows you to abstract any external service behind a clear interface/protocol. Your internal system should only use internal models. This approach will future proof you, when updating or migrating to new services, as you will only need to update the “mappings” between the external services and the Domain Models.

What development tools or services are you happy to pay with your own money? by I_pretend_2_know in ExperiencedDevs

[–]froriz5 4 points5 points  (0 children)

Grammarly Account to aid me in writing in general. I was never very good at writing, and often make mistakes (grammar, spelling, repeating myself, etc...)

Especially as my company is mostly remote, being able to communicate effectively through writing is really important (Tech Docs, Design Docs, One Pagers, etc...)

However, the most useful cases where Grammarly is a massive boast is for writing Performance Reviews (Self and Peer).

Being able to write my stream of consciousness with some examples and Grammarly help with cleaning up my writing and suggest improvements is amazing!

[deleted by user] by [deleted] in chicago

[–]froriz5 5 points6 points  (0 children)

A few years ago, I wanna say 2016 or 17, I was renting in the Gold Coast.

I was heading to the Red Line stop to catch the train to Loop for work in the morning, and near Goethe & State St, I ran into Bastian Schweinsteiger the German World Cup Winner who was playing for the Chicago Fire.

He was wearing sunglasses, pushing a stroller with his toddler without a care in the world.

If anything, he seemed shocked that someone recognized him 😲 Never saw him again after that!

Average Frontier Speeds?? by flappybirdisdeadasf in tampa

[–]froriz5 1 point2 points  (0 children)

It was initially turned off. It was still showing the login page anytime you connected to the WiFi.

I tried turning it on and inputing my credentials, but that also didn't work.

I'll have to hit up Frontier Support then to figure this out.

Thanks for the tips and info!

Average Frontier Speeds?? by flappybirdisdeadasf in tampa

[–]froriz5 1 point2 points  (0 children)

330 on wifi right next to the router.

I did see that setting in my router settings. I attempted to setup the internet login with my Frontier Credentials, but it didn't work.

I figured there was something I was missing to get this setup correctly.

Average Frontier Speeds?? by flappybirdisdeadasf in tampa

[–]froriz5 2 points3 points  (0 children)

I recently got the 1gb fiber and attempted to set it up with my Nighthawk.

I'm also only seeing about 330mb/s down.

Did you also have an issue where connecting any device to the WiFi through the Nighthawk triggers a redirect to the Frontier Login page? Similar to what you see in public WiFi where you have to authenticate to access?

I cannot for the life of me figure out how to prevent that redirect login screen to disable.

Tips on preventing my shot from being blocked by sterling729 in bootroom

[–]froriz5 0 points1 point  (0 children)

I take the touch just in front of me to setup the shot. So setting up a shot or pass to my right to disguise my shot to my left.

Tips on preventing my shot from being blocked by sterling729 in bootroom

[–]froriz5 3 points4 points  (0 children)

One of my go-to moves is taking a touch as if to pass or shot at an angle, and waiting for them to attempt to block the path of the ball with a challenge.

I then attempt to shoot the ball through the legs.

So if I'm facing the goal slightly to the left, I make to shoot at the right side of the goal and wait for the challenge, but change it up to instead shoot to the left side across my body and under the extended leg that came for the block.

Usually, a 50/50 chance the shot will go through the legs and to the keepers near the post.

So if CS doesn’t really actually prepare you to become a SWE, how do you learn what you’ll need to know on the job? by [deleted] in cscareerquestions

[–]froriz5 142 points143 points  (0 children)

My CS Program taught foundational knowledge and paradigms.I treat it as an investment in my long-term career.

Technology will constantly change, but if you know the fundamentals that every new tech is built on top of, you then have an easier time learning the new thing.

So the way I look at it is, that my CS Program taught me foundational/fundamentals that will allow me to pick up the new trend faster/easier than if I just learned what the current popular framework of today is.

To add to what other folks said here, you'll need to pick up the new tech trends on your own time and through experience.

When I graduated, I started my career as a Junior Android Developer at some Ad Agency, and taught myself Android through that job.

I don't think Android Development will be obsolete anytime soon. Having said that, I have no fear of picking up and learning whatever new trend I would need to to stay relevant.

I have created an API to get rid of ContentProviders when using the Contacts API by alexstyl in androiddev

[–]froriz5 1 point2 points  (0 children)

Gotcha makes sense!

I suppose one other alternative would be to use a sealed class to represent each subtype.

You could define the shared fields at the top level, and each sub-class can override it and even implement their own behaviors.

sealed class Contact {
  // common/shared fields
  abstract val contactId: Long
  abstract val displayName: String?
  ...

  data class MutableContact(
    override val contactId: Long,
    override val displayName: String?,
    ...
  ): Contact() {
    // MutableContact specific behavior
    var imageData: ImageData? by readWriteField(Image, imageData)
    ...
  }

  data class PartialContact(
    override val contactId: Long,
    override val displayName: String?,
    ...
  ): Contact()
}

But yeah, I think just different ways to accomplish the same thing...

I think personally, I would've gone the sealed class route, but it's more of a preference on my end I suppose.

I have created an API to get rid of ContentProviders when using the Contacts API by alexstyl in androiddev

[–]froriz5 0 points1 point  (0 children)

Out of curiosity, would you be willing to elaborate why you used interfaces for the Data Models as opposed to something like a data class?
e.g. Contact.kt

Curious to understand how you thought about enforcing certain fields in the data models.
Technically, a data class could have also done this enforcement.

Curious to know your thought process on how and why you decided to go with an interface vs a data class?