Hila Noga هيله نوغا Profile picture
Oct 4, 2020 12 tweets 4 min read Read on X
My friend @orian_sharoni and I are watching David Silver’s UCL course on #ReinforcementLearning
I’ll be posting notes, thoughts and randomness as we watch the lectures.
You can find the slides and video lectures here if you want to dive deeper:
davidsilver.uk/teaching/
We meet again, Markov processes!
I can’t remember why I found them so threatening at the uni.
This is an alternate way to think about the state machine from before. I find it easier to wrap my head around infinite trees rather than loopy graphs.
Discount is a counter-intuitive name, IMO.
Infinite geometric sum
en.wikipedia.org/wiki/Geometric…
That’s it for now, got to save some procrastination for later.
From reason this doesn’t appear under the same thread.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Hila Noga هيله نوغا

Hila Noga هيله نوغا Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @hila_noga

Oct 4, 2020
Error handling approaches 🧵:

You are writing a component, the component may generate errors. What are some common patterns for handling these errors and the pros and cons of each?
Throwing exceptions.
Pros:
- Language support and enforcement
- Unified method to handle all types of errors
- Handle only where must

Cons:
- May not be part of interface
- Hard to reason about flow
- Error handling code may be everywhere
- Cannot enforce correct handling
Handle errors internally.
Pros:
- Simplify interface

Cons:
- Poor separation of concerns
- May want different error handling per client
- Not all errors can be handled internally
- May be hard to reason about error handling as a whole
Read 7 tweets
Sep 9, 2020
A scheme for designing an objective assessment scale for your interview candidates programming work, based on how we graded students work was done at a school I worked at:
1. Decide what’s important for you. That can be:
Working solution, clean code, software design, documentation, professionalism (yes, you can grade that too), understanding requirements.
You can also have bonus points for going “above and beyond” in certain things.
2. Decide what’s the relative weight of each category in your final score.
Read 9 tweets
Jun 26, 2020
Now reading Weinberg’s “Introduction to General Systems Thinking”.
Thought I’d try to live tweet some ideas I found interesting as a way to engage with the book.
Abstraction in general (and software design, specifically) is the action of lumping similar things together and giving them the same name.
Using ML jargon, I would say that a system that is “too complex” from design perspective is overfitted to the problem it’s trying to solve. Image
XD Image
Read 17 tweets
Jun 19, 2020
Opinion: People in our industry are averse to the role of architect because there's a lot of misconception about what an architect actually does.
Not the job of an architect: telling people what classes they should write and let them implement the loops.
The job of an architect: In these three teams, we are working with similar ideas. If we put them under the same category, we will reduce the complexity in the system and will be able to implement our future product plans easily.
Read 13 tweets
Apr 2, 2020
To whoever needs to hear this right now: being unproductive in the midst of a global crisis is not a moral failure.
We don’t create our productivity every day out of thin air. We have a lot of support structures in place - some so obvious we fail to recognize them.
Our daily routine. That 5 min venting session when we go and get coffee. The random hallway talk. The alone time on the way home.
It all fell apart now and we need to recognize that and, where possible, find alternatives.
Read 4 tweets
Sep 27, 2019
We don’t stress enough the importance of being able to quickly open a new codebase and figure how stuff works.
How to do it:
- Pull out and follow software ‘threads’. Start with something you know: environment variable name, string from the UI, message from the log. Use ‘find in files’ figure out where and how it’s used
- ‘Find usages’ is your friend
- Step the code in debug mode
- Add debug messages (so old school)
- Draw a class/module diagram
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(