- Sep 2020
-
au.rollingstone.com au.rollingstone.com
-
It turns out that during a meeting, he asked them how long it would take to remove staff cars from the lot and start digging the first hole for the Boring Company tunnel. The answer: two weeks. Musk asked why, and when he gathered the necessary information, he concluded, “Let’s get started today and see what’s the biggest hole we can dig between now and Sunday afternoon, running 24 hours a day.” Within three hours, the cars were gone and there was a hole in the ground.
The way Elon Musks motivates his employees
-
-
rossier.usc.edu rossier.usc.edu
-
An fMRI-based study of error-monitoring shows that students who are focused on monitoring their own learning process, rather than on getting right answers, learn better over time.
The study adds evidence that education focused on correctness is less beneficial to education focused on deeply engaging with content
-
- Aug 2020
-
-
Would you really forget to push your code if that triggers a rocket launch?
Git-rocket (VS Code extension).
Lol :D
Tags
Annotators
URL
-
-
epistasislab.github.io epistasislab.github.io
-
Once TPOT is finished searching (or you get tired of waiting), it provides you with the Python code for the best pipeline it found so you can tinker with the pipeline from there.
After all, magically you get the right Python snippet (based on scikit-learn)
-
TPOT is a Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming
TPOT automates the following:
- feature selection
- feature preprocessing
- feature construction
- model selection
- parameter optimisation
Tags
Annotators
URL
-
-
www.splitgraph.com www.splitgraph.com
-
The Splitgraph DDN is a single SQL endpoint that lets you query over 40,000 public datasets hosted on or proxied by Splitgraph.You can connect to it from most PostgreSQL clients and BI tools without having to install anything else. It supports all read-only SQL constructs, including filters and aggregations. It even lets you run joins across distinct datasets.
Splitgraph - efficient DDN (Data Delivery Network):
- connect to it from most PostgreSQL clients and BI tools without having to install anything else
- you can queory +40k public datasets hosten on or proxied by Splitgraph
- supports all SQL constructs (even SQL joins between tables)
-
-
medium.com medium.com
-
Fastprogress is a clean, well-designed progress bar library brought to you by the fastai family.
Might come in handy for tracking progress of long executions:
! pip install fastprogress from fastprogress import master_bar, progress_bar
-
Remote in through VSCode using SSH and ngrok
- You can connect to Colab remotely through VSCode with SSH and ngrok
- Benefits: terminal access, not having to reenter github password, being able to edit .py files locally inside of VSCode
- You might want to pay $10/month to have a static TCP (ngrok pro) to prevent disconnections
-
Don’t forget to tell Git who you are, add this cell so you don’t have to answer every time you commit during a new session!
Authenticate yourself with GitHub:
!git config --global user.email <YOUR EMAIL> !git config --global user.name <YOUR NAME>
-
This will allow you to grab both public and private repos without leaving your password exposed in the notebook.
Connecting your GitHub:
import os from getpass import getpass import urllib user = 'rbracco' password = getpass('Password: ') repo_name = 'fastai2_audio' # your password is converted into url format password = urllib.parse.quote(password) cmd_string = 'git clone https://{0}:{1}@github.com/{0}/{2}.git'.format(user, password, repo_name) os.system(cmd_string) cmd_string, password = "", "" # removing the password from the variable # Bad password fails silently so make sure the repo was copied assert os.path.exists(f"/content/{repo_name}"), "Incorrect Password or Repo Not Found, please try again"
-
Gdown is a nice library for downloading large files from drive to colab.
Use Gdown library to download large files, if:
- the dataset is public
- it's more than 10 GB
- you're downloading it multiple times a day
-
due to weird Google Drive quota issues, you are better off copying the archive to colab and decompressing it there than you are decompressing the archive while it is hosted on your drive
Decompress your archives on Google Colab, not on the host machine
-
I learned and did to make it possible to do Automated Speech Recognition research on a Colab instance.
It's possible to do Automated Speech Recognition with Google Colab.
-
It has been an open secret that you can avoid getting disconnected on Colab by opening the console and entering JavaScript to click the reconnect button for you. It gets very old pressing Ctrl-Shift-I, finding this snippet, and pasting it in every time you start a new session, but Colab gives you the ability to run JavaScript from a cell using the %%javascript magic. Add this cell before your training loop and run it when you plan to do a long training run to avoid getting disconnected mid-training.
- You can add JavaScript to Colab with
%%javascript
- It's worth to add the following snippet before training to avoid getting disconnected:
%%javascript function ClickConnect(){ console.log("Working"); document.querySelector("colab-toolbar-button#connect").click() }setInterval(ClickConnect,60000)
- You can add JavaScript to Colab with
-
As you know, Colab deletes any files you’ve downloaded or created when you end a session. The best option is to use Github to store your code(details below), and Google Drive to store datasets, logs, and anything else that would normally reside on your filesystem but wouldn’t be tracked by git.
That's why you might want to run the code:
from google.colab import drive drive.mount('/content/drive')
After running it you'll click a link and follow a 30 seconds process
- Afterwards, all your files will be available at
/contant/drive
-
Uploads from your computer to google drive can be incredibly slow, especially when dealing with multiple GBs of data. Download speeds are much faster, so take advantage with the command ! wget -c -P save_path url This allows you to download the data only once saving you time and saving bandwidth for the generous owners of publicly hosted datasets.
It's more efficient to get your datasets with
! whet -c -P save_path_url
rather than uploading it:! wget -c -P '/content/drive/My Drive/Colab Notebooks/data/' http://www.openslr.org/resources/12/train-clean-100.tar.gz
-
-
dobrewiadomosci.net.pl dobrewiadomosci.net.pl
-
Towarzystwo mruczącego kota na kolanach jest niezastąpionym lekarstwem na depresję. Kot odwraca uwagę od problemu, dotrzymuje towarzystwa, okazuje uczucia bez względu na stan psychiczny właściciela i pokazuje, że jest on niezastąpiony. Ponadto pomaga człowiekowi w wyrobieniu odpowiedzialnej postawy i rytualnych odruchów, jak regularne karmienie. Co więcej, spokój kotów udziela się także choremu właścicielowi.
Cats help with depression
-
Obserwowali oni 40 dzieci z autyzmem. Okazało się, że te, które miały w domach zwierzęta, w tym koty, były spokojniejsze i łatwiej się komunikowały z otoczeniem, niż dzieci bez domowych pupili. Owa otwartość u dzieci ma związek ze wzrostem poziomu oksytocyny (hormonu szczęścia), która wydziela się podczas głaskania futra. Pieszczoty wzmacniają też uczucia zaufania i miłości.
Cats help kids with autism to communicate
-
wystarczy 20 minut oglądania śmiesznych filmów z kotami, by dostatecznie spadł poziom kortyzolu we krwi (hormonu stresu) i poprawiła się pamięć krótkotrwała u osób starszych. Ponadto śmiech wspomaga pracę serca i układu immunologicznego.
Cats are funny (healthy) to watch ;)
-
O zbawiennym wpływie mruczenia na poziom ciśnienia we krwi i nastrój pisało już wielu naukowców. Co więcej, koty potrafią modulować częstotliwość dźwięków od 20 do 140 Hz, a niektóre rejestry działają na ludzki organizm skuteczniej niż niejedna terapia.
Cats get rid of your stress
-
Naukowcy zajmujący się chorobami naczyniowymi na Uniwersytecie w Minosocie dowiedli, że właściciele kotów przejawiają mniejsze skłonności do zawałów. Przez 10 lat obserwowali ok. 4,5 tys. osób, spośród których 3/5 było właścicielami futrzaka. Okazało się, że u miłośników kotów ryzyko ataku serca było o 30 proc. niższe niż u ludzi, którzy nie posiadali żadnego zwierzęcia futerkowego.
Cats save your heart
-
-
news.ycombinator.com news.ycombinator.com
-
Chattanooga most likely. My company is doing 85% base salary with no adjustment to RSUs. Tennessee is a great place to save money due to 1) no state income tax, 2) no capital gains taxes, and 3) low cost of living. I estimate I’ll be able to save ~$100k more per year than I currently am in the Bay Area. Plus Chattanooga is known for having some of the fastest internet in the country, rolled out by the city a few years ago. Signal Mountain has great schools for when my kids are older, and it doesn’t hurt that it’s a naturally beautiful place
Chattanooga - great place for a remote work
-
-
www.deprocrastination.co www.deprocrastination.co
-
Instead of avoiding anything hard, let's turn down the difficulty dial by focusing on small steps.
If you lack the ability to do something hard, break it into smaller steps
-
The important part is not only to know the reason, but to feel it, to get excited about it. How to do that? Link the task to a personal goal that you want to achieve. Attach exciting reasons to the task.
Bad example: Write a thesis
Good examples:
- Write a thesis to successfully complete a degree and do cutting-edge research.
- Write a thesis to deepen your understanding of a subject and get recognized by others in your field.
- Write a thesis to help others see things more clearly and make progress.
-
We feel motivated when we viscerally feel how an action is meaningful, or valuable to us and when we believe we can take it
Where motivation comes from.
If you don't feel motivated, remind yourself why you planned to do this task
-
According to FBM, there are three things we need to do something
Fogg Behavior Model says that we need 3 things at the same time to do something
- motivation
- ability
- trigger
-
-
-
Archive your AWS data to reduce storage cost
By archiving data on AWS we can reduce the costs up to 97%
Tags
Annotators
URL
-
-
www.alec.fyi www.alec.fyi
-
search the site itself for codes
Trickt to quickly find discount codes on a website:
site:curology.com ("coupon" | "referral code" | "affiliate code" | "discount code" | "VIP")
-
find every email on a web page that you're on. The big kahuna - this works for every website. Inject it into a site with Chrome DevTools (more here)
Use this code below to find every e-mail on a webpage:
var elems = document.body.getElementsByTagName("*"); var re = new RegExp("(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"); for (var i = 0; i < elems.length; i++) { if (re.test(elems[i].innerHTML)) { console.log(elems[i].innerHTML); } }
-
-
github.com github.com
-
An Image is an ordered collection of root filesystem changes and the corresponding execution parameters for use within a container runtime
Official definition of a container image
-
-
frenchcrazy.com frenchcrazy.com
-
VANDERTRAMP verbs use être as opposed to avoir when placed into the past tense.
Devenir (to become) past participle: devenu
Revenir (to come back) past participle: revenu
Monter (to climb) past participle: monté
Rester (to stay) past participle: resté
Sortir (to leave) past participle: sorti
Passer (to pass) past participle: passé .
Venir (to come) past participle: venu
Aller (to go) past participle: allé
Naître (to be born) past participle: né
Descendre (to descend) past participle: descendu
Entrer (to enter) past participle: entré
Rentrer (to re-enter) past participle: rentré
Tomber (to fall) past participle: tombé
Retourner (to turn around) past participle: retourné
Arriver (to arrive / to come) past participle: arrivé
Mourir (to die) past participle: mort
Partir (to leave) past participle: parti
Tags
Annotators
URL
-
-
wattenberger.com wattenberger.com
-
heightparent’s heightwidthparent’s widthtopparent’s heightleftparent’s widthmargin-topparent’s widthmargin-leftparent’s widthpadding-topparent’s widthpadding-leftparent’s widthtranslate-topself’s heighttranslate-leftself’s width
What % means in different CSS elements
-
-
-
If there were no miracles, what then? Well the answer is really quite boring: notes. I would keep notes religiously of everything, detailed accounts of debugging and records of conversations throughout the day, if even a few words. If it happend I was going to have some recording of it somewhere.
Notes are what helped the autistic developer to improve his memory problem
-
-
www.marknagelberg.com www.marknagelberg.com
-
“Blogging” has a poor brand within many high status employers, whereas “memos” and “essays” do not. Try to categorize your writing as these things rather than a blog post.
Interesting alternatives for the word "blogging"
-
-
www.marknagelberg.com www.marknagelberg.com
-
Why [[Tyler Cowen]] still responds to every [[Email]] and loves it. He finds time for this because of what he doesn’t do: he hardly watches [[TV]], **his social life is basically the same as his intellectual life **- his social life is geared towards thinking, discussing, exploring ideas. With no TV, you end up with a lot of [[time]]. #[[unproductive internet activities]] Isn’t [[email]] a low leverage use of his time? **He learns a lot from people that email him, and has filtered his audience so it’s mostly smart people. **He does this by being "sufficiently weird". He’s not even sure it’s highly leveraged. He met [[Patrick Collison]] that way. He doesn’t care if it’s highly leveraged if he’s learning from it. #[[Audience Building]]
By not watching TV you will have more time for activities like responding to every e-mail. You don't have to think that it's unproductive if you exchange thoughts with smart people
-
As you get older and more successful, it’s harder to get critical [[feedback]] from people. Hang out with critical people and hope you can get benefits. It’s hard to do this. If you are around people that are above you in the hierarchy, you should be critical too. #aging
On being critical
-
Just keep [[writing]] and re-writing. A book will typically be reworked 10 times. Effort and application – there are no tricks.
Indeed, I agree with that technique
-
Advantages of people in [[Silicon Valley]]:** super smart but not necessarily highly educated so they don’t just believe what everyone else does. **They think outside the box. They’re thinkers as well as people that have had to do things and pass [[reality]] tests. The only test most academics face is "can I publish this piece?"
What differs people in Silicon Valley and typical students
-
- Jul 2020
-
libradocs.github.io libradocs.github.io
-
Libra is a machine learning API designed for non-technical users. This means that it assumes that you have no background in ML whatsoever.
With Libra you can write your ML code much faster:
For example, that's how it compares to Keras.
Tags
Annotators
URL
-
-
news.mit.edu news.mit.edu
-
To facilitate the TDI protocol, an interdisciplinary team at the Media Lab designed and developed Dormio, a sleep-tracking device that can alter dreams by tracking hypnagogia and then delivering audio cues based on incoming physiological data, at precise times in the sleep cycle, to make dream direction possible. Upon awakening, a person’s guided dream content can be used to complete tasks such as creative story writing, and compared experimentally to waking thought content.
Dormio - new device to achieve TDI protocol
-
Previous neuroscience studies from researchers such as sleep and cognitive sciences expert Stickgold show that hypnagogia (the earliest sleep stage) is similar to the REM stage in terms of brainwaves and experience; however, unlike REM, individuals can still hear audio during hypnagogia while they dream.
Hypnagogia vs REM phase of your dream
-
In a new paper, researchers from the Media Lab’s Fluid Interfaces group introduce a novel method called “Targeted Dream Incubation” (TDI). This protocol, implemented through an app in conjunction with a wearable sleep-tracking sensor device, not only helps record dream reports, but also guides dreams toward particular themes by repeating targeted information at sleep onset, thereby enabling incorporation of this information into dream content. The TDI method and accompanying technology serve as tools for controlled experimentation in dream study, widening avenues for research into how dreams impact emotion, creativity, memory, and beyond.
TDI - new protocol to record your dreams and guide them toward particular themes
-
-
www.geeksforgeeks.org www.geeksforgeeks.org
-
Return sends a specified value back to its caller whereas Yield can produce a sequence of values. We should use yield when we want to iterate over a sequence, but don’t want to store the entire sequence in memory. Yield are used in Python generators. A generator function is defined like a normal function, but whenever it needs to generate a value, it does so with the yield keyword rather than return. If the body of a def contains yield, the function automatically becomes a generator function.
Simple explanation of a difference between return and yield in Python
-
-
naukawpolsce.pap.pl naukawpolsce.pap.pl
-
Kiedy zastanawiamy się nad czymś w języku obcym, to albo więcej myślimy, albo mniej czujemy. Moim jednak zdaniem bardziej prawdopodobne jest wytłumaczenie, że w języku obcym wszystko mnie mniej pobudza, w związku z tym emocje mniej mnie rozpraszają w racjonalnym myśleniu
-
Język obcy - w porównaniu z ojczystym - sprawia więc, że kiedy napotykamy problem, jesteśmy bardziej skłonni, by rozwiązać go w sposób racjonalny. A mniej bierzemy pod uwagę, jakie normy etyczne rozwiązanie to nagina.
-
Kiedy myślimy w języku, który znamy słabiej, ważniejsze staje się osiągnięcie założonego efektu, a mniej ważny jest wymiar moralny działań
-
-
-
Obiecujący, zwłaszcza w kontekście młodszych pokoleń, wydaje się też właśnie wkraczający do Polski coliving, czyli formuła mieszkania polegająca na dzieleniu się z innymi wszystkim tym, czym podzielić się da. Współlokatorzy mają własne sypialnie z łazienkami, korzystają jednak z przestronnych i funkcjonalnie zaaranżowanych części wspólnych. Zyskują dzięki temu przestrzeń, która umożliwia im integrację i spędzanie wolnego czasu choćby na oglądaniu filmów czy grze w planszówki.
Coliving as a solution to staying alone
-
Do jeszcze bardziej przytłaczających wniosków doszła Julianne Holt-Lunstad, która, posiłkując się wynikami 70 badań naukowych, ogłosiła, że samotność zwiększa śmiertelność w takim samym stopniu co otyłość czy wypalanie 15 papierosów dziennie. Z kolei Nicole Valtorty z Uniwersytetu Newcastle ustaliła, że prawdopodobieństwo ataku serca u osób osamotnionych rośnie o 29 proc., a zagrożenie udarem – o 32 proc. „To niezależny czynnik przyczyniający się do śmierci. Może cię po prostu zabić. Znajduje się na tej samej liście co choroby serca i rak – twierdzi dr Josh Klapow, psycholog kliniczny z Uniwersytetu Alabamy.
Data on health consequences of being alone
-
powszechna plaga nie oszczędza młodych. Poczucie izolacji wpływa u nich na sen, zwiększa poziom stresu, powoduje spadek odporności, redukuje funkcje poznawcze, wywołując objawy podobne do otępienia oraz zwiększa ryzyko depresji.
Health consequences of being alone as a young person
-
Naukowcy odkryli, że samotność ma na nas wyniszczający wpływ, i to już na poziomie komórkowym. Profesor Steve Cole, dyrektor laboratorium UCLA Social Genomics Core dowiódł nawet, że z powodu izolacji społecznej w ludzkim organizmie dochodzi do tworzenia się przewlekłego, niedającego jawnych objawów stanu zapalnego.
Health consequences of being alone
-
Z danych GUS-u i tych zebranych przez portale randkowe wynika, że w Polsce w ciągu ostatnich 10 lat liczba osób żyjących samotnie wzrosła o 34 proc.
-
Wśród krajów europejskich w niechlubnym rankingu zwycięża jednak Szwecja, w stolicy której samotnie mieszka aż 58 proc.(!) populacji. Z kolei w Stanach Zjednoczonych odsetek ten wynosi 27 proc. (w Nowym Jorku prawie 50 proc.) i cały czas rośnie – dla porównania w roku 1920 jednoosobowe gospodarstwo domowe prowadziło tam 5 proc. obywateli.
Percentage of people living alone
-
-
akkshaya.blog akkshaya.blog
-
the market size: the global note-taking management software market is estimated to reach $1.35 billion by 2026, growing at a CAGR of 5.32% from 2019 to 2026greater scope for innovation: eg., be it creating a task list, a roadmap, or a design repository, Notion can handle it alllack of satisfaction: it’s noted that people always use a combination of note-taking apps and hardly stick to one for a long time
Three reasons why we constantly see more note-taking apps, which in return increase our paradox of choice
Tags
Annotators
URL
-
-
nesslabs.com nesslabs.com
-
if you’re looking for a tool to increase your metacognition, try Roam Research.
Roam Research is one of the tool suggestions to improve your metacognition
-
Metacognition, put simply, is “thinking about thinking” or “knowing about knowing.” It’s being aware of your own awareness so you can determine the best strategies for learning and problem-solving, as well as when to apply them. The word “metacognition” literally means “above cognition”—it’s one of the most powerful forms of self-monitoring and self-regulation. It’s a fancy word for something fairly simple once you break it down.
Metacognition
-
-
-
An end-user (resource owner 👤) grants a printing service (app 📦) access to their photo (resource 🖼) hosted in a photo-sharing service (resource server 📚), without sharing their username and password. Instead, they authenticate directly with a server trusted by the photo-sharing service (authorization server 🛡), which issues the printing service delegation-specific credentials (access token 🔑).
Clear OAuth flow example
-
-
-
For this study, researchers conducted technical interviews of 48 computer science undergraduates and graduate students. Half of the study participants were given a conventional technical interview, with an interviewer looking on. The other half of the participants were asked to solve their problem on a whiteboard in a private room. The private interviews did not require study participants to explain their solutions aloud, and had no interviewers looking over their shoulders. Researchers measured each study participant’s interview performance by assessing the accuracy and efficiency of each solution. In other words, they wanted to know whether the code they wrote would work, and the amount of computing resources needed to run it. “People who took the traditional interview performed half as well as people that were able to interview in private,” Parnin says. “In short, the findings suggest that companies are missing out on really good programmers because those programmers aren’t good at writing on a whiteboard and explaining their work out loud while coding.”
Interesting experiment focused on recruitment. "Candidates" who are able to solve the challenge alone in quiet rooms perform better
-
-
nabeelqu.co nabeelqu.conabeelqu6
-
(This is why writing is important. It’s harder to fool yourself that you understand something when you sit down to write about it and it comes out all disjointed and confused. Writing forces clarity.)
This is why I like to repeat that writing shapes your understanding of the topic
-
(This is why writing is important. It’s harder to fool yourself that you understand something when you sit down to write about it and it comes out all disjointed and confused. Writing forces clarity.)
This is why I like to repeat that writing shapes your understanding of the topic
-
One component of it is energy: thinking hard takes effort, and it’s much easier to just stop at an answer that seems to make sense, than to pursue everything that you don’t quite get down an endless, and rapidly proliferating, series of rabbit holes.
To think in an intelligent way, you need to take effort (energy)
-
What this means is that you can internalize good intellectual habits that, in effect, “increase your intelligence”. ‘Intelligence’ is not fixed.
Fix your intelligence with the right habits
-
Intelligent people simply aren’t willing to accept answers that they don’t understand — no matter how many other people try to convince them of it, or how many other people believe it, if they aren’t able to convince them selves of it, they won’t accept it.
Question authority
-
The smartest person I’ve ever known had a habit that, as a teenager, I found striking. After he’d prove a theorem, or solve a problem, he’d go back and continue thinking about the problem and try to figure out different proofs of the same thing. Sometimes he’d spend hours on a problem he’d already solved.
Take your time and ponder
-
-
-
So in brief, for our application service, if we understand the access patterns very well, they’re repeatable, they’re consistent, and scalability is a big factor, then NoSQL is a perfect choice.
When NoSQL is a perfect choice
-
Comparison Time … 🤞
Brief comparison of 8 aspects between SQL vs NoSQL
-
-
nabeelqu.co nabeelqu.conabeelqu1
-
The lessons you learn from chess are generalizable only at a high level (e.g. a bad plan is better than no plan). But if you have games that are (a) fun and (b) accurate for some aspects of reality, such as KSP or Factorio, you do get learning that is real and transferable. The challenge is in making games that satisfy both constraints.
Chess to be a good educator misses the accuracy for some aspects of reality
-
-
blogs.microsoft.com blogs.microsoft.com
-
Although the impact will not be distributed evenly, digital transformation will touch virtually every corner of the global workforce — from food production (324,000 new jobs) to healthcare (2 million) and the automotive industry (6 million).
The main industries affected:
- automotive (6 million)
- healthcare (2 million)
- food production (324k)
check the PowerBI visualisation below for more info
-
Over the next five years, we estimate that the global workforce can absorb around 149 million new technology-oriented jobs. Software development accounts for the largest single share of this forecast, but roles in related fields like data analysis, cyber security, and privacy protection are also poised to grow substantially.
It is estimated that 2025 will require 4.6 times more IT profiles than 2020.
Data source: Microsoft Data Science utilising LinkedIn data
-
- Jun 2020
-
nabeelqu.co nabeelqu.conabeelqu5
-
Most of the discourse is about how AI will “replace” humans. I prefer the Licklider school of thought: human-computer symbiosis. AI will make humans vastly more effective by automating tedious tasks. For example, humans can use text AI such as GPT-3 to generate ideas/boilerplate writing to get around the terror of the blank page, and then simply pick the best ones and refine/iterate on those. (AI Dril, which was based on GPT-2, was an early example of this). As AI gets better, “assistive creativity” will become a bigger thing, enabling humans to create sophisticated artifacts (including video games!) easier and better than ever.
Why AI is important for human productivity
-
So it makes sense that video games would be the primary educational environment of the future: they are the best way we have of (a) creating simulations of reality (b) with fast feedback loops (c) accessible at low cost.
Games as the future of learning
-
Video games will become a core component of education. This sounds absurd, but consider that simulations are already used widely for learning
- Kerbal Space Program
- Flight simulators
- Factorio
- Programming environments
-
When you understand something very well it’s almost as though you can play around with it using all your senses — touch, feeling, space.
-
The fundamental principle of education is to give students an environment, and tools, where they can make discoveries themselves. This requires space, and time, and autonomy.
-
-
-
Wyróżniamy 2 podstawowe metody wykrywania malware(można mówić o większej ilości, jednak na potrzeby przybliżenia podstaw wspomnę tylko o dwóch):
2 ways antiviruses detect malware:
- Signature-Based Detection - based on signatures (known byte sequences) updated continuously. For example, the method deletes software immediately after it's downloaded
- Heuristic and Behavioral-Based Detection - based on malware's "behaviour" (each of its instructions)
-
-
media-exp1.licdn.com media-exp1.licdn.com
-
How to prevent the environment from being “invalidated”?Docker containers (Rocker)
Rocker
-
SAS, R, Stata, SPSS may return different results even for quantiles, or due to floating number representation! The results should be maximally close to each other, but what about resampling methods (SAS and R gives different random numbers for the same seed)?
Different results between SAS, R, Stata, SPSS
-
Typical software requirements specify the following
- All software system inputs
- All software system outputs
- All functions that the software system will perform
- All performance requirements that the software will meet, (e.g., data throughput, reliability, and timing)
- The definition of all external and user interfaces, as well as any internal software-to-system interfaces
- How users will interact with the system
- What constitutes an error and how errors should be handled
- Required response times
- The intended operating environment for the software, if this is a design constraint (e.g. hardware platform, operating system)
- All ranges, limits, defaults, and specific values that the software will accept
- All safety related requirements, specifications, features, or functions that will be implemented in software
-
99.9% open-source. 0.1% is licensed (free for non-commercial use)
License of libraries in R
-
Status of R on the Clinical Research market
- In general bioscience and academia, S ---> R has built over years its position of one of the industry standards
- In clinical research, however, SAS reigns par excellence
- Pharmaceutical companies, CROs and even FDA do use R “internally”.But they resist (or hesitate) to use it in submissions (to FDA)
- Clinical Programmer or Biostatistician ≝ SAS Programmer. Period
-
Differences in
Differences between R and SAS:
- origin of dates
- default contrasts
- used sum of squares
- calculation of quantiles
- generation of random numbers
- implementation of advanced model
- representation of floating point numbers
-
Tospeeduptheprocesswithoutsacrificingaccuracy,theteamalsousesRevolutionRanalyticproducts
Revolution R
-
-
-
The results suggest that, in addition to a distinct beginning and end to the unprecedented bloodshed of 1910-1950, there was another abrupt shift towards a greater level of peace in the early 1990s.
-
-
androidrookies.com androidrookies.com
-
The brain uses the same area to save coding as it does to save our speech. They found that programming is like talking. The research found out that the brain regions that are most active during coding are those that are also relevant in the processing of natural language.
- Study shows that programming knowledge is stored in the same area of the brain as speech.
- Using fMRIs, researchers analysed which parts of the brain are activated during programming.
- The results essentially show that programming is like talking - the same regions that are active when processing natural language are active during programming.
- In the study, professional programmers were asked to repeatedly write some code and check other chunks of code for mistakes.
-
-
jjbeshara.com jjbeshara.com
-
Estimates say that 83% of us will be hit with a mental health crisis in our lives, we can all make the choices to invest wisely in this area to improve our ‘mental durability’ to deal with it properly.
Tags
Annotators
URL
-
-
martinheinz.dev martinheinz.dev
-
in Python - setting up basic logger is very simple
Apart from printing the result, it is better to debug with logging.
Sample logger:
import logging logging.basicConfig( filename='application.log', level=logging.WARNING, format= '[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s', datefmt='%H:%M:%S' ) logging.error("Some serious error occurred.") logging.warning('Function you are using is deprecated.')
the sample result:
[12:52:35] {<stdin>:1} ERROR - Some serious error occurred. [12:52:35] {<stdin>:1} WARNING - Function you are using is deprecated.
to find its location, type:
logging.getLoggerClass().root.handlers[0].baseFilename
Tags
Annotators
URL
-
-
spreadprivacy.com spreadprivacy.com
-
This advertising system is designed to enable hyper-targeting, which has many unintended consequences that have dominated the headlines in recent years, such as the ability for bad actors to use the system to influence elections, to exclude groups in a way that facilitates discrimination, and to expose your personal data to companies you’ve never even heard of.
Where your Google data goes to
-
if you search for something on Google, you may start seeing ads for it everywhere.
In comparison to DuckDuckGo, Google presents you ads everywhere, not just in the search results
-
Alarmingly, Google now deploys hidden trackers on 76% of websites across the web to monitor your behavior and Facebook has hidden trackers on about 25% of websites, according to the Princeton Web Transparency & Accountability Project. It is likely that Google and/or Facebook are watching you on most sites you visit, in addition to tracking you when using their products.
-
When you search on DuckDuckGo, we can show you an ad based on the keywords you type in. That’s it. And it works.
Simple model how DuckDuckGo makes its business
-
Almost all of the money search engines make (including Google) is based on the keywords you type in, without knowing anything about you, including your search history or the seemingly endless amounts of additional data points they have collected about registered and non-registered users alike. In fact, search advertisers buy search ads by bidding on keywords, not people. It makes intuitive sense, too. If you search for ‘car’, you are more likely to respond to a car ad than something you searched for last week.
Search engines do most of the business on keywords
-
-
www.savjee.be www.savjee.be
-
If you want a fast website without breaking the bank, go for GitHub Pages. It’s completely free and super fast. It does, however, require you to open source your site. If that’s not doable, CloudFront is a good alternative, but its price depends on how much bandwidth you push around. For most personal sites, CloudFront won’t cost more than a couple of dollars per month. The same thing goes for Google Cloud Storage.
Advice for a personal use regarding the static webhosting benchmark (2020 May)
-
The best all-around performer is AWS CloudFront, followed closely by GitHub Pages. Not only do they have the fastest response times (median), they’re also the most consistent. They are, however, closely followed by Google Cloud Storage. Interestingly, there is very little difference between a regional and multi-regional bucket. The only reason to pick a multi-regional bucket would be the additional uptime guarantee. Cloudflare didn’t perform as well I would’ve expected.
Results of static webhosting benchmark (2020 May):
- AWS CloudFront
- GitHub Pages
- Google Cloud Storage
-
-
eugeneyan.com eugeneyan.com
-
Some free, digital Zettelkastens include zettelkasten.de, zettlr, and roamresearch. I use Roam.
One of the best solutions to implement Zettelkastens: Roam. However, in my case OneNote is doing fine. Maybe I can switch to Roam if I will start working on a specific research problem?
-
The key is to make connections between ideas during note-taking, way before you need to review them for your work. This forces you to actively connect the dots (during note-taking) and lets you find relevant ideas with ease in future.
How Zettelkasten works:
- Write each idea you come across on a card.
- Link idea cards to other relevant idea cards (idea -> idea link).
- Sort cards into broader topic boxes (idea -> topic link)
-
German sociologist Niklas Luhmann. One thing you should know about Luhmann—he was extremely productive. In his 40 years of research, he published more than 70 books and 500 scholarly articles. How did he do accomplish this? He credits it to his Zettelkasten which focuses on connections between notes.
To be super productive, Niklas Luhmann used to take notes relating to each other
-
-
www.educative.io www.educative.io
-
it allows each new key to be given a default value based on the type of dictionary being created
Difference between defaultdict and dict
-
Memoization can be achieved through Python decorators
Example of memoization in Python:
import timeit def memoize_fib(func): cache = {} def inner(arg): if arg not in cache: cache[arg] = func(arg) return cache[arg] return inner def fib(num): if num == 0: return 0 elif num == 1: return 1 else: return fib(num-1) + fib(num-2) fib = memoize_fib(fib) print(timeit.timeit('fib(30)', globals=globals(), number=1)) print(timeit.timeit('fib(30)', globals=globals(), number=1)) print(timeit.timeit('fib(30)', globals=globals(), number=1))
Output:
4.9035000301955733e-05 1.374000021314714e-06 1.2790005712304264e-06
-
A deep copy refers to cloning an object. When we use the = operator, we are not cloning the object; instead, we reference our variable to the same object (a.k.a. shallow copy).
Difference between a shallow copy (=) and a deep copy:
-
Python 2 is entrenched in the software landscape to the point that co-dependency between several softwares makes it almost impossible to make the shift.
Shifting from Python 2 to 3 isn't always straight to the point
-
The @property decorator allows a function to be accessed like an attribute.
@property decorator
-
var = true_val if condition else false_val
Example of a ternary operator (one-line version of if-else):
to_check = 6 msg = "Even" if to_check%2 == 0 else "Odd" print(msg)
Usual if-else:
msg = "" if(to_check%2 == 0): msg = "Even" else: msg = "Odd" print(msg)
-
This method is automatically called to allocate memory when a new object/ instance of a class is created.
__init__
method in Python (which essentially all classes have) -
decorator is a design pattern in Python that allows a user to add new functionality to an existing object without modifying its structure
Decorators
-
The philosophy behind Flask is that it gives only the components you need to build an app so that you have the flexibility and control. In other words, it’s un-opinionated. Some features it offers are a build-int dev server, Restful request dispatching, Http request handling, and much more.
Flask isn't as full of features as Django (which makes him lighter), but it still offers:
- build-int dev server
- Restful request dispatching
- HTTP request handling
- much more...
-
The only difference is that range returns a Python list object and xrange returns an xrange object. This means that xrange doesn’t actually generate a static list at run-time like range does.
Difference between range() and xrange()
-
NumPy is not just more efficient; it is also more convenient. You get a lot of vector and matrix operations for free, which sometimes allow one to avoid unnecessary work. And they are also efficiently implemented.
Main advantage of NumPy arrays over (nested) Python lists
-
process of retrieving original Python objects from the stored string representation
Unpickling
-
Pickle module accepts any Python object and converts it into a string representation and dumps it into a file by using dump function
Pickling
-
The beauty of lambda functions lies in the fact that they return function objects. This makes them helpful when used with functions like map or filter which require function objects as arguments.
When to use lambdas
-
In Python, the term monkey patch only refers to dynamic modifications of a class or module at run-time.
Monkey patching in Python
-
Python has a multi-threading package but if you want to multi-thread to speed your code up, then it’s usually not a good idea to use it. Python has a construct called the Global Interpreter Lock (GIL). The GIL makes sure that only one of your ‘threads’ can execute at any one time. A thread acquires the GIL, does a little work, then passes the GIL onto the next thread.
Multi-threading is available in Python but it;s often not a good idea
Tags
Annotators
URL
-
-
www.reddit.com www.reddit.com
-
the only meditation I have EVER found effective in my life. 1:19:57 Intro and explanation + 1:27:51 Meditation start
Meditation with triphasic breathing (you won't fight with your thoughts)
It focuses on 6 steps (feel a stop between each phase):
Beginning:
- The place doesn't matter. You can do it anywhere, such as in front of your computer
- Sit up straight and close your eyes
Repeat:
- Breathe in with your belly (try to put your belly button far from your spine)
- Breathe in with your chest
- Raise your shoulders up and breathe in the last time
- Relax your shoulders (bring them down)
- Contract the chest (let it relax)
- Move your navel towards your spine
Ending:
- For around 1 minute, relax and let your breath do whatever it wants to (observe what your breath is doing)
- Now, let your eyes stay closed and let yourself (your mind) come back
- put your palms in front of you
- rub them together to feel the heat
- put the hands over your eyes
- as you breathe in and out, let your eyes open with your palms over them
- when the breath is complete, let your hands come down
- After the meditation you shall normally feel joy
Video material
-
- May 2020
-
medium.com medium.com
-
- High-level modules should not depend on low-level modules. Both should depend on the abstraction.- Abstractions should not depend on details. Details should depend on abstractions.
SOLI(D)
Dependency Inversion
-
Clients should not be forced to depend on methods that they do not use.
SOL(I)D
Interface Segregation
-
If S is a subtype of T, then objects of type T in a program may be replaced with objects of type S without altering any of the desirable properties of that program.
SO(L)ID
Liskov Substitution
-
Classes should be open for extension, but closed for modification
S(O)LID
Open-Closed
-
A class should have a single responsibility
(S)OLID
Single Responsibility
-
-
untools.co untools.co
-
Alternatively, think about the decision in different timelines. Ask yourself: What will be the consequences of this decision in 10 minutes? 10 months? 10 years?
Another way of examining the second order of decision's consequences
-
Consider a decision you have to make. Start by looking at the most immediate effects of making this decision – the first order. Then for each of the effect ask yourself: "And then what?"
The way to examine the second order of decision's consequences
-
-
news.ycombinator.com news.ycombinator.com
-
I've found that the most underrated problem solving tool is simply typing out my thought process.I used to be the type who asked a lot of questions until I realized that formulating the question was often more important than getting the answer.
You're asking a lot of questions? It might be also a sign of formulating/shaping your decisions
-
-
adayinthelifeof.nl adayinthelifeof.nl
-
Amazon Machine Learning Deprecated. Use SageMaker instead.
Instead of Amazon Machine Learning use Amazon SageMaker
Tags
Annotators
URL
-
-
www.eurekalert.org www.eurekalert.org
-
The MRI results showed that people for whom this effect was the strongest--those whose exposure to diverse experiences was more strongly associated with positive feeling ("affect")--exhibited greater correlation between brain activity in the hippocampus and the striatum. These are brain regions that are associated, respectively, with the processing of novelty and reward-- beneficial or subjectively positive experiences.
- Study authors used GPS to track participants for up to 4 months, regularly texting them to ask about their positive and negative emotional states.
- People who were the most active explorers also reported the most positive emotional states.
- Later, some participants underwent MRI scans, and the results showed that the brain actively rewards us for experiencing new things and switching locations.
- People feel happier when they experience different things and visit new places often, but it’s unclear whether people with less interesting experiences actually feel sadder.
- What’s important, even small changes - exercising at home, walking around your neighborhood, choosing a different route to go shopping - can have a positive impact.
-
-
pmigdal.medium.com pmigdal.medium.com
-
The interface is slightly less polished (and, unfortunately, I experience a delay between opening it and getting a chart), but the tracking works. Since it is in Vue I love, one day I might modify it to my needs.
Comparing ActivityWatch to RescueTime
-
It is a modern-day “memento mori”
Mortality - New Tab (browser extension)
-
With Intention I:know how much of my time is spent on distractions,decide how much time I need,I see the countdown (so I know if I need to wrap-up a reply, or if it makes sense to start writing a new one),it automatically blocks these sites,yet, it distinguishes between “normal use” of YouTube and e.g. using it for creating a workshop on deep learning (looking for video abstract of recent papers).
Intention is well recommended by Piotr Migdał for your productivity. More than toggl or RescueTime.
-
There are a few plugins (e.g. ColdTurkey) that are “too nuclear”. Being halted in the middle of writing a reply (on Facebook or Hacker News), with no prior warning, left me disturbed.
ColdTurkey is quite harsh in terms of making you more productive
-
-
medium.com medium.com
-
Hot Reloading refers to the ability to automatically update a running web application when changes are made to the application’s code.
Hot Reloading is what provides a great experience with updating your Dash code inside the Jupyter Notebooks
-
JupyterDash supports three approaches to displaying a Dash application during interactive development.
3 display modes of Dash using Jupyter Notebooks:
- app.run_server(mode='external')
- app.run_server(mode='inline')
- app.run_server(mode='jupyterlab')
-
# Run app and display result inline in the notebookapp.run_server(mode='inline')
Moreover, you can display your Dash result inside a Jupyter Notebook using
IPython.display.IFrame
with this line:app.run_server(mode='inline')
-
If running the server blocks the main thread, then it’s not possible to execute additional code cells without manually interrupting the execution of the kernel.JupyterDash resolves this problem by executing the Flask development server in a background thread. This leaves the main execution thread available for additional calculations. When a request is made to serve a new version of the application on the same port, the currently running application is automatically shut down first. This makes is possible to quickly update a running application by simply re-executing the notebook cells that define it.
How Dash can run inside Jupyter Notebooks
-
You can also try it out, right in your browser, with binder.
Dash can be tried out inside a Jupyter Notebook right in your browser using binder.
-
Then, copy any Dash example into a Jupyter notebook cell and replace the dash.Dash class with the jupyter_dash.JupyterDash class.
To use Dash in Jupyter Notebooks, you have to import:
from jupyter_dash import JupyterDash
instead of:
import dash
Therefore, all the imports could look like that for a typical Dash app inside a Jupyter Notebook:
import plotly.express as px from jupyter_dash import JupyterDash import dash_core_components as dcc import dash_html_components as html from dash.dependencies import Input, Output
-
-
www.hillelwayne.com www.hillelwayne.com
-
sci-hub is a service that lets you access research papers for free. It’s not quuiiiiiiiiite legal, but buying papers is super expensive, like fifty dollars per paper. Not something I can afford, and I think the entire industry is evil anyway.
Good point on the research industry & Sci-Hub
-
So instead I have it open up Frink. If Frink is already open, it activates it. If it’s already active, it minimizes it. Much better UX.3
Great AutoHotkey (AHK) script to open any app:
toggle_app(app, location) { if WinExist(app) { if !WinActive(app) { WinActivate } else { WinMinimize } } else if location != "" { Run, %location% } } Launch_App2::toggle_app("Frink", "\Path\to\frink.jar")
Tags
Annotators
URL
-
-
medium.com medium.com
-
My friends ask me if I think Google Cloud will catch up to its rivals. Not only do I think so — I’m positive five years down the road it will surpass them.
GCP more popular than AWS in 2025?
-
So if GCP is so much better, why so many more people use AWS?
Why so many people use AWS:
- they were first
- aggressive expansion of product line
- following the crows
- fear of not getting a job based on GCP
- fear that GCP may be abandoned by Google
-
As I mentioned I think that AWS certainly offers a lot more features, configuration options and products than GCP does, and you may benefit from some of them. Also AWS releases products at a much faster speed.You can certainly do more with AWS, there is no contest here. If for example you need a truck with a server inside or a computer sent over to your office so you can dump your data inside and return it to Amazon, then AWS is for you. AWS also has more flexibility in terms of location of your data centres.
Advantages of AWS over GCP:
- a lot more features (but are they necessary for you?)
- a lot more configuration options
- a lot more products
- releases products at a much faster speed
- you can do simply more with AWS
- offers AWS Snowmobile
- more flexibility in terms of your data centres
-
I would argue that there isn’t any other company on the planet that does scalability and global infrastructure better than Google (although CloudFlare definitely gives it a run for its money in some areas).
Scalability of Google's service is still #1
-
Both AWS and GCP are very secure and you will be okay as long as are not careless in your design. However GCP for me has an edge in the sense that everything is encrypted by default.
Encryption is set to default in GCP
-
I felt that performance was almost always better in GCP, for example copying from instances to buckets in GCP is INSANELY fast
Performance wise GCP also seems to outbeat AWS
-
AWS charges substantially more for their services than GCP does, but most people ignore the real high cost of using AWS, which is; expertise, time and manpower.
AWS is more costly, requires more time and manpower over GCP
-
GCP on the other hand has fewer products but the ones they have (at least in my experience) feel more complete and well integrated with the rest of the ecosystem
GCP has less but more effective products
-
GCP provides a smaller set of core primitives that are global and work well for lots of use cases. Pub/Sub is probably the best example I have for this. In AWS you have SQS, SNS, Amazon MQ, Kinesis Data Streams, Kinesis Data Firehose, DynamoDB Streams, and maybe another queueing service by the time you read this post. 2019 Update: Amazon has now released another streaming service: Amazon Managed Streaming Kafka.
Pub/Sub of GCP might be enough to replace most (all?) of the following Amazon products: SQS, SNS, Amazon MQ, Kinesis Data Streams, Kinesis Data Firehose, DynamoDB Streams, Amazon Managed Streaming Kafka
-
At the time of writing this, there are 169 AWS products compared to 90 in GCP.
AWS has more products than GCP but that's not necessarily good since some even nearly duplicate
-
Spinning an EKS cluster gives you essentially a brick. You have to spin your own nodes on the side and make sure they connect with the master, which a lot of work for you to do on top of the promise of “managed”
Managing Kubernetes in AWS (EKS) also isn't as effective as in GCP or GKE
-
You can forgive the documentation in AWS being a nightmare to navigate for being a mere reflection of the confusing mess that is trying to describe. Whenever you are trying to solve a simple problem far too often you end up drowning in reference pages, the experience is like asking for a glass of water and being hosed down with a fire hydrant.
Great documentation is contextual, not referential (like AWS's)
-
Jeff Bezos is an infamous micro-manager. He micro-manages every single pixel of Amazon’s retail site. He hired Larry Tesler, Apple’s Chief Scientist and probably the very most famous and respected human-computer interaction expert in the entire world, and then ignored every goddamn thing Larry said for three years until Larry finally — wisely — left the company. Larry would do these big usability studies and demonstrate beyond any shred of doubt that nobody can understand that frigging website, but Bezos just couldn’t let go of those pixels, all those millions of semantics-packed pixels on the landing page. They were like millions of his own precious children. So they’re all still there, and Larry is not.
Case why AWS doesn't look as it supposed to be
-
The AWS interface looks like it was designed by a lonesome alien living in an asteroid who once saw a documentary about humans clicking with a mouse. It is confusing, counterintuitive, messy and extremely overcrowded.
:)
-
After you login with your token you then need to create a script to give you a 12 hour session, and you need to do this every day, because there is no way to extend this.
One of the complications when we want to use AWS CLI with 2FA (not a case of GCP)
-
In GCP you have one master account/project that you can use to manage the rest of your projects, you log in with your company google account and then you can set permissions to any project however you want.
Setting up account permission to the projects in GCP is far better than in AWS
-
It’s not that AWS is harder to use than GCP, it’s that it is needlessly hard; a disjointed, sprawl of infrastructure primitives with poor cohesion between them.
AWS management isn't as straightforward as the one of GCP
-
-
thomask.sdf.org thomask.sdf.org
-
So be careful running editing a bash script that may be currently executing. It could execute an invalid command, or do something very surprising.
Never modify a running bash command as it can execute something surprising
-
-
podcastnotes.org podcastnotes.org
-
“If you are a non-college graduate man you have a less than 50/50 shot of ever being married in your life” – Andrew YangIn the 1970s and ‘80s, there were about 17 million manufacturing jobs in the USToday, there are about 12 million of those jobsMore women are graduating from college than men58% of college graduates in the US are women
-
Today, 40% of children are born to unmarried mothersBack in the 70s and 80s, it was only 15%
-
-
victorzhou.com victorzhou.com
-
The most common method of preventing CSRF is by generating a secret random string, known as a CSRF token, on the server, and checking for that token when the client performs a write.
To completely defend the CSRF attack, one needs to generate a CSRF token
-
CORS relaxes the Same-Origin Policy (SOP), a critical security measure that prevents scripts on one site (e.g. the attacker’s site) from accessing sensitive data on another site (e.g. the Definitely Secure Bank portal). If something was protecting you from CSRF, it would be the SOP.
Thanks to Cross-Origin Resource Sharing (CORS), Same-Origin Policy (SOP) is being relaxed and CSRF is blocked from cross-origin reads, but not from writes (so
POST
is still effective but attacker cannot read the response) -
Cross-Site Request Forgery is a web security exploit where an attacker induces a victim to perform an action they didn’t mean to. In this case, the attacker tricked you into unintentionally transferring them money.
Cross-Site Request Forgery (CSRF) attack example: sending cookies to the origin (bank site) even when the request originates from a different origin
-
-
news.ycombinator.com news.ycombinator.com
-
This might be super basic, but... assume positive intent.Your parent is not your enemy. Your teacher is not your enemy. Your boss is not your enemy. The other team at work is not your enemy.
Idea that changed your life: assuming positive intent
-
-
citizenlab.ca citizenlab.ca
-
We present results from technical experiments which reveal that WeChat communications conducted entirely among non-China-registered accounts are subject to pervasive content surveillance that was previously thought to be exclusively reserved for China-registered accounts.
WeChat not only tracks Chinese accounts
Tags
Annotators
URL
-
-
www.timcasasola.com www.timcasasola.com
-
So write with a combination of short, medium, and long sentences. Create a sound that pleases the reader’s ear. Don’t just write words. Write music.”
Try writing fewer commas and using more periods. Make your sentences simpler, vary their lengths and your sentences will be like music
-
-
www.estimationstats.com www.estimationstats.com
-
You can create estimation plots here at estimationstats.com, or with the DABEST packages which are available in R, Python, and Matlab.
You can create estimation plots with:
-
Relative to conventional plots, estimation plots offer five key benefits:
Estimation plots > bars-and-stars or boxplot & P.
They:
- avoid false dictonomy
- display all observed values
- focus on intervention effect size
- visualise estimate precision
- show mean difference distribution
-
For comparisons between 3 or more groups that typically employ analysis of variance (ANOVA) methods, one can use the Cumming estimation plot, which can be considered a variant of the Gardner-Altman plot.
Cumming estimation plot
-
Efron developed the bias-corrected and accelerated bootstrap (BCa bootstrap) to account for the skew whilst obtaining the central 95% of the distribution.
Bias-corrected and accelerated bootstrap (BCa boostrap) deals with skewed sample distributions. However; it must be noted that it "may not give very accurate coverage in a small-sample non-parametric situation" (simply said, take caution with small datasets)
-
We can calculate the 95% CI of the mean difference by performing bootstrap resampling.
Bootstrap - simple but powerful technique that creates multiple resamples (with replacement) from a single set of observations, and computes the effect size of interest on each of these resamples. It can be used to determine the 95% CI (Confidence Interval).
We can use bootstrap resampling to obtain measure of precision and confidence about our estimate. It gives us 2 important benefits:
- Non-parametric statistical analysis - no need to assume normal distribution of our observations. Thanks to Central Limit Theorem, the resampling distribution of the effect size will approach normality
- Easy construction of the 95% CI from the resampling distribution. For 1000 bootstrap resamples of the mean difference, 25th value and 975th value can be used as boundaries of the 95% CI.
Bootstrap resampling can be used for such an example:
Computers can easily perform 5000 resamples:
-
Shown above is a Gardner-Altman estimation plot.
Gardner-Altman estimation plot shows all the relevant information:
- Datapoints presented as swarmplot
- Effect size is presented as bootstrap 95% confidence interval (95% CI) on a seperate but aligned axes
-
Jitter plots avoid overlapping datapoints (i.e. datapoints with the same y-value) by adding a random factor to each point along the orthogonal x-axes.
Jitter plots displays all datapoints but it might not accurately depict the underlying distribution of the data:
-
Unfortunately, the boxplot still doesn't show all our data.
Boxplots may be better than barplots (they introduce medians, quartiles, minima and maxima), but still doesn't show all the information:
-
The barplot has several shortcomings, even though its use in academic journals is endemic.
Barplots are not the best choice for data visualisation:
Tags
Annotators
URL
-
-
fire.ci fire.ci
-
Continuous Delivery of Deployment is about running as thorough checks as you can to catch issues on your code. Completeness of the checks is the most important factor. It is usually measured in terms code coverage or functional coverage of your tests. Catching errors early on prevents broken code to get deployed to any environment and saves the precious time of your test team.
Continuous Delivery of Deployment (quick summary)
-
Continuous Integration is a trade off between speed of feedback loop to developers and relevance of the checks your perform (build and test). No code that would impede the team progress should make it to the main branch.
Continuous Integration (quick summary)
-
A good CD build: Ensures that as many features as possible are working properly The faster the better, but it is not a matter of speed. A 30-60 minutes build is OK
Good CD build
-
A good CI build: Ensures no code that breaks basic stuff and prevents other team members to work is introduced to the main branch Is fast enough to provide feedback to developers within minutes to prevent context switching between tasks
Good CI build
-
The idea of Continuous Delivery is to prepare artefacts as close as possible from what you want to run in your environment. These can be jar or war files if you are working with Java, executables if you are working with .NET. These can also be folders of transpiled JS code or even Docker containers, whatever makes deploy shorter (i.e. you have pre built in advance as much as you can).
Idea of Continuous Delivery
-
Continuous Delivery is about being able to deploy any version of your code at all times. In practice it means the last or pre last version of your code.
Continous Delivery
-
Continuous Integration is not about tools. It is about working in small chunks and integrating your new code to the main branch and pulling frequently.
Continuous Integration is not about tools
-
The app should build and start Most critical features should be functional at all times (user signup/login journey and key business features) Common layers of the application that all the developers rely on, should be stable. This means unit tests on those parts.
Things to be checked by Continous Integration
-
Continuous Integration is all about preventing the main branch of being broken so your team is not stuck. That’s it. It is not about having all your tests green all the time and the main branch deployable to production at every commit.
Continuous Integration prevents other team members from wasting time through a pull of faulty code
-
-
www.supermemo.com www.supermemo.com
-
If knowledge of one item makes it harder to remember another item, we have a case of memory interference.
Memory interference - once it happens you need to detect it and eliminate
-
Here again are the twenty rules of formulating knowledge.
- Do not learn if you do not understand
- Learn before you memorize - build the picture of the whole before you dismember it into simple items in SuperMemo. If the whole shows holes, review it again!
- Build upon the basics - never jump both feet into a complex manual because you may never see the end. Well remembered basics will help the remaining knowledge easily fit in
- Stick to the minimum information principle - if you continue forgetting an item, try to make it as simple as possible. If it does not help, see the remaining rules (cloze deletion, graphics, mnemonic techniques, converting sets into enumerations, etc.)
- Cloze deletion is easy and effective - completing a deleted word or phrase is not only an effective way of learning. Most of all, it greatly speeds up formulating knowledge and is highly recommended for beginners
- Use imagery - a picture is worth a thousand words
- Use mnemonic techniques - read about peg lists and mind maps. Study the books by Tony Buzan. Learn how to convert memories into funny pictures. You won't have problems with phone numbers and complex figures
- Graphic deletion is as good as cloze deletion - obstructing parts of a picture is great for learning anatomy, geography and more
- Avoid sets - larger sets are virtually un-memorizable unless you convert them into enumerations!
- Avoid enumerations - enumerations are also hard to remember but can be dealt with using cloze deletion
- Combat interference - even the simplest items can be completely intractable if they are similar to other items. Use examples, context cues, vivid illustrations, refer to emotions, and to your personal life
- Optimize wording - like you reduce mathematical equations, you can reduce complex sentences into smart, compact and enjoyable maxims
- Refer to other memories - building memories on other memories generates a coherent and hermetic structure that forgetting is less likely to affect. Build upon the basics and use planned redundancy to fill in the gaps
- Personalize and provide examples - personalization might be the most effective way of building upon other memories. Your personal life is a gold mine of facts and events to refer to. As long as you build a collection for yourself, use personalization richly to build upon well established memories
- Rely on emotional states - emotions are related to memories. If you learn a fact in the sate of sadness, you are more likely to recall it if when you are sad. Some memories can induce emotions and help you employ this property of the brain in remembering
- Context cues simplify wording - providing context is a way of simplifying memories, building upon earlier knowledge and avoiding interference
- Redundancy does not contradict minimum information principle - some forms of redundancy are welcome. There is little harm in memorizing the same fact as viewed from different angles. Passive and active approach is particularly practicable in learning word-pairs. Memorizing derivation steps in problem solving is a way towards boosting your intellectual powers!
- Provide sources - sources help you manage the learning process, updating your knowledge, judging its reliability, or importance
- Provide date stamping - time stamping is useful for volatile knowledge that changes in time
- Prioritize - effective learning is all about prioritizing. In incremental reading you can start from badly formulated knowledge and improve its shape as you proceed with learning (in proportion to the cost of inappropriate formulation). If need be, you can review pieces of knowledge again, split it into parts, reformulate, reprioritize, or delete.
-
-
frequencylists.blogspot.com frequencylists.blogspot.com
-
If you see a word and immediately check it's translation, you'll hardly memorize it at all. If you try your best to recall what the word means before checking the translation, the chances of memorization are much better. It is much easier to memorize a word's meaning when you know how to pronounce it corretly, so get it right.
2 important tips for learning languages:
- Before checking the translation, at least try to recall what the word means
- Know how to pronounce the word while trying to memorise it
-
-
eshapard.github.io eshapard.github.io
-
Somewhere between too hard and too easy, there’s a sweet-spot where reviews are challenging enough to hold your interest, but not so hard that it feels like torture. When the challenge of reviews is just right, you’ll actually get a sense of accomplishment and a little jolt of dopamine as you do them. Our brains actually enjoy challenges as long as they aren’t too hard or too easy. As I see it, this level of challenge is where you want to be.
The sweet spot is between 80 - 90% of right answers
-
Researchers have found that reviews are more effective when they’re difficult. That is, if you have to work at remembering a card, it’ll have a stronger effect on your memory. The harder a review is, the more it boosts your memory. This is called “desirable difficulty” in the literature.
Desirable difficulty
-
-
mateuszgrzyb.pl mateuszgrzyb.pl
-
Kolejna zmienna - "Recency", czyli informacja o tym, jak dawno klient robił zakupy w sklepie.
To calculate RFM we need recency value. Firstly, we shall specify the most recent transaction as "today" and then to find the latest transaction of a specific client:
df['Recency'] = (today - df.InvoiceDate)/np.timedelta64(1,'D')
Calculating frequency and aggregating data of each client may be done with the
groupby
method:abt = df.groupby(['CustomerID']).agg({'Recency':'min', 'MonetaryValue':'sum', 'InvoiceNo':'count'})
lastly, we can update the column names and display RFM data:
abt = df.groupby(['CustomerID']).agg({'Recency':'min', 'MonetaryValue':'sum', 'InvoiceNo':'count'}) abt.rename(columns = {'InvoiceNo':'Frequency'}, inplace = True) abt = abt[['Recency', 'Frequency', 'MonetaryValue']] abt.head()
-
Będę oceniać klientów kryteriami, jakie zakłada metoda RFM.
RFM is a method used for analyzing customer value:
- Recency – How recently did the customer purchase?
- Frequency – How often do they purchase?
- Monetary Value – How much do they spend?
In the RFM method we usually analyse only the last 12 months since this is the most relevant data of our products.
We also have other RFM variants:
- RFD – Recency, Frequency, Duration
- RFE – Recency, Frequency, Engagement
- RFM-I – Recency, Frequency, Monetary Value – Interactions
- RFMTC – Recency, Frequency, Monetary Value, Time, Churn rate
-
Usuwam brakujące wartości w zmiennej "CustomerID".
Deleting rows where value is null:
df = df[~df.CustomerID.isnull()]
Assigning different data types to columns:
df['CustomerID'] = df.CustomerID.astype(int)
Deleting irrelevant columns:
df.drop(['Description', 'StockCode', 'Country'], axis = 1, inplace = True)
-
Sprawdzam braki danych.
Checking the % of missing data:
print(str(round(df.isnull().any(axis=1).sum()/df.shape[0]*100,2))+'% obserwacji zawiera braki w danych.')
Sample output:
24.93% obserwacji zawiera braki w danych.
-
Buduję prosty data frame z podstawowymi informacjami o zbiorze.
Building a simple dataframe with a summary of our columns (data types, sum and % of nulls):
summary = pd.DataFrame(df.dtypes, columns=['Dtype']) summary['Nulls'] = pd.DataFrame(df.isnull().any()) summary['Sum_of_nulls'] = pd.DataFrame(df.isnull().sum()) summary['Per_of_nulls'] = round((df.apply(pd.isnull).mean()*100),2) summary.Dtype = summary.Dtype.astype(str) print(summary)
the output:
Dtype Nulls Sum_of_nulls Per_of_nulls InvoiceNo object False 0 0.000 StockCode object False 0 0.000 Description object True 1454 0.270 Quantity int64 False 0 0.000 InvoiceDate datetime64[ns] False 0 0.000 UnitPrice float64 False 0 0.000 CustomerID float64 True 135080 24.930 Country object False 0 0.000
-
-
www.darkhorseanalytics.com www.darkhorseanalytics.com
-
An animated step-by-step guide to improving your pie charts.
How to improve 3D pie charts (turn them back into horizontal bar graphs) ;)
-
-
swissdevjobs.ch swissdevjobs.ch
-
If you, on the other hand, want to go the student-like route (living in Wohngemeinschaft, not eating out too much) and try to save, you can easily live on 1,500-2,000 CHF per month and save the majority of your salary.
If you leave cheaply, you can spend around 1500 - 2000 CHF a month and save majority of your salary
-
-
stackoverflow.com stackoverflow.com
-
WHERE clause introduces a condition on individual rows; HAVING clause introduces a condition on aggregations, i.e. results of selection where a single result, such as count, average, min, max, or sum, has been produced from multiple rows. Your query calls for a second kind of condition (i.e. a condition on an aggregation) hence HAVING works correctly. As a rule of thumb, use WHERE before GROUP BY and HAVING after GROUP BY. It is a rather primitive rule, but it is useful in more than 90% of the cases.
Difference between
WHERE
andHAVING
in SQL:WHERE
is used for individual rowsHAVING
is used for aggregations (result of a selection), such as:COUNT
,AVERAGE
,MIN
,MAX
orSUM
- Use
WHERE
beforeGROUP BY
andHAVING
afterGROUP BY
(works in 90% of the cases)
Tags
Annotators
URL
-
-
muldoon.cloud muldoon.cloud
-
Scrum means that “you have to get certain things done with those two weeks.” Kanban means “do what you can do in two weeks.”
If you get a choice, push for Kanban over Scrum
-
What people will say is that estimates are for planning – that their purpose is to figure out how long some piece of work is going to take, so that everybody can plan accordingly. In all my five years shipping stuff, I can only recall one project where things really worked that way.
Project estimations are just energy drainers and stress producers
-
Be explicit about the difference between hard deadlines
Different types of deadlines:
- Hard deadline - something seriously bad to the business will happen if the deadline isn’t met
- Soft deadline - somebody will look bad if the deadline isn’t met
- Internal deadline - target internal to the team that will not affect anybody outside of the team
- Expected completion date - team currently predicts that work will be completed
-
If you delegate all your IT security to the InfoSec, they will come up with draconian rules
Try to do some of your own security before delegating everything to InfoSec that will come with draconian restrictions
-
you should always advocate for having a dedicated SRE if there’s any real risk of after-hours pages that are out of your control.
Site Reliability Engineers (ideally from different time zones) should've been settled when we might expect after-hours errors
-
I try to write a unit test any time the expected value of a defect is non-trivial.
Write unit tests at least for the most important parts of code, but every chunk of code should have a trivial unit test around it – this verifies that the code is written in a testable way, which indeed is extremely important
-
I’m defining an integration test as a test where you’re calling code that you don’t own
When to write integration tests:
- importing code you don't own
- when you can't trust the code you don't own
-
Which database technology to choose
Which database to choose (advice from an Amazon employee):
- SQL - ad hoc queries and/or support of ACID and transactions
- NoSQL - otherwise. NoSQL is getting better with transactions and PostgreSQL is getting better with availability, scalability, durability
-
I would use a serverless function when I have a relatively small and simple chunk of code that needs to run every once in a while.
When to make a serverless function (advice from an Amazon employee)
-