شرط بندی فوتبال : Mind the platform execution gap

سایت شرط بندی فوتبال
بهترین سایت شرط بندی
سایت شرط بندی معتبر فوتبال

Leaders of software development organisations are under great pressure to
ensure that their employees spend their time on value-adding activities. One
way to achieve this is to use SaaS to outsource functionality that isn’t
part of their organisation’s core business. Another way is to consolidate
infrastructure capabilities required by many teams and services into a
digital platform (which might in turn rely upon SaaS and cloud providers).
Usually, internal platforms are curated combinations of internally developed
and externally procured capabilities.

Evan Bottcher has a great description of the key elements of a digital

A digital platform is a foundation of self-service APIs, tools,
services, knowledge and support which are arranged as a compelling
internal product.

Evan Bottcher

The purpose of a developer productivity platform is to allow teams who
build end-user products concentrate on their core mission. Examples of
platform services include delivery services like pipeline infrastructure,
application services like Kubernetes clusters, operational services like
monitoring and security services like vulnerability scanning software.
An internal platform team will usually take tools and services offered by
cloud providers and other vendors and host, adapt or extend them to make
them conveniently available to their software developer colleagues. The
aim is not to reinvent commercially available functionality (the world does
not need another homegrown Kubernetes) but to bridge the gap between what
you can buy and what is really needed (your teams may appreciate a
simplified Kubernetes experience that takes advantage of assumptions about
your infrastructure and makes it easier to manage).

These services are often infrastructure-heavy, but we regard this
as an implementation detail. We take a broad view of platform where
we include any internally provided tooling that promotes
developer effectiveness.
Following Evan’s definition, we embrace documentation and support as vital
aspects of a platform. We believe that a what-it-is-for rather than a
how-it-is-made view of platform is preferable because offering platform
services to internal teams is an institutionalised approach to reducing
friction. It is incumbent upon platform engineers to keep an open mind
about the best way to reduce that friction. Some days that will be
provisioning infrastructure. Other days it might be making a build script
a little easier to use or facilitating a workshop to help a team to define
their SLOs.

When well executed, a platform strategy promises to reduce costs and
allow product development teams to focus on innovation. When it goes
wrong, problems with the platform are passed directly onto the entire
software development organisation. In our work with clients, we have
observed that there is a substantial amount of industry enthusiasm
(otherwise known as hype) around building internal platforms, but we also
see a potential execution gap that has to be navigated.

A person leaving a train labelled 'hype train' beneath a warning saying 'Mind the gap!'.

Please mind the gap between the hype train and the platform.

Building an effective platform and an organisation to support it is a
worthwhile but ambitious goal that takes greater maturity than directly
provisioning infrastructure for services. As with other ambitious technical
maneuvers, for example microservice architectures, there are foundational
competencies that are prerequisites for sustainable success. They do not all
have to be mature before you embark on a platform journey, but you must have
the appetite and resolve to develop them along the way, otherwise your
digital platform is unlikely to deliver a return on the substantial
investment you will put into it.

Business value

The decision to commit to an internal developer productivity platform
is an economic one. The argument in favour depends on efficiency, quality
and time-to-market benefits exceeding the financial, talent and
opportunity costs incurred in its construction and evolution. If you can’t
articulate the business case for your platform, then you aren’t in a
position to responsibly adopt it. Your calculations must take into account
the capabilities of commercially available services because unless your
platform offers features, specificity to your context or convenience that
a commercial offering cannot, you may be better off leaving it to the
market and avoiding the maintenance burden – after all your platform
strategy depends upon reducing the amount of undifferentiated work, not
increasing it!

The decision to build a digital platform is only the beginning of your
responsibility to substantiate the business value of your digital
platform. The motivation for a platform strategy may be compelling at a
high level, but there are many fine-grained decisions involved in deciding
which features to offer and how to offer them. To complicate matters
further, the business justification for your features will shift over time
as the state of technology progresses, the needs of your organisation
evolve and cloud providers and other vendors release new and improved
offerings that compete with your homegrown solutions.

To deliver the promised value to your organisation, plan for a greater
proportion of continuous improvement versus product innovation than
end-user facing products. To keep the platform manageable and costs under
control, operability-related items must have a place of honour in the
backlog. Your users appreciate consistency, stability and dependability
over a stream of new features. Also, every product that you offer you must
some day deprecate in favour of a new product on the market, an internally
built successor or even devolving responsibility for the capability back
to your product development teams. Deprecation is a fundamental part of
the platform product lifecycle, and failure to consider it may undermine
the business benefits you hoped to gain by offering it in the first

Product thinking

You must never forget that you are building products designed to
delight their customers – your product development teams. Anything that
prevents developers from smoothly using your platform, whether a flaw in
API usability or a gap in documentation, is a threat to the successful
realisation of the business value of the platform. Prioritise developer
experience – a product that no one uses is not a successful product, no
matter its technical merits. In order to achieve return on investment for
your internal platform, your product development teams need to use it and
use it well. For that to happen, they need to appreciate it, understand it
and be aware of its features. As Max Griffiths describes in his article
on Infrastructure as Product,
platform products require customer empathy, product ownership and
intelligent measurement, just like other kinds of product.

One advantage of internal products is that you have users that are
highly invested in your products’ evolution and success. Like any group of
customers, your colleagues will be a mixture of the skeptical, the neutral
and the enthusiastic. Harnessing the enthusiasts and helping them to
become early adopters and champions of the platform will greatly benefit
perception of the platform in your organisation. Communicating your
roadmap, accepting feedback and harvesting experiences from your users
will contribute to your platform’s ongoing relevance. Luckily, you all
work for the same organisation, so you have rich communication channels
available. Internal platforms need marketing. It won’t look the same as
marketing a product to the public, but it’s marketing nonetheless.

Maintaining goodwill is key to adoption. So if you have any unavoidable
outages, communicate them and perhaps adapt your plans to reduce impact on
your users. If something goes wrong and you have an outage (hint: you
will) then apology and transparency will reassure them. Resist the
temptation to rely on managerial mandates as an adoption strategy. You may
have captive users, but compelling them to use products supposedly for
their own good does not foster a productive relationship.

Operational excellence

When you adopt an internal platform, you ask your product development
teams for a great deal of trust. Your platform is now a key dependency of
the systems your organisation uses to fulfill its function. Your
operational competence needs to be sufficient to justify that trust.

This means that your platform teams need to have a sound grasp of the
fundamentals of software infrastructure, like networking, scaling and
disaster recovery. If your platform engineering teams have difficulty with
the underlying technology, they will not build robust products for your
product development teams. Furthermore, modern operational excellence
extends beyond infrastructure and into practices that ensure reliability.
The book Site Reliability
is a good account of the state of the art in this area.
If your platform organisation doesn’t have skills in SRE practices like
observability, monitoring and SLOs, not only are you at risk of breaking
the trust of your product teams, you are at risk of doing it and not
knowing that you did it.

Your platform organisation must also have the maturity to manage
incidents efficiently and to learn from them. Out-of-hours support,
alerting systems and blameless incident retrospectives should be a
priority. You may need to establish processes, modify wording on employer
contracts and budget for fair compensation to make this possible, as well
as make on-call a sufficiently pleasant
experience to encourage broad participation
. It will also affect
your planning. When you need to make significant changes, for example
migrations, you need to invest in making them gracefully so as to minimise
downtime for your users.

Software engineering excellence

A platform organisation is not just an operations department, so it
needs more than operational capabilities. Even if you do not plan on
writing substantial custom applications, your scripts, templates and
configuration files will rapidly accumulate complexity. If you want to
retain the ability to quickly and safely change your platform, you need to
build it the right way.

Our favourite summary of software engineering excellence in an
infrastructure context are the three core practices of infrastructure as
code, as defined by Kief Morris in his book
Infrastructure as Code

  • Define everything as code
  • Continuously test and deliver all work in progress
  • Build small, simple pieces that you can change independently

If your organisation is able to consistently apply these practices,
it’s much more likely to be able to execute on your platform vision.
Without them, you may be able to get your infrastructure into a good state
at a point in time, but you will not be able to sustain the pace of
evolution your development teams’ changing needs will demand.

Using internal products places demands on product development teams
too. Good product development teams are aware of the service levels
offered by their dependencies, factor them into their own designs and use
engineering practices to mitigate those risks that could impact their
service level objectives. This is even more important when those
dependencies are provided internally, because no matter how high quality
your platform is, it is unlikely to reach the level of polish of a
commercial SaaS provider.

Healthy teams

Individual skill is important, but sustaining excellence over the long
term requires strong team-level disciplines. When your platform systems
are depended upon by the rest of the business, it’s not acceptable for the
expertise to maintain them to be held only by a few busy individuals. You
need autonomous teams with clear missions who avoid individual code or
system ownership. They must invest in knowledge sharing, documentation and
onboarding. A single person winning the lottery should never be a threat
to the viability of your platform.

To keep these platform engineering teams productive, their systems for
planning work need to be mature. They must have backlogs of items
described in terms of their value and have processes for prioritisation,
otherwise the urgent may overwhelm the important. Incidents and unplanned
work are inevitable, but if too much of the team’s time is consumed with
toil, then it will never have the capacity to invest in the improvement of
its products. Teams should not try to manage too many platform products at

We find the idea of cognitive load, as discussed in Matthew Skelton and
Manuel Pais’s book Team Topologies,
a useful one for keeping teams’ missions manageable. If a team constantly
switches context between completely different tasks, then the cognitive
load is too great and, when this happens, not only will the team be less
capable to undertake their day to day work, but it will also be difficult
for new team members to gain the confidence they need to work on all the

Getting started

If you do not already have these capabilities in your organisation,
does that disqualify you from adopting a platform strategy? How, you might
ask, are you supposed to build these capabilities without lessons
obtainable only from experience?

The secret is not to compromise on the quality of your execution, but
to be modest in the scope of your ambition – at first. A platform
initiative, no matter how small, should produce business value, be guided
by product thinking, be implemented with operational and software
engineering excellence and be backed by a team structure that can sustain
the new platform service. Anything less than that, and the boost you hoped
to deliver is likely to become a drag that tarnishes the reputation of
your fledgling platform with developers in your organisation.

Small, focused platform services targeted at well-understood parts of
your technology estate have a lower degree of difficulty. They don’t let
you off the hook for considering platform from a holistic perspective, but
they let you get started and build from there. For example, providing a
logging cluster that can ease the operational burden on product teams and
improve visibility across services has clear business value that does not
require sophisticated financial modelling to establish. It still requires
product thinking to ensure that it serves its customers (does its
availability, freshness and search UI meet the needs of the developers?)
but that product thinking does not need to have the maturity of that
required to, for example, offer a unified developer portal. And it still
requires software engineering, operational skill and a healthy team to do
well, though not as much as to, for example, build an observability
sidecar for all your organisation’s microservices.

The first question to ask yourself is what is the smallest thing
we can build
that would help the product teams?
The second is how could we upgrade or migrate away from this when the time
comes? The state of the art is evolving rapidly and vendor lock-in is no
less painful because the vendor is your very own organisation. If
deprecating your platform service would require a painful transition over
years, it is probably time to go back to the drawing board and simplify
your product. You do not need to have a detailed calendar and a plethora
of substitute technologies ready to go, but factoring in a realistic
lifetime (three to five years) and architectural seams for replacing
solutions will force your designs to be simpler and more decoupled.

We recommend that adoption of your platform be voluntary. This supports
your platform strategy in two ways. Firstly, when product teams have the
ability to opt out of platform services, it encourages you to keep your
services loosely coupled, which will benefit the platform when the time
comes to launch a new generation of the service or to replace it with a
commercial offering. Secondly, when your platform organisation is
dependent on product teams’ appreciation of the platform’s benefits, it
puts a strong pressure on your platform organisation to keep customer
delight at the forefront of their minds. Mandatory migration to the
platform is a shortcut that has the long-term risk of eroding your team’s
product thinking discipline.

You may find a simple classification system useful to set expectations
about the maturity of new platform features, for example to indicate that
a new feature is in beta. You might want to associate SLOs and support
tiers with the maturity classification as an experimental feature needs not
to offer the same high availability as a core feature or your platform. It
may not, for example, require round the clock support. Once the feature is
promoted to full support, users of the platform can expect SLOs strong
enough for them to build mission critical components on top of, but before
then a less demanding set of expectations gives the platform team freedom
to experiment and to validate their assumptions about the product before
making a strong (and long-term) commitment to it.

If you are able to keep the above in mind, you will have an additional
advantage. Your platform teams will manage small portfolios of very
effective products. Their cognitive load will be small and their focus
will be able to stay on continuously reducing the development teams’ time
to market instead of just on keeping the lights on.


Digital platforms are portfolios of technical products. Like all
products, platforms generate value through use. With the right underlying
business justification, careful product management and effective technical
execution, digital platforms succeed by reducing cognitive load on product
development teams and accelerating an organisation’s innovation. Platforms
take considerable investment in terms of money, talent and opportunity
cost. They repay this investment by positively impacting product
development teams’ ability to quickly and efficiently develop high quality
customer-facing products.

Developing a digital platform is a strategic decision and not to be
taken lightly. Besides the direct financial considerations, digital
platforms also exert pressure on the relationships within your
organisation. Product developers’ have experienced the offerings of
commercial cloud providers and to live up to those raised expectations
platform engineering teams must be mature in both product management and
technical implementation. Product development teams also have to learn to
be good partners of your platform organisation and accept their share of
responsibility for the operation of their services.

Digital platforms are force multipliers, so there is a fine line
between developing a competitive advantage and introducing a significant
productivity blocker. The decisions you make along the product lifetime
will determine whether you walk on one side or the other. The good news is
that just like with every other kind of software development, if you start
small, empathise with your customers, learn from your successes (and your
failures) and keep your overall vision in mind, you have every chance of

سایت شرط بندی
سایت پیشبینی
سایت شرط بندی معتبر

شرط بندی فوتبال : آنچه قدیمی ترین نقاشی شناخته شده غار درباره انسانهای اولیه نشان می دهد (و چه چیزی)

سایت شرط بندی فوتبال
بهترین سایت شرط بندی
سایت شرط بندی معتبر فوتبال

در سال 2018 ، محقق ماکسیم اوبرت و خدمه اش در یک دره مخفی حدود یک ساعت پیاده روی از نزدیکترین جاده جزیره عنکبوتی مانند اندونزی سولاوسی فرو رفتند. آنها تازه در ایوان مزرعه برنج یک خانواده محلی بعد از چند لیوان بالو ، یک الکل نخل قند تخمیر شده که منطقه به آن معروف است ، خوابیده بودند.

درست در آن سوی دره ، اوبرت ، باستان شناس و زمین شناس در دانشگاه گریفیت در کوئینزلند ، استرالیا ، می تواند نگاهی اجمالی به غار Leang Tedongnge داشته باشد. این تیم پس از شنیدن گزارشات از بصران برهان ، باستان شناس اندونزیایی ، برای دیدن آن سفر کردند. اوبرت ، که هنر غار باستان را مطالعه می کند ، قبلاً آنچه را که احتمالاً قدیمی ترین نمونه های ساخته شده بشر در جهان است ، مطالعه کرده است تا 44000 سال پیش – اما ، همانطور که بعداً یاد گرفت ، هنر اینجا در Leang Tedongnge قدمت بیشتری دارد.

اندکی بعد ، اوبرت و همکارانش وارد غار Leang Tedongnge شدند ، که توسط خانواده نزدیک برای ذخیره سازی تجهیزات مزرعه مورد استفاده قرار گرفت. درست بالای یک تاقچه کوچک داخل ، آنها نقاشی سه خوک را که با رنگ قرمز اخراش رنگ آمیزی شده بود ، پیدا کردند که با مقدار زیادی مو و زگیل نشان داده شده است. بالای خوکها دو استنسیل دست مردم ظاهر شد. اوبرت می گوید ، این تصویر ممکن است درگیری را به تصویر کشیده باشد.

ساکنان منطقه حتی از وجود آنها اطلاع نداشتند. در واقع ، آنها فکر کردند کسی باید یک شبه خود را فرو برده و برخی از دیوار نویسی ها را ترک کند. او می گوید: “هنر راک درست در پشت شالیزار برنج کسی وجود دارد.” “فقط چیزهای زیادی وجود دارد.”

اوبرت دقیقاً همانند تصاویر جذاب ، کلسیتی را که روی یکی از پاهای خوک ها جمع شده بود از نزدیک مشاهده کرد. قدمت ایزوتوپ سری اورانیوم مربوط به کلسیت نشان داد که قدمت آن حداقل 45500 سال است – و آن را به قدیمی ترین هنر غار انسانی جهان که تاکنون کشف شده است تبدیل کرده است.

این افشاگری تعجب آور بود زیرا محققان قبلاً بیشترین هنر غارنوردی را در اروپا پیدا کرده بودند. سایت هایی مانند غار Chauvet 30 هزار ساله فرانسه به دلیل همپوشانی اسب ها ، گروه کرگدن ها و دسته های دیگر حیوانات مشهور هستند. در سالهای اخیر ، اوبرت و سایر باستان شناسان با آغاز سالهای اخیر با کشف بسیاری از آثار برجسته در اندونزی ، ساعت آغاز هنر بشر را برگردانده اند.

اگرچه به محض یافتن ، تفسیر نقاشی های غار می تواند مشکل باشد زیرا ورود به ذهن هنرمندان اصلی غیرممکن است. اما محققان نظریه های توضیحی متعددی را ارائه داده اند ، از جمله همه چیز از توسعه داستان سرایی اولیه تا ریشه های معنویت. قدمت با این هنر همچنین می تواند یک جدول زمانی از رشد فرهنگی اولیه اجداد ما را نشان دهد ، یکی از ویژگی های اصلی که بعداً به وجود آمد اجازه داد گونه های ما موفق شوند. اوبرت می گوید: “هنر راک دریچه ای صمیمانه به گذشته است.”

دودل یا روایت باستان؟

تعیین اهمیت زودرس دشوار است هنر غار: ما نمی توانیم به سر افرادی که آن را ساخته اند وارد شویم ، و آنها در اینجا نیستند تا به ما بگویند.

برخی شواهد نشان می دهد که نئاندرتال ها ممکن است از غارهای اسپانیایی استنسیل دستی گرفته اند حدود 65000 سال پیش، اگرچه اوبرت می گوید این قدمت بحث برانگیز است و ممکن است خیلی جوان تر باشد و اصلاً از نئاندرتال ها نباشد. و قدیمی ترین ابله شناخته شده به شکل زیگزاگ ممکن است از انسان های امروزی نبوده بلکه اجداد ما باشند ، انسان راست قامت، روی پوسته صدفی حدود 500000 سال پیش اما اینکه هنر دقیقاً چه چیزی را تشکیل می دهد همچنان یک سوال باز باقی مانده است.

آئین دیویدسون ، استاد بازنشسته باستان شناسی در دانشگاه نیوانگلند در استرالیا ، می گوید: “پاسخ این است که احتمالاً در ابتدای هنر ، مردم نمی دانستند چه کاری انجام می دهند.”

بیشتر طرحهای باستانی در اروپا و اندونزی شامل پستانداران بزرگ یا شابلونهای دستی است. ممکن است گونه اول نمایانگر برخی از گونه هایی باشد که مردم شکار می کنند ، اما بسیاری دیگر از حیوانات طعمه ای که در ذخایر باستان شناسی یافت می شوند در این تصاویر گنجانده نشده است. اوبرت می گوید ، بنابراین این اشکال خاص ممکن است از نظر معنوی مهم بوده باشند. همچنین ، اثرات دستی می تواند راهی باشد که افراد زمانی خود را شناسایی می کردند.

حدوداً 20000 سال پیش ، در اوج آخرین حداکثر یخبندان ، بیشتر انسان در نقاشی ظاهر شد. اگرچه دلیل آن مشخص نیست ، اوبرت می گوید که حتماً یک عامل جهانی برای این امر وجود داشته است ، احتمالاً شامل تغییرات آب و هوایی است.

اولین صحنه روایت ممکن است با Leang Bulu ‘Sipong 4 ، غاری که در سال 2017 کشف شده است و Aubert از آن زمان برخوردار است ، رسیده باشد. تحصیل کرده. این هنر که در سولاوسی نیز واقع شده است ، حداقل 43،900 سال قدمت دارد و مجموعه ای از چهره های ترکیبی حیوان و انسان را نشان می دهد که در حال شکار خوک هستند. اوبرت می گوید: “این اولین مدرک قصه گویی است.” “صحنه روایت خاص بود زیرا من هرگز نظیر آن را ندیده ام.”

وی این مورد را با سایر چهره های اولیه انسان مانند مقایسه می کند مرد شیر شیر شکل تراش عاج قدمت آن بین 35000 و 40،000 سال پیش است که در غار هولنشتاین-استدل در آلمان پیدا شده است. این به ما نشان می دهد که هنرمندان در این زمان نه تنها قصه می گفتند ، بلکه چیزهایی را تصور می کردند که در واقع در دنیای واقعی وجود نداشت. اوبرت می گوید: “این ریشه تفکر دینی است.”

برخی از محققان ادعا می کنند که این ارقام ترکیبی حیوان و انسان نمایانگر عقاید شامی است. اما دیویدسون معتقد است که هنگام بررسی نقاشی های انسان گرا نمی توانید از چنین فشار قلم موی گسترده ای استفاده کنید و همه چیز نباید کاملاً کلی باشد. از نظر او ، چهره هایی مانند شیر کنده کاری می توانند تشریفات را نشان دهند ، مانند افرادی که هنگام شکار لباس حیوانات را می پوشند. هنوز هم ، او می گوید ، گفتن به طور قطعی دشوار است.

بیشتر برای کشف؟

به طور کلی ، در مورد گسترش هنر غار ، دو روش تفکر وجود دارد. یکی اینکه از یک منطقه واحد آغاز شده و به تدریج به قاره های دیگر گسترش یافته است. اگر اکتشافات فعلی نمایانگر قدیمی ترین نسخه ها باشد ، این بدان معناست که هنر غار حداقل 45000 سال پیش در اندونزی پدید آمده و در طی 10 هزار سال آینده به اروپا راه یافته است.

در مقابل ، برخی از باستان شناسان فکر می کنند که هنر غار ممکن است به طور مستقل در چندین منطقه به طور همزمان رشد کرده باشد. دیویدسون با اعتقاد به این عقیده ، پیشنهاد می کند که سنت های مختلف در اندونزی و فرانسه بدون هیچ گونه ارتباطی شکل گرفته است. او می گوید و احتمالاً چیزهای بیشتری برای کشف وجود دارد.

پس از کشف غار آلتامیرا در اسپانیا در اواخر دهه 1800 ، محققان به هنر غار اروپا پرداختند. در حدود یک قرن گذشته ، به طور خاص فرانسه مورد توجه زیادی قرار گرفته است. دیویدسون می گوید: “ما تمایل داریم بیش از حد بر غارهای فرانسه تأکید کنیم.” “120 نفر وجود دارد – با توجه به مدتی که مردم به دنبال آنها بوده اند تعداد بسیار زیادی نیست.”

غارهای اندونزی ، افشاگری نسبتاً جدیدی بودند. از آنجا که اوبرت و همکارانش فقط از کلسیت استفاده می کردند که در بالای هنر شکل گرفته است نه خود اوچر ، نقاشی ها ممکن است بسیار قدیمی تر باشند. ما می دانیم که انسانهای مدرن حدود 65000 سال پیش وارد استرالیا شده اند و احتمالاً آنها از طریق اندونزی (پس از گسترش از آفریقا از طریق خاورمیانه) وارد شده اند. این احتمال وجود دارد که هنر غار در طول مسیر پیشرفت کرده باشد ، یا نمونه های اولیه در آفریقا زنده نمانده باشند – یا هنوز یافت نشده اند.

تاکنون ، فقط چند حکاکی کشف نشده قدمت قابل توجهی در آفریقا دارد ، از جمله غار آپولو 11 در نامیبیا که حاوی برخی از اسلب ها با نقاشی های حیوانی است. از 30،000 سال پیش. اما می تواند افراد زیادی در آنجا وجود داشته باشد. دیویدسون می گوید غارهای آفریقا را باید جدی گرفت.

سایت شرط بندی
سایت پیشبینی
سایت شرط بندی معتبر

شرط بندی فوتبال : Bitemporal History

سایت شرط بندی فوتبال
بهترین سایت شرط بندی
سایت شرط بندی معتبر فوتبال

When we think of how some property (e.g. your address or
salary) changes over time, we usually think of it as a linear sequence of
changes. But surprisingly often, it can get rather more tangled than that,
in a way that can often confuse computerized records.

I can illustrate all this with a simple example:

  • We are handling payroll for our company. We run the payroll for our
    company on February 25, and our employee Sally is paid according to her
    monthly salary of $6000.
  • On March 15 we get an apologetic letter from HR telling us that, on
    February 15th, Sally got a pay raise to $6500.

So what should we answer when we’re asked what Sally’s salary was on
February 25? In one sense we should answer $6500, since we know now that that
was the rate. But often we cannot ignore that on Feb 25 we thought the salary
was $6000, after all that’s when we ran payroll. We printed a check, sent it to
her, and she cashed it. These all occurred based on the amount that her salary
was. If the tax authorities asked us for her salary on Feb 25, this becomes

The Two Dimensions

I find I can make sense of much of this tangle by thinking of time as
two dimensions – hence the term “bitemporal”. One dimension is the
actual history of Sally’s salary, which I’ll illustrate by sampling on the
25th of each month, since that’s when payroll runs.

date salary
Jan 25 6000
Feb 25 6500
Mar 25 6500

The second dimension comes in as we ask what did we think Sally’s salary
history was on February 25? On February 25th we hadn’t got the letter from
HR, so we thought her salary was always $6000. There is a difference between
the actual history, and our record of the history. We can show this by
adding new dates to our table

record date actual date salary
Jan 25 Jan 25 6000
Feb 25 Jan 25 6000
Mar 25 Jan 25 6000
Feb 25 Feb 25 6000
Mar 25 Feb 25 6500
Mar 25 Mar 25 6500

I’m using the terms actual and record history for the
two dimensions. You may also hear people using the terms valid, or
effective (for actual) and transaction (for record).

I read the rows of this table by saying something like “on Mar 25th, we
thought Sally’s salary on Feb 25th was $6500”.
Using this way of thinking, I can look at the earlier table of Sally’s actual history,
and say that more precisely it’s Sally’s actual history as known (recorded)
on March 25.

In programming terms, If I want to know Sally’s
salary, and I have no history, then I can get it with something like
sally.salary. To add support for (actual) history I need to use
sally.salaryAt('2021-02-25'). In a bitemporal world I need
another parameter sally.salaryAt('2021-02-25', '2021-03-25')

Another way to visualize this is to make a plot where the x axis is
actual time and the y axis is record time. I shade the region according to the
salary level. (The shape of the plot is triangular since there’s we’re not
trying to record future values.)

With this plot, I can make a table for how actual history changes with
each run of payroll on the 25th. We see that the Feb 25 payroll ran at a
time when Sally had no raise, but when the Mar 25 payroll ran, the raise was

Changing the Retroactive Change

Now consider another communication from HR

  • April 5: Sorry there was an typo in our previous email. Sally’s raise
    on Feb 15 was to $6400. Sorry for the inconvenience.

This is the kind of change that makes angels weep. But when we think of
it terms of bitemporal history, it’s not that difficult to understand.
Here’s the plot with this new bit of information.

The horizontal lines, used for the payrols, represent the actual history
at a certain point in record time. On April 25 we know Sally’s salary
increased from $6000 to $6400 on February 15. In that perspective, we never
see Sally’s $6500 salary because it was never true.

Looking at the diagram, what does a vertical line mean?

This represents our knowledge of the value at a certain date. The table
indicates the recorded salary for February 25th, as our knowledge
changed over time.

Using Bitemporality

Bitemporal history is a useful way of framing history when we have to deal with
retroactive changes. However we don’t see it used that often, partly
because many people don’t know about the technique, but also because we
can often get away without it.

One way to avoid it is to not support retroactive changes. If your
insurance company says any changes become in force when they receive your
letter – then that’s a way of forcing actual time to match record

Retroactive changes are a problem when actions are based on a
past state that’s retroactively changed, such as a salary check being sent
out based on a now-updated salary level. If we are merely recording a
history, then we don’t have to worry about it changing retroactively – we
essentially ignore record history and only record actual history. We may
do that even when we do have invariant action if the action is recorded in
such a way that it records any necessary input data. So the payroll for
Sally could record her salary at the time it issues the check, and that’s
enough for audit purposes. In that situation we can get away with only the
actual history of her salary. The record history is then buried inside her
payroll statements.

We may also get away with only actual history if any retroactive
changes are made before an action occurs. If we had learned of Sally’s
salary change on February 24th, we could adjust her record without running
into before the payroll action relied on the incorrect figure.

If we can avoid using bitemporal history, then that’s usually
preferable as it does complicate a system quite significantly. However
when have to deal with discrepancies between actual and record history,
usually due to retroactive updates, then we need to bite the bullet. One
of the hardest parts of this is educating users on how bitemporal history
works. Most people don’t think of a historical record as something that
changes, let alone of the two dimensions of record and actual history.

Append-only History

In a simple world a history is append-only. If communication is perfect
and instantaneous than all new information is learned immediately by every
interested actor. We can then just treat history as something we add to as
new events occur in the world.

Bitemporal history is a way of coming to terms that communication is
neither perfect nor instantaneous. Actual history is no longer
append-only, we go back and make retroactive changes. However record
history itself is append only. We don’t change what we thought we
knew about Sally’s salary on Feb 25. We just append the later knowledge we
gained. By layering an append-only record history over the actual history, we
allow the actual history to be modified while creating a reliable history
of its modifications.

Consequences of Retroactive Changes

Bitemporal history is a mechanism that allows us to track how a value
changes, and it can be extremely helpful to be able ask
sally.salaryAt(actualDate, recordDate). But retroactive
changes do more than just adjust the historical record. As the expert
says: “People assume that time is a strict progression of cause to effect,
but actually from a non-linear, non-subjective viewpoint – it’s
more like a big ball of wibbly wobbly timey wimey stuff.” If we’ve paid Sally $6000 when we should have paid her
$6400, then we need to make it right. At the very least that means getting
more in a later paycheck, but it may also lead to other consequences.
Maybe the higher payment means she should have crossed some important
threshold a month earlier, maybe there are tax implications.

Bitemporal history alone isn’t enough to figure out these dependent
effects are, that demands a set of additional mechanisms, which are beyond
the scope of this pattern. One measure is to create a parallel model,
which captures the state of the world as it should have been with the
correct salary, and use this to figure out the compensating changes.
Bitemporal history can be useful element
for these kinds of measures, but only unravels part of that big ball.

Perspectives for Record Time

My example above for record time uses dates to capture our changing
understanding of actual history. But the way we capture record history can
be more involved than that.

To make everything easier to follow above, I sampled the history on the
payroll dates. But a better representation of a history is to use date
ranges, Here’s a table to cover 2021

record dates actual dates salary
Jan 1 – Feb 14 Jan 1 – Dec 31 6000
Mar 15 – Apr 4 Jan 1 – Feb 14 6000
Mar 15 – Apr 4 Feb 15 – Dec 31 6500
Apr 5 – Dec 31 Jan 1 – Feb 14 6000
Apr 5 – Dec 31 Feb 15 – Dec 31 6400

We can think of Sally’s salary being recorded with a combination of two
keys, the actual key (a date range) and the record key (also a date
range). But our notion of record key can be more complicated than that.

One obvious case is that different agents can have different record
histories. This is clearly the case for Sally, it took time to get
messages from the HR department to the Payroll department, so the record
times for those modifications to actual history will differ between the

department record dates actual dates salary
HR Jan 1 – Feb 14 Jan 1 – Dec 31 6000
HR Feb 15 – Dec 31 Jan 1 – Feb 14 6000
HR Feb 15 – Dec 31 Feb 15 – Dec 31 6400
Payroll Jan 1 – Mar 14 Jan 1 – Dec 31 6000
Payroll Mar 15 – Apr 4 Jan 1 – Feb 14 6000
Payroll Mar 15 – Apr 4 Feb 15 – Dec 31 6500
Payroll Apr 5 – Dec 31 Jan 1 – Feb 14 6000
Payroll Apr 5 – Dec 31 Feb 15 – Dec 31 6400

Anything that can record a history will have its own record
timestamps for when it learns information. Depending on that data we may
say that an enterprise will choose a certain agent to be the defining
agent for recording certain kinds of data. But agents will cross lines of
authority – however big the company, it won’t change the recording dates of
the tax authorities it deals with. A lot of effort goes into sorting out
problems caused by different agents learning the same facts at different

We can generalize what’s happening here by combining the notion of the
department and record date range into a single concept of a perspective.
Thus we’d say something like “according to HR’s perspective on Feb 25,
Sally’s salary was $6400”. In a table form, we might visualize it like

perspective actual dates salary
HR, Jan 1 – Feb 14 Jan 1 – Dec 31 6000
HR, Jan 15 – Dec 31 Jan 1 – Feb 14 6000
HR, Feb 15 – Dec 31 Feb 15 – Dec 31 6400
Payroll, Jan 1 – Mar 14 Jan 1 – Dec 31 6000
Payroll, Mar 15 – Apr 4 Jan 1 – Feb 14 6000
Payroll, Mar 15 – Apr 4 Feb 15 – Dec 31 6500
Payroll, Apr 5 – Dec 31 Jan 1 – Feb 14 6000
Payroll, Apr 5 – Dec 31 Feb 15 – Dec 31 6400

What does this collapse into a single perspective concept give us? It
allows us to think about what other perspectives might be. One example is
to consider alternative perspectives. We could create a perspective where
we remove individual raises (such as Sally’s on Feb 15) and give
every employee a salary raise of 10% on March 1st. That would lead to a new
record-time dimension for Sally’s salary.

perspective actual dates salary
real world Jan 1 – Feb 14 6000
real world Feb 15 – Dec 31 6400
with global raise Jan 1 – Feb 28 6000
with global-raise Mar 1 – Dec 31 6600

This generalization of the notion of record time says that we can layer
multiple perspectives over an actual history, using essentially the same
mechanism to reason about retroactive changes and alternative histories.

Putting many perspective dimensions over a history isn’t something
that’s widely useful, even compared to bitemporal history. But I find it a
helpful way to think about these kinds of situations: reasoning about
alternative scenarios, either historically, or in the future.

Storing and Processing Bitemporal Histories

Adding history to data increases complexity. In a bitemporal world I
need two date parameters to access Sally’s salary –
sally.salaryAt('2021-02-25', '2021-03-25'). We can simplify
access by defaults, if we treat the default for record time as today, then
processing that only needs current record time can ignore the bitemporal

Simplifying access, however, doesn’t necessarily simplify storage. If
any client needs bitemporal data, we have to store it somehow. While there
are some databases that have built-in support for for some level of
temporality, they are relatively niche. And wisely, folks tend to be
extra-wary of niche technologies when it comes to long lived data.

Given that, often the best way is to come up with our own scheme. There
are two broad approaches.

The first is to use a bitemporal data structure: encoding the necessary date
information into the data structure used to store the data. This could
work by using nested date range objects, or a pair of start/end dates in a
relational table.

record start record end actual start actual end salary
Jan 1 Dec 31 Jan 1 Feb 14 6000
Jan 1 Feb 14 Feb 15 Dec 31 6000
Feb 15 Dec 31 Feb 15 Dec 31 6400
Jan 1 Dec 31 Jan 1 Mar 14 6000
Jan 1 Feb 14 Mar 15 Apr 4 6000
Feb 15 Dec 31 Mar 15 Apr 4 6500
Jan 1 Feb 14 Apr 5 Dec 31 6000
Feb 15 Dec 31 Apr 5 Dec 31 6400

This allows access to all the bitemporal history, but is awkward to
update and query – although that can be made easier by making a library
handle access to bitemporal information.

The alternative is to use event
. Here we don’t store the state of Sally’s salary as our
primary store, instead we store all the changes as events. Such events
might look like this

record date actual date action value
Jan 1 Jan 1 sally.salary 6000
Mar 15 Feb 15 sally.salary 6500
Apr 5 Feb 15 sally.salary 6400

Pay attention to the fact that for if events need to support bitemporal
history, they need to be bitemporal themselves. This means each event
needs an actual date (or time) for when the event occurred in the world,
and a record date (or time) for when we learned about it.

Storing the events is conceptually more straightforward, but requires
more processing to answer a query. However much that processing can cached
by building a snapshot of the application’s state. So if most users of
this data only required current actual history, then we could build a data
structure that only supports actual history, populate it from
the events, and keep it up to date as new events trickle in. Those users
who wanted bitemporal data could create a more complex structure and
populate it from the same events, but their complexity wouldn’t make
things harder for those who wanted the simpler model. (And if some people
wanted to look at actual history on a different record date, they could
use almost all the same code for working with current actual history.)

سایت شرط بندی
سایت پیشبینی
سایت شرط بندی معتبر

شرط بندی فوتبال : به روزرسانی فیدر: تایپوگرافی جدید | فیدر – RSS Feed Reader

سایت شرط بندی فوتبال بهترین سایت شرط بندی سایت شرط بندی معتبر فوتبال

بازگشت به وبلاگ

26 مارس 2021 16:45

هنگام ایجاد برنامه های جدید تلفن همراه ، کاربران ما به ما گفتند که مهمترین جنبه هنگام مصرف محتوایی که برای آنها مهم بود ، یک تجربه خواندن عالی بود. باید بهتر از خواندن پست های هر جای دیگر بود. و ما دریافتیم که هسته اصلی یک تجربه عالی خواندن روی صفحه تایپوگرافی بسیار زیبا و خوانا است. ما گوش کردیم و شروع به کار کردیم تا فقط آن را ایجاد کنیم.

ما در قلم ها ، فاصله ها ، طول خط ها ، شبکه ها ، ارتفاع x و غیره غرق می شویم. ما صدها پست را بررسی کردیم و تجزیه و تحلیل کردیم که آنها از چه عناصری استفاده می کنند ، چگونه از آنها استفاده می کنند و مهمترین موارد چیست.

سبک سازی تایپوگرافی برای فیدها آسان نیست. همه فیدها روش منحصر به فردی در ارائه محتوا دارند. روشهای مختلف با استفاده از عناصر. نقل قول در یک پست می تواند موارد مختلفی را نشان دهد. هنگام طراحی برای کاربردهای گسترده ، باید مراقب باشید در راه حل های خود خیلی دقیق نباشید. رسیدن به یک تایپوگرافی عالی یک روند چالش برانگیز بوده است ، اما ما از نتیجه کار احساس هیجان می کنیم.

اینها بهبودهایی است که ما ایجاد کرده ایم:

  • برای خوانایی بهتر ، اندازه قلم ها را افزایش دادیم.
  • نقل قول ها ، زیرنویس ها و سایر عناصر اکنون به روشی گسسته خودنمایی می کنند.
  • سربرگ ها اکنون مانند هدر به نظر می رسند و از یک سبک یکنواخت پیروی می کنند.
  • تایپوگرافی چه در تلفن خواننده و چه در دسک تاپ شما عالی به نظر می رسد.

به عنوان یک پاداش ، در برنامه های تلفن همراه ما اکنون می توانید حتی فونت مناسب خود را انتخاب کنید و حتی متن کامل را انتخاب کنید. آیا شما یک sans serif ساده ترجیح می دهید یا یک serif کلاسیک تر؟ آیا می خواهید متن بیشتری روی صفحه خود مشاهده کنید یا متن بزرگتر را ترجیح می دهید؟

این تغییرات ممکن است اندک به نظر برسند ، اما به ایجاد فضای آرام خواندن ، متناسب با نیازها و تنظیمات کاربران کمک می کنند. ما همچنین اضافه شده است دکمه گزارش مشکلات در پست ها ، امیدواریم که کاربران به ما کمک کنند تا مسائلی را برای بهتر کردن تجربه خواندن در آینده پیدا کنیم. به زودی حتی به روزرسانی های بیشتری در این مورد انجام خواهیم داد ، بنابراین در ادامه با ما همراه باشید.

صحبت از تجربه خواندن است ، خبری که دوست داریم و به شکلی زیبا محتوای عالی تولید می کند vox.com. آنها را به فیدر خود اضافه کنید و از تایپوگرافی جدید و به روز شده ما لذت ببرید!

آیا بازخوردی برای ما دارید؟ به ما اطلاع دهید در

[email protected]

شما پرسیدید ، ما گوش کردیم! →

سایت شرط بندی سایت پیشبینی سایت شرط بندی معتبر

شرط بندی فوتبال : علم در دوران تاریکی زنده و خوب بود

سایت شرط بندی فوتبال
بهترین سایت شرط بندی
سایت شرط بندی معتبر فوتبال

هیچ افسانه ای در مورد قرون وسطی ، مانند اغلب تکرار شده – و به راحتی تخریب می شود – این تصور که در آن زمان همه فکر می کردند زمین صاف است. تصور غلط دیگر این است که پیشرفت علمی در این دوره تا حد زیادی تاریک شد و توسط کلیسای قرون وسطایی از بین رفت. اما اگر از س Fب فالک ، مورخ دانشگاه کمبریج سال کنید ، واقعیت بسیار روشن تر است. فالک ، که بعداً در مورد تاریخ علم تحقیق می کند قرون وسطی ، اخیراً به چگونگی – و توسط کسی – علم در قرون وسطی متمرکز شده است. آخرین کتاب او ، عصر نور: داستان شگفت آور علوم قرون وسطایی، به زندگی پر فراز و نشیب یک راهب و ستاره شناس منفرد قرن 14 ، جان وستویک ، نگاهی داخلی می دهد.

فالک گرفتار شد کشف کردن صحبت کردن در مورد افسانه ها در مورد به اصطلاح عصر تاریک ، راهبی که علم و ابزار علمی را که کمی شبیه به آن است تمرین می کند تلفن هوشمند قرون وسطایی.

س: چه زمانی به تاریخ قرون وسطی و تاریخ علم علاقه مند شدید؟

من همیشه به تاریخ قرون وسطی علاقه داشتم. از کودکی واقعاً درگیر شوالیه ها و نبردها و این نوع کارها بودم. من تاریخ قرون وسطی را به عنوان یک مدرک دانشگاهی انجام دادم. و من نوعی مسیر شغلی عجیب و غریب داشتم زیرا در دولت انگلیس کار می کردم و سپس معلم تاریخ شدم. زمانی که من در مدرسه در کانادا مشغول تدریس تاریخ بودم ، از من خواسته شد چیزی به نام “نظریه دانش” را آموزش دهم. این شامل برخی فلسفه های علمی بود – ایده های علمی چگونه بوجود می آیند ، مردم چگونه علم را توسعه می دهند و چه چیزی به عنوان مدرک ، اثبات محسوب می شود؟ چگونه می توان دنیای اطراف خود را از طریق علم درک کرد؟ و این چه تفاوتی با روشهای دیگر کسب دانش در مورد جهان دارد؟ من به آن علاقه داشتم

س: در کتاب خود ، شما استدلال می کنید که آنچه ما به عنوان عصر تاریک تصور می کنیم ، در واقع دوره ای از علاقه علمی و تحقیق است. این فکر از کجا می آید که قرون وسطی فاقد پیشرفت است؟

خوب ، فقط عبارت قرون وسطی، یا کلمه قرون وسطایی در حال حاضر نوعی تهمت است ، درست است؟ حتی از مفهوم قرون وسطی نیز عنصری وجود دارد که مردم نسبت به آن منفی هستند. و از کجا ناشی می شود ، دوره بعد از قرون وسطی است: رنسانس. مردم تصمیم گرفتند که دوره ای را که در رنسانس زندگی می کنند بنامند زیرا آنها در تلاشند جلالها و دستاوردهای یونان و روم باستان را بازیابی کنند. آنها سعی می کردند خود را به عنوان وارث یونان و روم باستان ببینند. و برای انجام این کار ، آنها گفتند همه آنچه که بین سقوط رم و ظهور اکتشافات و دستاوردهای رنسانس اتفاق افتاد ، این وسط بود که شما نمی خواهید مردم نگران آن باشند.

و سپس – بخصوص در جهان انگلیسی زبان – توسط پروتستان ها انتخاب شد. مسیحیانی که کاتولیک رومی و اقتدار پاپ را رد کردند. زیرا آنها این دوره را قبل از [Protestant] اصلاحات در قرن شانزدهم تحت سلطه کلیسا. از نظر آنها راهی برای تحقیر کلیسا بود. زیرا آنها ضد پاپ بودند ، آنها گفتند که همه چیزهایی که با پاپ مرتبط است باید افتضاح باشد. و آنها قسمتهایی را که کلیسا عمل نادرستی انجام داده است ، برداشتند و آن را نمایانگر کل دوره 1000 ساله دانستند ، که به سختی عادلانه است.

با پیشرفت علم ، افرادی که می خواهند دستاوردهای خود را به نمایش بگذارند ، به طور طبیعی تصور می کنند که همه چیز قبل از آنها نادان بوده است. فرض بر این است که چون مردم از فن آوری خاصی در علم مانند تلسکوپ یا ارتباطات مانند ماشین چاپ برخوردار نبودند ، هیچ اتفاقی نمی افتاد. البته گفتن اینکه آنها درست است نکرد تلسکوپ یا ماشین چاپ را داشته باشید – اما این بدان معنا نیست که شما نمی توانید کشف کنید یا ایده های خود را بیان کنید. شما فقط این کار را به روش های مختلف انجام می دهید.

پرسش: آیا فکر می کنید این واقعیت که دین در این دوران بسیار مسلط بود – و ما غالباً دین و علم را در مقابل یکدیگر می پنداریم – به این کلیشه ها در مورد قرون وسطی دامن زد؟

این درست است که حداقل در اروپای غربی گفته شود ، جهانی که مردم دیدند تحت سلطه خداوند است. و این جهانی بود که خداوند هر روز در آن حضور و فعالیت داشت. اما خدا عین کلیسا نیست و اعتقاد همان دین نیست. بنابراین مقدار زیادی از منطقه خاکستری در آنجا وجود دارد. چقدر کلیسا اختیار دارد؟ ایمان و دین واقعاً بخش مهمی از زندگی مردم بود. و این جهانی بود که در آن وقایعی را که در اطراف خود مشاهده می کردند – پدیده هایی در طبیعت – می توانست تا حدی توسط خدا که در جهان کار می کند ، توضیح دهد.

اما این هرگز توضیح کاملی نخواهد بود. این هرگز کافی نخواهد بود تا مردم بگویند: “این فقط خداست”. مردم کنجکاوتر از آن هستند. مردم همیشه کنجکاوتر از آن بوده اند. بنابراین حتی اگر آنها به خدا ایمان داشته باشند ، آنها را از بررسی دنیای اطراف باز نمی دارد.

س: آیا لحظه ای لامپ وجود دارد که شما برای اولین بار متوجه شدید ، همانطور که در کتاب خود می گویید ، قرون وسطی “بسیار بیشتر از جنگ و جوش سیاه” است؟

خنده دار است ، هرگز به ذهنم خطور نکرده است. من خیلی تاریخچه کردم – تاریخ جنگ ، تاریخ سیاست ، کمی تاریخ اجتماعی نیز هست. چیزهایی که مردم با قرون وسطی ارتباط برقرار می کنند. به عنوان مثال اصناف و کسبه ای که در شعر افرادی مانند چاوزر می خوانید. اما این علم واقعاً هرگز به ذهنم خطور نکرد.


مردم در قرون وسطی برای بیان زمان ، اندازه گیری حرکات ستاره ها و حتی انجام محاسبات مثلثاتی از ابزاری علمی به نام “اسطرلاب” استفاده می کردند. (اعتبار: Sage Ross / CC توسط 3.0 / Wikimedia Commons)

و این یکی از دلایل انگیزه من برای نوشتن کتاب بود. چون لحظه ای لامپ وجود داشت – و من فکر می کنم این زمانی بود که من اسطرلاب را کشف کردم. من در مورد این سازهای برنجی زیبا که توسط افراد در قرون وسطی خلق شده اند ، اطلاع پیدا کردم. این یک یادآوری یا درس ملموس است که مردم در قرون وسطی این وسایل پیچیده و پیچیده را می ساختند. این باعث شد من فکر کنم ، “معلق باش ، جنبه عظیمی از زندگی در قرون وسطی وجود دارد که هیچ کس درباره من با من صحبت نکرده یا درباره اش نگفته است.” و به همین دلیل ، به نظر می رسد هیچ کس علاقه ای به آموزش مردم در مورد آن ندارد.

فکر می کنم این فقط لحظه درک بود که این جنبه دیگر از زندگی در قرون وسطی وجود دارد که ما آن را نادیده می گیریم زیرا درگیر جنگ ها و جوانمردی ها و جنگ ها و تسخیرها و مرگ سیاه هستیم. با این وجود ، در تمام مدت ، مردم هنوز هم می توانند به ستاره ها نگاه کنند و بفهمند جهان چگونه کار می کند و محاسبات دقیق را انجام می دهند و ریاضیات و نجوم را انجام می دهند و در دانشگاه ها تحصیل می کنند.

س: چگونه علوم قرون وسطایی را امروز برای کسی توضیح می دهید و تفاوت آن با شیوه های معاصر نگاه به علم چیست؟

اساس علم قرون وسطی این است که کاملاً منطقی است. در قرون وسطی ، آنها گفتند که مشاهدات شما دقیق تر است ، تکرار آن دشوارتر است. بنابراین ، شما باید به مشاهدات واقعاً بسیار ساده برگردید. و سپس از این مشاهدات به عنوان مبنایی برای ساخت منطقی برای ساختن نظریه استفاده کنید. این یک طرز تفکر متفاوت در مورد طبیعت است ، اما بسیار عملی نیز هست.

قسمت دیگر آن این است که آنها علم را برای اهداف عملی واقعاً انجام می دهند. اسطرلاب وسیله ای است که برای بیان زمان طراحی شده است و برای اندازه گیری حرکات در آسمان ها. بنابراین شما دقیقاً حرکت ستاره ها را می سنجید – چیزی که امروزه ستاره شناسان واقعاً به آن علاقه ندارند. آنها بیشتر به کیهان شناسی علاقه دارند: اینکه چگونه چیزها ساخته می شوند و از چه چیزهایی ساخته می شوند.

اما مردم در قرون وسطی اندازه گیری های دقیق و دقیق سیارات و خورشید و ماه را از طریق ستارگان انجام داده اند. زیرا آنها دقیق ترین تقویم های ممکن را می خواستند. این برای مسیحیان مهم بود. برای جشن گرفتن از اعیاد و اعیاد ، مانند عید پاک ، در روز مناسب سال ، آنها باید تقویم های خورشیدی و قمری را بسیار محکم بگیرند.

س: کتاب شما در درجه اول پیرو راهب قرن 14 به نام جان وستویک است. چرا یک ستاره شناس-صومعه دار صلیبی راهنمای ایده آل شما برای داستان علم قرون وسطی بود؟

جان وستویک برای من واقعاً مهم بود زیرا او نام خانوادگی ندارد. بسیاری از تاریخ های علم به عنوان این رژه های بزرگان گفته می شود. در این زندگی نامه ها ، یا در پیوستن به نقاط این زندگی نامه ها ، که غالباً اتفاق می افتد ، شما یک نبوغ بزرگ را می یابید که به عنوان پیش از زمان خود به تصویر کشیده شده است. او کار خودش را می کند. و همه می گویند ، “وای!” سپس به سمت نبوغ بزرگ بعدی که از زمان خود جلوتر بود حرکت می کنیم. و این به عنوان تاریخ علم ارائه می شود ، اما این نحوه کار علم نیست.

مطمئناً اکنون علم به این شکل عمل نمی کند. اما در قرون وسطی هم درست نبود. علم همیشه با کار سخت و سخت کار پیشرفت کرده است. محاسبات و مشاهدات روزمره ، ذره ذره ریز و تعداد زیادی از مردم. برای من واقعاً مهم بود که بتوانم این داستان علم را از طریق این شخص نسبتاً معمولی – حداقل برای یک فرد باسواد در قرون وسطی – عادی بیان کنم.

در همان زمان ، وستویک این زندگی کاملاً جذاب و پرماجرا را داشت که در آنجا به یک جنگ صلیبی می رود و به شمال انگلیس تبعید می شود ، جایی که همه راهبان از غذای وحشتناک و آب و هوای وحشتناک شکایت دارند. و او احتمالاً رفته و در آکسفورد تحصیل کرده است ، بنابراین این فرصت به من داده است تا در مورد اهمیت دانشگاهها در اواخر قرون وسطی صحبت کنم. او واقعاً راهنمای کاملی برای دستاوردهای علوم قرون وسطایی بود.

س: شما به اسطرلاب ، این ساز قدیمی اشاره کردید که مردم در قرون وسطی برای گفتن زمان و اندازه گیری ستاره ها از آن استفاده می کردند. چرا این وسیله مهم برای علوم قرون وسطایی بوده است – و چرا نجوم چنین حوزه مهم مطالعه ای بوده است؟

نجوم واقعاً مهم بود زیرا اولین علم ریاضی بود. این اولین علمی است که مستعد مشاهده و اندازه گیری دقیق است. برخلاف ، مثلاً گیاه شناسی و جانورشناسی ، که تا زمانی که یک میکروسکوپ نداشته باشید ، نمی توانید مقدار زیادی اندازه گیری کمی را انجام دهید ، با نجوم ، می توانید دقیقاً اندازه گیری کنید. بنابراین شما می توانید دیدن اینکه نظریه های شما با پیش بینی موقعیت یک ستاره یا سیاره صحیح است ، ببینید آیا مدل شما برای آن سیاره یک پیش بینی دقیق تولید می کند و سپس نظریه های خود را اصلاح کنید. نجوم جایی است که افرادی که می خواهند اندازه گیری های پیچیده و هوشمندانه ای انجام دهند و نظریه های پیچیده و پیشرفته ای ارائه دهند ، منافع خود را دنبال می کنند.

و سپس اسطرلاب از اهمیت اساسی برخوردار است زیرا این ایده ها را در یک بسته بسیار زیبا و منحصر به فرد قرار داده است. من آن را به یک گوشی هوشمند قرون وسطایی تشبیه می کنم. و دلیل آن این است که گوشی های هوشمند مجموعه ای از دستگاه ها را که به عنوان دستگاه های جداگانه وجود دارند جمع می کند. این یک دوربین ، تلفن ، GPS و کامپیوتر دارد. یک اسطرلاب نقشه ای از آسمانها دارد. این یک ساعت برای گفتن زمان دارد. دارای یک شیب سنج برای اندازه گیری ارتفاعات بالای افق است که می تواند برای اندازه گیری ارتفاع یک ساختمان استفاده شود. معمولاً ابزاری برای محاسبات مثلثاتی دارد.

بنابراین ، مانند یک گوشی هوشمند ، مجموعه ای از دستگاه های علمی را در یک بسته بندی کاملاً زیبا و راحت گرد هم آورده است. همچنین مانند یک گوشی هوشمند ، این یک شی زیبا و یک اثر هنری است. این یک کلاسیک طراحی است. درست مثل افرادی که برای دریافت جدیدترین آیفون در اطراف بلوک صف می ایستند ، همانطور که ممکن است بگویید و مطمئناً با پیشرفت در طراحی ، مردم واقعاً علاقه مند به ارتقا ast اسطرلاب های خود با برنامه های جدید بودند. بنابراین اسطرلاب ها می توانند به مکان هایی برای صنعتگر تبدیل شوند تا استعداد خود را به نمایش بگذارند و از طراحی زیبا و مد روز استفاده کنند.

س: یک چیز در مورد کتاب شما دوست داشتم این است که این کتاب به خوانندگان می آموزد که چگونه علم قرون وسطی در واقع انجام می شود ، مانند انجام محاسبات با اعشار روی انگشتان یا استفاده از ستاره ها برای بیان زمان. درس مورد علاقه شما چیست که از علوم قرون وسطی آموخته اید؟

فکر می کنم احتمالاً در حال ضرب اعداد رومی بود. زیرا این نکته بسیار واضحی است که ضرب اعداد رومی نسبت به اعداد عربی هندوئی که امروزه استفاده می کنیم ، دشوارتر است. و این واقعاً برای من فوق العاده بود ، تا حدی به این دلیل که من ایده ای نداشتم. من فقط فرض کردم ، مانند بقیه ، انجام ضربات پیچیده با اعداد رومی غیرممکن است زیرا ارزش مکانی ندارند. آنها واحدهایی از دهها ، هزاران یا صدها مثل عدد ما ندارند. اما بعد فهمیدم که در واقع ، آنها تکنیک هایی برای انجام این کار دارند. و این فنون بصورت جداگانه در فرهنگهای مختلف توسعه یافته است. مطمئناً آنها در اروپای قرون وسطی تدریس می شدند. من می خواستم به مردم بیاموزم که چطور این کار را انجام دهند زیرا این واقعا کار جالبی است که آنها واقعاً می توانند انجام دهند – و این به آنها در زندگی خودشان کمک می کند. حتی اگر از اعداد رومی استفاده نمی کنید ، روشی هوشمندانه برای انجام ضربات و مبالغ واقعاً پیچیده در ذهن شماست. و این به دلیل یک اصل جالب ریاضی کارساز است ، بنابراین من می خواستم به مردم یاد دهم که چگونه این کار را انجام دهند.

سایت شرط بندی
سایت پیشبینی
سایت شرط بندی معتبر

شرط بندی فوتبال : وزارت دفاع ایالات متحده بودجه پروژه را از طریق مشارکت BIRD انرژی با اسرائیل اعلام کرد

سایت شرط بندی فوتبال
بهترین سایت شرط بندی
سایت شرط بندی معتبر فوتبال

23 دسامبر 2020

با همکاری وزارت انرژی اسرائیل (MOE) و سازمان نوآوری در اسرائیل به عنوان بخشی از برنامه انرژی تحقیق و توسعه صنعتی بین المللی (BIRD) ، وزارت انرژی ایالات متحده (DOE) 7.15 میلیون دلار برای هشت پروژه تحقیق و توسعه تازه انتخاب شده اعلام کرده است که از 10.25 میلیون دلار در هزینه های مشترک برای ارزش کل پروژه 17.4 میلیون دلار در زمینه ذخیره سازی برق ، بتن سازگار با محیط زیست ، حمل و نقل پایدار و بهره وری انرژی استفاده کنید.

یکی از این پروژه ها شامل VisIC Technologies Ltd از Nes Ziona ، اسرائیل – یک تامین کننده افسانه ای دستگاه های تبدیل نیرو بر اساس دستگاه های ترانزیستور گالیم نیترید (GaN) برای کاربردهای ولتاژ بالا در خودرو است – و شرکت خدمات مهندسی Vepco Technologies Inc از چینو ، کالیفرنیا ، ایالات متحده ، که یک اینورتر قدرت درایو دو موتوره مبتنی بر نیترید گالیم (GaN) 80 کیلووات برای هر دو وسیله پلاگین (PEV) و وسایل نقلیه الکتریکی باتری (BEV) تولید خواهد کرد.

پروژه هایی که واجد شرایط بودجه BIRD Energy هستند باید شامل یک شرکت آمریکایی و یک اسرائیلی یا یک شرکت از یکی از کشورها با دانشگاه یا یک موسسه تحقیقاتی از طرف دیگر باشد. شرکا باید طرحی را ارائه دهند که شامل نوآوری در حوزه انرژی باشد و مورد علاقه دو کشور باشد. روند بررسی BIRD Energy از نظر فنی شایسته ترین پروژه ها را به همراه پروژه هایی انتخاب می کند که به احتمال زیاد تجاری می شوند و تأثیر قابل توجهی دارند. پروژه های واجد شرایط باید حداقل 50٪ در هزینه های پروژه مشارکت داشته باشند و اگر پروژه منجر به موفقیت تجاری شود متعهد به بازپرداخت می شوند.

وزیر انرژی ایالات متحده دن برویلت می گوید: “برنامه BIRD Energy همکاری بین شرکت های آمریکایی و اسرائیلی را که نوآوری های واقعی در انرژی های تجدید پذیر و بهره وری انرژی ایجاد کرده اند ، تقویت می کند. “این همکاری به ایجاد روابط دوجانبه ادامه می دهد که به نفع اقتصاد و محیط زیست ما برای سالهای آینده خواهد بود.”

این اطلاعیه با توجه به سابقه طولانی همکاری بین DOE و MOE ، که متخصصان هر دو کشور را برای ایجاد نوآوری در انرژی های تجدیدپذیر ، ذخیره انرژی ، امنیت سایبری زیرساخت های انرژی ، پیوند انرژی با آب و سایر مناطق گرد هم آورده است.

وزیر انرژی اسرائیل ، دکتر یووال اشتاینیتز ، اظهار داشت: “من امیدوارم که این پروژه های تحقیق و توسعه ما را به یک بازار انرژی کارآمد و پاک نزدیک کند.” “سرمایه گذاری دولت در تحقیق و توسعه برای دستیابی به این اهداف مهم است ، و به عنوان ابزاری برای بازیابی بحران ویروس کرونا که اکنون تجربه می کنیم.”

از زمان آغاز به کار ، برنامه انرژی BIRD اکنون 55 پروژه را تأمین مالی کرده است که شامل کل سرمایه گذاری دولت در حدود 42 میلیون دلار علاوه بر حدود 55 میلیون دلار اعتبارات بخش خصوصی است.

موارد مرتبط را مشاهده کنید:

VisIC از سوئیچ Gam قدرت 8mΩ برای اینورترهای EV رونمایی می کند

VisIC با ZF همکاری می کند تا اینورترهای EV را توسعه دهد

برچسب ها: ترانزیستور قدرت GaN-on-Si

بازدید: www.vepcotech.com

بازدید: www.visic-tech.com

سایت شرط بندی
سایت پیشبینی
سایت شرط بندی معتبر

شرط بندی فوتبال : رمزگشایی میخی ، یکی از اولین اشکال نوشتن

سایت شرط بندی فوتبال
بهترین سایت شرط بندی
سایت شرط بندی معتبر فوتبال

این زبان نیست دقیقاً الفبا نیست. اما اگر می خواهید اصل را بخوانید حماسه گیلگمش ، یا سوابق تجاری سومریان باستان را مطالعه کنید ، میخی تنها بازی در شهر است.

سیستم باستانی نوشتن یکی است ، اگر نباشد ، قدیمی ترین در حدود 3500-3000 سال قبل از میلاد توسط سومری ها اختراع شد و بیش از 3000 سال در منطقه مورد استفاده قرار گرفت. نوشتن تنها نوآوری این فرهنگ نبود. آنها همچنین گاری های چرخدار جهان ، نجوم ، یک سیستم اعداد ، ساعت 60 دقیقه ای ، نقشه ها ، آبیاری و حماسه گیلگمش، که اولین اثر مکتوب ادبیات بود.

سومر ، بدون شک اولین تمدن جهان ، از گروهی از دولت شهرها تشکیل شده بود. این شهرهای واقع در بین النهرین ، یعنی عراق فعلی ، درگیر تجارت و گاه جنگ با یکدیگر هستند. آنها برای ثبت معاملات مالی خود به یک سیستم نیاز داشتند و میخی کار را انجام می داد. بنابراین ، جای تعجب نیست که اولین نمونه های میخی فروش یا انتقال کالاهایی مانند غلات یا منسوجات ، یا تخصیص لوازم را نشان می دهد.

قرص اصلی

نمادهای میخی با یک قلم نوک تیز روی لوح های سفالی مرطوب ، معمولاً مستطیلی و به اندازه یک دفترچه یادداشت کوچک یا آیفون ، خراشیده می شدند. سپس قرص ها را در معرض آفتاب پخت و یا در کوره خشک کردند.

کلمه میخی از یک کلمه لاتین می آید cuneus ، به معنی “گوه ای شکل” است. دلیل این امر این است که ، اگرچه این نمادها در ابتدا تصویری بودند ، اما به زودی کاملاً سبک شدند و در واقع از آرایش های مختلفی از خطوط و مثلث ها یا گوه ها تشکیل شده اند. میخی به جای استفاده از یک عکس گاو برای نشان دادن یک گاو ، از نمادی استفاده می کرد که به نوعی یک تصویر برهنه از یک گاو بود. این کار بسیار کارآمدتر شد. با گذشت زمان ، نمادهایی برای اسامی انتزاعی مانند عشق یا ترس و بعداً صفت معرفی شدند.

سرانجام نمادها حتی بیشتر انتزاعی شدند – دیگر به عنوان گاو قابل تشخیص نیستند – و به جای استفاده از یک نماد منحصر به فرد برای هر کلمه ، به سیستمی برای نمایش اصوات گفتاری یا هجاها تبدیل شدند. در این مرحله ، سیستم می تواند به راحتی زبان گفتاری را رونویسی کند. این امر نه تنها نگه داشتن کتاب های حساب ، بلکه ضبط نامه ها ، داستان ها ، آهنگ ها و شعرها – و همچنین متون مدرسه و آثار ریاضی را ممکن می کرد.

یکی از مزایای خط میخی این است که می تواند زبانهای مختلفی را نشان دهد ، مانند الفبایی که می تواند مثلاً انگلیسی ، آلمانی ، اسپانیایی و بسیاری از زبانهای دیگر را بنویسد. میخی برای نوشتن حداقل به دوازده زبان علاوه بر زبان سومری از جمله اکدی ، بابلی ، آشوری ، هیتی و فارسی مورد استفاده قرار گرفت. و مانند الفبای امروز ما ، با داشتن آلمانی Eszett یا “double-S” و اسپانیایی شامل “double-L” ، تغییرات کمی در میخی از زبان به زبان دیگر وجود دارد.

در انتظار ترجمه

هنگامی که باستان شناسان اروپایی برای اولین بار در قرن نوزدهم کاوش در خاورمیانه را آغاز کردند ، نمونه های برجای مانده از خط میخی را یافتند. اما فهمیدن معنی آن چالش بود. برای یادگیری خط میخی ، ابتدا باید زبان سومری را یاد بگیرید. این کار بزرگی نیست ، به این دلیل که به نظر بسیاری از محققان زبان سومری یک زبان منزوی است ، به این معنی که این زبان با زبان شناخته شده دیگری ارتباط ندارد. با این وجود ، در اواخر دهه 1850 ، دانشمندان عمدتاً خط میخی شکسته بودند ، گرچه حتی اکنون نیز تکه تکه هایی وجود دارد که هنوز دانشمندان نمی فهمند. امروزه کسانی که می توانند خط میخی را بخوانند بسیار اندک هستند و اکثریت قریب به اتفاق متون میخی ترجمه نشده باقی مانده اند.

درون موزه بریتانیا - Shutterstock

(اعتبار: Piotr Wawrzyniuk / Shutterstock)

ایروینگ فینکل یکی از برجسته ترین متخصصان خط میخی و متصدی موزه بریتانیا ، خانه بزرگترین مجموعه خط میخی ، با 130 هزار قرص است. نمونه مورد علاقه فینکل در نوشتن باستان ، لوحی است که حاوی دستورالعمل های The Royal Game of Ur ، یک بازی روی صفحه است که در بین النهرین باستان محبوب بود. امروزه این بازی مانند شطرنج یا تخته نرد احتمالاً در میخانه ها و کاخ ها انجام می شد. فینکل قوانین را ترجمه کرد. اگر می خواهید در یک بازی 4500 ساله تلاش کنید ، می توانید قوانین را پیدا کنید اینجا.

و آن 130000 لوح خط میخی در موزه بریتانیا؟ آنها با صبر و حوصله منتظرند دانشمندان بیایند آنها را بخوانند و بقیه ما را از گفتن آنها مطلع کنند شاید حماسه دیگری مثل آن گیلگمش؟ یا شاید یک بازی تخته ای جالب دیگر؟ اگر علاقه ای به گذراندن شش تا هشت سال مطالعه فشرده لازم برای تسلط بر خط میخی ندارید ، باز هم می توانید نشان خود را در این سیستم نوشتاری باستانی بگذارید. برو به وب سایت موزه پن و نمایشگاه تعاملی آنها را امتحان کنید که به شما امکان می دهد نام خود را با خط میخی امضا کنید.

سایت شرط بندی
سایت پیشبینی
سایت شرط بندی معتبر

شرط بندی فوتبال : بازار VCSEL با رشد 18.3٪ CAGR از 1 میلیارد دلار در سال 2020 به 2.7 میلیارد دلار در سال 2025 رشد خواهد کرد

سایت شرط بندی فوتبال
بهترین سایت شرط بندی
سایت شرط بندی معتبر فوتبال

9 اکتبر 2020

بازار لیزر ساطع کننده سطح عمودی (VCSEL) با نرخ رشد سالانه مرکب (CAGR) 18.3٪ از بیش از 1 میلیارد دلار در سال 2020 به 2.7 میلیارد دلار در 2025 افزایش خواهد یافت ، گزارش “VCSELs – روندهای بازار و فناوری 2020” از یول دپوپمنت

به طور خاص ، برنامه های مخابراتی و زیرساختی (عمدتا datacom) انتظار می رود در سال 2020 277 میلیون دلار درآمد کسب کنند و در CAGR 13.2 درصد باید در سال 2025 به 516 میلیون دلار برسند. “سایر برنامه ها هنوز قابل توجه نیستند اما می توانند در میان مدت و بلند مدت ظاهر شوند ، مانند برنامه های کاربردی خودرو مانند LiDAR [light detection & ranging] یا سیستم های نظارت بر راننده ، “Pierrick Boulay ، Solid State Lighting and Lighting Systems ، در بخش Photonics ، Sensing & Display Yole.

بررسی اجمالی بازار

یول می گوید تا سال 2017 بازار VCSEL توسط برنامه های datacom هدایت می شد. از آن زمان به بعد از انتخاب فنی استراتژیک اپل و پیاده سازی ماژول Face ID در آیفون های خود ، داده های اطلاعاتی گام به گام به عنوان محرک بازار با سنجش 3D جایگزین می شوند (به 75٪ از درآمد VCSEL در سال 2020 افزایش می یابد).

سیلوین هالرو مدیر پروژه در گزارش “ماژول Apple iPad Pro LiDAR” از شرکت Yole شرکت System Plus Consulting می گوید: “LiDAR از VCSEL استفاده می کند که از Lumentum می آید.” وی می افزاید: “بنابراین ، Lumentum با اپل همکاری نزدیک دارد و تنها با تلفن های هوشمند اپل بیش از 100 میلیون دلار درآمد کسب کرده است.” لیزر در LiDAR خود به گونه ای طراحی شده است که چندین الکترود را به طور جداگانه به آرایه انتشار دهنده متصل می کند. برای افزایش آزمایش پروب ویفر از طراحی جدید با تماس با مسا استفاده شده است. ”

پس از عرضه آیفون X ، چندین سازنده تصمیم گرفته اند که همین مسیر را طی کرده و ماژول های سنجش سه بعدی را در قسمت جلوی گوشی های هوشمند خود برای تشخیص چهره پیاده سازی کنند. متعاقبا انتظار می رفت که سایر سازندگان گوشی های هوشمند چینی نیز چنین ماژول هایی را در قسمت جلویی خود پیاده سازی کنند. سال بعد این مورد وجود داشت ، اما روند به سرعت کاهش یافت.

بولای خاطرنشان می کند: “ماژول های سنجش سه بعدی ، عمدتا برای کاربردهای عکاسی ، از قسمت جلو به سمت جهان منتقل می شوند.” وی می افزاید: “این را می توان با عوامل مختلفی توضیح داد ، از جمله هزینه ماژول های سنجش سه بعدی ، دارایی فکری اطراف راه حل های نوری ساختاری و رقابت با راه حل های اثر انگشت زیر نمایشگر که برای تلفن های هوشمند با قیمت متوسط ​​بیشتر قابل دسترسی است.”

این انتقال از سمت جلو به سمت جهان روبرو قطعاً پیامد مهمی برای بازار VCSEL به همراه دارد. انتظار می رفت که ماژول های سه بعدی جلو از راه حل های ساختاریافته با دو VCSEL استفاده کنند. در مقابل ، ماژول های سه بعدی جهان رو به راه حل های زمان پرواز (ToF) فقط با یک VCSEL استفاده می کنند. در این زمینه پویا ، انتظار می رود برنامه های کاربردی موبایل و مصرف کننده در سال 2020 0.8 میلیارد دلار درآمد کسب کنند و سپس با CAGR 20.1٪ تا 2.1 میلیارد دلار در 2025 رشد کنند.

از زمان پذیرش راه حل های VCSEL برای ماژول های سنجش سه بعدی در تلفن های هوشمند ، اپل اکثر VCSEL های تولید شده توسط Lumentum را مصرف می کند. در سال 2017 ، 41 میلیون واحد در گوشی های آیفون اجرا شد و در سال 2020 بیش از 325 میلیون دستگاه VCSEL انتظار می رود در گوشی های آیفون استفاده شود. بولای خاطرنشان می کند: “این عدد نشان دهنده بیش از دو سوم کل VCSEL مصرفی برای سنجش سه بعدی موبایل است.” “Lumentum ، به عنوان اصلی ترین تامین کننده VCSEL های اپل ، با داشتن 68٪ بازار در سال 2020 ، به طور واضح بازار موبایل و مصرف کننده را رهبری می کند.” پشت Lumentum ، ams و Trumpf به ترتیب 15 و 7 درصد بازار دارند.

سهم بازار

زنجیره تأمین نیز به شدت تحت تأثیر تصمیمات سیاسی و جنگ تجاری بین ایالات متحده آمریکا و چین قرار گرفته است. در ماه مه 2019 ، ایالات متحده صادرات خود را به Huawei Technologies چین ممنوع کرد. Lumentum عرضه Huawei را متوقف كرد ، كه بايد ارائه دهنده جديدي از VCSEL ها را پيدا كند. این ممنوعیت به زنجیره تأمین هواوی آسیب جدی وارد کرد. بنابراین هواوی با ایجاد تأمین کننده چینی Vertilite چاره ای جز ساختن زنجیره تامین خود نداشت. انتظار می رود سایر تأمین کنندگان VCSEL چینی ظهور کنند زیرا سایر سازندگان گوشی های هوشمند مانند Oppo ، Xiaomi و Vivo می توانند این روند را دنبال کنند و یک اکوسیستم محلی را برای ایمن سازی زنجیره تامین خود توسعه دهند.

موارد مرتبط را مشاهده کنید:

بازار تصویربرداری و سنجش سه بعدی با 20٪ CAGR به 15 میلیارد دلار در سال 2025 رشد می کند

برچسب ها: VCSEL ها

بازدید: www.i-micronews.com/products/vcsels-market-and-techology-rends-2020

سایت شرط بندی
سایت پیشبینی
سایت شرط بندی معتبر

شرط بندی فوتبال : Don’t Compare Averages

سایت شرط بندی فوتبال
بهترین سایت شرط بندی
سایت شرط بندی معتبر فوتبال

Imagine you’re an executive, and you’re asked to
decide which of your sales leaders to give a big award/promotion/bonus to.
Your company is a tooth-and-claw capitalist company that only considers
revenue to be important, so the key element in your decision is who has got
the most revenue growth this year. (Given it’s 2020, maybe we sell

Here’s the all-important numbers.

nameaverage revenue increase (%)

And a colorful graph

Based on this, the decision looks easy. Bob, at just under 8%, has a
notably better revenue increase than his rivals who languish at 5%.

But lets dig deeper, and look at the individual accounts for each of our

nameaccount revenue increases (%)

This account-level data tells a different story. Bob’s high performance
is due to one account yielding a huge 80% revenue increase. All his other
accounts shrank. With Bob’s performance based on just one account,
is he really the best salespeep for the bonus?

Bob’s tale is a classic example of one the biggest problems with
comparing any group of data points by looking at the average. The usual
average, technically the mean, is very prone to one outlier swinging the
whole value. Remember the average net worth of a hundred homeless people is
$1B once Bill Gates enters the room.

The detailed account data reveals another difference. Although Alice and
Clara both have the same average, their account data tells two very
different stories. Alice is either very successful (~10%) or mediocre (~2%), while Clara
is consistently mildly successful (~5%). Just looking at the average hides this
important difference.

By this point, anyone who’s studied statistics or data visualization is
rolling their eyes at me being Captain Obvious. But this knowledge isn’t
getting transmitted to folks in the corporate world. I see bar charts
comparing averages all the time in business presentations. So I decided to
write this article, to show a range of visualizations that you can use to
explore this kind of information, gaining insights that the average alone
cannot provide. In doing this I hope I can persuade some people to stop only
using averages, and to question averages when they see others doing that.
After all there’s no point eagerly collecting the data you need to be a
data-driven enterprise unless you know how to examine that data

A strip chart shows all the individual numbers

So the rule is don’t compare averages when you don’t know what the
actual distribution of the data looks like. How can you get a good picture
of the data?

I’ll start with the case above, when we don’t have very many
data points. Often the best way to go for this is a strip chart, which
will show every data point in the different populations.

show code
ggplot(sales, aes(name, d_revenue, color=name)) +
  geom_jitter(width=0.15, alpha = 0.4, size=5, show.legend=FALSE) +
  ylab(label = "revenue increase (%)") +
  geom_hline(yintercept = 0) +

With this chart we can now clearly see the lone high point for Bob,
that most of his results are similar to Alice’s worst results, and that Clara
is far more consistent. This tells us far more than the earlier bar chart,
but isn’t really any harder to interpret.

You may then ask, how to plot this nice strip chart? Most people who
want to plot some quick graphs use Excel, or some other spreadsheet. I
don’t know how easy it is to plot a strip chart in the average
spreadsheet, as I’m not much of a spreadsheet user. Based on what I see in
management presentations, it may be impossible, as I hardly ever see one.
For my plotting I use R, which a frighteningly powerful statistics
package, used by people who are familiar with phrases like “Kendall rank
correlation coefficient” and “Mann-Whitney U test”. Despite this fearsome
armory, however, it’s pretty easy to dabble with the R system for simple
data manipulation and graph plotting. It’s developed by academics as
open-source software, so you can download and use it without worrying about
license costs and procurement bureaucracy. Unusually for the open-source
world, it has excellent documentation and tutorials to learn how to use
it. (If you’re a Pythonista, there’s also a fine range of Python libraries
to do all these things, although I’ve not delved much into that
territory.) If you’re curious about R, I have a
in the appendix of how I’ve learned what I know about it.

If you’re interested in how I generate the various charts I show
here, I’ve included a “show-code” disclosure after each chart which shows
the commands to plot the chart. The sales dataframes
used have two columns: name, and d_revenue.

What if we have a larger number of data points to consider? Imagine our
trio are now rather more important, each handling a couple of hundred
accounts. Their distributions still, however show the same basic characteristics, and we
can see that from a new strip chart.

show code
ggplot(large_sales, aes(name, value, color=name)) +
  geom_jitter(width=0.15, alpha = 0.4, size=2, show.legend=FALSE) +
  ylab(label = "revenue increase (%)") +
  geom_hline(yintercept = 0) +

One problem with the strip chart, however, is that we can’t see the
average. So we can’t tell whether Bob’s high values are enough to
compensate for this general lower points. I can deal with this by plotting
the mean point on the graph, in this case as a black diamond.

show code
ggplot(large_sales, aes(name, value, color=name)) +
  geom_jitter(width=0.15, alpha = 0.4, size=2, show.legend=FALSE) +
  ylab(label = "revenue increase (%)") +
  geom_hline(yintercept = 0) +
  stat_summary(fun = "mean", size = 5, geom = "point", shape=18, color = 'black') +

So in this case Bob’s mean is a bit less than the other two.

This shows that, even though I often disparage those who use means to
compare groups, I don’t think means are useless. My disdain is for those
who only use means, or use them without examining the overall
distribution. Some kind of average is often a useful element of a
comparison, but more often than not, the median is actually the better
central point to use since it holds up better to big outliers like Bob’s.
Whenever you see an “average”, you should always consider which is better:
median or mean?

Often the reason median is such an under-used function is because our tooling
doesn’t encourage use to use it. SQL, the dominant database query
language, comes with a built-in AVG function
that computes the mean. If you want the median, however, you’re usually
doomed to googling some rather ugly algorithms, unless your database has
the ability to load extension functions. If
some day I become supreme leader, I will decree that no platform can have
a mean function unless they also supply a median.

Using histograms to see the shape of a distribution

While using a strip chart is a good way to get an immediate sense of
what the data looks like, other charts can help us compare them in
different ways. One thing I notice is that many people want to use The One
Chart to show a particular set of data. But every kind of chart
illuminates different features of a dataset, and it’s wise to use several
to get a sense of what the data may be telling us. Certainly this is true
when I’m exploring data, trying to get a sense of what it’s telling me.
But even when it comes to communicating data, I’ll use several charts so
my readers can see different aspects of what the data is saying.

The histogram is a classic way of looking at a distribution. Here are
histograms for the large dataset.

show code
ggplot(large_sales, aes(value, fill=name)) +
  geom_histogram(binwidth = 1, boundary=0, show.legend=FALSE) +
  xlab(label = "revenue increase (%)") +
  scale_y_continuous(breaks = c(50,100)) +
  geom_vline(xintercept = 0) +
  theme_grey(base_size=30) +
 facet_wrap(~ name,ncol=1)

Histograms work really well at showing the shape of a single
distribution. So it’s easy to see that Alice’s deals clump into two
distinct blocks, while Clara’s have a single block. Those shapes are
somewhat easy to see from the strip chart too, but the histogram clarifies
the shape.

A histogram shows only one group, but here I’ve shown several together
to do the comparison. R has a special feature for this, which it refers to
as faceted plots. These kind of “small multiples” (a term coined by
Edward Tufte) can be very handy for comparisons. Fortunately R makes them
easy to plot.

Another way to visualize the shapes of the distributions is a density
plot, which I think of as a smooth curve of a histogram.

show code
ggplot(large_sales, aes(value, color=name)) +
  geom_density(show.legend=FALSE) +
  geom_vline(xintercept = 0) +
  xlab(label = "revenue increase (%)") +
  scale_y_continuous(breaks = c(0.1)) +
  theme_grey(base_size=30) +
  facet_wrap(~ name,ncol=1)

The density scale on the y axis isn’t very meaningful to
me, so I tend to remove that scale from the plot – after all the key
element of these are shapes of the distributions. In addition, since the
density plot is easy to render as a line, I can plot all of them on a
single graph.

show code
ggplot(large_sales, aes(value, color=name)) +
  geom_density(size=2) +
  scale_y_continuous(breaks = NULL) +
  xlab(label = "revenue increase (%)") +
  geom_vline(xintercept = 0) +

Histograms and density plots are more effective when there are more
data points, they aren’t so helpful when there’s only a handful (as with
the first example). A bar chart of counts is useful when there are only a few
values, such as the 5-star ratings on review sites. A few years ago Amazon
added such a chart for its reviews, which show the distribution in
addition to the average score.

Boxplots work well with many comparisons

Histograms and density plots are a good way to compare different
shapes of distributions, but once I get beyond a handful of graphs then
they become difficult to compare. It’s also useful to get a sense of
commonly defined ranges and positions within the distribution. This is
where the boxplot comes in handy.

show code
ggplot(large_sales, aes(name, value, color=name)) +
  geom_boxplot(show.legend=FALSE) +
  ylab(label = "revenue increase (%)") +
  geom_hline(yintercept = 0) +

The box plot focuses our attention on the middle range of the data, so
that half the data points are within the box. Looking at the graph we can
see more than half of Bob’s accounts shrank and that his upper quartile is
below Clara’s lower quartile. We also see his cluster of hot accounts at
the upper end of the graph.

The box plot works nicely with a couple of dozen items to compare,
providing a good summary of what the underlying data looks like. Here’s an
example of this. I moved to London in 1983 and moved to Boston a decade
later. Being British, I naturally think about how the weather compares in
the two cities. So here is a chart showing comparing their daily high
temperatures each month since 1983.

show code
ggplot(temps, aes(month, high_temp, color=factor(city))) +
  ylab(label = "daily high temp (°C)") +
  theme_grey(base_size=20) +
  scale_x_discrete(labels=month.abb) +
  labs(color = NULL) +
  theme(legend.position = "bottom") +

This is an impressive chart, since it summarizes over 27,000 data
points. I can see how the median temperatures are warmer in London during
the winter, but cooler in the summer. But I can also see how the
variations in each month compare. I can see that over a quarter of the
time, Boston doesn’t get over freezing in January. Boston’s upper quartile
is barely over London’s lower quartile, clearly indicating how much colder
it is in my new home. But I can also see there are occasions when Boston
can be warmer in January than London ever is during that winter month.

The box plot does have a weakness, however, in that we can’t see the
exact shape of the data, just the commonly defined aggregate points. This
may be an issue when comparing Alice and Clara, since we don’t see the
double-peak in Alice’s distribution in the way that we do with histogram
and density chart.

There are a couple of ways around this. One is that I can easily
combine the box plot with the strip chart.

show code
ggplot(large_sales, aes(name, value, color=name)) +
  geom_boxplot(show.legend=FALSE, outlier.shape = NA) +
  geom_jitter(width=0.15, alpha = 0.4, size=1, show.legend=FALSE) +
  ylab(label = "revenue increase (%)") +
  stat_summary(fun = "mean", size = 5, geom = "point", shape=18, color = 'black') +
  geom_hline(yintercept = 0) +

This allows me to show both the underlying data, and the important
aggregate values. In this plot I also included the black diamond that I
used before to show the position of the mean. This is a good way to
highlight cases like Bob where the mean and median are quite different.

Another approach is the violin plot, which draws a density plot into
the sides of the boxes.

show code
ggplot(large_sales, aes(name, value, color=name, fill=name)) +
  geom_violin(show.legend=FALSE, alpha = 0.5) +
  ylab(label = "revenue increase (%)") +
  geom_hline(yintercept = 0) +

This has the advantage of showing the shape of the distribution
clearly, so the double peak of Alice’s performance stands right out. As
with density plots, they only become effective with a larger number of
points. For the sales example, I think I’d rather see the points in the
box, but the trade-off changes if we have 27,000 temperature measurements.

show code
ggplot(temps, aes(month, high_temp, fill=factor(city))) +
  ylab(label = "daily high temp (°C)") +
  theme_grey(base_size=20) +
  labs(fill = NULL) +
  scale_x_discrete(labels=month.abb) +
  theme(legend.position = "bottom") +
  geom_violin(color = NA) 

Here we can see that the violins do a great job of showing the shapes
of the data for each month. But overall I find the box chart of this data
more useful. It’s often easier to compare by using significant signposts
in the data, such as the medians and quartiles. This is another case where
multiple plots play a role, at least while exploring the data. The box
plot is usually the most useful, but it’s worth at least a glance at a
violin plot, just to see if reveals some quirky shape.

Summing Up

  • Don’t use just an average to compare groups unless you understand
    the underlying distribution.
  • If someone shows you data with just an average ask: “what does the
    distribution look like?”
  • If you’re exploring how groups compare, use several different plots
    to explore their shape and how best to compare them.
  • If asked for an “average”, check whether a mean or median is better.
  • When presenting differences between groups, consider at least the
    charts I’ve shown here, don’t be afraid to use more than one, and pick
    those that best illustrate the important features.
  • above all: plot the distribution!


Domeniconi, David Colls, David Johnston, James Gregory, John Kordyback, Julie Woods-Moss, Kevin Yeung, Mackenzie Kordyback, Marco Valtas, Ned Letcher, Pat Sarnacke, Saravanakumar Saminathan, Tiago Griffo, and Xiao Guo

commented on drafts of this article on internal mailing lists.

My experience learning R

I first came across R about 15 years ago, when I did a little work with
a colleague on a statistical problem. Although I did a lot of maths in
school, I shied away from statistics. While I was very interested in the
insights it offers, I was deterred by the amount of calculation it
required. I have this odd characteristic that I was good at maths but not
good at arithmetic.

I liked R, particularly since it supported charts that were hardly
available elsewhere (and I’ve never much liked using spreadsheets). But R
is a platform with neighborhoods dodgy enough to make JavaScript seem
safe. In recent years, however, working with R has become much easier due
to the work of Hadley Whickham – the Baron Haussmann of R. He’s led the
development of the “tidyverse”: a series of libraries that make R very
easy to work with. All the plots in this article use his ggplot2 library.

In recent years I’ve used R more and more for creating any reports that
make use of quantitative data, using R as much for the calculations as for
the plots. Here the tidyverse dplyr library plays a big role. Essentially
it allows me to form pipelines of operations on tabular data. At one level
it’s a collection pipeline on the
rows of the table, with functions to map and filter the rows. It then goes
further by supporting table-oriented operations such as joins and pivots.

If writing such excellent software isn’t enough, he’s also co-written
an excellent book to learn to use R: R for Data
. I’ve found this to be a great tutorial on data analytics,
an introduction to the tidyverse, and a frequent reference. If you’re
at all interested in manipulating and visualizing data, and like to get
hands-on with a serious tool for the job, then this book is a great way to
go. The R community has done a great job with this and other books that help
explain both the concepts and tools of data science. The tidyverse
community has also built an first-rate open-source editing and development
environment called R Studio. I shall say no
more that when working with R, I usually use it over Emacs.

R certainly isn’t perfect. As a programming language it’s shockingly
quirky, and I’ve dared not stray from the tree-lined boulevards of simple
dplyr/ggplot2 pipelines. If I wanted to do serious programming in a
data-rich environment, I’d seriously consider switching to Python. But for
the kinds of data work I do, R’s tidyverse has proven to be an excellent

Tricks for a good strip chart

There’s a couple of useful tricks that I often reach for when I use a
strip chart. Often
you have data points with similar, or even the same values. If I plot
them naively, I end up with a strip chart like this.

show code
ggplot(sales, aes(name, d_revenue, color=name)) +
  geom_point(size=5, show.legend=FALSE) +
  ylab(label = "revenue increase (%)") +
  geom_hline(yintercept = 0) +

This plot is still better than that first bar chart, as it clearly
indicates how Bob’s outlier is different to his usual performance. But
with Clara having so many similar values, they all clump on top of each
other, so you can’t see how many there are.

The first of my tricks I use is to add some jitter. This adds some
random horizontal movement to the points of the strip chart, which allows
them to spread out and be distinguished. My second is to make the points
partly transparent, so we can see when they plot on top of each other.
With these two tricks, we can properly appreciate the number and position
of the data points.

Exploring the bin width for histograms

A histogram works by putting the data into bins. So if I have a bin
width of 1%, then all accounts whose revenue increase is between 0 and 1%
are put into the same bin, and the graph plots how many are in
each bin. Consequently the width (or amount) of bins makes a big
difference to what we see. If I make larger bins for this dataset, I get
this plot.

show code
ggplot(large_sales, aes(value, fill=name)) +
  geom_histogram(binwidth = 5, boundary=0,show.legend=FALSE) +
  scale_y_continuous(breaks = c(50,100)) +
  xlab(label = "revenue increase (%)") +
  geom_vline(xintercept = 0) +
  theme_grey(base_size=30) +
  facet_wrap(~ name,ncol=1)

Here the bins are so wide that we can’t see the two peaks of Alice’s

The opposite problem is that if the bins are too narrow the plot
becomes noisy. So when I plot a histogram, I experiment with the bin
width, trying different values to see which ones help expose the
interesting features of the data.

سایت شرط بندی
سایت پیشبینی
سایت شرط بندی معتبر