As I've mentioned many times before, one of the great things about the Theakston's Old Peculier Crime Writing Festival is the abundance of free books by both well known and new authors. The selection within the goodie bags is quite random, so myself and the Sister often end up with different books, which means even more choice for us both to read. The Liar's Chair was one that the Sister received which I borrowed over Christmas on her recommendation and she wasn't wrong.
The story starts with Rachel driving home still drunk from her assignation the night before. She hits a homeless man and kills him but doesn't call for help. She goes home to her husband David and admits what she has done. David agrees to help her cover up the crime to save their reputation. On the outside Rachel and David have the perfect marriage, a husband and wife team running a hugely successful business together, with money and a fantastic house. However as that would make a rather dull story, all is not what it seems and David is an abusive controlling man. Rachel continues to stay with him, despite his utterly appalling (but sadly not completely unbelievable) actions. Whilst also having a secret side of drink addiction and affairs which we are shown intertwined with flashbacks to her childhood which was just as unpleasant as her marriage.
The Liar's Chair was a disturbing, yet compelling book. The main characters are all as unlikable as each other, which gives an unusual perspective to a story of domestic abuse. Whilst the husband is without doubt a vile being, I have to say I didn't warm to Rachel either. Her actions make you want to give her a shake, although as her childhood story is explored you realise why she acts like she does. Saying that, it's impossible not to have sympathy for Rachel and the situation that she finds herself in, whilst at the same time disliking her for it.
The writing is interesting, with a lot of description and clichés used but this didn't distract from the story. In fact I felt that it helped increase the tension within the book and served to highlight the decline in Rachel's mind as the guilt seemingly overtakes her. It was an incredibly claustrophobic book, with some pretty distressing scenes. Whilst the story itself was not full of shocks and unexpected twists like some crime novels, it was an excellent read that gave a different perspective to a simple hit and run story.
Once again the TOPCWF has highlighted another great author to watch out for, and I'm looking forward to finding out what will be in the goodie bags for 2015.
I am never wrong! Liar's Chair is a book that's been likened to Gone Girl by Gillian Flynn, but as one of the few people in the world who was not a fan of Gone Girl(in fact I never actually finished it!), I thought Liar's Chair an excellent book!


text:
Hard Habit To Break Chicago Download 'Hard Habit To Break' on iTunes
Barbra Streisand's new live TV special looks amazing
15 November 2017, 11:15 | Updated: 5 June 2018, 17:27
Barbra Streisand is without doubt one of the world's greatest ever singers, and a new trailer has shown that she is still on top form.
The vocal powerhouse will star in a brand new concert movie titled Barbra: The Music... The Mem'ries... The Magic!, and you can watch the trailer in full above.
The footage was recorded during her 2016 show in Miami as part of her 13-date tour of the US.
The trailer sees glimpses of Streisand classics and some funny behind-the-scenes moments, as well as a couple of celebrity cameos including Hugh Jackman and Alec Baldwin.
The movie will also see Streisand take fans through a journey of her most famous songs and films.
"I had ten number one albums over six decades," she says. "My God, have I been around that long?"
The concert film will premiere on Netflix on November 22.

redpajama_set_name: RedPajamaCommonCrawl


text:
Home › Industry
NAB Asks for Rulemaking on FM Translator Interference
Group wants to "facilitate the efficient disposition of interference complaints against translators"
By Randy J. Stine
WASHINGTON � There�s been lots of discussion in recent weeks about FM translators and the FCC�s interference rules governing them. Now the National Association of Broadcasters is proposing rule changes to give translator licensees more flexibility in order to resolve interference complaints.
The NAB in a Petition for Rulemaking filed Thursday asks the FCC to consider policy changes meant to �facilitate the efficient disposition of interference complaints against translators.�
The group�s petition acknowledges translators are an increasingly important part of radio broadcasters� service but agrees the growth in the number of translators has increased the risk of translators causing interference to full-power radio stations. As a secondary service, it is incumbent upon a translator licensee to resolve interference caused to any full-power radio stations.
�We propose that Section 74.1233 of the rules be amended to allow translators to move anywhere on the FM dial (instead of only to an adjacent or IF-related channel) to resolve interference, as a minor change,� the NAB said the executive summary of its petition for rulemaking. �This additional flexibility will enable more translator licensees to efficiently cure interference by simply changing channels.�
>The NAB suggests four procedural changes to improve the process for resolving interference complaints against translators. �First, we propose that an actionable complaint should be supported by interference complaints from at least six different listeners to the desired FM station, or perhaps more or less depending on the specific circumstances, such as whether the relevant service area is rural or urban,� the NAB said in the filing�s summary.
It goes on to say such complaints must be verifiable statements �that include clear evidence that the complainant is a regular listener of the FM stations and unaffiliated� with the complaining station.
�Third, actual interference must be shown from a sufficient number of locations to indicate a consistent problem, and be confirmed by an on/off test, where practical,� the NAB states. �Finally, an actionable complaint must document that the full-power station has used commercially reasonable practices to inform the relevant translator licensee of the claimed interference, to ensure an opportunity for the parties to cooperate on resolving the alleged interference without commission involvement, and if an interference complaint is subsequently filed, resolution should be governed by a specific time limit (e.g., 90 days).�
In addition, the NAB will even initiate efforts to mitigate translator interference issues so that no FCC action is required. �Together with industry, we will publish a series of best practices designed to help avoid and manage translator interference. Relevant topics include how to properly engineer a translator to minimize the risk of interference to full-power stations, and ways to privately manage interference conflicts.�
FM translators have made headlines in recent weeks when the FCC gave some 2,000 or so AM stations that rebroadcast on FM translators more flexibility in locating their FM signals. LPFM advocates worry the rule change could harm some low-power FMs. The commission also began accepting comments on a Petition for Rulemaking from Aztec Capital Partners Inc. that seeks a �rebalancing of the equities in the FM translator rules� so that radio service provided by fill-in translators is not �forestalled or removed by distant radio stations far outside� a local radio market.
This article originally appeared on RadioWorld.com.
Tags ⋅ FCC ⋅ FM translator ⋅ NAB ⋅ Radiomag
WJKL(FM) gets a Dielectric DCR-M with special design aspects
WMGG Has Turned on All-Digital AM
Tampa-area station is the first since the FCC changed its rules
FCC Sets Deadline for Geo-Targeting Comments
Submit your comments by Feb. 10


RACERBACK FIT feel free and empowered to exercise while managing your perspiration.
DRI-FIT POLYESTER AND ELASTIN MIX will keep you cool and dry.
STRETCHES TO YOUR FIT to help complement your shape and muscle definition.
QUALITY is why we dominate in Sports Activewear and Gym wear.
Whether you are into bodybuilding cross fit, running, calisthenic, yoga or any other sports this gym clothes is the right fit for you.
FIT ARMY has been rated as one of the best men gym clothes and fitness apparel wear in North America.


The Tastemaker Top 10 is a collection of 10 questions asked by me and answered by some of my favorite bloggers. Here they will tell you a little bit about themselves, their blogs, and of course, their favorite foods and restaurants. Today we are talking to Sara of Project Soiree, one of my favorite Chicago lifestyle blogs. Read on to see what she has to say!
In a few sentences, tell us a little bit about your blog: I absolutely love seafood! A grilled salmon with fresh vegetables during the summer is my favorite.
3. Favorite restaurant in your city: Mon Ami Gabi - The mussels and the baked goat cheese with their freshly baked baguette is the best. They also have a great patio during the summer!
4. Favorite restaurant outside of your city: Mangiamos! in my hometown of Grand Rapids, MI is a must when I'm home visiting family. This restaurant holds so many memories of dinners with friends and family and their pizzas are pretty amazing.
5. Favorite food memory: Eating gelato on the Spanish Steps in Rome, Italy. I'm dying to go back.
6. Favorite guilty pleasure food: This is really random, but I love the sugar cookies from Potbelly…so amazing when they just come out of the oven.
7. Favorite ingredient (something you love to cook with, or something you see on a menu and know you have to order): Avocado anything and I'm hooked.
8. Favorite kitchen tool, utensil, product, etc.: I'm always using my cheese grater because I'm slightly obsessed with cheese.
9. Favorite recipe: I love this recipe for Coconut Macaroons because they taste amazing and they are super easy to make.
10. Favorite thing about blogging: It's great having Project Soiree as a creative outlet, but most of all I love the networking/friendships with other bloggers.
Thanks so much for your thoughts, Sara!


text:
\section{Introduction}
\label{sec:intro}

In communication systems, the signal transmitted is conventionally
represented as a finite sequence of elements from an alphabet $A$,
which we assume to be finite.  In general, we may take
$A=\{0,1,\ldots,q-1\}$, and if needed, some additional structure is
assumed, e.g., $A=\mathbb{Z}_q$ or $A=\mathbb{F}_q$. The most commonly
discussed channel model is the uniform symmetric channel, that is, an
error $a\rightarrow b$ happens with equal probability for any $a,b\in
A$ and $a\neq b$.  Error-correcting codes for these channels are
extensively studied, see, for instance, \cite{MacWilliams}.

However, in other systems, such as some data storing systems including
flash memories \cite{CR79:2,flash} and optical communication
\cite{MR}, the probability of the error $a\rightarrow b$ is no longer
independent of $a$ and $b$ and might vary a lot.  If some errors of
low probability are neglected, some of those channels can be modeled
as `asymmetric channels.'

More precisely, let the alphabet be $A=\{0,1,\ldots,q-1\}\subset
\mathbb{Z}$ with the ordering $0<1<2<\cdots < q-1$. A channel is called
asymmetric if any transmitted symbol $a$ is received as $b\leq a$. For
example, for $q=2$, the symbol $0$ is always received correctly while
$1$ may be received as $0$ or $1$. The corresponding channel is
called $\mathcal{Z}$-channel, see Fig.~\ref{fig:channel}. For $q>2$,
one can have different types of asymmetric channels~\cite{DetCode}.

Coding problems for asymmetric channels were discussed by Varshamov in
1965 \cite{Var65}. For the characterization of codes for these
channels, we need the following.
\begin{definition}[see \cite{Var65,Var73,Klo81}]
\label{def:channelmodel}
For $\mathbf{x},\mathbf{y}\in A^n$, where
$\mathbf{x}=(x_1,x_2,\ldots,x_n)$ and
$\mathbf{y}=(y_1,y_2,\ldots,y_n)$, let
\begin{itemize}
\item[(i)] $w(\mathbf{x}):=\sum_{i=1}^n x_i$,
\item[(ii)]
  $N(\mathbf{x},\mathbf{y}):=\sum_{i=1}^{n}\max\{y_i-x_i,0\}$, and
\item[(iii)]
  $\Delta(\mathbf{x},\mathbf{y}):=\max\{N(\mathbf{x},\mathbf{y}),N(\mathbf{y},\mathbf{x})\}$.
\end{itemize}
Here $w(\mathbf{x})$ is the weight of $\mathbf{x}$, and
$\Delta(\mathbf{x},\mathbf{y})$ is called the asymmetric distance
between $\mathbf{x}$ and $\mathbf{y}$.  If $\mathbf{x}$ is sent and
$\mathbf{y}$ is received, we say that $w(\mathbf{x}-\mathbf{y})$
errors have occurred.  Note that $w(\mathbf{x}-\mathbf{y})\ge 0$ for
asymmetric channels.
\end{definition}

In this model, a code correcting $t$-errors is called a
$t$-code~\cite{Klo81}. The following theorem naturally follows.
\begin{theorem}[see \cite{Klo81}]
\label{thm:main}
A set $\mathcal{C}\subset A^n$ is a $t$-code if and only if
$\Delta(\mathbf{x},\mathbf{y})>t$ for all $\mathbf{x},\mathbf{y}\in
\mathcal{C}$, $\mathbf{x}\neq\mathbf{y}$.
\end{theorem}

Apparently, any code which can correct $t$ errors on a symmetric
channel will also be capable of correcting $t$ asymmetric errors, but
the converse is not true in general.  However, Varshamov showed that
almost all linear binary codes which are able to correct $t$ errors
for the $\mathcal{Z}$-channel are also able to correct $t$ symmetric
errors \cite{Var65}.  Therefore, in order to construct good codes for
the $\mathcal{Z}$-channel, nonlinear constructions are needed.
Varshamov and Tenengol'ts \cite{Varshamov2}, followed by Constantin
and Rao \cite{constantin-rao}, constructed families of $1$-codes for
the $\mathcal{Z}$-channel with size $\geq\frac{2^n}{n+1}$.  These
codes are constructed based on an Abelian group $G$ for which the
group operation is denoted by `$+$' and the identity of $G$ is denoted
by $0_G$ or just $0$.
\begin{definition}[Constantin-Rao (CR) codes]
\label{def:CR}
Let $G$ be an Abelian group of order $n+1$ and identity $0_G$. For
fixed $g\in G$, the CR code $\mathcal{C}_g$ is given by
\begin{equation}\label{eq:CR}
\mathcal{C}_g=(\{(x_1,x_2,\ldots,x_n)|\sum_{i=1}^n x_ig_i=g\}),
\end{equation}
where $g_1,g_2,\ldots,g_n$ are the non-identity elements of $G$,
$x_i\in\{0,1\}$, and the product $x_i g_i$ is defined in the canonical
way $1 g_i=g_i$ and $0 g_i=0_G$.
\end{definition}

If the group $G$ is a cyclic group of order $n+1$, then the
corresponding codes are Varshamov-Tenengol'ts (VT) codes
\cite{Varshamov2} (denoted by $\mathcal{V}_g$).  It is known that the
largest Constantin-Rao code of length $n$ is the code $\mathcal{C}_0$
based on the group
$G=\bigoplus_{p|(n+1)}\bigoplus_{i=1}^{n_p}\mathbb{Z}_p$, where
$n+1=\Pi_{p|(n+1)}p^{n_p}$ is the prime factorization of $n+1$ and
$\oplus$ denotes the direct product of groups (see \cite{Klo81}).
These VT-CR codes have better rates than the corresponding
single-error-correcting codes for the binary symmetric channel for all
lengths $n$ apart from $n=2^r-1$. In this case, the code $\mathcal{C}_0$ for the
group $G=\mathbb{Z}_2^r$ is the linear binary Hamming code.

These VT-CR codes have a direct generalization to the nonbinary case.
The modification of Definition \ref{def:CR} is to let $x_i\in
A=\{0,1,\ldots,q-1\}$ and require that the order of $g_i$ is at least
$q$. The resulting nonlinear codes have cardinality
$|\mathcal{C}_g|\geq \frac{q^n}{n+1}$.  Note that by the Hamming
bound, we have $|\mathcal{C}_{\text{sym}}|\le\frac{q^n}{(q-1)n+1}$ for
a symmetric single-error-correcting code.  Hence for $q>2$ and all
lengths $n$, the VT-CR codes have more codewords than the best
single-error-correcting symmetric codes of the same length.  The
construction can also be generalized to the case of $t$-codes with
$t>1$, for both binary and nonbinary alphabets \cite{Klo81}.

Some other constructions for designing single-error-cor\-rect\-ing
codes for the $\mathcal{Z}$-channel have also been introduced.  In
particular the partition method,
together with some heuristic search give good lower bounds for small
length codes with $n\leq 25$ \cite{Etzion,Bassam,Etzion2,Shilo}.
Nevertheless, the VT-CR construction remains the best systematic
construction of binary $1$-codes to date, and the situation is similar
for the nonbinary case. For a survey of classical results on codes for
the $\mathcal{Z}$-channel, see \cite{Klo81}.

In this paper, we present new constructions of codes for asymmetric
channels for both binary and nonbinary alphabets, based on methods of
generalized code concatenation.  For the binary asymmetric channel,
our methods construct nonlinear $1$-codes from ternary outer codes
which are better than the VT-CR codes.  For nonbinary asymmetric
channels, our methods yield linear codes for many lengths and
distances, which outperform the linear codes of the same lengths
capable of correcting the same number of symmetric errors.  For
certain lengths, our construction gives linear codes with equal
cardinality as the nonlinear VT-CR codes.
Our results indicate that Varshamov's argument
does not extend to the nonbinary case, i.e., one can find better
linear codes for asymmetric channels than for symmetric ones.
We will also apply our nonbinary linear codes to correct asymmetric
limited magnitude errors~\cite{CSB+10},
which models the asymmetric errors in multilevel flash memories
in a more detailed manner.

\section{Binary asymmetric codes from ternary outer codes}
\label{sec:ternary}
To discuss our new construction for asymmetric codes based on the
generalized concatenation method, we start with the binary case,
building $1$-codes for the $\cal{Z}$-channel.
We know that in this case, good codes would have to be nonlinear,
so our method returns nonlinear codes.

To construct $1$-codes for the $\cal{Z}$-channel, we first partition
all two-bit strings $\{00,01,10,11\}$ into three $1$-codes, which are
$C_{\mathit{0}}=\{00,11\}$, $C_{\mathit{1}}=\{01\}$,
$C_{\mathit{2}}=\{10\}$. Then we further find some outer codes over
the alphabet $\{\mathit{0},\mathit{1},\mathit{2}\}$ (i.e. ternary
outer codes). Each code symbol is encoded into each of the $1$-codes
by $i\mapsto C_i$.  To be more precise, define a binary to ternary map
$\tilde{\mathfrak{S}}$, which maps two bits to one trit.
\begin{definition}
\label{def:Stilde}
The map $\tilde{\mathfrak{S}}\colon\: \mathbb{F}^2_2\rightarrow
\mathbb{F}_3$ is defined by
\begin{equation}
\tilde{\mathfrak{S}}\colon\: 00\mapsto\mathit{0},\ 11\mapsto\mathit{0},\ 01\mapsto\mathit{1},\ 10\mapsto\mathit{2}.
\end{equation}
\end{definition}

The encoding $i\rightarrow C_i$ is then given by the inverse map of
$\tilde{\mathfrak{S}}$.  Note that $\tilde{\mathfrak{S}}$ is not
one-to-one.  So for the ternary symbol $\mathit{0}$ the inverse map
gives the two binary codewords $00$ and $11$, while for $\mathit{1}$
and $\mathit{2}$ we get the unique codewords $01$ and $10$,
respectively.
\begin{definition}
\label{def:S}
The map $\mathfrak{S}\colon\: \mathbb{F}_3\rightarrow
\powerset(\mathbb{F}^2_2)$ is defined by
\begin{equation}
\mathfrak{S}\colon\: \mathit{0}\mapsto \{00,11\},\ \mathit{1}\mapsto\{01\},\ \mathit{2}\mapsto\{10\}.
\end{equation}
\end{definition}

Note that for a binary code of length $n=2m$, by choosing a pairing of
coordinates, the map $\tilde{\mathfrak{S}}^m\colon\:
\mathbb{F}^{2m}_{2}\rightarrow \mathbb{F}_3^m$ takes a given binary
code of length $2m$ to a ternary code of length $m$.  On the other
hand, Definition \ref{def:S} can be naturally extended as well, i.e.,
the map $\mathfrak{S}^m$ takes a given ternary code of length $m$ to a
binary code of length $2m$.  The map $\mathfrak{S}^m$ hence specifies
the encoding of an outer ternary code into the inner codes $C_i$.

We remark that our method
is indeed a two-level concatenation as discussed in~\cite{Dumer}.
In the language of~\cite{Dumer}, we have an inner code $B_0=\{00,01,10,11\}$
which is partitioned into three codes $B_{1,1}=\{00,11\}$, $B_{1,2}=\{01\}$
and $B_{1,3}=\{10\}$. We also have two outer codes, one is a ternary code $A_0$
of length $m$, and the other is the trivial ternary code of length 1, i.e. $A_1=\{0,1,2\}$.
The two-level concatenated code is then a binary code with length $2m$.

For a better understanding of the maps $\tilde{\mathfrak{S}}^m$ and
$\mathfrak{S}^m$, we look at some examples.

\begin{example}
The optimal $1$-code $\mathcal{C}^{(4)}$ of length $n=4$ and
cardinality $4$ has four codewords $0000,1100,0011,1111$. By pairing
coordinates $1,2$ and $3,4$, the ternary image under
$\tilde{\mathfrak{S}}^2$ is then $\mathit{00}$.
\end{example}

\begin{example}
\label{Eg612}
By starting from the ternary outer code of length $n=3$ with the
codewords
$\mathit{000,111,122,212,221}$,
the map $\mathfrak{S}^3$ yields the binary code $\mathcal{C}^{(6)}$
with the $12$ codewords
\begin{equation}
\begin{array}{llllll}
000000, & 000011, & 001100, & 001111, & 110000, & 110011,\\
111100, & 111111, & 010101, & 011010, & 100110, & 101001.
\end{array}
\end{equation}
The code $\mathcal{C}^{(6)}$ has asymmetric distance $2$, hence
correcting one asymmetric error. This is known to be an optimal
$1$-code for $n=6$ \cite{Klo81}.
\end{example}

\begin{example}
\label{Eg832}
By starting from the linear ternary code $[4,2,3]_3$ with generators
$\mathit{0111,1012}$, the map $\mathfrak{S}^4$ yields the binary
code $\mathcal{C}^{(8)}$ with $32$ codewords
\begin{equation}
\begin{array}{llll}
00000000, & 00000011, & 00001100, & 00001111, \\
00110000, & 00110011, & 00111100, & 00111111, \\
11000000, & 11000011, & 11001100, & 11001111, \\
11110000, & 11110011, & 11111100, & 11111111, \\
00010101, & 00101010, & 11010101, & 11101010, \\
01000110, & 10001001, & 01110110, & 10111001, \\
01011000, & 10100100, & 01011011, & 10100111, \\
10010001, & 01100010, & 10011101, & 01101110.
\end{array}
\end{equation}
$\mathcal{C}^{(8)}$ has asymmetric distance $2$, hence
correcting one asymmetric error.  We observe that
$\mathcal{C}^{(8)}$ is exactly the CR code
$\mathcal{C}_0$ of length $n=8$ constructed from the group
$\mathbb{Z}_3\oplus\mathbb{Z}_3$, which hints some relationship
between the ternary construction and CR codes. We will discuss
this in more detail in Sec. \ref{sec:Crternary}.
\end{example}

Example \ref{Eg832} indicates that good $1$-codes can be obtained from
some ternary codes under the map $\mathfrak{S}^m$.  Now the question
is what is the general condition under which a ternary code gives a
$1$-code via the map $\mathfrak{S}^m$. To address this question, by
combining the action of the channel $\mathcal{Z}\times\mathcal{Z}$ and
the map $\tilde{\mathfrak{S}}$, we obtain the ternary channel
$\mathcal{T}$ as shown in middle of Fig.~\ref{fig:channel}. Note that
$\mathcal{T}$ is different from the ternary symmetric channel
$\mathcal{R}_3$, which is also shown in Fig.~\ref{fig:channel}.

\begin{figure}[h!]
\centerline{\small%
\begin{tabular}{ccc}
&
\begin{picture}(80,20)(0,5)
\put(10,10){\makebox(0,0){$01$}}
\put(15,10){\vector(2,-1){20}}
\put(35,20){\vector(-2,-1){20}}
\put(40, 0){\makebox(0,0){$00$}}
\put(40,20){\makebox(0,0){$11$}}
\put(45,20){\vector(2,-1){20}}
\put(65,10){\vector(-2,-1){20}}
\put(70,10){\makebox(0,0){$10$}}
\end{picture}
&
\\
\begin{picture}(50,30)(0,5)
\put(10,10){\makebox(0,0){$0$}}
\put(40,10){\makebox(0,0){$1$}}
\put(37,10){\vector(-1,0){24}}
\end{picture}
&
\begin{picture}(80,30)(0,5)
\put(10,10){\makebox(0,0){$\mathit{1}$}}
\put(13,10){\vector(1,0){24}}
\put(37,10){\vector(-1,0){24}}
\put(40,10){\makebox(0,0){$\mathit{0}$}}
\put(43,10){\vector(1,0){24}}
\put(67,10){\vector(-1,0){24}}
\put(70,10){\makebox(0,0){$\mathit{2}$}}
\end{picture}
&
\begin{picture}(50,30)(0,5)
\put(25,33){\makebox(0,0){$\mathit{0}$}}
\put(10,10){\makebox(0,0){$\mathit{1}$}}
\put(40,10){\makebox(0,0){$\mathit{2}$}}
\put(37,10){\vector(-1,0){24}}
\put(13,10){\vector(1,0){24}}
\put(13,10){\vector(2,3){12}}
\put(25,28){\vector(-2,-3){12}}
\put(37,10){\vector(-2,3){12}}
\put(25,28){\vector(2,-3){12}}
\end{picture}
\\
$\mathcal{Z}$
&
$\mathcal{T}$
&
$\mathcal{R}_3$
\end{tabular}}
\caption{The binary asymmetric channel $\mathcal{Z}$, the ternary
  channel $\mathcal{T}$ derived from $\mathcal{Z}\times\mathcal{Z}$
  and $\tilde{\mathfrak{S}}$, and the ternary symmetric channel
  $\mathcal{R}_3$.  The arrows indicate the possible transitions
  between symbols.}
\label{fig:channel}
\end{figure}

Now we come to the main result of this section,
which states that any single-error-correcting code for the ternary
channel $\mathcal{T}$ gives a $1$-code under the map $\mathfrak{S}^m$.
\begin{theorem}
If $\mathcal{C}'$ is a single-error-correcting ternary code of length
$m$ for the channel $\mathcal{T}$, then
$\mathcal{C}=\mathfrak{S}^{m}(\mathcal{C}')$ is a $1$-code of length
$2m$.
\label{ChannelT}
\end{theorem}
\begin{IEEEproof}
For any two codewords $\mathbf{c}'_1,\mathbf{c}'_2\in
\mathcal{C}'$, we have to show that the asymmetric distance between
$\mathfrak{S}^m(\mathbf{c}'_1)$ and $\mathfrak{S}^m(\mathbf{c}'_2)$ is
at least two.

First assume that the Hamming distance between $\mathbf{c}'_1$ and
$\mathbf{c}'_2$ is at least three. Then the Hamming distance between
$\mathfrak{S}^m(\mathbf{c}'_1)$ and $\mathfrak{S}^m(\mathbf{c}'_2)$ is
also at least three, which implies that the asymmetric distance between
$\mathfrak{S}^m(\mathbf{c}'_1)$ and $\mathfrak{S}^m(\mathbf{c}'_2)$ is
at least two.

If the Hamming distance between $\mathbf{c}'_1$ and $\mathbf{c}'_2$ is
less than three, it suffices to consider ternary words of length two.
It turns out that the following ten pairs of such ternary words can be
uniquely decoded if a single error happens in the channel
$\mathcal{T}\times\mathcal{T}$:
\begin{equation}
\begin{array}{lllll}
\mathit{01,22} & \mathit{10,22} & \mathit{01,12} & \mathit{10,21} & \mathit{02,11},\\
\mathit{20,11} & \mathit{02,21} & \mathit{20,12} & \mathit{11,22} & \mathit{12,21}.
\end{array}
\label{pairs}
\end{equation}
The asymmetric distance between the images of each pair under
$\mathfrak{S}^2$ is at least two.
\end{IEEEproof}

The following corollary is straightforward.
\begin{corollary}
\label{coro:d3}
If $\mathcal{C}'$ is an $(m,K,3)_3$ code, then
$\mathfrak{S}^{m}(\mathcal{C}')$ is a $1$-code of length $2m$.
\label{linear}
\end{corollary}

The size of the binary code can be computed as follows.
\begin{theorem}
Let $\mathcal{C}'$ be a ternary code of length $m$ with homogeneous
weight enumerator
\begin{equation}
W_{\mathcal{C}'}(X,Y)=\sum_{\mathbf{c}'\in\mathcal{C}'} X^{m-\mathop{\rm wgt}(\mathbf{c}')}Y^{\mathop{\rm wgt}(\mathbf{c}')},
\end{equation}
where $\mathop{\rm wgt}(\mathbf{c}')$ denotes the Hamming weight of
$\mathbf{c}'$. Then $\mathcal{C}=\mathfrak{S}^m(\mathcal{C}')$ has
cardinality $|\mathcal{C}|=W_{\mathcal{C}'}(2,1)$.
\end{theorem}
\begin{IEEEproof}
By Definition \ref{def:S}, for every zero in the codeword
$\mathbf{c}'$ the corresponding pair in the binary codeword can take
two different values, while the non-zero elements are mapped to a
unique binary string. Hence
$|\mathfrak{S}^m(\mathbf{c}')|=2^{m-\mathop{\rm wgt}(\mathbf{c}')}$.
\end{IEEEproof}

Theorem \ref{ChannelT} only works for designing $1$-codes of even
length.  So we generalize this construction to odd length, starting
from `adding a bit' to the ternary code.
\begin{theorem}
\label{th:odd}
If $\mathcal{C}'$ is a single-error-correcting code of length $m+1$
for the channel $\mathcal{Z}\times\mathcal{T}^{m}$, then
$\mathcal{C}=\mathfrak{S}^{m}(\mathcal{C}')$ is a $1$-code of length
$2m+1$, where $\mathfrak{S}^{m}$ acts on the last $m$ coordinates of
$\mathcal{C}'$.
\label{ChannelZT}
\end{theorem}
\begin{IEEEproof}
First note that the combined channel
$\mathcal{Z}\times\mathcal{T}^{m}$ has a mixed input alphabet. Hence
the first coordinate in $\mathcal{C}$ is binary while the others are
ternary. For any two codewords $\mathbf{c}'_1,\mathbf{c}'_2\in
\mathcal{C}'$, we have to show that the asymmetric distance between
$\mathfrak{S}^m(\mathbf{c}'_1)$ and $\mathfrak{S}^m(\mathbf{c}'_2)$ is
at least two.

First assume that the Hamming distance between $\mathbf{c}'_1$ and
$\mathbf{c}'_2$ is at least three. Then the Hamming distance between
$\mathfrak{S}^m(\mathbf{c}'_1)$ and $\mathfrak{S}^m(\mathbf{c}'_2)$ is
also at least three, implying that the asymmetric distance between
$\mathfrak{S}^m(\mathbf{c}'_1)$ and $\mathfrak{S}^m(\mathbf{c}'_2)$ is
at least two.

If the Hamming distance between $\mathbf{c}'_1$ and $\mathbf{c}'_2$ is
less than three, the case that the positions where they differ does
not involve the first coordinate has already been covered in the proof
of Theorem \ref{ChannelT}.  So assume that the first coordinate is a
bit and the second is a trit. There are exactly two pairs
$0\mathit{1},1\mathit{2}$ and $1\mathit{2},1\mathit{1}$ for which a
single error on $\mathcal{Z}\times\mathcal{T}$ can be corrected.  The
corresponding images of each pair under $\mathfrak{S}^m$ give binary
codewords of asymmetric distance two.
\end{IEEEproof}

To illustrate this construction for odd length codes, we look at the
following example.
\begin{example}
Consider the code $0\mathit{000}$, $0\mathit{111}$, $0\mathit{222}$,
$1\mathit{012}$, $1\mathit{120}$, $1\mathit{201}$ for the channel
$\mathcal{Z}\times\mathcal{T}^{3}$.  The image under the map
$\mathfrak{S}^3$ is the binary code
\begin{equation}
\begin{array}{llll}
0000000, & 0000011, & 0001100, & 0001111, \\
0110000, & 0110011, & 0111100, & 0111111, \\
0010101, & 0101010, & 1000110, & 1110110, \\
1011000, & 1011011, & 1100001, & 1101101. \\
\end{array}
\end{equation}
This is a code of length $7$, cardinality $16$, with asymmetric
distance two, hence correcting one asymmetric error.
\label{gt7}
\end{example}

The following corollary is straightforward, but gives the most general situation of the ternary construction.
\begin{corollary}
If $\mathcal{C}'$ is a ternary single error correcting code of channel $\mathcal{Z}^{{m_1}}\times\mathcal{T}^{{m_2}}$ of length $m_1+m_2$, then $\mathcal{C}=\mathfrak{S}^{m_2}(\mathcal{C}')$ is a $1$-code of length $m_1+2m_2$, where $\mathfrak{S}^{m_2}$ acts on the last $n$ coordinate of $\mathcal{C}'$.
\label{general}
\end{corollary}

\section{New binary asymmetric codes with structure}
\label{sec:structure}
\label{sec:linear}
In the following, we compare nonlinear binary codes for the
$\mathcal{Z}$-channel which are the image of ternary linear codes
(``$\mathbb{F}_3$-linear codes''), and linear binary codes. For this,
we compare the rate of $1$-codes for various length.  The ratio of the
rates is given by $s=\log_2|T|/\log_2|B|$, where $|T|$ and $|B|$ are
the cardinalities of the nonlinear binary $1$-code from a linear
ternary code $T$ of Hamming distance three, and a linear binary code
$B$ of Hamming distance three, respectively.
\begin{table}
\caption{Ratio $s$ of the rates of $\mathbb{F}_3$-linear codes
  and linear binary codes\label{tab:TableI}}
\centerline{$
\begin{array}{|c|c|c|c|c|c|c|c|c|}
\hline
n & 6     & 8     & 10    & 12    & 14    & 16    & 18    \\\hline
s & 1.107 & 1.250 & 1.000 & 0.940 & 0.936 & 1.026 & 1.020 \\\hline
\hline
n & 20    & 22    & 24    & 26    & 28    & 30    & 32    \\\hline
s & 1.017 & 1.014 & 1.013 & 1.012 & 0.967 & 0.946 & 0.987 \\\hline
\hline
n & 34    & 36    & 38    & 40    & 42    & 44    & 46    \\\hline
s & 0.988 & 0.988 & 0.989 & 0.990 & 0.990 & 0.991 & 0.991 \\\hline
\hline
n & 48    & 50    & 52    & 54   & 56    & 58    & 60     \\\hline
s & 0.992 & 0.992 & 0.992 &0.993 & 0.993 & 0.993 & 0.994  \\\hline
\hline
n & 62    & 64    & 66    & 68    & 70    & 72    & 74    \\\hline
s & 0.994 & 1.012 & 1.011 & 1.011 & 1.010 & 1.010 & 1.010 \\\hline
\hline
n & 76    & 78    & 80    & 82    & 84    & 86    & 88    \\\hline
s & 1.010 & 1.009 & 1.009 & 0.987 & 0.988 & 0.988 & 0.988 \\\hline
\end{array}
$}
\end{table}
\ignore{
for n:=3 to 128 do 2*n,Log(2,Evaluate(WeightEnumerator(BestDimensionLinearCode(GF(3),n,3)),[2,1]))/Dimension(BDLC(GF(2),2*n,3));end for;
}

From Table \ref{tab:TableI} we see that for certain lengths, the
$1$-codes obtained from ternary linear codes indeed encode more bits
than the corresponding linear binary codes.  In particular, for $n=8$
the $1$-code of cardinality $32$ encodes one bit more than the linear
binary code of size $16$.  This should be related to the fact that the
ternary Hamming code of length $8/2=4$ is `good.' On the other hand,
binary linear codes of distance three are `bad' for length
$8$, $16$, $32$, $64$.
Also, the $1$-codes of length $64$ through $80$ outperform the
corresponding linear binary code, i.e. $s>1$.  A general understanding
of the condition under which $s>1$ for those $\mathbb{F}_3$-linear
codes for the $\mathcal{Z}$-channel is still lacking.  For instance,
we do not know why $s<1$ for $n=32$, despite the fact that the binary
linear code of distance three is `bad' at length $32$.

\label{sec:cyclic}

Recall that Example \ref{Eg612} starts from a single-error-correcting
ternary cyclic code of length $3$, and results in a $1$-code of length
$6$ achieving the upper bound given in \cite{Klo81} via the map
$\mathfrak{S}^3$. Note that by the ternary construction, ternary
cyclic codes give binary quasi-cyclic codes.
It turns out that we can find more good $1$-codes from cyclic ternary
codes of length $m$.

For $m=4$, we have found a ternary cyclic code with codewords
$\mathit{0000}$, $\mathit{0112}$, $\mathit{1222}$, $\mathit{1111}$,
and their cyclic shifts, which leads to a $1$-code with parameters
$(8,29)$.  For $m=5$, we have found a unique ternary cyclic code which
lead to a $1$-code with parameters $(10,98)$.  For $m=6, 7, 8$, we
have found ternary cyclic codes which lead to $1$-codes with
parameters $(12,336)$, $(14,1200)$, and $(16,3952)$, respectively.
The generators of the cyclic codes for $m=4,\ldots,8$ are given in
Table~\ref{tab:ternary_cyclic}.

\begin{table}
\caption{Generators of ternary cyclic codes which yield good
  binary $1$-codes.\label{tab:ternary_cyclic}}
\begin{center}
\begin{tabular}{|l|p{0.8\hsize}|}
\hline
$m$ & generators\\
\hline
$4$ & $\mathit{0000}$, $\mathit{0112}$, $\mathit{1222}$,
$\mathit{1111}$\\
\hline
$5$ &$\mathit{00000}$, $\mathit{10012}$, $\mathit{20110}$,
$\mathit{12210}$, $\mathit{11202}$, $\mathit{11111}$,
$\mathit{22122}$\\
\hline
$6$ &
$\mathit{000000}$, $\mathit{100021}$, $\mathit{122000}$,
$\mathit{010101}$, $\mathit{120102}$, $\mathit{101101}$,\newline
$\mathit{201102}$, $\mathit{101202}$, $\mathit{102012}$,
$\mathit{222102}$, $\mathit{202020}$, $\mathit{112011}$,\newline
$\mathit{220220}$
\\
\hline
$7$ &
$\mathit{0000000}$, $\mathit{0000121}$, $\mathit{1100022}$,
$\mathit{0022020}$, $\mathit{1110100}$,\newline
$\mathit{1020100}$, $\mathit{1002001}$, $\mathit{0021021}$,
$\mathit{2001011}$, $\mathit{1200211}$,\newline
$\mathit{2021200}$, $\mathit{0201220}$, $\mathit{1022200}$,
$\mathit{1221010}$, $\mathit{1012020}$,\newline
$\mathit{1021201}$, $\mathit{1022121}$, $\mathit{2221020}$,
$\mathit{0112122}$, $\mathit{1111121}$,\newline
$\mathit{1112221}$, $\mathit{1122112}$, $\mathit{2121211}$,
$\mathit{2221212}$, $\mathit{2222222}$\\
\hline
$8$ &
$\mathit{00000201}$, $\mathit{00010112}$, $\mathit{00011010}$,
$\mathit{00021200}$, $\mathit{00101210}$, $\mathit{00110011}$,
$\mathit{00121111}$, $\mathit{00222110}$, $\mathit{01011102}$,
$\mathit{01212210}$, $\mathit{02021002}$, $\mathit{02112201}$,
$\mathit{02211101}$, $\mathit{02211210}$, $\mathit{02211222}$,
$\mathit{10001122}$, $\mathit{10010210}$, $\mathit{10122021}$,
$\mathit{10122111}$, $\mathit{10202002}$, $\mathit{11021220}$,
$\mathit{11100200}$, $\mathit{11111111}$, $\mathit{11111210}$,
$\mathit{11120002}$, $\mathit{11222011}$, $\mathit{12001200}$,
$\mathit{12100120}$, $\mathit{12102200}$, $\mathit{12111211}$,
$\mathit{12112022}$, $\mathit{12121212}$, $\mathit{20010200}$,
$\mathit{20102201}$, $\mathit{20121212}$, $\mathit{20210101}$,
$\mathit{20222011}$, $\mathit{20222200}$, $\mathit{21100210}$,
$\mathit{21120111}$, $\mathit{21120120}$, $\mathit{21200221}$,
$\mathit{21212110}$, $\mathit{22000012}$, $\mathit{22000100}$,
$\mathit{22020201}$, $\mathit{22022000}$, $\mathit{22101102}$,
$\mathit{22101222}$, $\mathit{22102210}$, $\mathit{22120110}$,
$\mathit{22221221}$, $\mathit{22222222}$\\
\hline
\end{tabular}
\end{center}
\end{table}

From Table \ref{tab:TableII} below we see that the $1$-codes from
cyclic ternary codes are not as good as the codes $(8,32)$ (given in
Example \ref{Eg832}) and $(10,105)$, $(12,351)$ which are obtained via
random numerical search based on the ternary construction.  However,
with growing length imposing the cyclic structure reduces the search
complexity. The codes $(14,1200)$ and $(16,3952)$ listed in Table
\ref{tab:TableII}, for example, are obtained from ternary cyclic
codes of length $m=7$ and $m=8$, respectively, while non-exhaustive
randomized search did not yield anything better as the search space is
too large.

For odd length, we can use the following construction of
\emph{extended} ternary codes.
\begin{lemma}\label{lemma:extended_ternary}
Let $\mathcal{C}'$ be a ternary code of length $m$ which can be
decomposed into two subcode $\mathcal{C}'_0$ and $\mathcal{C}'_1$ such
that each code $\mathcal{C}'_i$ can correct a single error for the
channel $\mathcal{T}$ and for any pair of codewords
$c'_0\in\mathcal{C}'_0$ and $c'_1\in\mathcal{C}'_1$, the distance with
respect to the channel $\mathcal{T}$ is at least two. Then the image
of $\mathcal{C}''=0\mathcal{C}'_0\cup 1\mathcal{C}'_0$ under $\mathfrak{S}^m$ is a
$1$-code of length $2m+1$ for the asymmetric binary channel.
\end{lemma}
\begin{IEEEproof}
We only have to consider codewords of $\mathcal{C}''$ which differ in
the first position, i.e., $c_0''=0c_0'$ and $c_1''=1c_1'$. If the
Hamming distance between $c_0'$ and $c_1'$ is only one, then without
loss of generality, we can assume $c_0'=\mathit{1}v$ and
$c_1'=\mathit{2}v$, as only the symbols $\mathit{1}$ and $\mathit{2}$
have distance two with respect to the channel $\mathcal{T}$. Then the
images of $c_i''$ under $\mathfrak{S}^m$ are
$c_0=001\mathfrak{S}^{m-1}(v)$ and $c_1=110\mathfrak{S}^{m-1}(v)$.
Similarly, if $c_0'$ and $c_1'$ differ in at least two positions,
the images of $c_i''$ under $\mathfrak{S}^m$ will have asymmetric
distance greater than one.
\end{IEEEproof}

Generators for \emph{extended cyclic codes} based on Lemma
\ref{lemma:extended_ternary} are given in Table~\ref{tab:extended_ternary_cyclic}.

\begin{table}
\caption{Generators of extended ternary cyclic codes which yield good
  binary $1$-codes.\label{tab:extended_ternary_cyclic}}
\begin{center}
\begin{tabular}{|l|p{0.7\hsize}|}
\hline
$m$ & generators\\
\hline
$3$ & $0\mathit{000}$, $0\mathit{111}$, $0\mathit{222}$,\newline $1\mathit{210}$\\
\hline
$4$ &
$0\mathit{0000}$, $0\mathit{0221}$, $0\mathit{1211}$, $0\mathit{2222}$,\newline
$1\mathit{1010}$, $1\mathit{2020}$, $1\mathit{1220}$\\
\hline
$5$ &$0\mathit{00000}$, $0\mathit{10021}$, $0\mathit{12102}$,
     $0\mathit{20111}$, $0\mathit{22201}$,\newline
     $0\mathit{11111}$, $0\mathit{22222}$,\newline
   $1\mathit{02210}$, $1\mathit{01020}$, $1\mathit{01212}$\\
\hline
$6$ &$0\mathit{100021}$, $0\mathit{122000}$, $0\mathit{100100}$,
$0\mathit{200200}$, $0\mathit{010101}$,\newline
$0\mathit{222010}$, $0\mathit{110201}$, $0\mathit{101202}$,
$0\mathit{202020}$, $0\mathit{111111}$,\newline
$0\mathit{221211}$, $0\mathit{212211}$, $0\mathit{222222}$,\newline
$1\mathit{022100}$, $1\mathit{112000}$, $1\mathit{001002}$,
$1\mathit{120102}$, $1\mathit{101101}$,\newline
$1\mathit{012111}$, $1\mathit{102012}$, $1\mathit{220220}$,
$1\mathit{122202}$, $1\mathit{211112}$,\newline
$1\mathit{211222}$, $1\mathit{121212}$ \\
\hline
$7$ &

$0\mathit{1100002}$, $0\mathit{0200100}$, $0\mathit{1200010}$, $0\mathit{0202200}$,\newline
$0\mathit{0112200}$, $0\mathit{1002120}$, $0\mathit{1001011}$, $0\mathit{1210020}$,\newline
$0\mathit{1222100}$, $0\mathit{0022202}$, $0\mathit{1221200}$, $0\mathit{0101121}$,\newline
$0\mathit{0210201}$, $0\mathit{1102220}$, $0\mathit{1020111}$, $0\mathit{1012211}$,\newline
$0\mathit{2021210}$, $0\mathit{0122221}$, $0\mathit{1112021}$, $0\mathit{1202221}$,\newline
$0\mathit{1111111}$, $0\mathit{1122112}$, $0\mathit{2222222}$,\newline
$1\mathit{0221000}$, $1\mathit{0102000}$, $1\mathit{0001101}$, $1\mathit{2000120}$,\newline
$1\mathit{2101100}$, $1\mathit{1100120}$, $1\mathit{1002202}$, $1\mathit{1200220}$,\newline
$1\mathit{1200211}$, $1\mathit{0012112}$, $1\mathit{1021210}$, $1\mathit{2201022}$,\newline
$1\mathit{1110220}$, $1\mathit{0111211}$, $1\mathit{1212210}$, $1\mathit{0202122}$,\newline
$1\mathit{0211212}$, $1\mathit{2202212}$, $1\mathit{1221221}$\\ \hline
\end{tabular}
\end{center}
\end{table}
\begin{example}
For $m=3$, consider the cyclic codes $\mathcal{C}'_0=\{\mathit{000},
\mathit{111}, \mathit{222}\}$, and $\mathcal{C}'_1=\{\mathit{210},\mathit{021},\mathit{102}\}$.
The image of $0\mathcal{C}'_0\cup 1\mathcal{C}'_1$ under
$\mathfrak{S}^3$ is
\begin{alignat*}{10}
&0000000, 0000011, 0001100, 0001111,\\
&0110000, 0110011, 0111100, 0111111,\\
&0010101, 0101010,\\
&1100100, 1100111, 1001001, 1111001, 1010010, 1011110.
\end{alignat*}
\end{example}

We finally note that we use nonlinear cyclic codes. This makes it
more complicated to find a systematic generalized construction for
larger length.

\section{The binary VT-CR codes viewed as ternary codes}
\label{sec:Crternary}

In this section we clarify the relationship between the ternary
construction and the VT-CR codes, by showing that certain VT-CR codes
are a special case of the ternary construction. We start from the
following.
\begin{definition}
A binary code $\mathcal{C}$ of even length $n=2m$ is called
\emph{ternary} if
$\mathfrak{S}^{m}(\tilde{\mathfrak{S}}^m(\mathcal{C}))=\mathcal{C}$.
\end{definition}

Based on this definition, if a binary code $\mathcal{C}$ of even
length is ternary, then it can be constructed from some ternary code
via the map $\mathfrak{S}$. The following theorem shows that
certain VT-CR codes are a special case of asymmetric codes constructed
from some ternary codes.
\begin{theorem}
\label{th:ternary}
For $n$ even, the VT code $\mathcal{V}_g$ and the CR code
$\mathcal{C}_g$ are ternary for any $g$.
\end{theorem}
\begin{IEEEproof}
Let $\mathcal{C}=\mathcal{V}_g$ or $\mathcal{C}=\mathcal{C}_g$.  We
only need to prove that there exists a pairing of the coordinates of
$\mathcal{C}$ such that for any codeword $v\in \mathcal{C}$ the
following holds: if for a pair $\alpha$ of coordinates the code
symbols of $v$ are $00$, denoted by $v|_{\alpha}=00$, then there
exists another codeword $v'\in \mathcal{C}$ with $v'|_{\alpha}=11$ and
$v'|_{\bar{\alpha}}=v|_{\bar{\alpha}}$.  Here $\bar{\alpha}$ denotes
all coordinates except the pair $\alpha$.

Both the VT code $\mathcal{V}_g$ and the CR code $\mathcal{C}_g$ are
defined by a group $G$ of odd order $n+1$, and the coordinates of the
codewords correspond to the non-identity group elements. As the group
order is odd, the only group element that is its own inverse is
identity.  Hence we can pair every non-identity element $h\in G$ with
its inverse $-h$.  If neither $h$ nor $-h$ are contained in the sum in
Eq. (\ref{eq:CR}), then the sum clearly does not change when including
both $h$ and $-h$.
\end{IEEEproof}

We look at some examples.

\begin{example}
\label{eq:n6}
For $n=6$, the VT code $\mathcal{V}_0$ is given by
\begin{equation}
x_1+2x_2+3x_3+4x_4+5x_5+6x_6=0\bmod 7,
\end{equation}
where $x_i\in \{0,1\}$. Then one can use the pairing
\begin{equation}
\{x_1x_6,x_2x_5,x_3x_4\}.
\end{equation}
The cardinality of the code is $10$.
The image of this code under $\tilde{\mathfrak{S}}^{6}$ is a linear code $[3,1,3]_3$.
\end{example}

\begin{example}
For $n=8$, the VT code $\mathcal{V}_0$ is given by
\begin{equation}
\sum_{i=1}^8 ix_i=0\bmod 9,
\end{equation}
where $x_i\in \{0,1\}$. Then one can use the pairing
\begin{equation}
\{x_1x_8,x_2x_7,x_3x_6,x_4x_5\}.
\end{equation}
The cardinality of the code is $30$.
\end{example}

\begin{example}
For $n=8$, the CR code $\mathcal{C}_0$ of largest cardinality,
which is associated with the group $\mathbb{Z}_3\oplus \mathbb{Z}_3$, is given by
\begin{alignat}{5}
x_1(0,1)+x_2(0,2)+x_3(1,0)+x_4(1,1)&\nonumber\\
+x_5(1,2)+x_6(2,0)+x_7(2,1)+x_8(2,2)&{}=\bmod (3,3),
\end{alignat}
where $x_i\in \{0,1\}$. Then one can use the pairing
\begin{equation}
\{x_1x_2,x_3x_6,x_4x_8,x_5x_7\}.
\end{equation}
The cardinality of the code is $32$, which is however nonlinear.
The image of this code under $\tilde{\mathfrak{S}}^{8}$ is a linear
code $[4,2,3]_3$, which is the one given in Example \ref{Eg832}.
\end{example}

\begin{example}
Consider $n=10$. For the VT code $\mathcal{V}_0$ is then given by
\begin{equation}
\sum_{i=1}^{10}ix_i=0 \bmod 11,
\end{equation}
where $x_i\in \{0,1\}$. Then one can use the pairing
\begin{equation}
\{x_1x_{10},x_2x_9,x_3x_8,x_4x_7,x_5x_6\}.
\end{equation}
The cardinality of the code is $94$, and the image of this code under
$\tilde{\mathfrak{S}}^{10}$ is equivalent to a cyclic ternary code
with $m=5$. Note that there exists a $1$-code $(10,98)$ which is
obtained from a cyclic ternary code (see Sec.~\ref{sec:cyclic}).
\end{example}

Now we consider the case of odd length.
\begin{definition}
A binary code $\mathcal{C}$ of odd length $n=2m+1$ is called
\emph{generalized ternary} if
$\mathfrak{S}^{m}(\tilde{\mathfrak{S}}^m(\mathcal{C}))=\mathcal{C}$,
where $\tilde{\mathfrak{S}}^m$ acts on the last $2m$ coordinates of
$\mathcal{C}$.
\end{definition}

Based on this definition, if a binary code $\mathcal{C}$ of odd length
$2m+1$ is generalized ternary, then it can be constructed from some
single-error-correcting code for the channel
$\mathcal{Z}\times\mathcal{T}^m$ via the map
$\tilde{\mathfrak{S}}$.
\begin{theorem}
\label{th:geternary}
For $n$ odd, the VT code $\mathcal{V}_g$ is generalized ternary for
any $g$.
\end{theorem}
\begin{IEEEproof}
We only need to prove that there exists a pairing which leaves a
single coordinate as a bit, such that for any codeword $v\in
\mathcal{V}_g$, if $v$ restricted to a chosen pair $\alpha$ is $00$,
then there exist another codeword $v'\in \mathcal{V}_g$ such that
$v'|_{\alpha}=11$ and $v'|_{\tilde{\alpha}}=v|_{\tilde{\alpha}}$.

For a VT code $\mathcal{V}_g$ of odd length, choose the pairing
$\{i,n+1-i\}_{i=1}^{n/2}$ and leave the coordinate $(n+1)/2$ as a bit.
Then the above condition is satisfied.
\end{IEEEproof}

We discuss an example.

\begin{example}
For $n=7$, the VT code $\mathcal{V}_0$ is given by
\begin{equation}
\sum_{i=1}^7 ix_i=0 \bmod 8,
\end{equation}
where $x_i\in \{0,1\}$. Then one can use the pairing
\begin{equation}
\{x_1x_7,x_2x_6,x_3x_5\},
\end{equation}
and treat $x_4$ as a bit. The size of the code is $16$, and it is
equivalent to the code given in Example \ref{gt7}.
\end{example}

\begin{table}[h!]
\begin{center}
\caption{Size of $1$-codes from ternary construction via numerical
  search, compared to CR codes, codes obtained by the partition
  method, and the known bounds from
  \cite{Klo81,Sloane:graphs,Etzion2}.\newline
  For odd $n$, `cyclic ternary' refers to extended cyclic codes.
  \label{tab:TableII}}
\begin{tabular}{cccccc}
\\
\hline
$n$ & CR & cyclic ternary & ternary & partition & known bounds\\
\hline
 6 &   10 &  12  &   12 &  *          & 12 \\
 7 &   16 &  16  &   16 &  *          & 18 \\
 8 &   32 &  29  &   32 &  *          & 36 \\
 9 &   52 &  53  &   55 &  *          & 62 \\
10 &   94 &  98  &  105 &  104$^{(a)}$ & 112--117 \\
11 &  172 & 154  &  180 &  180$^{(b)}$ & 198--210 \\
12 &  316 & 336  &  351 &  336$^{(b)}$ & 379--410 \\
13 &  586 & 612  &  612 &  652$^{(b)}$ & 699--786  \\
14 & 1096 & 1200 & 1200 & 1228$^{(b)}$ & 1273--1500 \\
15 & 2048 & 2144 & 2144 & 2288$^{(b)}$ & 2288--2828 \\
16 & 3856 & 3952 & 3952 & 4280$^{(b)}$ & 4280--5486 \\
\hline
\end{tabular}
\end{center}
\vskip-4ex
\end{table}
In Table \ref{tab:TableII}, the cardinality of codes found by the
(generalized) ternary method is compared to the size of the
corresponding VT-CR codes.  One can see that the
(generalized) ternary construction indeed outperforms the VT-CR
construction, in particular for larger $n$.

The column in Table \ref{tab:TableII} labeled `partition' is
obtained from the partition method in Ref. \cite{Etzion}. The code
$(a)$ is found from the partition of constant weight codes of length
$6$ and asymmetric codes of length $4$. Codes $(b)$
are from Ref. \cite{Etzion}.
For $n=10,11,12$, the ternary construction yields codes of equal size
or even more codewords compared to the partition method.  However,
the best codes are obtained by heuristic methods, which, e.g., give
$(10,112)$ \cite{Etzion2} and $(12,379)$ \cite{Shilo}. This is not
surprising as both the ternary construction and the partition
method assume some additional structure of the binary $1$-codes.

\section{Nonbinary asymmetric-error-correcting codes}
\label{sec:nonbinary}
In this section, we consider the construction of $1$-codes for
nonbinary asymmetric channels.  Recall that the characteristic
properties of codes for this channel model are given by
Definition~\ref{def:channelmodel} and Theorem \ref{thm:main}. Our
construction will again be based on concatenation, generalizing the
map $\mathfrak{S}^m$.

For a given $q$, choose the outer code as some code over the alphabet
$A=\{0, 1, \ldots,q-1\}$, which encodes to some inner codes
$\{C_0,C_1,\ldots,C_{q-1}\}$ via $i\mapsto C_i$.  Now choose the $q$
inner codes as the double-repetition code
$C_0=\{00,11,\ldots,(q-1)(q-1)\}$ and all its $q-1$ cosets
$C_i=C_0+(0i)$, i.e., we have the rule that $(0i)\in C_i$.  It is
straightforward to check that each $C_i$ is a $1$-code, i.e., has
asymmetric distance $2$.  Note that a single asymmetric error will
only drive transitions between $i,j$ for $i=j\pm 1$. For instance, for
$q=3,4,5$, the induced channels
$\mathcal{R}_3$, $\mathcal{R}_4$, $\mathcal{R}_5$ are shown in
Fig.~\ref{fig:channel2}. In general, we will write the induced channel
as $\mathcal{R}_q$ for outer codes over the alphabet $A=\{0, 1,
\ldots,q-1\}$.

\begin{figure}[h!]
\centerline{\footnotesize\unitlength0.8\unitlength%
\begin{tabular}{ccc}
\begin{picture}(50,50)(0,5)
\put(25,33){\makebox(0,0){$0$}}
\put(10,10){\makebox(0,0){$1$}}
\put(40,10){\makebox(0,0){$2$}}
\put(37,10){\vector(-1,0){24}}
\put(13,10){\vector(1,0){24}}
\put(13,10){\vector(2,3){12}}
\put(25,28){\vector(-2,-3){12}}
\put(37,10){\vector(-2,3){12}}
\put(25,28){\vector(2,-3){12}}
\end{picture}
&\unitlength0.9\unitlength
\begin{picture}(50,50)(0,5)
\put(10,40){\makebox(0,0){$0$}}
\put(10,10){\makebox(0,0){$1$}}
\put(40,10){\makebox(0,0){$2$}}
\put(40,40){\makebox(0,0){$3$}}
\put(13,10){\vector(1,0){24}}
\put(37,10){\vector(-1,0){24}}
\put(13,40){\vector(1,0){24}}
\put(37,40){\vector(-1,0){24}}
\put(10,15){\vector(0,1){20}}
\put(10,35){\vector(0,-1){20}}
\put(40,15){\vector(0,1){20}}
\put(40,35){\vector(0,-1){20}}
\end{picture}
&\unitlength0.8\unitlength
\begin{picture}(50,50)(0,5)
\put(25,50){\makebox(0,0)[b]{$0$}}
\put(5,32.5){\makebox(0,0)[r]{$1$}}
\put(10,8){\makebox(0,0){$2$}}
\put(40,8){\makebox(0,0){$3$}}
\put(45,32.5){\makebox(0,0)[l]{$4$}}
\put(37,10){\vector(-1,0){24}}
\put(13,10){\vector(1,0){24}}
\put(13,10){\vector(-1,3){7.5}}
\put(5.5,32.5){\vector(1,-3){7.5}}
\put(37,10){\vector(1,3){7.5}}
\put(44.5,32.5){\vector(-1,-3){7.5}}
\put(5.5,32.5){\vector(4,3){19.5}}
\put(25,47.5){\vector(-4,-3){19.5}}
\put(25,47.5){\vector(4,-3){19.5}}
\put(44.5,32.5){\vector(-4,3){19.5}}
\end{picture}
\\
$\mathcal{R}_3$
&
$\mathcal{R}_4$
&
$\mathcal{R}_5$
\end{tabular}}
\caption{The induced channel $\mathcal{R}_3$ for $q=3$ (which is just
  the ternary symmetric channel), the induced channel $\mathcal{R}_4$
  for $q=4$, and the induced channel $\mathcal{R}_5$ for $q=5$. The
  arrows indicate the possible transitions between symbols.}
\label{fig:channel2}
\end{figure}

Similar to Theorems~\ref{ChannelT} and \ref{th:odd}, we have the
following
\begin{theorem}
\label{th:nonbi1}
For $n$ even, an outer $(n/2,K)_q$ code correcting a single error for
the channel $\mathcal{R}_q$ leads to an $(n,q^{n/2}K)_q$ $1$-code
$\mathcal{C}$, for $q>2$. For $n$ odd, an outer $((n+1)/2,K)_q$ code
correcting a single error for the channel $\mathcal{R}_q$ leads to an
$(n,q^{(n-1)/2}K)_q$ $1$-code $\mathcal{C}$, for $q>2$.
\end{theorem}

If the outer code is linear, then our construction gives linear codes
for the asymmetric channel.
We state this result as a corollary below.
\begin{corollary}
\label{co:linear}
An outer $[m,k]_q$ linear code correcting a single error for the
channel $\mathcal{R}_q$ leads to a $[2m,m+k]_q$ $1$-code and a
$[2m-1,m+k-1]_q$ $1$-code, for $q>2$.
\end{corollary}

It turns out that in many cases, our construction gives linear codes
with larger cardinality than the distance-three symmetric codes of
equal length.  We first discuss the case of $q=3$.  In this case,
$\mathcal{R}_3$ is the ternary symmetric channel, so we will just use
outer codes of Hamming distance $3$. We consider some examples.
\begin{example}
\label{eg:53}
Consider $q=3$ and take the outer code as $[3,1,3]_3$, with codewords
$\mathit{000}$, $\mathit{111}$, $\mathit{222}$.  This will give a
$[5,3]_3$ $1$-code
with codewords
\begin{equation}
\begin{array}{lllll}
00000, & 00011, & 00022, & 01100, & 01111,\\
01122, & 02200, & 02211, & 02222, & \ \\
10101, & 10112, & 10120, & 11201, & 11212, \\
11220, & 12001, & 12012, & 12020, & \ \\
21010, & 21021, & 21002, & 22110, & 22121,\\
22102, & 20210, & 20221, & 20202, & \ \\
\end{array}
\label{code:53q3}
\end{equation}
while the best linear
single-symmetric-error-correcting code is $[5,2,3]_3$.
The $[3,1,3]_3$ outer code also yields a $[6,4]_3$ $1$-code,
while the best linear single-symmetric-error-correcting code is
$[6,3,3]_3$.
Now take the outer code as $[4,2,3]_3$.
This will give a $[7,5]_3$ $1$-code, while the best linear
single-symmetric-error-correcting code  is $[7,4,3]_3$.
We can also construct  a $[8,6]_3$ $1$-code, while the best linear
single-symmetric-error-correcting code is $[8,5,3]_3$.
\end{example}

This example can be directly generalized to other
lengths. Furthermore, the constructions extend trivially to $q>3$, as
any code of Hamming distance $3$ corrects a single error for the
channel $\mathcal{R}_q$.  Note that Hamming codes over $\mathbb{F}_q$
have length $n_r=(q^r-1)/(q-1)$.  For a given $n_r$, our construction
then allows to construct asymmetric $1$-codes of all length
$[n_r+1,2n_r]$ for $n_r$ odd or all lengths $[n_r+2,2n_r]$ for $n_r$
even.  The sequence of lengths $n_r$ is a geometric series, and hence our method
can construct asymmetric codes for approximately $\frac{1}{q}$ of all
lengths, outperforming the best single-symmetric-error-correcting linear codes.

Now consider the case $q>3$ in more detail.  The channel
$\mathcal{R}_q$ (see Fig. \ref{fig:channel2}) is no longer a symmetric
channel, so outer codes of Hamming distance $3$ are no longer expected
to give the best $1$-codes. It turns out, however, that
single-error-correcting codes for the channel $\mathcal{R}_q$ are
equivalent to single-symmetric-error correcting codes with respect to
Lee metric \cite{Ber68} (see also~\cite{KBE11}), for which optimal
linear codes are known.  When $q$ is odd, let $H$ be the parity check
matrix whose columns are all vectors in $\mathbb{Z}_q^r$ whose first non-zero
elements is in the $\{1,2,\ldots,\frac{q-1}{2}\}$ (where $r$ is the
number of rows in $H$), then the corresponding code can correct a
single error for the channel $\mathcal{R}_q$.

We consider an example.
\begin{example}
For $q=5$ consider the parity check matrix
\[
\left(
\begin{array}{cccccccccc}
1 & 1 & 1 & 1 & 1 & 2 & 2 & 2 & 2 & 2 \\
0 & 1 & 2 & 3 & 4 & 0 & 1 & 2 & 3 & 4
\end{array}
\right),
\]
which gives a $[10,8]_5$ code correcting a single error for the
channel $\mathcal{R}_5$, and hence a $[20,18]_5$ $1$-code. Note that
the best linear single-symmetric-error-correcting code for $n=20$ is
$[20,17,3]_5$.
\end{example}

Our new linear codes for asymmetric channels for $q>2$ show that
Varshamov's argument that for the binary case, there is almost no hope
to find good linear codes for the asymmetric channel, does not hold
for the nonbinary case. There is indeed room for constructing good
linear codes adapted to the asymmetric channel.

Note that contrary to the binary case,
the nonlinear VT-CR codes can no longer be viewed as a special case
of our construction.
However, for lengths $n_r=q^r-1$, our construction gives codes of the
same cardinality as the VT-CR codes, while our codes are linear, but
the VT-CR codes are not.

Finally, we briefly discuss the extension of our concatenation method
to construct $t$-asymmetric-error-correcting codes for $t>1$. We look
at some examples.
\begin{example}
Consider the case of $q=3$. Take the outer code as the $[5,3]_3$
$1$-code constructed in Example~\ref{eg:53}, which has asymmetric
distance $2$.  Now take the encoding to the inner code as
$\mathit{0\mapsto 00}$, $\mathit{1\mapsto 11}$, $\mathit{2\mapsto
  22}$.  Then the concatenated code has asymmetric distance $4$, which
gives a $[10,3]_3$ $3$-code, while the best linear
triple-error-correcting code is $[10,2,7]_3$.  Similarly, take the
outer code as the $[6,4]_3$ $1$-code, then the concatenated code is a
$[12,4]_3$ $3$-code, while the best $3$-error-correcting linear code
is $[12,3,7]_3$.
\end{example}

\section{Codes for asymmetric limited-magnitude errors}
\label{sec:limited}

In this section, we discuss the application of these nonbinary linear codes constructed in Sec. V to correct asymmetric limited-magnitude errors with wrap around.
This new `asymmetric limited-magnitude error' model, is introduced recently in~\cite{CSB+10}, which models the asymmetric errors in multilevel flash memories in a more detailed manner. This model is parameterized by two integer parameters: $\tilde{t}$ is the maximum number of symbol errors within a codeword, and $\ell$ the maximal magnitude of an error. The definition of asymmetric limited-magnitude errors is the following~\cite{CSB+10}.
\begin{definition}
\label{def:limited}
A vector of integers $\mathbf{e}=(e_1,\ldots,e_i)$ is called a $\tilde{t}$ asymmetric $\ell$-limited-magnitude error word if $|\{i:e_i\neq 0|\leq\tilde{t}$,
and for all $i$, $0\leq e_i\leq\ell$.
\end{definition}

Here by `asymmetric' it still means that if any transmitted symbol $a$ is received as $b\leq a$. For a codeword $\mathbf{x}\in A^n$,
then a $\tilde{t}$ asymmetric $\ell$-limited-magnitude channel outputs a vector $\mathbf{y}\in A^n$ such that
$\mathbf{y}=\mathbf{x}-\mathbf{e}$, where $\mathbf{e}$ is a $\tilde{t}$ asymmetric $\ell$-limited-magnitude error word.

Coding problems for these channels have an intimate relation to coding problems for asymmetric channels. Indeed, when $t=\tilde{t}\ell$, any $t$-code for the asymmetric channel trivially corrects $\tilde{t}$ asymmetric $\ell$-limited-magnitude errors. Of course, the reverse is not true.

A generalization of Definition~\ref{def:limited} is when we allow asymmetric errors to wrap around from $0$ back to $q-1$.  That is, we interpret `$-$' in
$\mathbf{y}=\mathbf{x}-\mathbf{e}$ as subtraction mod $q$.  This error model is then called
the asymmetric $\ell$-limited-magnitude channels with wrap around.

Similar as the asymmetric distance $\Delta(\mathbf{x},\mathbf{y})$, we can define a distance $d_{\ell}$ for this error model, as below.
\begin{definition}
\label{def:asydisell}
For $\mathbf{x},\mathbf{y}\in A^n$, define
$M(\mathbf{x},\mathbf{y})=|\{i:x_i>y_i\}|$. The distance $d_{\ell}$
between the words $\mathbf{x},\mathbf{y}$ is then defined as
\[
d_{\ell}(\mathbf{x},\mathbf{y})= \begin{cases}
n+1
&\text{if $\max_{i}\{|x_i-y_i|\}>\ell$}\\\max\{M(\mathbf{x},\mathbf{y}),M(\mathbf{y},\mathbf{x})\}&\text{otherwise}
\end{cases}
\]
\end{definition}

Similar as Theorem~\ref{thm:main}, the proposition below directly follows~\cite{CSB+10}.
\begin{proposition}
\label{pro:dell}
A code $\cal{C}$ corrects $\tilde{t}$ asymmetric $\ell$-limited-magnitude errors if and only
if $d_{\ell}(\mathbf{x},\mathbf{y})\geq\tilde{t}+1$ for all distinct $\mathbf{x},\mathbf{y}\in\cal{C}$.
\end{proposition}

And one can readily interpret $d_{\ell}$ for asymmetric $\ell$-limited-magnitude channels with wrap around (interpret `$-$' in as subtraction mod $q$),
such that Proposition~\ref{pro:dell} still holds. Apparently, in
general a $t$-code for the asymmetric channel can no longer be used to
correct errors for asymmetric $\ell$-limited-magnitude channel with
wrap around. There is a sphere packing bound which naturally follows.
\begin{theorem}~\cite{CSB+10}
\label{th:sphere}
If $\cal{C}$ is a $\tilde{t}$ asymmetric $\ell$-limited-magnitude
(with wrap-around) error-correcting code, of length $n$ over an
alphabet of size $q$, then
\begin{equation}
\label{eq:sphere}
|\mathcal{C}|\sum_{i=0}^t{n\choose i}\ell^i\leq q^n.
\end{equation}
\end{theorem}
An asymmetric $\ell$-limited-magnitude code is called perfect in a
sense that it attains this sphere-packing bound.

Code designs for correcting asymmetric $\ell$-limited-mag\-ni\-tude
errors, with or without wrap around, are discussed
in~\cite{CSB+10,KBE11}. Here we show that the linear codes constructed
in Sec.~\ref{sec:nonbinary} can be used to correct asymmetric
$\ell$-limited-magnitude errors and then further discuss their
optimality using the sphere-packing bound.

Recall the construction in Sec.~\ref{sec:nonbinary}, where for a given
$q$, we choose the $q$ inner codes $C_0$, $C_1$, \ldots, $C_{q-1}$ as
$\{00,11,\ldots,{(q-1)(q-1)}\}$ and all its $q-1$ cosets.  It is
straightforward to check that each $C_i$ has $d_{\ell}=2$, for the
asymmetric $\ell$-limited-magnitude channel with wrap around, for
$\ell=1$, according to Definition~\ref{def:asydisell}.  Indeed, this
asymmetric $\ell$-limited-magnitude channel with wrap around, for
$\ell=1$ has transitions
\begin{equation}
(q-1)\rightarrow (q-2)\rightarrow (q-3)\cdots\rightarrow 1\rightarrow 0\rightarrow (q-1).
\end{equation}
We illustrate these asymmetric $1$-limited-magnitude channels $\mathcal{L}_n$
for $n=3,4,5$ bits in Fig.~\ref{fig:channel3}.

\begin{figure}[h!]
\centerline{\footnotesize\unitlength0.8\unitlength%
\begin{tabular}{ccc}
\begin{picture}(50,50)(0,5)
\put(25,33){\makebox(0,0){$0$}}
\put(10,10){\makebox(0,0){$1$}}
\put(40,10){\makebox(0,0){$2$}}
\put(37,10){\vector(-1,0){24}}
\put(13,10){\vector(2,3){12}}
\put(25,28){\vector(2,-3){12}}
\end{picture}
&\unitlength0.9\unitlength
\begin{picture}(50,50)(0,5)
\put(10,40){\makebox(0,0){$0$}}
\put(10,10){\makebox(0,0){$1$}}
\put(40,10){\makebox(0,0){$2$}}
\put(40,40){\makebox(0,0){$3$}}
\put(37,10){\vector(-1,0){24}}
\put(13,40){\vector(1,0){24}}
\put(10,15){\vector(0,1){20}}
\put(40,35){\vector(0,-1){20}}
\end{picture}
&\unitlength0.8\unitlength
\begin{picture}(50,50)(0,5)
\put(25,50){\makebox(0,0)[b]{$0$}}
\put(5,32.5){\makebox(0,0)[r]{$1$}}
\put(10,8){\makebox(0,0){$2$}}
\put(40,8){\makebox(0,0){$3$}}
\put(45,32.5){\makebox(0,0)[l]{$4$}}
\put(37,10){\vector(-1,0){24}}
\put(13,10){\vector(-1,3){7.5}}
\put(44.5,32.5){\vector(-1,-3){7.5}}
\put(5.5,32.5){\vector(4,3){19.5}}
\put(25,47.5){\vector(4,-3){19.5}}
\end{picture}
\\
$\mathcal{L}_3$
&
$\mathcal{L}_4$
&
$\mathcal{L}_5$
\end{tabular}}
\caption{ The asymmetric $1$-limited-magnitude channels $\mathcal{L}_n$
  for $n=3,4,5$ bits. The
  arrows indicate the possible transitions between symbols.}
\label{fig:channel3}
\end{figure}

Now choose the outer code as some distance $3$ code over the alphabet $A=\{0, 1, \ldots,q-1\}$,
which encodes to the inner codes $\{C_0,C_1,\ldots,C_{q-1}\}$ via $i\rightarrow C_i$,
then the following results readily hold according to Proposition~\ref{pro:dell}.
\begin{proposition}
The codes based on the constructions given by Theorem~\ref{th:nonbi1}
and Corollary~\ref{co:linear} in Sec.~\ref{sec:nonbinary} correct a
single asymmetric $\ell$-limited-magnitude error with wrap around, for
$\ell=1$.
\end{proposition}
For $\ell=1$, the sphere-packing bound of Eq. (\ref{eq:sphere}) for
correcting a single error becomes
\begin{equation}
\label{eq:sphere1}
|\mathcal{C}|\leq\frac{q^n}{n+1}.
\end{equation}

Recall that for a given $n_r$, the construction in
Sec.~\ref{sec:nonbinary} gives linear codes of all lengths
$[n_r+1,2n_r]$ for $n_r$ odd or all lengths $[n_r+2,2n_r]$ for $n_r$
even, which outperform the best single-symmetric-error-correcting
linear codes.  Here $n_r=\frac{1}{q}(q^r-1)$, and $q$ is a prime power
that $\mathbb{F}_q$ is a field.  The sphere-packing bound given in
Eq. (\ref{eq:sphere1}) then shows that all these linear codes are
indeed optimal linear codes, for correcting a single asymmetric
$\ell$-limited-magnitude error with wrap around, for $\ell=1$.  For
$n=q^r-1$, we have perfect linear codes. As an example, the
$[8,6]_3$ code constructed in Example~\ref{eg:53} is a perfect linear
code. Note that perfect linear codes of length $n=q^r-1$ for
correcting a single asymmetric $\ell$-limited-magnitude error with
wrap around, for $\ell=1$, are also obtained in~\cite{KBE11}, but from
different constructions.

Indeed, those linear $t$-codes constructed in Sec.~\ref{sec:nonbinary} can also be used to correct
$\tilde{t}$ asymmetric $\ell$-limited-magnitude errors for $t=\tilde{t}\ell$. However, the sphere-packing
bound no longer tells us whether these linear codes are optimal.

\section{Discussion}
\label{sec:discussion}

We present new methods of constructing codes for asymmetric channels,
based on modified code concatenation. Our methods apply to both binary
and nonbinary case, for constructing both single- and
multi-asymmetric-error-correcting codes.

For the binary case, our construction gives nonlinear $1$-codes for
the $\cal{Z}$ channel, based on ternary outer codes. Some good
$1$-codes with structure, such as codes from ternary linear codes and
ternary cyclic codes are constructed. We also show that the VT-CR
code, which are the best known systematic construction of $1$-codes,
posses some nice structure while viewed in the (generalized) ternary
construction, and they are suboptimal under the (generalized) ternary
construction.  Indeed, this ternary construction is originally
inspired by constructing high performance quantum codes adapted to
asymmetric channels, see \cite{SSSZ09}.

For the nonbinary case, our construction gives linear $1$-codes, which
for many lengths outperforms the best
single-symmetric-error-correcting codes of the same lengths. Our
method can also be applied to construct good linear $t$-codes. To our
knowledge, our method gives the first systematic construction of good
linear codes for nonbinary asymmetric channels, which indicates that
Varshamov's argument of no good linear codes for asymmetric channels
does not extend to the nonbinary case.

Our $t$-codes also apply to correct $\tilde{t}$ asymmetric
$\ell$-limited-magnitude errors with wrap around, for
$t=\tilde{t}\ell$. These channels model the errors in multilevel flash
memory in a more detailed manner than Varshamov's asymmetric channel
given in Definition~\ref{def:channelmodel}. In case of $\ell=1$, our
single-error-correcting codes are shown to be optimal linear codes by
the sphere-packing bound. For lengths $n=q^r-1$, these codes are
perfect linear codes.

We hope our methods shade light on further study of asymmetric codes,
particularly, on systematic construction of these codes.  These
initial results on good linear $t$-codes with $t>1$ and $q>2$ are
rather promising as they might find application in the context of
flash memories.

\bibliographystyle{IEEEtran}

redpajama_set_name: RedPajamaArXiv


Newington's Greg Rosen explores whether the 2017 General Election will be an opportunity for pollsters to regain credibility.
The reputation of polling took a severe knock at the 2015 General Election, again in the Brexit referendum, and a further hit after the election of President Trump.
Politicians, public and pundits were shocked at surprise results that apparently defied pollsters predictions. The more veteran of pundits and politicians recounted folk-memories of the 1992 election at which pollsters had wrongly tipped Labour to win. Lessons were supposed to have been learned, and changes made to methodology – how had pollsters got it wrong again, and could they be trusted?
The short answer is yes and no. They can be trusted but even the best intentioned make mistakes. Lessons were learned – but pollsters themselves have throughout been at pains to point out that they are not the ones claiming complete accuracy for polls. Pollsters have always been clear that opinion polls contain an error margin of some 3%. Although, as the New York Times has reported, some academic research contends that the margin of error can be slightly higher, especially for more local polling, there are important successes for which the polling industry has scarcely had the credit it deserved.
Perhaps one of the most significant was the accuracy of the opinion polls in foretelling the Liberal Democrat annihilation at the 2015 General Election. For several years in the run-up to the election, Lib Dem poll ratings had been staggeringly low, and translating those polls into a swing showed that the Lib Dems would take heavy losses. Against that stood the Lib Dems deserved reputation for skill and tenacity in local campaigns, combined with the inability of many pundits and politicians to conceive of the idea that a political party could go from so many seats in 2010 to so few in 2015. But that is what happened. "I will eat my hat if that's true", former Liberal Democrat leader Paddy Ashdown had said when the exit poll was published on election night. His hat apparently survived, but the results were actually slightly more devastating for Lib Dem seats (chopped down to 8) than even the exit poll had predicted (10). The Liberal Democrat result reflected what the opinion polls had signalled, but because so many commentators had disbelieved the implications of the polls for Lib Dem seat numbers, the pollsters got little credit when they were proved right.
The reverse was true of the Labour / Conservative battle. Many observers and politicians had chosen to believe that a hung parliament was inevitable and that the effectiveness of Labour's "ground war" meant that, despite the margin of error inherent in polls, that Labour would perform on the higher side of the range that the polls suggested and the Conservatives on the lower side. The errors the pollsters did make were a useful scapegoat.
It is clear that the polls were not as accurate as some pollsters were happy to have us believe, but it is all too often the pundits and commentators who place greater weight on opinion polls than they are ever meant to be able to bear. It is well known that pollsters need to weight sampling to secure a more accurate result than the raw data would give – and while this weighting is necessary for accuracy it is impossible to ensure that it does not in itself carry the seeds of potential inaccuracy. Some weighting is to allow for differential turnout, for example amongst different demographics, and this carries a potential risk if there is an unexpected increase in turnout among demographics who don't usually vote (as happened for the Brexit vote).
Pundits and politicians alike remain reluctant however to talk in the nuanced ranges that most accurately reflect the findings of polls - and far too eager to ascribe a rogue result, a specific and defined shift in the polls, or even just a shift within the margin of error, as representing an ongoing trend. Polls are an approximate snapshot, and just as before photoshop it was said that the camera did not lie, it was nevertheless not the whole picture that the camera necessarily captured.
Good pollsters are here to help explain. Let's use their insights whilst remaining mindful that only Kim Jong-un can genuinely tell us what is going to be in the ballot boxes before the votes are counted.


text:
What is your favorite food, Asks Deepika Padukone
Deepika Padukone loves to eat sour. Any day, any time if it is in hand. If so, leave the shooting and eat. Let's get rid...
Home Entertainment Once A Woman Slapped Abhishek Bachchan Due To This Shocking Reason
Once A Woman Slapped Abhishek Bachchan Due To This Shocking Reason
Shavvy
Many stories of Bollywood celebs, photos, videos are going viral on social media in the corona lockdown. There is also a special story about Aishwarya Rai's husband Abhishek Bachchan which is we going to tell about today.
Abhishek made his Bollywood debut with the film Refugee. Kareena Kapoor was also in the lead role with Abhishek in this film, but this film could not do anything special at the box office. Many people would think that what problem the son of a superstar like Amitabh Bachchan will have in getting a film? But very few people will know that Abhishek Bachchan had to struggle a lot to get his first film.
Abhishek Bachchan was a flop in the beginning of his career, we are not saying this but his record. Let us tell you that about 11 films flopped in the initial phase of Abhishek. This is the reason why he was tagged with flop on his forehead.
A woman Slapped Abhishek Bachchan due to this reason
Abhishek has revealed many shocking secrets in an interview about his film career. He had told that once a woman slapped him outside the cinema hall. In a interview, Abhishek had said that both me and my career were going through a very bad phase. At the same time, I went to the theater to see my film Shararat, where I wanted to see how people were responding to my film. When I got out of the cinema, a woman slapped me.
Abhishek says that the woman told me – you are embarrassing the name of Bachchan family, you should stop acting in films. Abhishek said that the feelings of the woman shook me, I was deeply saddened by the woman's reaction. In the interview, Abhishek says that when I think about that incident today, I laugh a lot.
Talking about the workfront, Abhishek is currently working in the film Ludo. The film is being produced under the direction of Anurag Basu. Apart from this, he will also appear in the film Big Bull in the coming days.
Also read Sanjay Dutt's Daughter Trishala Goes Emotional By Reminding Her Boyfriend
woman slapped abhishek bachchan
Previous articleSanjay Dutt's Daughter Trishala Goes Emotional By Reminding Her Boyfriend
Next articleHazardous Effects Of Blue Light Of Your Phone And Laptop


My mom was here a couple weeks ago and it's kind of amazing how much more productive I am when she's around. ;-) We had two sewing projects, both unnecessary, but I am SO THANKFUL that we were able to do them! So much more cheerful.
The old car seat was a minty green and very pale orange, with brown binding. It arrived in the mail a week before the little man was due, so I didn't want to risk returning it even though it was most definitely *not* the color scheme I had thought I was purchasing.
Isn't my mom amazing? I could never have figured it all out by myself. Especially the button holes for where the straps come through. This tutorial came in handy, mostly just for the pictures.
Yahoo for sewing projects! Loved doing these with you!!


Have you noticed that new menu item above that says Budding Chefs? I've been working on my little idea for some time, and am now happy to announce Budding Chefs, a portion of my site geared just towards kids in the kitchen. I'll be tailoring posts, recipes, tips and all sorts of culinary information just for kids on those pages. You can go to that page and subscribe by email or RSS feed to make sure you don't miss out on a single post. Budding Chefs posts will run on Saturdays, and the first post there unveils the summer kids' cooking class schedule – that's Chloe above, showing off the sushi she made in one of my classes a couple of summers ago. The kids' classes fill quickly, so please do call or email me to sign up your kids and any of their friends!
Have anything you'd like to see me address on the new Budding Chefs page? Just comment below or send me a note! Happy Cooking!
S'Mores Ice Cream – Happy Fourth of July!
Door to Door Organics Produce Box Giveaway!
What a great idea. I will pass this on.


Keep your outside views while maintaining daytime privacy with Silhouette® Window Shadings, Pirouette® Window Shadings, and Luminette® Privacy Sheers from Hunter Douglas. Both provide a natural way to enhance the beauty of your décor. Don't miss the rebate savings now 'til 6/24/19*.


Would you like to start a knitting or sewing club, together with your friends? And at the same time make a difference in the world, for the better? We have a great need for socks, but also hats and scarves. In addition, we really need blankets, so that children and adults can keep themselves warm through the winter in Eastern Europe. Staying warm is important, especially important is it to be warm on your feet. Keeping warm on the feet is good for the immune system, according to Vitus pharmacy and other relevant sources.
If you want to start a club, or you are interested in joining a club that already exists, then send an email to fotspor@fotspor.com. If you can not knit or sew, but you are interested, we can try to put you up with someone who can teach you how to.


text:
2016 High School Leadership Visits the Mississippi Capitol
The Hancock Youth Leadership Academy (HYLA) High School Program Class of 2016 recently embarked on a tour across the state to team-build, learn more about formal leadership and government, and to get a glimpse of higher education in the state.
The 2016 HYLA High School Class is comprised of twenty-nine high school juniors from Hancock County who represent all four area schools. On Sunday, February 21, 2016, the group traveled to the Garaywa Camp & Conference Center in Clinton, Mississippi, where they participated in a ropes course, sponsored by the Silver Slipper, which focused on team-building and effective leadership through self-awareness and respect for the contributions of others. The adventure ended with a bonfire and lodging at the conference center, before the next full day of the trip began.
Jackson State University was the first stop of the day for the young leaders that included a tour of the beautiful campus. From there, they travelled to Millsaps College in Jackson where the administration welcomed students with a campus tour and provided lunch. The students then embarked on a full afternoon beginning with a visit to the Supreme Court. There, they were greeted by the newest Supreme Court Justice, Honorable Dawn H. Beam, and learned about the inner workings of the state's judicial system.
The students then travelled to the State Capitol where they were greeted by Lieutenant Governor Tate Reeves and Secretary of State, Delbert Hosemann, Students then met with Representatives David Baria (District 122), Timmy Ladner (District 93) and Senator Phillip Moran (District 46) who explained the legislative process and answered questions regarding the current status of bills in the Mississippi Legislature. A tour of the beautiful Capitol was next on the agenda before rounding out a very full two days of team building, civic education, and engagement with state leadership institutions. The capitol visit was generously sponsored by The First, a National Banking Institution.
The Hancock Youth Leadership Academy is the first and only county-wide youth leadership program in Hancock County, and is a program of The Hancock Resource Center. Moving forward, local community sponsorships are needed. Please consider sponsoring a session or making a general donation to support the ongoing operation of the Hancock Youth Leadership Academy. Invest in Hancock County's future by cultivating its next generation of leaders: visit www.hancockhrc.org or call 228-463-8887 to learn how.
Picture: First Row: (Left to Right) Cooper Compretta (Bay High), Brooke Rasco (Hancock), Marie Konopacki (Hancock), Representative David Baria (District 122), Representative Timmy Ladner (District 93), Abby Ladner (OLA), Adara Rutherford (Hancock)
2nd Row: Talia Jackson (Bay High), Ariana Rusher (Hancock), Amy Keith (Hancock), Morgan Ladner (Hancock)
3rd Row: Jill Seymour (Bay High), Tarah Necaise (Bay High), Jasmine Martin (Hancock), Jordan Ladner (Hancock), Haley Akers (Hancock)
4th Row: Kloe Lloyd (OLA), Minerva Alonso (Bay High), Elora Pierce (Bay High), Claire Lundgren (OLA), Aidia Suter (Bay High), Katie Ladner (Hancock)
5th Row: Brooke Ladner (Hancock), Corbin Blanchard (St. Stanislaus), Andrew Elkins (St. Stanislaus), Cody Peranich (St. Stanislaus), Demetri Lyons (Bay High)
Last Row: Drew Burnett (St. Stanislaus), Bradley Lewis (Hancock), Seth Taylor (St. Stanislaus), Tim Papania (Hancock).


In small saucepan, stir 10 ounces Champagne or sparkling wine and 2 tablespoons granulated sugar; sprinkle with 3 envelopes unflavored gelatin and let stand 2 minutes. Heat Champagne mixture over low heat 2 minutes or until gelatin dissolves, stirring constantly. Remove from heat; stir in 5 ounces Champagne. Pour Champagne mixture into a loaf pan; refrigerate at least 4 hours or overnight.
To unmold, dip bottom of pan into warm water; carefully run knife along edges. Flip over onto cutting board. Cut into small squares and arrange on serving plate; sprinkle with blue sugar sprinkles.


The Western Pension & Benefits Council - Denver Chapter is pleased to continue a holiday tradition of hosting our December luncheon at the Brown Palace Hotel. We are pleased to welcome Mathemagician, Dr. Arthur Benjamin, who is both a professor of mathematics and a magician. He has combined his two loves to create a dynamic presentation called "Mathemagics," where he demonstrates and explains his secrets for performing rapid mental calculations faster than a calculator. He has presented his high energy talk for thousands of groups throughout the world.
Dr. Benjamin has appeared on many television and radio programs, including: The Today Show, CNN, The Colbert Report, and National Public Radio. He has been profiled in The New York Times, Los Angeles Times, USA Today, Scientific American, Discover, Omni, Esquire, Wired, People Magazine, and Reader's Digest.
Dr. Benjamin has given 3 TED Talks, one of which has been viewed over five million times. Reader's Digest calls him "America's Best Math Whiz".
Please indicate your meal choice on the registration form.


If you've ever dreamed of having a handsome prince gently guide your foot into a glass slipper or give you a tender kiss to awaken you from a deep slumber, you might be hankering for a Disney-themed wedding. You may think that it's an impossible dream, but when you wish upon a star someday your prince or princess will come! To help you put together the perfect Disney wedding, we've created our own Disney wedding collection featuring designs with your favorite characters. Be true to your heart and check out all of our fun options!
Check out the rest of our Disney wedding collection here. We hope you have an enchanted day with your significant other!


text:
Q: Understand stack layout where local variables are located I have the following code:
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <stdlib.h>
char *MASTER_PASSWORD = "password";

bool login(char * password){
  bool is_logged_in=false;
  char buf[8];
  strcpy(buf,password);
  if(strcmp(buf, MASTER_PASSWORD)==0){
     is_logged_in=true;
  }
  return is_logged_in;
}

int main(int argc, char *argv[]){
  if(argc <2)
  {
    printf("Syntax: %s <input string>\n", argv[0]);
    exit (0);
  }

  if(login(argv[1]))
    printf("you are authorized");

  return 0;
}

I'm using gdb to debug it, I need to know where the value of is_logged_in is saved in the stack. How can I do that?

A: Unless you take the address of a local variable (&is_logged_in), optimizing compilers mostly won't store them on the stack. You can see this by using info scope in gdb:
$ gcc -Os -g3 stack-layout.c -o stack-layout
$ gdb -q stack-layout
(gdb) info scope login

would show:
Scope for login:
<...>
Symbol is_logged_in is multi-location:
  Range 0x40064c-0x40066e: the constant 0
  Range 0x40066e-0x400673: a complex DWARF expression:
     0: DW_OP_breg0 0 [$rax]
     2: DW_OP_const1u 32
     4: DW_OP_shl
     5: DW_OP_lit0
     6: DW_OP_eq
     7: DW_OP_stack_value

, length 1.
<...>

Bear with me here even if you're not familiar with x86-64 assembly. Disassembling login() gives:
8   bool login(char * password){
   0x000000000040064c <+0>:     sub    $0x18,%rsp
   0x0000000000400650 <+4>:     mov    %rdi,%rsi

9     bool is_logged_in=false;
10    char buf[8];
11    strcpy(buf,password);
   0x0000000000400653 <+7>:     lea    0x8(%rsp),%rdi
   0x0000000000400658 <+12>:    callq  0x4004c0 <strcpy@plt>

12    if(strcmp(buf, MASTER_PASSWORD)==0){
   0x000000000040065d <+17>:    mov    0x2009ec(%rip),%rsi        # 0x601050 <MASTER_PASSWORD>
   0x0000000000400664 <+24>:    lea    0x8(%rsp),%rdi
   0x0000000000400669 <+29>:    callq  0x4004f0 <strcmp@plt>
   0x000000000040066e <+34>:    test   %eax,%eax
   0x0000000000400670 <+36>:    sete   %al

13       is_logged_in=true;
14    }
15
16    return is_logged_in;
17  }
   0x0000000000400673 <+39>:    add    $0x18,%rsp
   0x0000000000400677 <+43>:    retq

What gdb info scope is saying about is_logged_in:

*

*Between 0x40064c and 0x40066e, i.e. between the start of the function and the call to strcmp(), is_logged_in has the constant value 0.

*Between 0x40066e and 0x400673, i.e. after the call to strcmp() till the end of the function, the value of is_logged_in can be calculated by:

*

*Reading the 64 bit register that stores the return value from strcmp() (RAX)

*Left shift 32 bits

*Compare the result to 0. The value of is_logged_in is 1 if the equality comparison is true and 0 otherwise.

At this point some may argue that is_logged_in would be allocated differently if we compile with a lower optimization level, but my point is that local variables are only guaranteed to be on the stack if you take their address and do something with that address that the compiler would not optimize away. In this case, if you want to change the value of is_logged_in you're better off changing the value returned by strcmp() i.e. change RAX right after strcmp() returns.
If is_logged_in is allocated on the stack, p &is_logged_in would print its address in GDB. If it's not on the stack you'd get an error like
(gdb) p &is_logged_in
Can't take address of "is_logged_in" which isn't an lvalue.

The DWARF debug info format including its stack machine operations are documented at dwarfstd.org.

redpajama_set_name: RedPajamaStackExchange


text:
Species on the move
Emotion-detection applications built on outdated science, report warns
Graduates offer small businesses a route to innovation — but firms don't know how to access them
Researchers deploy a novel mobile lab for rapid, real-time pathogen testing in the field
Red wine's resveratrol could help Mars explorers stay strong, says Harvard study
'Trojan horse' anticancer drug disguises itself as fat
Jumbo squid mystery solved
Could the heat of the Earth's crust become the ultimate energy source?
Modeling predicts blue whales' foraging behavior, aiding population management efforts
Shaky scaffold changes lung infrastructure
Scienmag - Science news and articles on health, environment, global warming, stem cells, bird flu, autism, nanotechnology, dinosaurs, evolution -- the latest discoveries in astronomy, anthropology, biology, chemistry, climate & bioengineering, computers, engineering ; medicine, math, physics, psychology, technology, and more from the world's leading research centers universities.
Oregon scientists use EEG to decode how people navigate complex sequences
Findings from the fundamental research suggest strong working memory is vital to working with abstract information
Credit: Courtesy of Ulrich Mayr
EUGENE, Ore. – Dec. 3, 2018 -To perform a song, a dance or write computer code, people need to call upon the basic elements of their craft and then order and recombine them in creative ways.
University of Oregon scientists have captured how the brain builds such complex sequences from a small set of basic elements.
Doctoral student Atsushi Kikumoto and Ulrich Mayr, a professor in the Department of Psychology, detailed their National Science Foundation-supported work in a paper published online Nov. 14 in the journal eLife.
In the study, electrical activity and oscillation patterns were measured by electroencephalogram, with electrodes on the scalp from 88 study participants, all university students, while they performed complex, sequential patterns.
"Basic elements – the alphabet of any type of performance — need to be combined in a certain order within larger chunks, and these chunks, in turn, need to be combined in a certain order to arrive at the complete sequence," said Mayr, who directs the UO's Cognitive Dynamics Lab. "This is at the heart of a lot of human creativity.
"For example, if you are playing a piece on the piano, your brain needs to keep track in which larger musical phrase, which bar, and which exact note you are currently at," he said. "So, you need a kind of mental addressing system. It is this addressing system that we discovered with our EEG methods."
Subjects memorized sequential patterns that consisted of three different angles of lines as basic elements. When participants subsequently tried to reconstruct the succession of lines, the EEG showed oscillatory patterns that Kikumoto and Mayr decoded using machine learning techniques.
It turns out that the EEG patterns kept track of the precise location within the sequence – which chunk, which position within the chunk, and which line angle people were focusing on.
The findings from the basic research help to understand why some people have difficulties with executing complex sequential plans, Mayr said.
Within the hierarchically organized addressing system, not everyone showed a robust EEG expression of the more abstract levels, he said. Only people with strong working memory scores – a reflection of the capacity of an individual's mental workspace – seemed to have a crisp record of the current chunk.
"Without the chunk information they literally got lost within the mental landscape of the overall sequence," he said.
EEG allowed the researchers to capture electrical signaling in the brain in real time. Mayr and Kikumoto are now working to complement the findings with magnetic resonance imaging to document exactly where in the brain the sequential addressing system is localized.
Source: Ulrich Mayr, professor and head, Department of Psychology, 541-346-4959, [email protected]
Note: The UO is equipped with an on-campus television studio with a point-of-origin Vyvx connection, which provides broadcast-quality video to networks worldwide via fiber optic network. There also is video access to satellite uplink and audio access to an ISDN codec for broadcast-quality radio interviews.
About Ulrich Mayr: https://psychology.uoregon.edu/profile/mayr/
Department of Psychology: https://psychology.uoregon.edu
Cognitive Dynamics Lab: https://pages.uoregon.edu/thinking/index.html
Jim Barlow
http://dx.doi.org/10.7554/eLife.38550.001
Memory/Cognitive ProcessesNeurobiologySocial/Behavioral Science
Innovation award for climate-friendly methane cracking
Undercover investigation: Socio-economic survey of pangolin hunting in Assam, India
Timing of spay, neuter tied to higher risk of obesity and orthopedic injuries in dogs
Ants that defend plants receive sugar and protein
One in 270 births have 'dual burden' of prematurity and severe maternal…
Cracks in the skin of eczema patients promote allergic diseases
NASA sees Tropical Cyclone Bouchra being blown apart
Scienmag Nov 20, 2018
Credit: NASA Worldview, Earth Observing System Data and Information System (EOSDIS) Tropical Cyclone Bouchra may…
The space rock that hit the moon at 61,000 kilometers an hour
The energy system of the future and Power-to-X
© 2019 - Scienmag: Latest Science and Health News. All Rights Reserved.
Scienmag Science Magazine


Forms are grouped by their originating office. All MBA forms are PDFs. In the case of forms managed by other offices, clicking the link will take you to a webpage, rather than directly to the form.
Click here for forms and information relating to billing/payment of tuition, tuition appeals, financial aid, etc.


I have been using libreoffice for some years now with no complaints whatsoever. However I recently upgraded to 5.0 from 4.4 and the UI is just horrific!! is it just my version (debian) it seems like I was thrown back to office 2000 or win98. What has happened?
Check Q64348 to see if you have been hit by the GTK3 issue.


text:
Q: Custom Firebase API for Apps I am developing a new application that integrates into Firebase.
My question is whether I should have the application connect directly to Firebase Database? Or should I develop my own custom API using Node.js and have my app connect to those API's? Or is it OK for my app to connect directly to Firebase Database?

A: The Client SDKs (JavaScript, Android, iOS) are especially made for directly connecting your app to Firebase services (Databases, Cloud Storage, etc.).
You normally combine them with some security rules, either to manage access control or to control the data that is written to the database.
If you have specific needs that cannot be implemented through the Client SDKs (and security rules) you could very well use you own APIs using the Node.js SDK: for example, implementing you own authentication/autorisation mechanism, implementing a complex business logic to verify data that is coming from the client app, or a business logic for transforming data that you don't want to expose in the front-end (aka "Secret sauce"), etc.
Here is an article from Doug Stevenson (Firebaser) comparing Client SDKs and Cloud Functions to write to the database that you should definitely read: using Cloud Functions is similar to implementing your own APIs in Node.js (Same language, environment that you manage).


text:
Crambe L. é um género botânico pertencente à família Brassicaceae.

Espécies
 Crambe abyssinica
 Crambe cordifolia
 Crambe hispanica
 Crambe koktebelica
 Crambe kotschyana
 Crambe maritima
 Crambe orientalis
 Crambe tatarica
 Lista completa

Classificação do gênero

Referências

Ligações externas
 PPP-Index
  USDA Plants Database
 Germplasm Resources Information Network (GRIN)

Brassicaceae
Géneros de plantas
!

redpajama_set_name: RedPajamaWikipedia


CAG Purification offers a wide range of industry leading compressed air/gas/vacuum purification products as well as condensate management and pipe distribution system products. Our products are designed specifically for any application utilizing compressed air/gas and vacuum systems. Our standard products are available from stock and can be viewed below by clicking on the products of interest.


Have not seen this one before. Any information would be appreciated. For sale whiten driving distance for me.
Last edited by Herman on Fri Jan 25, 2019 9:59 pm, edited 1 time in total.
Basically a German Orthophonic Victor. Snag it!
I'd snag it if I were you!
The brand, by the bye, is "Electrola," not "Electora." Both sound suitably antique, though.
Orlando show tomorrow and Saturday so will see if I can go see it on Sunday.
It is going cheap but would like an estimate on value?
I do not believe the reproducer is original to the machine. It has a Goldring reproducer.
The original reproducer for these machines is a Electrola-labeled version of the English HMV4 (similar to the Victor 4). Electrola nr 4 reproducers are not that common, but their English HMV counterparts are, you can find them at least weekly for sale on the English ebay. If you don't care much for the authenticity, the Goldring is a good reproducer, and it may perform as well as the nr 4 on this machine.
Thanks Carlos. You confirmed what I thought. I will keep the Goldring on the machine and keep my eyes open for the correct reproducer.
Unfortunately it looks like it has a damaged mica.
It's not an Orthophonic Victrola, it's an HMV Model 109, made in London but badged 'Electrola' for the German market where, as a result of WW1, The Gramophone Company no longer had the rights to the HMV trade mark. It dates from about 1927.