X X X

Pageviews

Socialize - Share

Share

Friday, February 16, 2024

Bard is now Gemini

Bard is now known as Gemini, the best way to get direct access to Gemini models. You can chat with Gemini to supercharge your ideas.

Sunday, July 23, 2023

In case you missed it - 2020

FICO Score scoring changed to F10

The new version, FICO 10 Suite, has been largely adopted by many lenders. Recall all the TV Ads promoting the ability to track your FICO score. With this model, personal loans are treated as a separate category of debt.

One of the notable changes means that, if someone consolidated their credit card with a loan, and then continued to run up debt, that will hurt their score.

A Longer-Term View of Credit

A version of the new model, called 10T, evaluates credit card usage trends over 24 months rather than provide a monthly snapshot. With this formula, someone who carries a high credit card balance for a month or two after, say, a vacation trip, then pays it off is less likely to see a lower credit score than before. By contrast, someone who fails to pay off balances consistently is penalized. Based on the impact of past changes in scoring models, FICO 10 shifts the average score a modest amount, perhaps 20 to 25 points.

The changes came as a result of credit scores rising -- the average score reached an all-time high of 703 2019, according to a report from Experian. Scores in the 670 to 739 range are considered good; scores between 740 and 799 are very good, and 800-plus is exceptional.

One reason for the rise in scores is that negative credit indicators, such as bankruptcies and unpaid debts, fall off credit reports after seven years. That's happened for many consumers given the long economic recovery since the Great Recession in 2008-2009. Besides, "Trending data has better predictive value in terms of assessing risk."

MORE ON CREDIT SCORES
  • Why It's Still So Hard to Fix Credit Report Errors
  • More From Consumer Reports
  • What's a Good Credit Score?
  • Smart Strategies for Millennials to Build Credit
  • More From Consumer Reports

Sunday, July 9, 2023

Battery Life i.e., Your Cell Phone

Forget about your big-huge EV car battery and the thousands of dollars to replace that when its time comes, but rather, you can see and feel it in your cell phone when your lithium-ion battery doesn't seem to take a full charge. Eventually it feels like you are constantly putting it back on the charger to get through the day, until you decide to toss it for a new cell phone (lease).

Rechargable batteries have a lifespan and it is not forever. The life of a rechargable battery is related to its chemical age. This is more than just the length of time since the battery was assembled from its raw elements. It chemical age results from a complex combination of multiple factors, such as temperature history and (probably most importantly) the charging pattern. All rechargeable batteries are consumable components that become less effective as they chemically age. As a lithium-ion battery chemically age, the amount of charge it can hold diminishes, resulting in reduced battery life and reduced peak performance.

Wednesday, December 2, 2020

Essence of Android Architecture Components

Drive UI/UX from a model

A key principle of AAC is that the code should be model-centric and drive the UI/UX from a model. The majority of all apps benefit from a persistent model. Models are the components that are responsible for handling the data/content that supports the Business Use Cases for any typical app. The model(s) are independent from the View/Widget objects and app components in your app, so they can be unaffected by the app's lifecycle and the resulting concerns.

Persistence is important for the following disruptive reasons:

Users won't lose data if the Android OS destroys the app to free up resources. The app continues to work in cases when a network connection is unstable or unreachable. By basing the app on model classes, with well-defined boundaries of responsibility for managing the data, the app is more consistent and verifiable.


References

IOS Swift - guard let vs. if let

Safely Unwrapping an Optional

Optionals can be tricky to understand by simply reading the Developer's Guide documentation, but with a little in-depth review of the purpose and syntax, working with them quickly becomes second nature. Although, the XCode IDE auto-completion is good at keeping the code correct, without the full understanding it is easy to trip over the scope and references that lurk behind the syntax.

When to use "guard let"

  • … to execute a body of code when the unwrapping fails rather than when it succeeds.
  • … when you have to halt execution in the current enclosing scope if a value is incorrect or nil.
  • … when you need to know/want to log which optional didn’t have the correct value.
  • … when there is a need to unwrap multiple optionals for the same the enclosing scope.
  • … when it is likely that the number of optionals needing to be unwrapped can change.
  • … when the resulting unwrapped value must be available for the remainder of the scope and not just within a branching scope.

When to use "if let"

  • … to execute branching code when the unwrapping succeeds rather than when it fails.
  • … when you can continue execution in the current enclosing scope if a value is incorrect or nil.
  • … when your code does not care which values are nil or incorrect within the enclosing scope.
  • … to unwrap a few optionals and that number won’t likely change.
  • … the unwrapped value is only needed within a branching scope.

Four ways to unwrap an optional

  • → force unwrapping
  • Forced unwrapping is used when one is confident that the value is no-nil. When using forced unwrapping, always test the value for nil before referencing its value.

  • → optional binding
  • Optional binding occurs during an assignment to one or more constants and ensures that the scope following the assignment of the constant(s) are safe (non-nil) to use in the code. For example, during the assignment:

            if let a? = something { do_something }
            
    The 'do_something' code can safely reference the value of 'a.'

  • → implicit
  • Implicitly unwrapping is handy for contants that are not derived or 'built' and are truly constant. The value that is an optional will always use its value.

            let url: String? = "https://www.webiste.edu"!
            

  • → optional chaining
  • Simply stated, a cascading of references that require testing together for safety. Especially common for classes and structs with struct or class members that might not be safe. If the entire chain is not safe, then the following scope of code is not executed.

Notes:

  • You can also validate the resulting unwrapped optionals using multi-clause conditions.
    guard let val = optional, val op 5 {} else {return}
    
    if let val = optional, val op 5 {return} else {//Do something}
    
  • One can also unwrap multiple optionals using this syntax.

Thursday, October 1, 2020

Finding motivation as a job seeker

-by Andrew Seaman, Editor at LinkedIn News Updated 6 days ago

A long job search can be a grueling process for even the most resilient person. Some of a job seeker’s attention should be focused on maintaining their drive and motivation throughout the search. Members of the LinkedIn community offered their suggestions in the latest #GetHired:

  • Make your mental and physical health a priority
  • Take breaks from time to time
  • Have a job search strategy
  • Network and connect with people
  • Celebrate small wins

Tuesday, August 4, 2020

Legislation cannot fix discrimination

The reason companies can discriminate, is rooted in their policies. The policies are written to defend, with emotions, not action, the potential, future action of the leadership of the company. The better the lawyers, the better the company's chance of surviving a discrimination lawsuit.

Faced with a natural phenom of aging, the experience should command a higher salary and employee loyalty. Unfortunately, the opposite is reality -- once the pay-rate and old-experience reaches its inflection point, it is time to replace with inexperience (aka trainable) and eagerness (ala lower pay acceptance).

Forbes captures discrimination honestly in this article and then immediately provides recommendations to manage the individual's discrimination.

UA-42937108-2