В одном чате вспомнили недавно Flash. С этой технологией связана значительная часть моей жизни и становления, как специалиста: с неё я начал учить программирование и на ней же заработал не только первые серьёзные деньги, но и вообще одну из крупнейших в своей жизни сумм за единицу времени (тогда был экспоненциальный рост игр для соцсетей, мне тоже удалось чуть-чуть вписаться).
Никогда не прощу Apple убийство флэша. Этот софт опережал своё время: художники рисовали на нём полноценные мультики и делали сложные анимации, а программисты создавали демосцены и игры, богатые графикой и даже, при желании, с физическим и 3D-движком. В старших классах я на флэше делал работу для экзамена по географии. Казалось, там можно вообще всё.
У флэша почти не было проблем совместимости. Да, ему требовался Flash Player, но зато во всех браузерах флэшки отрисовывались и работали одинаково. Не нужно было думать о том, что какой-то очередной браузер из-за мудачества его разработчиков не поддерживает очередную команду, тег, свойство или API.
Возможности по графике, интерактиву и медиа в браузере только недавно еле еле догнали то, что мог флэш в 2000-х. А язык программирования ActionScript 3.0 и сейчас на световые годы впереди JavaScript'а.
Да, были недостатки. Проприетарность технологии тормозила и развитие и активность комьюнити. Никакой резиновой вёрстки — только скалярное пространство с числовыми координатами под заданное соотношение сторон. Да, в какой-то момент появился MXML, но это совсем отдельная ветка. Хотя, сейчас вон тоже сайты под десктопы и мобилы по суди два раза верстают.
Я нашел этот скриншот в статье 2011 года, которая заканчивается так: «...что касается интернет-приложений и разработки игр, тут Flash на долгие годы останется лучшим выбором для разработчика». Уже через год после этой статьи Adobe объявила о будущем скором прекращении поддержки технологии.
Впрочем, некоторые современные инструменты, такие, как Unity, позаимствовали очень многое у Flash, так что можно сказать, он переродился.
#dev#web
Французский автопром не теряет надежды на успех. Renault в ближайшие годы обещает показать 22 новые модели, для Европы и Латинской Америки - и там и там маленькие гибриды.
Премиальное подразделение Citroen - DS идет другим путем и собирается конкурировать с BMW и MB с помощью нового DS No8. Это электромобиль весом 2,2 тонны, мощностью 241-375 лс и разгоном за 5,4 - 7,8 секунд.
Немцы делают ставку на мощность и инженерные решения, китайцы на электронику. Французы на дизайн. Значит считают DS No8 красивым.
И правда красивый - 👍
Скорее нет - 👎
#ds
#ds
Deepnote supports Great Expectations (GE) now.
I ran their template notebook:
https://deepnote.com/project/Reduce-Pipeline-Debt-With-Great-Expectations-mLT9DFCQSpW4kUBAzzdhBw/%2Fnotebook.ipynb/#00000-e170fae0-7e06-4a7a-85f3-343584ec4b94
#DS
Just in case you are also struggling with Python packages on Apple M1 Macs
I am using the third option: anaconda + miniforge.
https://www.anaconda.com/blog/apple-silicon-transition
#DS
Hullman J, Gelman A. Designing for interactive exploratory data analysis requires theories of graphical inference. Harvard Data Science Review. 2021. doi:10.1162/99608f92.3ab8a587
https://hdsr.mitpress.mit.edu/pub/w075glo6/release/2
Creating visualizations seems to be a creative task. At least for entry-level visualization tasks, we follow our hearts and build whatever is needed. However, visualizations are made for different purposes. Some visualizations are simply explorations and for us to get some feelings on the data. Some others are built for the validation of hypotheses. These are very different things.
Confirmation of an idea using charts is usually hard. In most cases, we need statistical tests to (dis)prove a hypothesis instead of just looking at the charts. Thus, visualizations become a tool to help us formulate a good question.
However, not everyone is using charts as hints only. Instead, many use charts to conclude. As a result, even experienced analysts draw spurious conclusions. These so-called insights are not going to be too solid.
The visual analysis seems to be an adversarial game between humans and the visualizations. There are many different models for this process. A crude and probably stupid model can be illustrated through an example of analysis by the histogram of a variable.
The histogram looks like a bell. It is symmetric. It is centered at 10 with an FWHM of 2.6. I guess this is a Gaussian distribution with a mean 10 and sigma 1. This is the posterior p(model | chart).
Imagine a curve like what was just guessed on top of the original curve. Would my guess and the actual curve overlap with each other?
If not, what do we have to adjust? Do we need to introduce another parameter?
Guess the parameter of the new distribution model and compare it with the actual curve again.
The above process is very similar to a repetitive Bayesian inference. Though, the actual analysis may be much more complicated as the analysts would carrier a lot of prior knowledge about the generating process of the data.
Through this example, we see that integrating explorations with preliminary model building as Confirmatory Data Analysis may bring in more confidence in drawing insights from charts.
On the other hand, including complicated statistical models leads to misinterpretations since not everyone is familiar with statistical hypothesis testing. So the complexity has to be balanced.
#DS
This is an interesting report by anaconda. We can kind of confirm from this that Python is still the king of languages for data science. SQL is right following Python.
Quote from the report:
> Between March 2020 to February 2021, the pandemic economic period, we saw 4.6 billion package downloads, a 48% increase from the previous year.
We have no data for other languages so no predictions can be made but it is interesting to see Python growing so fast.
The roadblocks different data professionals facing are quite different. If the professional is a cloud engineer or mlops, then they do not mention that skills gap in the organization that many times. But for data scientists/analysts, skills gaps (e.g., data engineering, docker, k8s) is mentioned a lot. This might be related to the cases when the organization doesn't even have cloud engineers/ops or mlops.
See the next message for the PDF file.
https://www.anaconda.com/state-of-data-science-2021
#DS
This paper serves as a good introduction to the declarative data analytics tools.
Declarative analytics performs data analysis using a declarative syntax instead of functions for specific algorithms. Using declarative syntax, one can “describe what you want the program to achieve rather than how to achieve it”.
To be declarative, the declarative language has to be specific on the tasks. With this, we can only turn the knobs of some predefined model. To me, this is a deal-breaker.
Anyways, this paper is still a good read.
Makrynioti N, Vassalos V. Declarative Data Analytics: A Survey. IEEE Trans Knowl Data Eng. 2021;33: 2392–2411. doi:10.1109/TKDE.2019.2958084
http://dx.doi.org/10.1109/TKDE.2019.2958084
#DS
https://octo.github.com/projects/flat-data
Hmmm, so they gave it a name.
I've built so many projects using this approach. I started building such data repos using CI/CD services way before github actions was born. Of course github actions made it much easier.
One of them is the EU covid data tracking project ( https://github.com/covid19-eu-zh/covid19-eu-data ). It's been running for more than a year with very little maintenance. Some covid projects even copied our EU covid data tracking setup.
I actually built a system (https://dataherb.github.io) to pull such github actions based data scraping repos together.