Still one of my favorites: On The Turing Completeness of PowerPoint, https://www.youtube.com/watch?v=uNjxe8ShM-8
HN user
giu
I'm a machine learning engineer from Zürich, Switzerland.
Web: http://accaputo.ch
Now: http://accaputo.ch/now.html
Contact: http://accaputo.ch/contact.html
LinkedIn: https://www.linkedin.com/in/giu
GitHub: https://www.github.com/giu
There are only two hard things in Computer Science: cache invalidation and to know when not to use abstraction.
I was thinking the same; there are so many articles explaining the basics.
For me it would be more helpful to start off with a real-life scenario where the mentioned method can be applied and even might excel compared to other methods; bonus points if you also explain what properties of the method make it so very well-suited for the specific real-life scenario.
There are so many methods in data science / machine learning and from what I remember from my university days one of the difficult tasks was to know when to use which method, depending on the properties of your data and on what you want to achieve; additionally, sometimes you also need to optimize/improve the method's hyperparameters and that's almost a whole separate discipline by itself.
Nonetheless, the posted article contains a lot of valuable information for a beginner, so it's definitely a good start.
I don't think I'd add it there, isn't it handled by firewall / infrastructure than app directly?
Although most DDoS attacks happen on the layers 3, 4, and 6 of the OSI model, your application still has to be hardened against resource exhaustion and other DDoS attacks.
For example, if you have a REST endpoint that starts a complex query which might return a large result given some specific query parameters (e.g. your limit parameter is not bound, so I can set limit=1000000), running 10000 requests against it from different hosts (malicious or not) may bring down your database server.
Your features list is a bit misleading, then. On your app's homepage you specifically mention the tracking of bounces as part of the app's features.
I'm all for launching early and so on, but I have a feeling that this is a rather important feature to simply be omitted in the beginning, especially in regard to Amazon SES and their handling of exceeding bounce rates.
Exactly, that's what we did with our solution, too; we maintaned our own bounce list with a TTL that we kept up-to-date by subscribing to SNS notifications generated by SES.
My question was aimed towards the bounces feature presented on the app homepage [0]; if you ignore (or don't realize the importance of) the bounce rate you might shoot yourself in the foot.
Looks good from a first look at it, congrats on launching it!
Just checked if you mention bounces and saw that you track bounces; how does your app show / keep track of the bounces and more importantly of the bounce rate in general?
I'm mentioning this since Amazon SES will place your account under review if your bounce rate is 5% or greater; you can find a few useful links on this comment thread: https://news.ycombinator.com/item?id=21955614
Best of luck with your app!
Disclaimer: I was responsible for the implementation of an e-mail notification system using Amazon SES.
I think openness to experience is only one part of the equation. There are other parts, e.g., what are your goals? How do you deal with your emotional state if the experience doesn't go your way? And many more. It's quite complex.
There is a treatment called exposure therapy [0] which actually is used to threat anxiety and for one helps with emotional processing.
[0] https://www.apa.org/ptsd-guideline/patients-and-families/exp...
Good point! Sadly, I don't have access to the Harvard study (https://pubsonline.informs.org/doi/10.1287/mksc.2019.1200), so maybe someone with access to it could check it, but the linked article might be misleading in some aspects (depending on the results of the study shown in the paper).
From the study's abstract:
A preregistered field experiment indicated that diners were 21.1% more likely to buy a bowl of chicken noodle soup when a sign revealing its ingredients also included the cafeteria’s costs to make it.
From the linked article's sub-title:
Sales of a chicken noodle soup increased 21.1% when people were shown the costs of making it.
The study's abstract mentions that they were more likely to buy a bowl of chicken; it's not mentioned that they actually bought it.
There's even a third option when you bet on people: The company can get acqui-hired by a bigger fish who's already a big presence within the almost same problem space.
Just wanted to say that I have almost the same bedtime-routine as OP and it has been life-changing for me. I can wholeheartedly recommend this.
From time to time I also add a 5-minute meditation to the routine and it works quite well for me.
Yep, that buyer is https://twitter.com/theroaringkitty
Here [0] he talks the first time about the GME stock; the video was uploaded on the 28th of July, 2020 and the stock was at $4.03 back then.
Here [1] you can find his latest GME update; he's sitting on $50 Mio. right now, although it's quite volatile.
Here [2] you can see a post from his Reddit account on November 2019 showing his GME calls.
It's just crazy and fascinating at the same time.
[0] https://www.youtube.com/watch?v=GZTr1-Gp74U
[1] https://www.reddit.com/r/wallstreetbets/comments/eick65/gme_...
[2] https://www.reddit.com/r/wallstreetbets/comments/e3kpbc/gme_...
A semaphore can be used to control thread access to a resource.
A latch allows one or more threads to wait until a set of operations being performed in other threads completes [0].
[0] https://docs.oracle.com/javase/8/docs/api/java/util/concurre...
Thanks a lot for your reply!
Scraping websites can be quite the messy business, since some websites change their document structure more often than others.
Nonetheless, it's still a very instructive activity and you can build quite the pipeline around it (scraping multiple websites, joining datasets, efficiently storing the data, etc.).
By real datasets you mean company-specific ones? Or do you happen to have some examples that are openly available which helped you a lot?
I definitely concur with your first point, since I made the same experience, specifically when working with company-specific datasets.
From my experience one also underestimates how much time cleaning up the data takes; there are quite a few steps you need to go through before you can really start to analyze a dataset.
Very good point. Additionally, with insert and delete we might need to apply the rules of broadcasting [0].
For example, if I have a 2-dimensional array and I insert a scalar value by using axis=0, the scalar value needs to be broadcasted to match the column dimension of the array:
>>> a = np.array([[1,2],[3,4],[5,6]])
>>> np.insert(a, 1, 11, axis=0)
array([[ 1, 2],
[11, 11],
[ 3, 4],
[ 5, 6]])
[0] https://jakevdp.github.io/PythonDataScienceHandbook/02.05-co...Perfect timing. After having used Linux full-time in private and at work for the past 13 years, I had to switch to Windows 10 at my new job. I miss the hell out of my shell, my .zshrc file, and the general "easy" customization of Linux, but I'll be more than happy to see how I'll better adapt to Windows 10 thanks to this list and the tools provided in the comments here.
Edit: First thing I'll install is most probably the Windows Subsystem for Linux :)
Same here. Every time someone checks out my bookshelf I tell them that I only read a few select pages from most of those books during my studies and that's it. No regrets, too!
Thank you very much for the link!
Dr. Kleppman also provides notes for that specific lecture [0]; they contain all the slides with the corresponding detailed text, which is really awesome!
[0] https://www.cl.cam.ac.uk/teaching/2021/ConcDisSys/dist-sys-n...
+1 for Heffron's book, which was posted here 2 weeks ago [0]. He also published all the solutions to the exercises! [1]
He also has published the answers to the exercises, which is freaking awesome: http://joshua.smcvt.edu/linearalgebra/jhanswer.pdf
Nice little trick I found in your link: A poor man's sleep routine :)
for (uint32_t i=0; i<2500; i++) /* 10ms */
/* force compiler to not optimize this... */
__asm__ __volatile__("");A book that helped me a lot in this regard:
- "The Power of a Positive No: Save The Deal, Save The Relationship and Still Say No" by William Ury, the Co-Founder of the Harvard Program on Negotiation
Could you explain what you mean?
English is not my native language, so there's a possibility for me to learn how to rephrase it; maybe resonates with me is not the right word :) I'd appreciate it!
I always loved Frank Herbert's quote about fear in Dune:
“I must not fear.
Fear is the mind-killer.
Fear is the little-death that brings total obliteration.
I will face my fear.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the fear has gone there will be nothing.
Only I will remain.”
In fact, this quote resonates with me so much that I've been using it as my desktop background for the past 8 years.
It also has been my experience with fears in the past years, especially with those fears that come with decisions that you have to make for yourself: Once you face those fears and permit them to pass over you (e.g. by being mindful about the emotions), you give yourself the possibility to learn and grow, and a lot of times you will find yourself in situations which you could not have imagined in the first place.
IMHO you did very well if you were able to write down the correct naive solution and then discuss optimizations afterwards. Hopefully it works out for you! :)
Godspeed!
Just want to add and let people know that antirez (creator of Redis) writes so many insightful code comments that you almost always learn something new when you go through his projects.
He has also written an article on how he writes the code comments [0]; I've been using Design, Why, and Teacher comments a lot in my last projects and they have been very helpful, especially if you come back to the project after a long time or introduce a coworker to the code base.
Nice, thanks for the recommendation!
The book is freely available online at https://nlp.stanford.edu/IR-book/information-retrieval-book....
Just an addition to point 1: There's also Xournal++ [0]; some parts are based on Xournal but it provides some additional functionality [1].
I switched from Xournal to Xournal++ four weeks ago and it's been a blessing.