text:
Home»Business»These Crypto Founders And Bitcoin Moguls Lost $116 Billion In 2022
These Crypto Founders And Bitcoin Moguls Lost $116 Billion In 2022
By maikdezana@icloud.com December 24, 2022 No Comments10 Mins Read
The embattled cryptocurrency industry and its wealthy pioneers face a moment of reckoning after the collapse of crypto exchange FTX and hedge fund Alameda Research
In January 2022, Sam Bankman-Fried was riding high. His Bahamas-based FTX had just raised $400 million from prominent venture capitalists at a $32 billion valuation. A few weeks later, when Forbes published its annual World's Billionaires list, SBF, as he's known, was crypto's second-wealthiest person, worth $24 billion.
Now, Bankman-Fried is likely broke, and awaiting trial. Before he was arrested in the Bahamas, SBF told several media outlets his bank account was down to $100,000, and that he was "not sure" how he'll pay his lawyers. Gary Wang, FTX's other cofounder and the company's former chief technology officer–who entered a plea deal with the Securities and Exchange Commission–has also seen his fortune, once estimated at $5.9 billion, wiped.
FTX's demise was a fitting end to a year of wealth destruction in the cryptocurrency and blockchain sector. The post-pandemic economic shock, which triggered inflation and rising interest rates, sucked capital out of the speculative crypto ecosystem. Prominent firms imploded, from the $40 billion collapse in May of algorithmic stablecoin TerraUSD, to the crypto hedge fund Three Arrows (which declared for bankruptcy in July), to the bankruptcies of interest-bearing lending businesses Voyager Digital, Celsius and BlockFi. Bitcoin, the largest cryptocurrency and an industry bellwether, is down 65% from its $69,000 peak in November 2021. Meanwhile some $2 trillion of market value has fled digital assets for safer pastures.
As a result, 17 of crypto's wealthiest investors and founders have collectively lost an estimated $116 billion in personal wealth since March, according to Forbes' estimates. Fifteen of them have lost more than half their fortune over the past nine months. Ten have lost their billionaire status altogether.
"We're now at the breaking point in crypto where everyone will have to take a pause and say, 'Okay, we've seen a ton of economic wealth destroyed in the last couple of months, we need to start taking this seriously,'" says Matt Cohen, founder of Ripple Ventures, a venture capital firm. "A lot of blockchain technologies and crypto companies built solutions for problems that didn't need fixing, and I think we're now going to have a hard reset."
December net worths as of 12/23/22
The man with the most to lose is Changpeng Zhao, CEO of Binance, crypto's largest exchange, a sprawling global network of murky subsidiaries. CZ, as he's known, has an estimated 70% stake in Binance, which Forbes' values at $4.5 billion–down from $65 billion in March.
CZ helped set FTX's demise in motion on November 6 when he tweeted that Binance would sell its remaining FTT, the native cryptocurrency of FTX. That triggered a run on FTX's coffers as customers scrambled to withdraw their money, only to discover it was gone. FTX declared bankruptcy a few days later. Zhao prevailed over his rival, but now he must contend with the consequences. That could include the clawback in bankruptcy court of the over $2.1 billion that Binance made from selling its stake in FTX back to Bankman-Fried in the summer of 2021. (Zhao helped seed FTX in 2019.)
CZ also faces increased skepticism of centralized exchanges, particularly Binance, and ongoing investigations of him and his company by authorities in Europe and the United States over allegations of facilitating money laundering and other financial crimes. (Binance has denied wrongdoing.) In recent weeks, CZ has sought to reassure Binance users that their crypto deposits are fully backed, commissioning accounting firm Mazars to produce "proof of reserves" reports. These statements, which do not include liabilities, were widely criticized as insufficient for providing an incomplete snapshot of a company's financial health. Mazars has since paused its work with crypto companies, adding to the uncertainty around Binance's finances–and the exchange's future.
"I don't believe a business can persist, operating in this amorphous way, not governed by anyone or anywhere, especially when it's run by a public individual," says Lisa Ellis, an equity analyst at MoffettNathanson, a division of SVB Securities. Binance's "dodgy operating model" would be a "non-starter for many investors, public or private," adds Ellis.
CZ stated in a webinar on December 23 that Binance has zero liabilities: "We are quite a unique organization, we don't have loans from any other organizations," he said. "We will prove all the FUD [fear, uncertainty and doubt] is wrong." A spokesperson for Binance said that Forbes' estimate of CZ's net worth "not an important metric for CZ. What's more important is creating meaningful use cases for crypto."
Barry Silbert, head of crypto conglomerate Digital Currency Group, is at the heart of crypto's market contagion. One of DCG's key assets, crypto lending unit Genesis Global Capital, owes creditors at least $1.8 billion, according to a source familiar with the matter (and as Reuters first reported). Additionally, DCG is saddled with debt. It assumed a $1.1 billion liability from Genesis, which stemmed from a bad loan Genesis had made to the now-bankrupt Three Arrows hedge fund. Separately, DCG owes Genesis another $575 million, which is due in May. DCG also owes $350 million to investment firm Elridge if Genesis goes under, the Financial Times reported.
To stay afloat, Silbert will likely have to raise outside capital or dismantle his DCG crypto empire, which includes some 200 investments in crypto firms and tokens, including crypto news site CoinDesk, bitcoin mining firm Foundry and Grayscale Investments, an asset management business that offers shares in a publicly traded Bitcoin trust. Forbes estimates the value of DCG's outstanding liabilities are greater than the fair market value of its assets in the current market environment; DCG may also struggle to offload illiquid venture bets. For these reasons, Forbes estimates the current value of Silbert's 40% stake in DCG to be approximately $0. Silbert's personal investments could not be determined. A spokesperson for DCG declined to comment.
"They had a solvency issue at Genesis, which transformed into a liquidity issue. But those losses don't disappear," says Ram Ahluwalia, CEO of crypto-focused Lumida Wealth Management, who points out that Genesis creditors will have claims on DCG assets even if Genesis declares bankruptcy. "If DCG doesn't raise fresh equity capital it will be perceived as a zombie business."
Cameron and Tyler Winklevoss, the bitcoin billionaires immortalized in The Social Network for their role in Facebook's founding, are also caught in Silbert's lending web. Gemini, the twins' privately held crypto exchange, offered their users returns as high as 8% during the bull market through their Gemini Earn product, which outsourced the loanmaking to Genesis; now Gemini customers are owed some $900 million by Genesis, according to a source familiar with the matter. On November 16, Genesis suspended withdrawals, leaving customers outraged. Gemini Dollar, the exchange's stablecoin and a key component of Gemini Earn's lending program, has experienced large outflows. The Winklevii have remained quiet, apart from sparsely worded Twitter updates about Gemini forming a creditor committee.
For Brian Armstrong, who is the CEO of publicly traded exchange Coinbase, FTX's collapse presented an opportunity to strike. On November 8, in the chaotic hours after Binance announced its tentative takeover of FTX, Armstrong trumpeted his vision for crypto while dissing Binance's Zhao. "Coinbase and Binance are following different approaches. We're trying to follow a regulated, trusted approach," Armstrong said on the Bankless podcast. "To look at it intellectually honestly, we're choosing to follow the rules. It's a more difficult path and sometimes your hands are tied, but I think that's the right long-term strategy." In a 13-tweet thread that same day, Armstrong reiterated those themes.
Investors don't seem to care. Coinbase's stock is down 64% since August and more than 95% from its $100 billion IPO in April 2021, wiping out much of Armstrong's fortune.
Meanwhile, Coinbase's other cofounder, Fred Ehrsam, got burned by Bankman-Fried. His crypto venture firm Paradigm invested $278 million in FTX equity. Ehrsam has not issued any public statements about the investment. Matt Huang, Ehrsam's partner at Paradigm, said on Twitter: "We feel deep regret for having invested in a founder and company who ultimately did not align with crypto's values and who have done enormous damage to the ecosystem," adding that Paradigm's equity investment in FTX "constituted a small part of our total assets" and that Paradigm had never entrusted FTX to hold any of its digital asset investments.
Private crypto firms that raised capital in 2021 or earlier this year at high valuations are being traded at significant markdowns on secondary markets and in over-the-counter deals, says Matt Cohen of Ripple Ventures, who expects to see larger markdowns for the fourth quarter as companies prepare year-end investor reports. "Q4 audit season is going to be the time when the rubber meets the road on what funds are going to be marked down properly," he says.
For example, shares of NFT exchange OpenSea are trading at a 75% discount since January, when OpenSea hit a $13.3 billion valuation, according to data from private market exchanges ApeVue and CapLight. Daily trading volumes on OpenSea's NFT exchange have been under $10 million in the last month, compared to over $200 million back in January, according to crypto site DappRadar. OpenSea's 30-something cofounders, Devin Finzer and Alex Atallahh, are no longer billionaires.
Nikil Viswanathan and Joe Lau, the founders of Alchemy, a crypto software firm that powers other Web3 ventures, have also departed the three-comma club, based on estimated markdowns of their stakes in Alchemy, which last raised outside capital in February at a $10.2 billion valuation. According to Viswanathan, FTX's collapse "hurts the consumer perception of the [crypto] space. We've seen this play out in the Lehman Brothers and Bernie Madoff collapses in 2008 — it takes time to recover." Alchemy, however, has continued growing throughout the bear market, says Viswanathan. "The difference is in Web3 we've seen developer activity accelerate during even the most tumultuous times, which points to an incredibly strong, mission-driven community of builders."
Jed McCaleb, cofounder of crypto firm Ripple, is believed to be the only person who made their fortune in crypto to have retained most of his fortune through the downturn. But that's because he sold out almost entirely before the crash. McCaleb offloaded some $2.5 billion worth of XRP, Ripple's native token, between December 2020 and July 2022, fulfilling the separation agreement he signed with Ripple's other founders back in 2013. Today, XRP trades around $0.40 per coin, down around 50% from earlier this year, when McCaleb was dumping millions of dollars' worth of XRP tokens each week.
Chris Larsen, Ripple's other founder and its chairman, has lost over $2 billion this year, due to XRP's declining price and Forbes' estimated discount on Ripple's equity valuation. Ripple, which last raised capital in 2019 at a $10 billion valuation, bought back shares from an investor last year at an inflated $15 billion valuation after that investor had sued Ripple in connection with a Securities and Exchange Commission lawsuit filed against Ripple in December 2020; that case is still working its way through courts.
Tim Draper, a venture capitalist who holds around 30,000 bitcoins, dropped from the billionaire ranks earlier this year, when Bitcoin hit $33,000. As ever though, Draper remains optimistic about bitcoin's future, even though his oft-repeated $250,000 price target looks more fanciful by the day. "I suspect that this is the beginning of the end of the centralized tokens," Draper tells Forbes. "If a token is centralized, you're at the mercy of the person who controls the currency. And that was definitely the case with FTX."
Alameda Research Barry Silbert Binance Bitcoin Price Crypto Billionaires Digital Currency Group FTX Gemini Earn Genesis Global Capital Sam Bankman-Fried


text:
Stocks are going nowhere
Akin Oyedele
Stocks opened relatively flat on Friday — a quiet day for economic data but a busy morning for earnings.
Just after the open and near 9:35 a.m. ET, the Dow was up 10 points, while the S&P 500 was down 1 point and the Nasdaq was down 34 points.
Stocks closed lower Thursday, with the Dow shedding 113 points, pulling back from highs of the year and slipping below the 18,000 level.
Microsoft was the biggest loser on the S&P 500 and the Dow in early Friday trading, down 6% after a miss on earnings with weak guidance.
The tech sector led overall declines.
The yen has made one of the more interesting moves in markets today. It fell to about 111.41 against the dollar, nearly 1%, after Bloomberg reported that the Bank of Japan was thinking about offering a negative rate on some loans to help banks lend.
Crude oil was higher near the stock-market open. West Texas Intermediate crude futures in New York rose about 1.2% to as high as $43.98 per barrel.
In earnings, Caterpillar missed on earnings by one penny, and lowered its forecast for full-year earnings per share. The company expects that some of its businesses will remain weak even though commodity prices have rebounded a bit.
McDonald's blew it out of the water with a 46% rise in adjusted EPS that topped estimates. All-day breakfast also helped the company beat forecasts for US same-store sales.
At 9:45 a.m. ET, Markit will release its flash manufacturing PMI for April, which is expected to show steady improvement in the sector.
Baker Hughes will release weekly count of US oil and gas rigs at 1 p.m.
NOW WATCH: 4.2 million Americans could be displaced by rising sea levels this century — see if your county is at risk
clusterstock market update moneygame-us

redpajama_set_name: RedPajamaCommonCrawl


The youthful watchmaking brand, Pierre De Roche, will unveil its new creations at the upcoming Baselworld 2016 watch show (from March 17 until March 24). One if its novelties that we will see this March is the exceptional chronograph watch named Pierre De Roche TNT Chrono 43.
This sporty newcomer features bold and aggressive case design, combined with a busy dial which is quite different when compared with the previous models in the Pierre De Roche range.
The new chronograph from Pierre De Roche boasts some of the brand's recognizable elements, such as the 60-minute counter, a symbol of Pierre DeRoche, and the visible mechanism made by Dubois Dépraz. The see-through sapphire dial shows lots of the movement details from any angle. The movement is also visible through a sapphire crystal case back.
The beating heart of the new TNT Chrono 43 is the automatic chronograph movement with decorated and engraved oscillating weight. This exclusive Dubois Dépraz caliber is built on 49 jewels and provides the usual functions of hours, minutes, seconds, as well as a chronograph and date functions. For the first time ever in the TNT series, all the functions are displayed on a dial.
The watch is housed in a round, sporty case sculpted from stainless steel and titanium. Its bezel, lugs, crown protection and screw-lock crown are crafted from steel, while the middle of the case is made of black PVD-treated titanium. The case measures 43mm in diameter and it is water resistant to 100 meters (approximately 330 feet).
Pierre De Roche TNT Chrono 43 is teamed up with a comfortable black rubber strap, fitted with a safety folding clasp. The latest TNT model is the brand's eighth chronograph. It is produced in the limited series of only 201 pieces.
Pierre De Roche is a relatively young watchmaker established in 2004 by Carole and Pierre Dubois. Pierre is one of the three Dubois brothers and it comes from the famous Dubois-Dépraz family that had been developing and producing horological complications for the great names in Swiss watchmaking industry for four generations so far.


text:
% vim: tw=100

\documentclass[twocolumn]{article}
\usepackage{blindtext}
\usepackage[hypcap]{caption}
\usepackage{fontspec}
\usepackage[colorlinks, urlcolor={blue!80!black}]{hyperref}
\usepackage[outputdir=out]{minted}
\usepackage{relsize}
\usepackage{xcolor}

\setmonofont{Source Code Pro}[
  BoldFont={* Medium},
  BoldItalicFont={* Medium Italic},
  Scale=MatchLowercase,
]

\newcommand{\rust}[1]{\mintinline{rust}{#1}}

\begin{document}

\title{Miri: \\ \smaller{An interpreter for Rust's mid-level intermediate representation}}
\author{Scott Olson\footnote{\href{mailto:scott@solson.me}{scott@solson.me}} \\
  \smaller{Supervised by Christopher Dutchyn}}
\date{April 12th, 2016}
\maketitle

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Abstract}

The increasing need for safe low-level code in contexts like operating systems and browsers is
driving the development of Rust\footnote{\url{https://www.rust-lang.org}}, a programming language
promising high performance without the risk of memory unsafety. To make programming more convenient,
it's often desirable to be able to generate code or perform some computation at compile-time. The
former is mostly covered by Rust's existing macro feature or build-time code generation, but the
latter is currently restricted to a limited form of constant evaluation capable of little beyond
simple math.

The architecture of the compiler at the time the existing constant evaluator was built limited its
potential for future extension. However, a new intermediate representation was recently
added\footnote{\href{https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md}{Rust RFC \#1211: Mid-level IR (MIR)}}
to the Rust compiler between the abstract syntax tree and the back-end LLVM IR, called mid-level
intermediate representation, or MIR for short. This report will demonstrate that writing an
interpreter for MIR is a surprisingly effective approach for supporting a large proportion of Rust's
features in compile-time execution.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Background}

The Rust compiler generates an instance of \rust{Mir} for each function [\autoref{fig:mir}]. Each
\rust{Mir} structure represents a control-flow graph for a given function, and contains a list of
``basic blocks'' which in turn contain a list of statements followed by a single terminator. Each
statement is of the form \rust{place = rvalue}. An \rust{Place} is used for referencing variables
and calculating addresses such as when dereferencing pointers, accessing fields, or indexing arrays.
An \rust{Rvalue} represents the core set of operations possible in MIR, including reading a value
from an place, performing math operations, creating new pointers, structures, and arrays, and so
on. Finally, a terminator decides where control will flow next, optionally based on the value of a
boolean or integer.

\begin{figure}[ht]
  \begin{minted}[autogobble]{rust}
    struct Mir {
        basic_blocks: Vec<BasicBlockData>,
        // ...
    }

    struct BasicBlockData {
        statements: Vec<Statement>,
        terminator: Terminator,
        // ...
    }

    struct Statement {
        place: Place,
        rvalue: Rvalue
    }

    enum Terminator {
        Goto { target: BasicBlock },
        If {
            cond: Operand,
            targets: [BasicBlock; 2]
        },
        // ...
    }
  \end{minted}
  \caption{MIR (simplified)}
  \label{fig:mir}
\end{figure}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{First implementation}

\subsection{Basic operation}

To investigate the possibility of executing Rust at compile-time I wrote an interpreter for MIR
called Miri\footnote{\url{https://github.com/solson/miri}}. The structure of the interpreter closely
mirrors the structure of MIR itself. It starts executing a function by iterating the statement list
in the starting basic block, translating the place into a pointer and using the rvalue to decide
what to write into that pointer. Evaluating the rvalue may involve reads (such as for the two sides
of a binary operation) or construction of new values. When the terminator is reached, it is used to
decide which basic block to jump to next. Finally, Miri repeats this entire process, reading
statements from the new block.

\subsection{Function calls}

To handle function call terminators\footnote{Calls occur only as terminators, never as rvalues.},
Miri is required to store some information in a virtual call stack so that it may pick up where it
left off when the callee returns. Each stack frame stores a reference to the \rust{Mir} for the
function being executed, its local variables, its return value location\footnote{Return value
pointers are passed in by callers.}, and the basic block where execution should resume. When Miri
encounters a \rust{Return} terminator in the MIR, it pops one frame off the stack and resumes the
previous function. Miri's execution ends when the function it was initially invoked with returns,
leaving the call stack empty.

It should be noted that Miri does not itself recurse when a function is called; it merely pushes a
virtual stack frame and jumps to the top of the interpreter loop. Consequently, Miri can interpret
deeply recursive programs without overflowing its native call stack. This approach would allow Miri
to set a virtual stack depth limit and report an error when a program exceeds it.

\subsection{Flaws}

This version of Miri supported quite a bit of the Rust language, including booleans, integers,
if-conditions, while-loops, structures, enums, arrays, tuples, pointers, and function calls,
requiring approximately 400 lines of Rust code. However, it had a particularly naive value
representation with a number of downsides. It resembled the data layout of a dynamic language like
Ruby or Python, where every value has the same size\footnote{An \rust{enum} is a discriminated union
with a tag and space to fit the largest variant, regardless of which variant it contains.} in the
interpreter:

\begin{minted}[autogobble]{rust}
  enum Value {
      Uninitialized,
      Bool(bool),
      Int(i64),
      Pointer(Pointer), // index into stack
      Aggregate {
        variant: usize,
        data: Pointer,
      },
  }
\end{minted}

This representation did not work well for aggregate types\footnote{That is, structures, enums,
arrays, tuples, and closures.} and required strange hacks to support them. Their contained values
were allocated elsewhere on the stack and pointed to by the aggregate value, which made it more
complicated to implement copying aggregate values from place to place.

Moreover, while the aggregate issues could be worked around, this value representation made common
unsafe programming tricks (which make assumptions about the low-level value layout) fundamentally
impossible.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Current implementation}

Roughly halfway through my time working on Miri, Eduard
Burtescu\footnote{\href{https://github.com/eddyb}{eddyb on GitHub}} from the Rust compiler
team\footnote{\url{https://www.rust-lang.org/team.html\#Compiler}} made a post on Rust's internal
forums about a ``Rust Abstract Machine''
specification\footnote{\href{https://internals.rust-lang.org/t/mir-constant-evaluation/3143/31}{Burtescu's
reply on ``MIR constant evaluation''}} which could be used to implement more powerful compile-time
function execution, similar to what is supported by C++14's \mintinline{cpp}{constexpr} feature.
After clarifying some of the details of the data layout with Burtescu via IRC, I started
implementing it in Miri.

\subsection{Raw value representation}

The main difference in the new value representation was to represent values by ``abstract
allocations'' containing arrays of raw bytes with different sizes depending on their types. This
mimics how Rust values are represented when compiled for physical machines. In addition to the raw
bytes, allocations carry information about pointers and undefined bytes.

\begin{minted}[autogobble]{rust}
  struct Memory {
      map: HashMap<AllocId, Allocation>,
      next_id: AllocId,
  }

  struct Allocation {
      bytes: Vec<u8>,
      relocations: BTreeMap<usize, AllocId>,
      undef_mask: UndefMask,
  }
\end{minted}

\subsubsection{Relocations}

The abstract machine represents pointers through ``relocations'', which are analogous to relocations
in linkers\footnote{\href{https://en.wikipedia.org/wiki/Relocation_(computing)}{Relocation
(computing) - Wikipedia}}. Instead of storing a global memory address in the raw byte representation
like on a physical machine, we store an offset from the start of the target allocation and add an
entry to the relocation table which maps the index of the offset bytes to the target allocation.

In \autoref{fig:reloc}, the relocation stored at offset 0 in \rust{y} points to offset 2 in \rust{x}
(the 2nd 16-bit integer). Thus, the relocation table for \rust{y} is \texttt{\{0 =>
x\}}, meaning the next $N$ bytes after offset 0 denote an offset into allocation \rust{x} where $N$
is the size of a pointer (4 in this example). The example shows this as a labelled line beneath the
offset bytes.

In effect, the abstract machine represents pointers as \rust{(allocation_id, offset)} pairs. This
makes it easy to detect when pointer accesses go out of bounds.

\begin{figure}[hb]
  \begin{minted}[autogobble]{rust}
    let x: [i16; 3] = [0xAABB, 0xCCDD, 0xEEFF];
    let y = &x[1];
    // x: BB AA DD CC FF EE (6 bytes)
    // y: 02 00 00 00 (4 bytes)
    //    └───(x)───┘
  \end{minted}
  \caption{Example relocation on 32-bit little-endian}
  \label{fig:reloc}
\end{figure}

\subsubsection{Undefined byte mask}

The final piece of an abstract allocation is the undefined byte mask. Logically, we store a boolean
for the definedness of every byte in the allocation, but there are multiple ways to make the storage
more compact. I tried two implementations: one based on the endpoints of alternating ranges of
defined and undefined bytes and the other based on a bitmask. The former is more compact but I found
it surprisingly difficult to update cleanly. I currently use the much simpler bitmask system.

See \autoref{fig:undef} for an example of an undefined byte in a value, represented by underscores.
Note that there is a value for the second byte in the byte array, but it doesn't matter what it is.
The bitmask would be $10_2$, i.e.\ \rust{[true, false]}.

\begin{figure}[hb]
  \begin{minted}[autogobble]{rust}
    let x: [u8; 2] = unsafe {
        [1, std::mem::uninitialized()]
    };
    // x: 01 __ (2 bytes)
  \end{minted}
  \caption{Example undefined byte}
  \label{fig:undef}
\end{figure}

\subsection{Computing data layout}

Currently, the Rust compiler's data layouts for types are hidden from Miri, so it does its own data
layout computation which will not always match what the compiler does, since Miri doesn't take
target type alignments into account. In the future, the Rust compiler may be modified so that Miri
can use the exact same data layout.

Miri's data layout calculation is a relatively simple transformation from Rust types to a structure
with constant size values for primitives and sets of fields with offsets for aggregate types. These
layouts are cached for performance.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Deterministic execution}
\label{sec:deterministic}

In order to be effective as a compile-time evaluator, Miri must have \emph{deterministic execution},
as explained by Burtescu in the ``Rust Abstract Machine'' post. That is, given a function and
arguments to that function, Miri should always produce identical results. This is important for
coherence in the type checker when constant evaluations are involved in types, such as for sizes of
array types:

\begin{minted}[autogobble,mathescape]{rust}
  const fn get_size() -> usize { /* $\ldots$ */ }
  let array: [i32; get_size()];
\end{minted}

Since Miri allows execution of unsafe code\footnote{In fact, the distinction between safe and unsafe
doesn't exist at the MIR level.}, it is specifically designed to remain safe while interpreting
potentially unsafe code. When Miri encounters an unrecoverable error, it reports it via the Rust
compiler's usual error reporting mechanism, pointing to the part of the original code where the
error occurred. Below is an example from Miri's
repository.\footnote{\href{https://github.com/solson/miri/blob/master/test/errors.rs}{miri/test/errors.rs}}

\begin{minted}[autogobble]{rust}
  let b = Box::new(42);
  let p: *const i32 = &*b;
  drop(b);
  unsafe { *p }
  //       ~~ error: dangling pointer
  //            was dereferenced
\end{minted}
\label{dangling-pointer}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Language support}

In its current state, Miri supports a large proportion of the Rust language, detailed below. The
major exception is a lack of support for  FFI\footnote{Foreign Function Interface, e.g.\ calling
functions defined in Assembly, C, or C++.}, which eliminates possibilities like reading and writing
files, user input, graphics, and more. However, for compile-time evaluation in Rust, this limitation
is desired.

\subsection{Primitives}

Miri supports booleans, integers of various sizes and signed-ness (i.e.\ \rust{i8}, \rust{i16},
\rust{i32}, \rust{i64}, \rust{isize}, \rust{u8}, \rust{u16}, \rust{u32}, \rust{u64}, \rust{usize}),
and unary and binary operations over these types. The \rust{isize} and \rust{usize} types will be
sized according to the target machine's pointer size just like in compiled Rust. The \rust{char} and
float types (\rust{f32}, \rust{f64}) are not supported yet, but there are no known barriers to doing
so.

When examining a boolean in an \rust{if} condition, Miri will report an error if its byte
representation is not precisely 0 or 1, since having any other value for a boolean is undefined
behaviour in Rust. The \rust{char} type will have similar restrictions once it is implemented.

\subsection{Pointers}

Both references and raw pointers are supported, with essentially no difference between them in Miri.
It is also possible to do pointer comparisons and math. However, a few operations are considered
errors and a few require special support.

Firstly, pointers into the same allocations may be compared for ordering, but pointers into
different allocations are considered unordered and Miri will complain if you attempt this. The
reasoning is that different allocations may have different orderings in the global address space at
runtime, making this non-deterministic. However, pointers into different allocations \emph{may} be
compared for direct equality (they are always unequal).

Secondly, pointers represented using relocations may be compared against pointers casted from
integers (e.g.\ \rust{0 as *const i32}) for things like null pointer checks. To handle these cases,
Miri has a concept of ``integer pointers'' which are always unequal to abstract pointers. Integer
pointers can be compared and operated upon freely. However, note that it is impossible to go from an
integer pointer to an abstract pointer backed by a relocation. It is not valid to dereference an
integer pointer.

\subsubsection{Slice pointers}

Rust supports pointers to ``dynamically-sized types'' such as \rust{[T]} and \rust{str} which
represent arrays of indeterminate size. Pointers to such types contain an address \emph{and} the
length of the referenced array. Miri supports these fully.

\subsubsection{Trait objects}

Rust also supports pointers to ``trait objects'' which represent some type that implements a trait,
with the specific type unknown at compile-time. These are implemented using virtual dispatch with a
vtable, similar to virtual methods in C++. Miri does not currently support these at all.

\subsection{Aggregates}

Aggregates include types declared with \rust{struct} or \rust{enum} as well as tuples, arrays, and
closures. Miri supports all common usage of all of these types. The main missing piece is to handle
\texttt{\#[repr(..)]} annotations which adjust the layout of a \rust{struct} or \rust{enum}.

\subsection{Place projections}

This category includes field accesses, dereferencing, accessing data in an \rust{enum} variant, and
indexing arrays. Miri supports all of these, including nested projections such as
\rust{*foo.bar[2]}.

\subsection{Control flow}

All of Rust's standard control flow features, including \rust{loop}, \rust{while}, \rust{for},
\rust{if}, \rust{if let}, \rust{while let}, \rust{match}, \rust{break}, \rust{continue}, and
\rust{return} are supported. In fact, supporting these was quite easy since the Rust compiler
reduces them all down to a small set of control-flow graph primitives in MIR.

\subsection{Function calls}

As previously described, Miri supports arbitrary function calls without growing the native stack
(only its virtual call stack). It is somewhat limited by the fact that cross-crate\footnote{A crate
is a single Rust library (or executable).} calls only work for functions whose MIR is stored in
crate metadata. This is currently true for \rust{const}, generic, and inline functions.
A branch of the compiler could be made that stores MIR for all functions. This would be a non-issue
for a compile-time evaluator based on Miri, since it would only call \rust{const fn}s.

\subsubsection{Method calls}

Miri supports trait method calls, including invoking all the compiler-internal lookup needed to find
the correct implementation of the method.

\subsubsection{Closures}

Calls to closures are also supported with the exception of one edge case\footnote{Calling a closure
that takes a reference to its captures via a closure interface that passes the captures by value is
not yet supported.}. The value part of a closure that holds the captured variables is handled as an
aggregate and the function call part is mostly the same as a trait method call, but with the added
complication that closures use a separate calling convention within the compiler.

\subsubsection{Function pointers}

Function pointers are not currently supported by Miri, but there is a relatively simple way they
could be encoded using a relocation with a special reserved allocation identifier. The offset of the
relocation would determine which function it points to in a special array of functions in the
interpreter.

\subsubsection{Intrinsics}

To support unsafe code, and in particular to support Rust's standard library, it became clear that
Miri would have to support calls to compiler
intrinsics\footnote{\url{https://doc.rust-lang.org/stable/std/intrinsics/index.html}}. Intrinsics
are function calls which cause the Rust compiler to produce special-purpose code instead of a
regular function call. Miri simply recognizes intrinsic calls by their unique
ABI\footnote{Application Binary Interface, which defines calling conventions. Includes ``C'',
``Rust'', and ``rust-intrinsic''.} and name and runs special-purpose code to handle them.

An example of an important intrinsic is \rust{size_of} which will cause Miri to write the size of
the type in question to the return value location. The Rust standard library uses intrinsics heavily
to implement various data structures, so this was a major step toward supporting them. Intrinsics
have been implemented on a case-by-case basis as tests which required them were written, and not all
intrinsics are supported yet.

\subsubsection{Generic function calls}

Miri needs special support for generic function calls since Rust is a \emph{monomorphizing}
compiler, meaning it generates a special version of each function for each distinct set of type
parameters it gets called with. Since functions in MIR are still polymorphic, Miri has to do the
same thing and substitute function type parameters into all types it encounters to get fully
concrete, monomorphized types. For example, in\ldots

\begin{minted}[autogobble]{rust}
  fn some<T>(t: T) -> Option<T> { Some(t) }
\end{minted}

\ldots{}Miri needs to know the size of \rust{T} to copy the right amount of bytes from the argument
to the return value. If we call \rust{some(10i32)} Miri will execute \rust{some} knowing that
\rust{T = i32} and generate a representation for \rust{Option<i32>}.

Miri currently does this monomorphization lazily on-demand unlike the Rust back-end which does it
all ahead of time.

\subsection{Heap allocations}

The next piece of the puzzle for supporting interesting programs (and the standard library) was heap
allocations. There are two main interfaces for heap allocation in Rust: the built-in \rust{Box}
rvalue in MIR and a set of C ABI foreign functions including \rust{__rust_allocate},
\rust{__rust_reallocate}, and \rust{__rust_deallocate}. These correspond approximately to
\mintinline{c}{malloc}, \mintinline{c}{realloc}, and \mintinline{c}{free} in C.

The \rust{Box} rvalue allocates enough space for a single value of a given type. This was easy to
support in Miri. It simply creates a new abstract allocation in the same manner as for
stack-allocated values, since there's no major difference between them in Miri.

The allocator functions, which are used to implement things like Rust's standard \rust{Vec<T>} type,
were a bit trickier. Rust declares them as \rust{extern "C" fn} so that different allocator
libraries can be linked in at the user's option. Since Miri doesn't actually support FFI and wants
full control of allocations for safety, it ``cheats'' and recognizes these allocator functions in
essentially the same way it recognizes compiler intrinsics. Then, a call to \rust{__rust_allocate}
simply creates another abstract allocation with the requested size and \rust{__rust_reallocate}
grows one.

In the future, Miri should also track which allocations came from \rust{__rust_allocate} so it can
reject reallocate or deallocate calls on stack allocations.

\subsection{Destructors}

When a value which ``owns'' some resource (like a heap allocation or file handle) goes out of scope,
Rust inserts \emph{drop glue} that calls the user-defined destructor for the type if it has one, and
then drops all of the subfields. Destructors for types like \rust{Box<T>} and \rust{Vec<T>}
deallocate heap memory.

Miri doesn't yet support calling user-defined destructors, but it has most of the machinery in place
to do so already. There \emph{is} support for dropping \rust{Box<T>} types, including deallocating
their associated allocations. This is enough to properly execute the dangling pointer example in
\autoref{sec:deterministic}.

\subsection{Constants}

Only basic integer, boolean, string, and byte-string literals are currently supported. Evaluating
more complicated constant expressions in their current form would be a somewhat pointless exercise
for Miri. Instead, we should lower constant expressions to MIR so Miri can run them directly, which
is precisely what would need be done to use Miri as the compiler's constant evaluator.

\subsection{Static variables}

Miri doesn't currently support statics, but they would need support similar to constants. Also note
that while it would be invalid to write to static (i.e.\ global) variables in Miri executions, it
would probably be fine to allow reads.

\subsection{Standard library}

Throughout the implementation of the above features, I often followed this process:

\begin{enumerate}
  \item Try using a feature from the standard library.
  \item See where Miri runs into stuff it can't handle.
  \item Fix the problem.
  \item Go to 1.
\end{enumerate}

At present, Miri supports a number of major non-trivial features from the standard library along
with tons of minor features. Smart pointer types such as \rust{Box}, \rust{Rc}\footnote{Reference
counted shared pointer} and \rust{Arc}\footnote{Atomically reference-counted thread-safe shared
pointer} all seem to work. I've also tested using the shared smart pointer types with \rust{Cell}
and \rust{RefCell}\footnote{\href{https://doc.rust-lang.org/stable/std/cell/index.html}{Rust
documentation for cell types}} for internal mutability, and that works as well, although
\rust{RefCell} can't ever be borrowed twice until I implement destructor calls, since a destructor
is what releases the borrow.

But the standard library collection I spent the most time on was \rust{Vec}, the standard
dynamically-growable array type, similar to C++'s \texttt{std::vector} or Java's
\texttt{java.util.ArrayList}. In Rust, \rust{Vec} is an extremely pervasive collection, so
supporting it is a big win for supporting a larger swath of Rust programs in Miri.

See \autoref{fig:vec} for an example (working in Miri today) of initializing a \rust{Vec} with a
small amount of space on the heap and then pushing enough elements to force it to reallocate its
data array. This involves cross-crate generic function calls, unsafe code using raw pointers, heap
allocation, handling of uninitialized memory, compiler intrinsics, and more.

\begin{figure}[t]
  \begin{minted}[autogobble]{rust}
    struct Vec<T> {
        data: *mut T,    // 4 byte pointer
        capacity: usize, // 4 byte integer
        length: usize,   // 4 byte integer
    }

    let mut v: Vec<u8> =
        Vec::with_capacity(2);
    // v: 00 00 00 00 02 00 00 00 00 00 00 00
    //    └─(data)──┘
    // data: __ __

    v.push(1);
    // v: 00 00 00 00 02 00 00 00 01 00 00 00
    //    └─(data)──┘
    // data: 01 __

    v.push(2);
    // v: 00 00 00 00 02 00 00 00 02 00 00 00
    //    └─(data)──┘
    // data: 01 02

    v.push(3);
    // v: 00 00 00 00 04 00 00 00 03 00 00 00
    //    └─(data)──┘
    // data: 01 02 03 __
  \end{minted}
  \caption{\rust{Vec} example on 32-bit little-endian}
  \label{fig:vec}
\end{figure}

Miri supports unsafe operations on \rust{Vec} like \rust{v.set_len(10)} or
\rust{v.get_unchecked(2)}, provided that such calls do no invoke undefined behaviour. If a call
\emph{does} invoke undefined behaviour, Miri will abort with an appropriate error message (see
\autoref{fig:vec-error}).

\begin{figure}[t]
  \begin{minted}[autogobble]{rust}
    fn out_of_bounds() -> u8 {
        let v = vec![1, 2];
        let p = unsafe { v.get_unchecked(5) };
        *p + 10
    //  ~~ error: pointer offset outside
    //       bounds of allocation
    }

    fn undefined_bytes() -> u8 {
        let v = Vec::<u8>::with_capacity(10);
        let p = unsafe { v.get_unchecked(5) };
        *p + 10
    //  ~~~~~~~ error: attempted to read
    //            undefined bytes
    }
  \end{minted}
  \caption{\rust{Vec} examples with undefined behaviour}
  \label{fig:vec-error}
\end{figure}

\newpage

Here is one final code sample Miri can execute that demonstrates many features at once, including
vectors, heap allocation, iterators, closures, raw pointers, and math:

\begin{minted}[autogobble]{rust}
  let x: u8 = vec![1, 2, 3, 4]
      .into_iter()
      .map(|x| x * x)
      .fold(0, |x, y| x + y);
    // x: 1e (that is, the hex value
    //        0x1e = 30 = 1 + 4 + 9 + 16)
\end{minted}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Future directions}

\subsection{Finishing the implementation}

There are a number of pressing items on my to-do list for Miri, including:

\begin{itemize}
  \item A much more comprehensive and automated test suite.
  \item User-defined destructor calls.
  \item Non-trivial casts between primitive types like integers and pointers.
  \item Handling statics and global memory.
  \item Reporting errors for all undefined behaviour.\footnote{\href{https://doc.rust-lang.org/reference.html\#behavior-considered-undefined}{The Rust reference on what is considered undefined behaviour}}
  \item Function pointers.
  \item Accounting for target machine primitive type alignment and endianness.
  \item Optimizations (undefined byte masks, tail-calls).
  \item Benchmarking Miri vs. unoptimized Rust.
  \item Various \texttt{TODO}s and \texttt{FIXME}s left in the code.
  \item Integrating into the compiler proper.
\end{itemize}

\subsection{Future projects}

Other possible Miri-related projects include:

\begin{itemize}
  \item A read-eval-print-loop (REPL) for Rust, which may be easier to implement on top of Miri than
    the usual LLVM back-end.
  \item A graphical or text-mode debugger that steps through MIR execution one statement at a time,
    for figuring out why some compile-time execution is raising an error or simply learning how Rust
    works at a low level.
  \item A less restricted version of Miri that is able to run foreign functions from C/C++ and
    generally has full access to the operating system. Such an interpreter could be used to more
    quickly prototype changes to the Rust language that would otherwise require changes to the LLVM
    back-end.
  \item Unit-testing the compiler by comparing the results of Miri's execution against the results
    of LLVM-compiled machine code's execution. This would help to guarantee that compile-time
    execution works the same as runtime execution.
  \item Some kind of Miri-based symbolic evaluator that examines multiple possible code paths at
    once to determine if undefined behaviour could be observed on any of them.
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Final thoughts}

Writing an interpreter which models values of varying sizes, stack and heap allocation, unsafe
memory operations, and more requires some unconventional techniques compared to conventional
interpreters targeting dynamically-typed languages. However, aside from the somewhat complicated
abstract memory model, making Miri work was primarily a software engineering problem, and not a
particularly tricky one. This is a testament to MIR's suitability as an intermediate representation
for Rust---removing enough unnecessary abstraction to keep it simple. For example, Miri doesn't even
need to know that there are different kinds of loops, or how to match patterns in a \rust{match}
expression.

Another advantage to targeting MIR is that any new features at the syntax-level or type-level
generally require little to no change in Miri. For example, when the new ``question mark'' syntax
for error handling\footnote{
  \href{https://github.com/rust-lang/rfcs/blob/master/text/0243-trait-based-exception-handling.md}
    {Question mark syntax RFC}}
was added to rustc, Miri required no change to support it.
When specialization\footnote{
  \href{https://github.com/rust-lang/rfcs/blob/master/text/1210-impl-specialization.md}
    {Specialization RFC}}
was added, Miri supported it with just minor changes to trait method lookup.

Of course, Miri also has limitations. The inability to execute FFI and inline assembly reduces the
amount of Rust programs Miri could ever execute. The good news is that in the constant evaluator,
FFI can be stubbed out in cases where it makes sense, like I did with \rust{__rust_allocate}. For a
version of Miri not intended for constant evaluation, it may be possible to use libffi to call C
functions from the interpreter.

In conclusion, Miri is a surprisingly effective project, and a lot of fun to implement. Due to MIR's
tendency to collapse multiple source-level features into one, I often ended up supporting features I
hadn't explicitly intended to. I am excited to work with the compiler team going forward to try to
make Miri useful for constant evaluation in Rust.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Thanks}

A big thanks goes to Eduard Burtescu for writing the abstract machine specification and answering my
incessant questions on IRC, to Niko Matsakis for coming up with the idea for Miri and supporting my
desire to work with the Rust compiler, and to my research supervisor Christopher Dutchyn. Thanks
also to everyone else on the compiler team and on Mozilla IRC who helped me figure stuff out.
Finally, thanks to Daniel Keep and everyone else who helped fix my numerous writing mistakes.

\end{document}

redpajama_set_name: RedPajamaGithub


text:
1926 – Time of the Pioneers
Weleda Skin Food is one of our classics. Today, it is as modern as ever. It was an exciting, lively time in which this special herbal skin cream was developed. Find out below what else went on that year:
Charleston is Dance of the Year 1926
With steps such as the "bee's knees", swing kicks and "around the world" legs, the Charleston took the dance world of the 1920s by storm. It shares the same name as the city in South Carolina, and it conquered the world from America. The new dance got its name from the Broadway tune "The Charleston" composed by James P. Johnson. Josephine Baker, who performed it in a banana skirt in Berlin, made the dance famous in Germany.
World Vegetarian Congress
The 6th World Vegetarian Congress of the International Vegetarian Union took place in London in 1926. Delegates from Denmark, Germany, France, Great Britain, Holland, Portugal, Sweden, Spain and Czechoslovakia met from May 25 to 30. The menu, according to The Vegetarian Messenger was as follows: Hors d'oeuvres. Tomato Cream Puree. Brazil Nut Cutlets. New Potatoes. Peas. Egg and Mushroom Vol-au-vent. Russian Salad. Fruit and Nut Cream Trifle. Dessert. Ices. Coffee, Instant Possum Lemonade, Fruit Cup
Menswear becomes sporty
Sportswear found its way into leisurewear. Men wore club jackets from the tennis club, balloon caps and knickerbockers – wide trousers ending shortly below the knee. These were previously only worn during sporting endeavours, such as hiking, bicycling or golf.
Light baths and nudism, naturopathy, the anti-alcohol movement, sport and healthy nutrition – many people longed for a reconnection with nature and free expression in the wake of industrialization and urbanization. The "life reform" movement in Germany and Switzerland emerged as a counter movement, and was widespread by the 1920s. This movement also gave rise to the first health food shops.
The "little black dress" by Coco Chanel
Gabrielle "Coco" Chanel revolutionized women's fashion in the early 20th century by banishing the corset and introducing calf-length skirts and airy trousers. Her "little black dress" (LBD) was designed for widows after the First World War. It stood for grief but at the same time expressed hope for the future. In 1926, it appeared on the cover of Vogue magazine in the United States. Since then, this timeless classic has found a place in nearly every woman's wardrobe.
The first traffic lights began to take over the cities of the world in the 1920s. Until 1924, a policeman managed traffic on Europe's busiest square, Potsdamer Platz in Berlin. Calling attention to himself with a horn, he was known as the "trumpet angel". In 1926, the city tried to regulate traffic centrally. All of the traffic lights switched from red to green at the same time – resulting in the first traffic jam. This is also the origin of the "green wave".
Elisabeth and Marilyn
On April 21, 1926 Elizabeth Alexandra Mary was born from Windsor in Mayfair, London. Six weeks later, on June 1, Norma Jeane Mortenson was born at Los Angeles General Hospital. They met only once in their lives, when they were both 30 years old. Marilyn Monroe travelled with her husband Arthur Miller for a film premiere in London, and was received at Buckingham Palace.
Reconstruction of the Goetheanum
The Goetheanum is a unique building that expresses the ideas and thoughts of Anthroposophy in the language of art. The first Goetheanum was destroyed by fire on New Year's Eve, 1922/23. One year before his death, Rudolf Steiner prepared a model for the second Goetheanum, which was built using fireproof reinforced concrete from 1925 to 1928. It was one of the first monumental, sculptural buildings in the history of architecture.
The architect Sir Giles Gilbert Scott won a competition organized by the Royal Fine Arts Commission with his design of a red telephone kiosk. In March 1926, the first red box was installed at Charing Cross in London. Making phone calls was new and exciting. In the same year, a lecture on this innovative subject was held for the first time in Berlin at the Urania scientific society, titled "Telephony – once, now and in the future".
Weleda Skin Food
Weleda's first cosmetic products were hair oil, hair tonic and mouthwash. This was followed by toothpaste, birch elixir and iris cleansing milk. In 1926 the products on offer expanded to include massage oil with arnica, rosemary bath milk, cold cream – and Weleda Skin Food. This "green skin cream" containing extracts of pansies, chamomile, calendula and rosemary has provided natural and healthy skin care for nearly a century.
Dry Skin Natural Cosmetics Skin Food Skin Care
MORE ARTICLES ABOUT SENSES
Why Natural Fragrances Touch your Soul
What makes the difference
Discover Seven New Senses Within Yourself
There are even more senses than these famous five
Wellness starts from within.
The Weleda Wellness Salad created by Teresa Cutter, The Healthy Chef for the launch of our new Skin Food collection is hydrating, anti-inflammatory and nourishing.
What is Natural Skin Care?
And how much nature is contained in a product
First Aid for Sunburn
Botanical Profile: Pomegranate
Pomegranate seed oil also supports the skin's natural regeneration
Home	Magazine Skin Food: 1926 - Time of the Pioneers


Coming from digital, we've had experience with making videos, but until this client came along, we've never had the chance to try creating THE ad, a TV commercial. As far as this client goes, it didn't turn out to be a single experience, because they wanted two TV ads.
The brief was pretty straightforward – the client wanted to focus on the scent of the fabric softener, whose formula contains scent-releasing molecules which react to touch.
With research, we found that another competitor has already claimed a similar feature, so we decided to concentrate on something else this product has to offer. We focused on the fact that these fabric softeners were created with cooperation with French perfumers, and decided to give one a starring role.
To emphasize the complexity and uniqueness of the scents, we created the character of Pierre, a posh French perfumer who can detect almost ANY smell. But can he, really?
The second TV commercial our client entrusted us with was for their laundry detergents.
They wanted to keep it simple, focus on one woman in the tv ad and explain the differences between each detergent.
Because each detergent is aimed to a certain type/color of clothes, we introduced Violeta laundry detergents as a stylist every woman can trust with her favourite clothes, be it a suit, delicate skirt or dearest sweater she loves to wear often.
The entire process was a great learning experience. We wrote the scripts and in cooperation with the client decided on the director. Then, we partnered up with a production company who handled all the details of each shoot and postproduction.
Both TV ads were a team effort, calling for clear communication and coordination from all three parties included in the process – agency, client and production company. At the end, all we can say is… Magnifique!


text:
Systems Engineer - DevOps
Dublin, Ireland Dublin, Ireland
Senior Software Engineer Business Logic - Backend
Hart bei Graz, Austria Hart bei Graz, Austria
Software Development Engineer - Firmware Embedded - C C++
Hardware Research Engineer
Firenze, Italy Firenze, Italy
Tier 1 Network Engineer
Ostrava, Czech Republic Ostrava, Czech Republic
Senior Application Engineer
Application Engineer - UI
Application Engineer - Fullstack
Senior QA Automation Engineer
Angular Engineer
Senior Digital Experience Engineer
Syracuse, NY, United States Syracuse, NY, United States
El Paso, TX, United States El Paso, TX, United States
Murfreesboro, TN, United States Murfreesboro, TN, United States
Menands, NY, United States Menands, NY, United States
Garden City, NY, United States Garden City, NY, United States
Elgin, SC, United States Elgin, SC, United States
Providence, RI, United States Providence, RI, United States
North Charleston, SC, United States North Charleston, SC, United States
Greenville, SC, United States Greenville, SC, United States
Valhalla, NY, United States Valhalla, NY, United States


is attended by experts from the European Commission, peer countries and relevant stakeholders who provide feedback.
could be effectively transferred to other countries.
The host country can also hold a Peer Review meeting to gather expert advice from other countries to inform the process of preparation of a major policy reform (or new programme or institutional arrangement) in the field of social protection and social inclusion.
Peer Reviews are a key instrument of the Social 'Open Method of Coordination' (OMC).


text:
Retailer Profiles
Beer Terminology Guide
Complementary Products Guide
New Products Guide
Sustainability Guide
Wine Terminology Guide
Entries and Rules
Beverage Alcohol Retailers Conference
A&P Awards
Growth Brands
Wine Stars App
Beverage Dynamics
Home Beverage News COMING IN FROM THE COLD?
COMING IN FROM THE COLD?
As is true of a lot of brown goods over the last 10 to 15 years, Canadian whiskies have dropped off," reported Jack Stoakes, president of Liquor Mart in Boulder, CO. Industry numbers reveal that Stoakes's take on the category is a common one. According to the 1998 Adams Liquor Handbook, Canadian whisky sales have been in steady decline over at least the past six years. In 1997, sales dropped 2.1%. But the most recent estimates by Adams Media Research reveal that the Canadian whisky category may well be stabilizing. In fact, estimates show that total 1998 sales of Canadian whisky were off a mere 0.7%, to 15.9 million 9-liter cases.
Suppliers say that Canadian whisky, the second largest spirit category on the market with almost 12% of distilled spirit sales nationally, shows the potential for a turn-around. Indeed, Stoakes has seen a glimmer of that upturn already. "We're seeing some resurgence among brown goods," he noted, "and Canadians are a part of that."
Many suppliers believe that the category's problems are centered on two fixable factors: a lack of advertising and other marketing support and, until recently, the absence of a well-developed superpremium segment. And these factors are being addressed by some companies.
For example, Allied Domecq Spirits, USA is making a significant statement by implementing a major program for Canadian Club. "The Canadian whisky category has, in the last generation, failed to really solidify itself with the consumer," said Martin Jones, president of Allied Domecq Spirits, USA. "People continue to be loyal to some of the brands in the category, but Canadian whisky has, to some extent, become a little bit too much of a commodity. What we need to do with Canadian Club is begin redeveloping the essence that the brand represents — the strong identity for the product and a reason for the consumer to consume it. We're launching a whole new marketing plan for Canadian Club which will cover the entire range of elements from advertising to new products to sales promotion and merchandising."
SELECTED MARKETING PROGRAMS
(Allied Domecq Spirits, USA)
From January to March, Canadian Club will be launching its three new brand extensions, 10-Year-Old Reserve, 100 Proof and Sherry Cask. The brand is featuring a comprehensive new marketing program encompassing new packaging, advertising, sales promotion and merchandising.
CANADIAN MIST (Brown-Forman)
Among other cross-promotions, Canadian Mist will be running one involving a fire pit, or portable outdoor fireplace, from Coleman.
(Seagram Americas)
Seagram is introducing a new 375 ml size bottle for Crown Royal's Special Reserve. Crown Royal itself is continuing with its Crown Royal Untamed & True country music tour, which, this year, will stop at 40 cities as well as continuing its sponsorship of equestrian events, from show-jumping to rodeos, across the country.
SEAGRAM'S V.O.
Seagram launched an advertising campaign, "It's What Men Do," for V.O.'s new brand, V.O. Gold. The campaign will expand to include V.O. itself this year.
TANGLE RIDGE
(Jim Beam Brands)
Tangle Ridge is offering a variety of off-premise materials, including a bin that looks like two whisky casks and a shelf-talker.
(Barton Brands)
For LTD as well as for its other Canadian brands, Barton will offer either a rebate or a book on poker strategy to consumers. Later in the year, a second book, a guide to casinos, will be offered.
(UDV North America)
Black Velvet will continue with its 26-year-old Black Velvet Lady campaign, one of the longest-running marketing campaigns in the spirits industry. Currently, the brand's materials include a variety of p-o-s merchandising materials.
Basic to the plan is the company's release of three new superpremium Canadian Club line extensions: Canadian Club 100 Proof, Canadian Club 10-Year-Old Reserve and Canadian Club Sherry Cask.
"These brands address changes we've seen in consumers and the evolution of the category," said Dave Waluk, vice president and group marketing director at Allied Domecq Spirits, USA. "The whisky consumer is evolving, becoming more discriminating." This change, Waluk noted, is similar to what has happened with other beverages, such as wine, beer and coffee. "Consumers have more refined tastes," he said. "It's not so much a badging thing as it is being more sophisticated. '
Canadian Club retails for approximately $12, while the new 100 Proof will retail for about $14. Indeed, 100 Proof has already had success in special markets, such as duty free, so it represents a real opportunity for a select consumer niche. The 10-Year-Old Reserve, which will, in some sense, replace Canadian Club Select, a brand that is currently being phased out, will retail for $15 to $16. The new 10-year-old Reserve is "barrel-blended," meaning that its whiskies are blended together in a barrel at the beginning of the maturation period rather than later, as is the case with other blended whiskies. Sherry Cask, which spends part of its aging time in casks previously used for sherry, will retail for approximately $25.
"It's actually an incredibly good-tasting product, and that's one of the things that some of these North American whiskies need," said Jones. "Consumers' tastes evolve, and as they look for a richer, fuller-bodied, complex taste among whiskies, they are searching outside of the Canadian whisky category to single malts, specialty bourbons, and so on. If we can show them that Canadian whisky can be as complex as any of these, then I think there is an opportunity."
Waluk agreed. "The superpremium segment is very underdeveloped," he said. "Canadian whisky lacked the leadership it needed over the last 20 years. There is a lot of opportunity. While the vast majority of the business will still be six-year-old whiskies, [the introduction of superpremiums] will, as happened in the Scotch and bourbon markets, generate lots of news and attract consumer attention."
For Canadian Club, Allied Domecq has hired Hal Riney, an advertising agency based in San Francisco, to develop a new advertising campaign. Scheduled to launch by the end of the first quarter of 1999, the campaign will target young adult consumers, described by Waluk as "entry-level cocktail users, men aged 25 to 39."
For its part, Canadian Mist, the top-selling brand in the category, increased its advertising budget by more than 50% last year, to approximately $3 million per year. And, said Dan Kelley, general manager for the brand at Brown-Forman, "Canadian Mist has, I think, stabilized. It has been up for the last several months because it is benefiting from the renewed focus."
That focus includes an advertising campaign appearing in 22 magazines, as well as radio spots in seven cities and as outdoor ads in approximately 15 markets. The brand has also been doing drink promotions — such as for the Black Manhattan (made with Canadian Mist and Oblio Caffe Sambuca) — as well as cross-promotions, such as an upcoming one involving a Coleman fire-pit product. Kelley sees a lot of favorable trends for Canadian Mist and for Canadian whiskies in general. "More people are drinking whisky, as a percentage of the population," he noted, "and young adult consumers, in their 20s and 30s, are tending to have a higher incidence of whisky consumption than they used to." Furthermore, he pointed out that Canadians, like other spirits, are benefiting from a strong economy and from the growing recognition of the health benefits of moderate alcohol consumption.
Like many suppliers, Kelley is most optimistic about the trends involving young adult consumers. "There are good opportunities to grab the new young adult consumers in their 20s and 30s, rather than let them gravitate toward white spirits," he said. "Canadians are a great product for that because they mix well." Brown-Forman is currently investigating opportunities with advertising agencies to develop an image-building advertising campaign focusing on younger adult consumers.
Seagram Americas, which markets the premium Crown Royal, the number two Canadian, and Seagram's V.O., the number four brand, is also bullish on its brands' potentials. And why not? "Crown Royal is a hot brand. It has been growing like crazy," reported Bob Bernstein, vice president and category director of North American whiskies for the company. Annual sales of Crown Royal have just exceeded the 2 million case mark.
In a category in which many brands compete fiercely on price, Crown Royal has long outperformed its Canadian competitors because of its premium image and price level. This paradox has not been lost on Seagram or on other suppliers.
Indeed, Seagram was one of the first to introduce a superpremium brand extension, Crown Royal Special Reserve, which in 1998, Bernstein said, saw double-digit growth. The brand has also just introduced a new 375 ml size.
And Seagram Americas began rolling out another Canadian superpremium, V.O. Gold, in March. This specially blended product, aged eight years compared to six years for its base brand, is meant both to give current consumers an option to trade up and to appeal to consumers new to Canadian whisky. It is being supported by an advertising campaign, launched in September, that focuses on existing V.O. consumers. "They are very male, and they are not swank but are everyday people," said Bernstein. The ads, with the tagline, "It's what men do," point out humorous "male-isms," such as "They buy tools that they'll never use," and "They remember scores, not anniversaries."
Canadian Club, from Allied Domecq Spirits, USA is featuring point-of-sale materials highlighting the venerable Canadian whisky and two of its new line extensions, Canadian Club Reserve and Canadian Club Sherry Cask.
Some in the spirits business have their doubts about Canadian superpremiums. "They've done well, but they haven't taken off as well as single malts or premium tequilas and vodkas, which appeal to a younger crowd," said Jim Surdyk of Surdyk's, a retail operation in Minneapolis, MN.
Canadian Mist from Brown-Forman, the top-selling Canadian in the category, is doing a cross-promotion with Coleman portable outdoor fireplaces and fire pits.
"Canadians are more of a working man's drink," noted Jack Kavanagh, at Barton Brands, a company whose Canadian whiskies, including Canadian LTD, are price/value brands. "With small-batch bourbons and single malt Scotches, [suppliers] are repositioning the entire concept [of the spirit] and are attracting a different type of consumer. Canadians are somewhat more difficult to reposition." He pointed out, for example, that Canadians have a lighter taste than other whiskies and are mos t often consumed mixed, though with things such as water and ginger ale, rather than in classic cocktails.
TALKING UP CANADIANS
Suppliers are stressing the different attributes of their brands. Some of the terms in circulation are:
AGE STATEMENTS: Legally must be the age of the youngest whisky in the blend. Most Canadians are aged for six years or longer. In general, the longer the aging process, the smoother the whisky.
BARREL-BLENDED: This means that the different whiskies used in the product are blended together first and then aged, allowing more time for their flavors to marry.
DOUBLE-CASKED: While most whiskies used in Canadian blends are aged separately before being blended and bottled, "double-casked" means that the whiskies are aged twice, once before being blended and then again after the blending process.
SHERRY-CASKED: These whiskies are aged in casks that have previously been used to age sherry, thus imparting subtle sherry flavors to the whisky.
As might be expected, suppliers with superpremium entries disagree. Kathleen di Benedetto, director of superpremium brands at Jim Beam, reported that her company's superpremium Canadian, Tangle Ridge, "has been growing at double-, almost triple-digit rates." She added, "We're seeing attitudinal shifts. The opportunities are endless; superpremiums are where the future is."
Tangle Ridge, the double-casked, blended 10-year-old Canadian whisky from Jim Beam Brands, is also appealing to drinkers who'd like to trade up to superpremium whisky.
Like many suppliers, di Benedetto sees the superpremium Canadians as transcending their category. "Consumers don't recognize the whisky categories that we suppliers do," she said.
Allied Domecq's Waluk pointed to his company's consumer research. "Over the years, everything we've seen has told us that, in Canadian whisky, 'whisky' is the operative word. Looking at the market strictly as Canadian whiskies has held back the category."
Seagram Americas rolled out the superpremium Seagram's V.O. Gold last year giving consumers an option to trade up.
Seagram's Bernstein believes consumers make some distinctions. He described Crown Royal's competitive set as "North American whiskies." Canadian superpremiums do not, he believes, compete directly with single malts. "They might appeal to some single malt consumers, but generally those consumers tend to come from Scotch, which has a little more badge value," he explained.
Meanwhile, many price/value brands in the Canadian whisky category continue to be strong performers. Indeed, in some markets, price/value Canadians are not only the top selling brands and top selling whiskies in their category, but are the top-selling spirit of any type.
Barton's Kavanagh reported that his company's largest Canadian, Canadian LTD, saw its sales stay even this year. "All of our brands are price/value and have, for the last couple of years, been outperforming the category."
Kavanagh sees a lot of potential for Canadians. "We're seeing a fair amount of usage among young adults, where before there was almost none," he said. He speculated that, because the last generation moved so strongly to vodka, this generation is moving back toward whiskies, following the perennial tendency of younger consumers not to drink what the previous generation does.
At UDV North America, the theory about marketing Canadians is: if it works, don't fix it. The company continues to use its 26-year-old Black Velvet Lady marketing concept. "It's been communicating a consistent consumer message all that time, and it continues to favorably affect the brand's performance and image," said Jack Shea, spokesperson for UDV. Like other suppliers, UDV is stressing its brand's product attributes, most notably Black Velvet's smoothness. In the on-premise market, the company is stressing the brand's use in classic cocktails, such as the BV Manhattan and the BV Sour. The brand, with flat to slightly increased sales, has been outperforming the category as a whole, Shea said.
The trends, suppliers believe, bode well for Canadian whiskies. "There is a lot of evidence that the category is healthy: younger consumers are interested, the trends have moderated," said Allied Domecq's Waluk. "Now, it's a matter of ensuring that your brands can take advantage of those trends."
Cheryl Ursin is contributing editor to Beverage Dynamics and Cheers. Her writing has also appeared in The New York Times and other publications.
WSET and Cunard Announce Partnership
Estate Jamaica Rum Packaging, Name Updates
BD Roundup – June 3, 2015
Palm Bay Introduces High Heaven Vintners
Rogue Releases 2020 Rolling Thunder Imperial Stout, Stouted Whiskey
Smirnoff Seltzer Teams Up With The Bachelor
Winery Showcase: Foppiano Vineyards
The Macallan Launches Lunar New Year Gift Set
Advertising & Promotion Awards
Growth Brands Awards
Top 100 Retailers
Beverage Handbooks (Research)
Cheers (On-Premise)
StateWays (Control states)
Better Bartending
Beverage Wholesaler
Cannabis Regulator
© 2020 Beverage Dynamics


text:
Co-founder of Calderdale Talking Newspaper and freeman of the Borough, Stuart McArthur, passes away
Stuart McArthur co-founded Calderdale Talking Newspaper in 1979
A Freeman of Calderdale, and one of the founders of Calderdale Talking Newspaper, Mr Stuart McArthur has died at the age of 76.
A great raconteur – Boothtown-born Stuart loved a good story and claimed he arrived in a snowstorm in the middle of Boothtown Road – he was an optimist determined to make the best of life. His fondness for storytelling and his humour often mixed. Short in stature, Stuart was known as "Goliath" and when his eyesight was deteriorating badly he wore an eye patch to help deal with fractured images.
His blindness was congenital, and he formed the talking newspaper, now one of the largest talking newspapers in the world, in 1979 with Jackie Stark and Norman Brown.
Stuart went to Holy Trinity School, Halifax, and after leaving was an engineer at Pratt Precision Hydraulics until his sight started failing when he was about 30. Always interested in technical things, he was a keen radio amateur, using the piratical radio call sign "Captain Pugwash", but Stuart relished physical challenges too.
In his youth he was a very keen boxer – an uncle owned a gym and he represented the Halifax club against other towns – and cyclist. In other modes of transport, he was a proud E-type Jaguar car owner and club member even though he could not drive it himself.
He was an active member of the Royal Antediluvian Order of Buffaloes who meet at Halifax's Catholic Club, and very much involved with the Halifax Society for the Blind, serving on its finance committee and helping arrange holidays at the Society's holiday home at Fleetwood.
Stuart married Jill in 1979 and having taken a conscious decision not to have children and pass on the gene which had affected several members of his family, he was devoted to helping children who had lost their sight, raising understanding about blindness by visiting schools with his guide dog, and speaking to sighted children.
In 2000, he was made a Freeman of Calderdale in recognition of his services to blind people throughout the Borough.
Stuart's funeral will be at Park Wood, Elland, on Friday, February 9, at 11.15am.


Our Tori Espadrilles feature an easy slip-on design and are crafted using a combination of braided jute and raffia. The contrasting sewn hemline and intricate raffia design make these espadrilles a must-have. These Tori Espadrilles will enhance any outfit and have you looking chic wherever you go.


I normally don't do introductions since it seems like a place to brag but out of respect for the forum I figured I should say hello.
I am a 5th Dan with the world shito kai karate federation.
I was drawn to the forum liking for feedback on equipment and prep for some wkf/usankf and wskf competitions.
Rank does not matter. If you can't learn from a white belt you are probably not deserving a black belt.
Welcome to KF, luv2flyjrn; glad that you're here!!
I look forward to reading your many posts, especially with your obvious knowledge and experience!!
Welcome to the forum luv2flyjrn.
Welcome to KF, luv2flyjrn. Glad to have you.
Welcome to KF luv2flyjrn. Glad to have you here.


text:
Why ECS
Start your company
while studying
Cybersecurity!
Entrepreneurial Cybersecurity (Master Eng.)
at Saarland University
Lectures, tutorials on state-of-the-art research in Computer Science and Cybersecurity/Cryptography
Saarland Informatics Campus: top CHE ranking, 6 internationally renowned computer science institutions
Supervision & mentoring by CISPA cybersecurity experts & successful entrepreneurs
Excellent working conditions: coworking spaces, support by IT-Security Incubator, option to pitch for additional funding.
Develop your own startup project in three semesters– from state-of-the-art research to market-ready products
Acquire relevant knowledge in business administration, accounting, and soft skills
Entrepreneurial Cybersecurity...
...a unique combination of Cybersecurity research and your own startup project
The Master's Program Entrepreneurial Cybersecurity teaches advanced techniques and state-of-the-art research in Cybersecurity and enables students to apply and put this knowledge into practice by developing a cybersecurity project, write a proof of concept, and develop a market-ready product.
Thus, it combines our strong research at Saarland Informatics Campus, top-ranked in CHE rankings, especially in the area of Cybersecurity with a market-oriented application. Students will work in close collaboration with Cyberecurity researchers at CISPA − Helmholtz Center for Information Security on campus, who will support and guide students in finding and developing their project ideas.
Master's Degree Program
until July 15
Students are admitted to our program twice per year. Due to the close supervision by our mentors, especially during the Cybersecurity project, we can only accept 30 students per year. For any winter term starting in October, please apply via the Online Application Portal of Saarland University until July 15. For any summer term starting in April, please apply until January 15.
At the end of their studies,
students will have received a Master's Degree,
and, ideally, have founded their startup as well.
Prof. Dr. Andreas Zeller, Program Advisor
The Master's Program is aimed at students with a Bachelor's Degree in Cybersecurity, Computer Science or a related area. Since our program is held in English, proficient knowledge of English is required (level C1). Students have to file an application dossier via the Online Application Service at Saarland University that also includes two assessment letters on the applicant. Please find detailed information on prerequisites and modalities at the Master's website of Saarland University.
Bachelor's Degree in Cybersecurity, Computer Science, or a related subject
Proficiency in English (level C1) since the program is held in English
Interest in applying Cybersecurity research and developing your own ideas to found a company
For a Secure
Program In Detail
Entrepreneurial Cybersecurity:
Saarland University is the first university to combine Cybersecurity Research with the foundation of a startup leading to a degree of "Master of Engineering (M.Eng.)". 50% of the program is dedicated to lectures and seminars in "Cybersecurity" and "Computer Science" complemented by courses in "Business Administration" teaching you the basics to found a successful company. The other 50% of the program consist of a "Cybersecurity Project" which is developed in small groups of 3 students, closely supervised by our mentors. Finally, your contribution is summarized in your "Master's Thesis".
The Master course of study "Entrepreneurial Cybersecurity" teaches students advanced techniques and in-depth research results from the field of cybersecurity and enables them to realize these techniques in an entrepreneurial, practice-oriented way. The course of study consists of three parts:
⅜ of the course of study consist of courses and seminars on cybersecurity and computer science that teach abilities for scientific work as well as in-depth foundations and relevant research results. In optional and elective courses, students can set a personal focus and specialize further. In particular, students can use study content to turn current research results into an entrepreneurial startup; a lecture series establishes contacts between students and researchers and their ideas.
½ of the course of study consists of a founder's project including a related Master's thesis, in which students work in groups for three semesters on a startup idea from cybersecurity, with the goal to actually create a startup during or after their studies. The students thus learn how to realize current research results in a user- and market-oriented fashion, and they acquire important qualifications such as social competence and responsible team work. Presentations and demonstrations ("sales pitches") in front of mentors, founders, and investors, challenge the students' technical and social skills in order to refine the startup idea further. In the final Master#s thesis, students can highlight their own personal contribution towards the startup project. The final presentation of the startup project can also decide on further investments.
⅛ of the course of study consists of complementary courses, in which students acquire further qualifications for startup creation, including startup courses, business administration, an application domain, or soft skills.
By combining these three parts, the course of study prepares for demanding, innovative, and responsible activities in transferring recent research results in the areas of cybersecurity and computer science towards users and markets. While the course of study primarily aims towards creating a startup, the acquired capabilities will allow for research and development activities in a multitude of work contexts.
We provide excellent working conditions. You can work in groups in our coworking spaces and meeting rooms. You will present your cybersecurity project in pitches both in front of an internal and, later on, external audience, thus, enabling you to compete for additional external funding for your product. Our IT-Security Incubator offers additional guidance and support during your studies. There is an option to join the incubator program after you finished your studies. Below you will find an overview of the program structure that spans four semesters.
Lectures in Cybersecurity, related areas of Computer Science, optional courses (30 ECTS)
Lecture Series "Perspectives of Cybersecurity" on current research topics
Find your scientific mentor and form small groups of 2-4 students.
Cybersecurity Project: first prototype, internal sales pitch (15 ECTS)
Cybersecurity Project: Refine your prototype, sales pitch in front of an external audience (15 ECTS)
Master's Thesis: based on your project, typically, a description of your contribution to the proof of concept. (15 ECTS)
Cybersecurity Project: Proof of Concept, Business plan, Sales pitch in front of investors and supporters. (15 ECTS)
About CISPA
The CISPA − Helmholtz Center for Information Security is a German national Big Science Institution within the Helmholtz Association. Its research agenda comprises all aspects of Information Security.
With its ongoing growth, CISPA will have the critical mass of researchers (500+) to provide a comprehensive, holistic treatment of the pressing grand cybersecurity and privacy research challenges that our society faces in the age of digitalization. CISPA seeks to play a prominent international role on research, transfer, and innovation by combining cutting-edge, often disruptive foundational research with innovative application-oriented research, corresponding technology transfer, and societal outreach. Thematically, it strives to cover the full spectrum from theory to empirical research. It is deeply grounded in computer science and works interdisciplinarily with researchers in adjacent fields such as medicine, law, and the social sciences.
https://www.cispa.de
M Euros of External Funding
About Saarland Informatics Campus
CISPA is part of the Saarland Informatics Campus, home to other well-renowned institutes such as the Max Planck Institutes for Informatics and for Software Systems, the German Center for Artificial Intelligence (DFKI), etc. CISPA is located in Saarbruecken, in the greater region neighboring France, Luxemburg placing the center in an ideal location for both cross-border and local collaborations with other research institutes. The "Saarland Informatics Campus" (SIC) offers Study, Research, and Careers in the Heart of Europe. 1,800 students from 81 countries study in 15 informatics-related programs on the Saarland Informatics Campus (SIC) at Saarland University, within three established departments. More than 800 scientists, in two graduate schools and six internationally renowned research institutes, are researching the complete spectrum of informatics topics, thus particularly enriching the areas of IT security, artificial intelligence, visual computing, bioinformatics, and the Semantic Web – from the foundations to innovative applications. The SIC works together with international corporations such as Google, Microsoft and Facebook, and supports numerous spin-offs through its IT Incubator (ITI). Thus it acts as a driver for further industry, research, and development laboratories to locate in the area. The full potential of the site is leveraged to generate scientific publications and win prizes, as well as to put forth patent applications and technological innovations. Thanks to its excellent expertise and competitiveness, joint success is guaranteed at the Saarland Informatics Campus.
https://saarland-informatics-campus.de/en/
Computer Science Institutes
Computer-Science related study programs
I do not speak any German. Will that be a problem for my studies?
The Master's Program is fully held in English. No knowledge of German is required for your studies.
What are the study fees?
There are no general study fees in Germany. Current administrative and social student fees are around 300 EUR per semester. Please find more detailed information on study fees here: https://www.uni-saarland.de/en/study/current/record-data/fees.html
I did not study Cybersecurity. Am I eligible for this program?
Entrepreneurial Cybersecurity requires a BSc in Cybersecurity, Computer Science or a related subject; with a BSc in Electronics and Communications Engineering,or such, you may have to take extra courses with us, depending on the courses you already took.
How can I learn more about the structure and details of the course?
You can find more detailed information on program details, requirements, and useful documents here.
What is the average of working hours per week?
Our courses assume a working time of 40 hours/week including courses, exercises, reading, and studying.
Can I apply to the program and get accepted before I got my bachelor certificate?
Yes, if you do have a letter from your university confirming that you passed your exams and that your BSc will be awarded before the lectures start (i.e., mid October).
What are the required degrees and/or skills?
Our MSc in Entrepreneurial Cybersecurity is a very competitive program that requires strong technical skills in Cybersecurity and Computer Science. If you do not hold a strong degree in these fields and still want to apply, be sure to demonstrate your capabilities appropriately. On top, activities that indicate entrepreneurial skills are very welcome.
Bitahoy Watchdog: a project by an Entrepreneurial Cybersecurity team
State Prize for University Teaching Awarded for Entrepreneurial Cybersecurity
Problem Solving and Communication from July 10-12, 2019
Apply for Entrepreneurial Cybersecurity from Dec. 1 - Jan. 15!
Kick-off Meeting Cybersecurity Project
Make passwords great again!
Student der Cybersicherheit Alexander Rassier im Interview
Entrepreneurial Cybersecurity (Master Eng.) at Saarland University - Enrollment Starts Soon
"Der Studiengang hat mich direkt angesprochen" – Student Sebastian Walla im Interview
Interview mit Studienanfänger der Cybersicherheit Pit Jost
Cybersicherheitsprojekt Kick-Off am 19.10. um 11:00
Vorlesung Security nun immer im Wintersemester
Feed Sitemap
Data Privacy Policy Impressum


text:
You are here: Home / Education / Bullying curriculum goes statewide
Bullying curriculum goes statewide
October 7, 2009 By Jackie Johnson
The widow of a slain high school principal speaks in favor of anti-bullying guidelines.
Sue Klang's husband Weston High School Principal John Klang was murdered three years ago by a disgruntled student. Klang says if a curriculum like this had been in place years ago, her husband might be alive today — the bully might have had second thoughts, and those with knowledge of the bully might have stepped up.
"If we had it in schools and in place … there where several student that knew what Eric planned to do that day and said nothing."
The gunman, 15-year-old Eric Hainstock, is currently serving a life sentence.
Fred Evert, Executive Director of the WEA Trust, says his insurance group is happy to be a part of the call to action to help prevent bullying.
"We believe that bullying is a serious public health issue. To be healthy schools, schools must be safe."
Evert says WEA Trust is covering the $15,000 cost to provide the curriculum to every public elementary and middle school in Wisconsin's 426 districts for free, irrespective of whether they have WEA Trust as their health insurer.
Superintendent Tony Evers says according to a DPI survey this year, over 20 percent of students say they were bullied at school in the previous year. Evers says 250 school districts used a previous version of the program that got under way in February of 2007. He says the second phase, which includes text messages, emails and cyber bullying, is available to start immediately.
Jackie Johnson report (1:49)
Filed Under: Education