Sunday, September 29, 2019

Transcripts for study English

Of course, it looks strange to study English with computer games, but it is not bad to improve gaming skills along with language listening.

So that, I have found some games with intermediate and advanced English dialog.

For first is 'Life is Strange' with advanced English dialog, and for second is 'Encodya' which still is a demo.

I wanted to make transcripts automatically with GCP and I have steps what work for  my computer.

1. Record video play.

2. Open convert dialog in VLC program to save only audio stream from newly recorded video.


Don't forget to save it in FLAC, because MP3 is not supported.

3. Open flac in Audacity and mix channels not Mono, because Stereo is not supported.


4. Save GCP credentials JSON in the disk and set Environment variable GOOGLE_APPLICATION_CREDENTIALS with path to the credentials json you obtime from Google cloud console.

5. Navigate to Storage in GCP and select bucket to store flack file to process.


6. Enable Speech to text service in GCP.

7. Npm packege.json with libraries

{
    "name": "arise", 
    "version": "1.0.0", 
    "description": "", 
    "main": "main.js", 
    "dependencies": {
        "@google-cloud/speech": "3.3.0", 
        "yargs": "^14.0.0"
    }, 
    "devDependencies": { }, 
    "scripts": {
        "build": "node main.js"
    }, 
    "author": "", 
    "license": "ISC"
}


8. Node js module looks like this, you need just change Gcp Url on it with Bucket and file name. Original code

const speech = require('@google-cloud/speech');
const path = require('path');

const client = new speech.SpeechClient();

  const gcsUri = 'gs://staging.alien-dialect-254414.appspot.com/2.flac';
  const encoding = 'FLAC';
  const languageCode = 'en-US';

  const config = {
    enableWordTimeOffsets: true,
    encoding: encoding,
    languageCode: languageCode,
 sampleRateHertz: 44100
  };

  const audio = {
    uri: gcsUri,
  };

  const request = {
    config: config,
    audio: audio,
};

client
  .longRunningRecognize(request)
  .then(data => {
    const operation = data[0];
    // Get a Promise representation of the final result of the job
    return operation.promise();
  })
  .then(data => {
    const response = data[0];
    var subContent = "";
    response.results.forEach(result => {
      console.log(`Transcription: ${result.alternatives[0].transcript}`);
      subContent = subContent + result.alternatives[0].transcript;
   result.alternatives[0].words.forEach(wordInfo => {
        // NOTE: If you have a time offset exceeding 2^32 seconds, use the
        // wordInfo.{x}Time.seconds.high to calculate seconds.
        const startSecs =
          `${wordInfo.startTime.seconds}` +
          `.` +
          wordInfo.startTime.nanos / 100000000;
        const endSecs =
          `${wordInfo.endTime.seconds}` +
          `.` +
          wordInfo.endTime.nanos / 100000000;
        console.log(`Word: ${wordInfo.word}`);
        console.log(`\t ${startSecs} secs - ${endSecs} secs`);

      });
    });
  })
  .catch(err => {
    console.error('ERROR:', err);
  });

9. npm install; npm run-script build > transcript.txt

That is all, you have transcription. You also can monitor resources in Speech to text service

I saved 15 minutes of Encodya and 20 minutes GCP made transcript to the text:

Transcription:  if you were born here how is it possible you have to stick accent
deal birthing 2062 IDOC megalopolis run by corporations and corrupt politicians gyro 14 oz made the streets her home she scavenges for a living Reinventing uses for scraps the Robey friend is SAU MP3 the big clumsy robot assigned to her at Birth he will do anything to protect her check Tina what date in Torrance and will discover something that may change the world is the night before that day the beginning to ending credit I guess that our last ticket has expired are we very far from home display we must take another flybus to reach our place we should find a ticket it's getting late and very cold out here you must return to our shelter as soon as possible let's go if I Pass rates I need to take a number to 12 to get to my shelter he get credits and it gives you fly bus tickets I don't have any credits hey there's a rusty saber color can in here I don't want to throw anything away seems like no one is really using it I don't like his face looks nasty hello there robot doesn't speak as human language Glenside advertises a new kind of training cat the other side a synthetic fish meal they corpse has awful taste sexy statue looks fully immersed let me not to disturb him it's the fly bus time table looks like time is Frozen in New Berlin it's a console for copying data from Roblox instead of ordering at the moment I can't use it it's out of order it's a long and interesting road but the developer needs funds to finish the game hey something is simmering in there I saw something shining down there but I can't reach it how to make simple it over stop is that traffic but I can't see any car around excuse me and there's nobody around okay whatever do you have any free play bus tickets you're doing nothing rather than eating an Asian donut over there since you're probably giving up some task why is there an! Over your head will even if I don't have an! Over my head there's something that you can help me with or to whomever brings evidence of his identity if I wasn't busy handling traffic I could do it myself tell me more about this criminal other than a vague description of what he must have cheese and that includes Asian food tell me more about the reward whoever provides evidence will get 10,000 the Oberlin credits identifying proof of New Year's Day tell me more about the evidence in the Oberlin police archive so if I bring you a fingerprint of his criminal you will pay me I better go look for him he looks a bit creepy but funny at the same time hello what's up kid I hope you have a good reason to enter up by collisions meals do you have any spare bus tickets spare bus tickets are you kidding me is Chubby nasty faces all around the city but I like your attitude anything else how's the food in here much better than a damn those corporations they don't care about work conditions for humans you have all my support anything else best mustaches is it difficult to grow them like that. Are you planning to grow a pair of little boy I'm a boy I'm a girl. Sorry I thought you were a boy I'm a child start sitting alone for the last three years just me and my robot Scavenging the dirty corners of this megalopolis but okay fair enough that explains a lot my tomboy anything else are you asking to spend answer the criminal quiet years and I've never heard Roscoe Spencer are you sure you look like them cuz they're already internet go Spencer and you just said no end of story nothing I'll leave you alone German MO an ancient sculpture called lombroso would say he looks like a criminal a tiny Asian chef with a mechanic and probably the owner and chef at this place he looks busy cutting fish excuse me let's do you want me to God it don't you see I'm a busy who are you seeing if you were born here how is it possible you have to stick accent

I made it readable in a hour:

if you were born here how is it possible you have to stick accent
Neo-Berlin 2062.
A dark megalopolis run by corporations and corrupt politicians.
Nine year old orphan Tina made the streets her home.
She scavenges for a living, reinventing uses for scraps.
Her only friend is S.A.M. S3
The big clumsy robot assigned to her at Birth.
he will do anything to protect her.
One day Tina and S.A.M. will discover something that may change the world.
Is the night before that day.
The beginning to an incredible journey.
The journey to.. Encodya.
I guess that our last ticket has expired..
Are we very far from home?
Yes, Tina. Eleven point thirty forth kilometers away.
We must take another fly bus to reach our place.
Damn..
we should find a ticket.
it's getting late and very cold out here...
You must return to our shelter as soon as possible.
Okay. Okay! Let's look around.
Al right. let's go.
It fly bus routes.
I need to take a number to 12 to get to my shelter.
He get credits. And it gives you fly bus tickets.
I don't have any credits.
Hey there's a rusty cubercola can in here.
I don't want to throw anything away.
Seems like no one is really using it.
I don't like his face. Looks nasty!
Hello there.
Ehm..? I guess robot doesn't speak as human language.
One side advertises a new kind of training hat..
The other side a synthetic fish meal..
The big corps has awful taste!
A cyberspace junkie.
He looks fully immersed.
Better not to disturb him.
It's the fly bus time table.
looks like time is Frozen in Neo-Berlin.
it's a console for copying data from Robots.
But it's out of order at the moment...
I can't use it. It's out of order.
It's a long and interesting road..
But the developer needs funds to finish the game!
Hey something is shimmering in there.
There is something shining down there.
But I can't reach it.
I'm too weak to pull it over.
It seems focused on traffic.
But I can't see any car around.
Excuse me..
Yes?
What are you doing here, considering is nobody around?
I'm programmed to handle traffic and prevent car accidents.
Yeah. I guessed that. But most of the cars are up in the sky!
I'm programmed to handle traffic and prevent car accidents.
Okay, whatever...
Do you have any free fly bus tickets?
No, I am sorry.
Blimey!
Now leave me alone, small human. Don't you see I'm busy?
Actually. I am surprised to see you here doing nothing.. rather than eating an Asian donut over there.
You little scoundrel!
Something else I can help you with?
Since you're probably giving up some task, why is there an exclamation mark -!- over your head?
Hey. This is a Point'N'Click adventure game! Not some polish RPG..
So are you giving me a mission or not?
Well. Even if I don't have an explanation mark over my head..
There's something that you can help me with.
Really, what?
Neo-Berlin police has reported a very dangerous criminal in this area.. And offers a reward to whenever brings evidence of his identity.
if I wasn't busy handling traffic I could do it myself.
Tell me more about this criminal..
His name is Rosco Spenser..
He is wanted because he publicity offended the Mayor of Neo-Berlin.
There isn't much info about him.
Other than a vague description of long must aches..
..and that he loves Asian food.
Mmmh. Interesting!
Tell me more about the reward...
Whoever provides evidence will get 10,000 the Neo-Berlin credits.
Awesome! I can buy th fly ticket with this money!
Actually, you can buy a century subscription with these credits.
I'd better find proof of who h is then.
Sure, come back to me when you have evidence and I can pay you.
Great!
Tell me more about the evidence..
We need biometric data to search Neo-Berlin police archive and prove his identity..
..a fingerprint could do the job.
A fingerprint, uh?
Yes.
So if I bring you a fingerprint of his criminal you will pay me?
Exactly. But be careful.. He is very dangerous.
I better go look for him!
Be good and follow the law!
He looks a bit creepy but funny at the same time.
Hello..?
What's up kid?
I hope you have a good reason to interrupt my delicious meal..
So you have any spare bus tickets?
Spare bus tickets?! Are you kidding me?!
Since that swine of a mayor raised the transportation fee.. I am forced to go around on my grandpa's bike!
I don't like Mister Rumpf! His chubby nasty faces all around the city.
Yes, hoping to get re-elected. Puah! That pig will never get my vote!
Neither mine!
I guess you are too young to vote.. But I like your attitude!
Anything else?
How's the food in here?
Ohhh! I love it!
Much better than the chow at the factory canteen.
I've talk with the union. We should strike again, this time for 2 weeks!
Those corporations..
They don't care about work conditions for humans!
Yeah. I hate those big corps! Go ahead! You have all my support!
Thank you, kid. We heed it.
Anything else?
Nice mustaches! It is difficult to grow them like that?
It's not but it takes a lot of care.
Are you planning to grow a pair, little boy?
I am not a boy! I am a girl!
What!? Really?! Sorry, through you were a boy..
Errr no. I'm a child of this dark city. I've lived alone for the last 3 years...
Just me and my robot scavenging the dirty corners of this megalopolis.
Wow! That's incredible!
Who wrote you this character background?
I don't know..
but okay fair enough! that explains a lot my tough tomboy!
Anything else?
are you Rosco Spencer the criminal?
Shhhh! Be quiet! Neo-Berlin police hes ears in every corner!
But no. I've never heard of any Rosco Spencer.
Are you sure? You look like him..
What?! Have they already put around my wanted photo?!
I thought they need evidence first!
I was sure they only had that outrageous internet post about Rumpf.
That sleazy capitalist swine! Hope to see you him sink in the mud.
But sorry, never heard of Rosco Spencer.
And you just said..
No! I'm not him! End of story!
Anything else?
Nothing. I'll leave you alone.
Long live chairmen MAO!
An ancient scholar called Lombroso would say he looks like a criminal.
A tiny Asian chef with a mechanic hand.
Probably the owner and chef at this place. He looks busy cutting fish.
Excuse me.
What do you want, little girl? Don't you see I'm busy?
Who are you?
I'm a chef Hayao! Born i Germany, of Japanese origins.
Master of Noodles, Inventor of the Japanese-German fusion cuisine.
If you were born here, how's it possible you have this think accent?
Accent? What accent? I speak perfect English! You little racist!





Saturday, September 14, 2019

Backup with fixed size chunks

Here is a program to split large folders to fixed size chunks to backup it. Usually it takes 5 minutes to create ten 4Gb chunks with preserved folder structure you simply merge it again from backup. It supports Unicode for folders as well.

class Program
    {
        private const int MB = 1000000;
        private static string _folder;
        private static string _destFolder;
        private static bool _sameDestination;
        private static long _chunkSize;
        private static bool _move;
        private static bool _owerride;

        private static List<string> _skippedFiles = new List<string>();
        private static long _totalCount;
        private static long _totalSize;
        private static string[] _files;

        [DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr GetStdHandle(int nStdHandle);

        [DllImport("kernel32.dll")]
        static extern bool ReadConsoleW(IntPtr hConsoleInput, [Out] byte[]
           lpBuffer, uint nNumberOfCharsToRead, out uint lpNumberOfCharsRead,
           IntPtr lpReserved);

        public static IntPtr GetWin32InputHandle()
        {
            const int STD_INPUT_HANDLE = -10;
            IntPtr inHandle = GetStdHandle(STD_INPUT_HANDLE);
            return inHandle;
        }


        static void Main(string[] args)
        {
            Console.WriteLine("Folter to backup:");
            _folder = ConsoleReadLine();

            if(!Directory.Exists(_folder))
            {
                Console.WriteLine("NOT FOUND");
                return;
            }

            Console.WriteLine("Same destination?");
            string yesNo = Console.ReadLine();
            _sameDestination = yesNo.ToLower() == "yes";

            if (!_sameDestination)
            {
                Console.WriteLine("Destination folter:");
                _destFolder = ConsoleReadLine();

                if (!Directory.Exists(_destFolder))
                {
                    Console.WriteLine("NOT FOUND");
                    return;
                }
            }
            else
            {
                _destFolder = _folder;
            }

            Console.WriteLine("Size of CD MB:");
            _chunkSize = Convert.ToInt64(Console.ReadLine()) * MB;

            Console.WriteLine("Move files?");
            _move = Console.ReadLine().ToLower() == "yes";

            Console.WriteLine("Owerride partial results?");
            _owerride = Console.ReadLine().ToLower() == "yes";

            ScanForFilesLargeWhenSize();
            PreStatistics();

            Console.WriteLine("Are you sure tu start?");
            yesNo = Console.ReadLine();

            if(yesNo.ToLower() != "yes")
            {
                Console.WriteLine("FINISED");
                return;
            }

            ProcessFolter();
        }

        private static string ConsoleReadLine()
        {
            const int bufferSize = 1024;
            var buffer = new byte[bufferSize];

            uint charsRead = 0;

            ReadConsoleW(GetWin32InputHandle(), buffer, bufferSize, out charsRead, (IntPtr)0);
            // -2 to remove ending \n\r
            int nc = ((int)charsRead - 2) * 2;
            var b = new byte[nc];
            for (var i = 0; i < nc; i++)
                b[i] = buffer[i];

            var utf8enc = Encoding.UTF8;
            var unicodeenc = Encoding.Unicode;
            return utf8enc.GetString(Encoding.Convert(unicodeenc, utf8enc, b));
        }

        private static void ProcessFolter()
        {
            int chunkIndex = 0;
            long currentSize = 0;
            string currentFolter = string.Empty;
            long currentCount = 0;
            foreach (var file in _files)
            {
                string chunkName = string.Empty;
                var info = new FileInfo(file);
                if (chunkIndex == 0 || currentSize + info.Length > _chunkSize)
                {
                    if (chunkIndex > 0)
                    {
                        Console.WriteLine("Chunk created: {0}", currentFolter);
                        Console.WriteLine("Chunk size: {0} MB", currentSize / MB);
                        Console.WriteLine("Chunk file count: {0}", currentCount);
                    }
                    currentSize = 0;
                    currentCount = 0;
                    chunkIndex++;
                    chunkName = $"CD_{chunkIndex}";
                    currentFolter = Path.Combine(_destFolder, chunkName);
                    Directory.CreateDirectory(currentFolter);
                }

                string subFolder = CreateChunkSubfolder(file, currentFolter);
                string destFile = Path.Combine(currentFolter, subFolder, info.Name);
                long size = info.Length;
                if (File.Exists(destFile) && _owerride)
                {
                    File.Delete(destFile);
                }
                if (!File.Exists(destFile))
                {
                    if (_move)
                    {
                        File.Move(file, destFile);
                    }
                    else
                    {
                        File.Copy(file, destFile);
                    }
                    currentSize += size;
                    currentCount++;
                }
                else
                {
                    currentSize += new FileInfo(destFile).Length;
                }
            }
        }

        private static string CreateChunkSubfolder(string file, string destFolder)
        {
            string result = Path.GetDirectoryName(file).Replace(_folder, string.Empty).TrimStart(Path.DirectorySeparatorChar);
            string[] subfolders = result.Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries);
            string curentFolder = destFolder;
            foreach(var folder in subfolders)
            {
                curentFolder = Path.Combine(curentFolder, folder);
                if (!Directory.Exists(curentFolder))
                {
                    Directory.CreateDirectory(curentFolder);
                }
            }
            return result;
        }

        private static void PreStatistics()
        {
            Console.WriteLine("====================");
            Console.WriteLine("Total size to process: {0} MB", _totalSize / MB);
            Console.WriteLine("Total files count to process: {0}", _totalCount);
            Console.WriteLine("Minimal estimated chunks: {0}", (_totalSize / _chunkSize)+1);
            Console.WriteLine("Destination folder: {0}", _destFolder);
            Console.WriteLine("====================");
        }

        private static void ScanForFilesLargeWhenSize()
        {
            _files = Directory.GetFiles(_folder, "*", SearchOption.AllDirectories);
            foreach (var file in _files)
            {
                var info = new FileInfo(file);
                if (info.Length > _chunkSize)
                {
                    _skippedFiles.Add(file);
                    Console.WriteLine("{0} SKIPPED with size {1} MB", file, info.Length / MB);
                }
                else
                {
                    _totalCount++;
                    _totalSize += info.Length;
                }
            }
        }
    }

dictionary for a year

I started to prepare to new year with new words and phrases:

topic1


kindness доброта

concise локаничный

beside рядом с

serving порция

brewer пивовар

occasional случайный

hang out for требовать

reach out добиваться

leak out обнаруживать
topic2


entire цельный

entice соблазнять

considerably значительно

blueprint детельный план

lay out планировать

efficient результативный

deal сделка

consume расходовать

approach подход

apparent очевидный

challenging многообещающий
topic3


eliminate устронять

negligible незначительный

state констатировать

product результат

degree степень

intuetively по наитию

meaningless бессмысленный

lastly в заключение

imagine воображать

however однако
topic4


multiply умножать

eliminating исключение

avoid избегать

coerce заставлять

although хотя

factorization разложение на множетели

modulus остаток от деления

sign знак

remaining оставшийся

fraction дробь
topic5


esoteric тайный

rounding округление

precisely точно

hence отсюда

yield давать результат

luckily к счастью

Build-in встроенный

work around в обход

suppementary добавочный

floor право выступать на собрании
topic6


round круглый

ceil перекрывать

representative образец

whether ли

unlike в отлиции

inequality разница

involve привлекать

prime простое число

improve улучшать

pattern принцип
topic7


notice замечать

square root квадратный корень

wonder удивляться

recall возвращаться

decompose раскладывать на составные части

purpose намерение

explore исследовать

various различный

useful успешный

since после того
topic8


easy to look at симпатичный

as well as также как

matched подходящий

within внутри

turn менять направление

throungh на протяжении

regular правильный

set приводить в нужное положение

massive цельный
topic9


of its own accord сам по себе

bracket заключать в скобки

immensely весьма

concept понятие

supplementary добавлчный

denote отмечать

recap краткое повторение

reside быть свойственным

spread разброс
topic10


even уравновешенный

odd разрозненный

refer обращаться

reduce приводить к простому виду

jagged неровно оторванный

daunting обескураженный

keeping соблюдение

Tick-tak-toe крестики нолики

tie связка

entrance вход

nicely тщательно
topic11


maze лабиринт

degree градус

versatile многосторонний

similarly подобныйм способом

mimic подражать

come down уменьшаться

candy леденец

acknowledgment благодарность

thus таким образом

transpose менять порядок
topic12


rank ряд

soil почва

slice часть

space распологаться с промежжутками

equation уравнение

stem стебель

attitude отношение

consideration размышление

toil трудиться

apart from не говоря уже
topic13


tolerance переносимость

term определенный период

significant существенный

despite несмотря на

pitfall подвох

fall into place становиться ясным

key основной

discard ненужный

imaired ослабленный

even даже
topic14


properly должныйм образом

outline очертить

during во время

marble соблазнительный

nutrition пища

since так как

whenever вский раз когда

rather вернее

mindful внимательный к

albeit all through it
topic15


bloat раздуваться

reciprocal обратный

solidify застывать

get soaked through промокнуть до нитки

case прецидент

themselves себя

proper должный

desired желательный

outcome итог
topic16


exibit выражать

qonquer подчинять

countdown обратный отчет

tail заключительная часть

prone предрасположенный

thankfully к счастью

concept идея

evaluate оценивать

just as well пусть будет так

brlong to относиться
topic17


gain преобретать

permutation перестановка

swap менять местами

supersede заменять

halfway на пол пути

retrieval извлечение

Trade-off компромис

marginally минимально

pivot опорный

exhaust исчерпывать
topic18


resultant проистекающий

preserve сохранять

hash крошить

nutshell в двух словах

persistent постоянный

determinate определенный

most большинство

uniform единообразный

distribution распределение

Head-on лобовое
topic19


probing прощупывание

versatile многоцелевой

sceleton набросок

peek быстрый взгляд

evaluate оценивать

native исконно присущий

mutate видоизменять

recall свспоминать

mention упоминать

consequent споследовательный
topic20


alter менять

distinction отличие

cashier кассир

parenthesis вводное слово

afterwards в последствии

shuffle перемешивать

fund out выяснять

inquiry запрос

futhermore к тому же

either любой из двух
topic21


temporal временный

spatial пространственный

obvious очевидный

least наименьший

exсeed превышать

susceptible восприимчивый

forced принудительный

agjusted отрегулированный

accordingly соответственно
topic22


bring приносить

evict выгонять

farthest самый дальний

approximate сходный

inferior частность

balancing уравновешивание

preordination предопределение

flatten выравнивать

otherwise иначе

named after назван в честь
topic23


achieve достигать

appropriate подходящий

traverse преодолевать

skew асиметрия

implied предпологаемый

ancestor предок

fairly должным образом

whether который из двух

percolation процеживание

remain оставаться
topic24


above больше чем

in place в наличии

likewise подобно

following нижеперечисленный

satisfied уверенный

straightforward простой

delve изучать

vertex вершина

edge грань

sparse редкий
topic24


consider рассматривать

fraction доля

dense черезмерный

mutual взаимный

acknowledge подтверждать

adjacency смекжность

so far до настоящего времени

exhausted потраченный

employ применять

regard касательно
topic25


chronological во временном порядке

thereof из этого

origin источник

overall полный

figure out разгадывать

moreover кроме того

trier делающий все что в его силах

brute force грубая сила

ahead будущий

mismatch не подходить
topic26


backtrack отказываться

fingerprint характерный признак

absence отсутствие

break down расщиплять

overlap частично покрывать

immense обширный

literally буквально

knapsack ранец

contigous соприкосающийся

bit of fat случайная удача

exosceleton панцырь
topic27


quit бровать

took out достал

lay класть

phone booth телефонная будка

mentally ill психически больной

stock market фондовый рынок

public debt государственный долг

pick fruits собирать фрукты

wild onion дикий лук

sell by date срок реализации товара
topic28


stranger посторонний человек

discarded выброшенный

rest of us остальные

deal with иметь дело с

tramp бродяга

refuse отказываться

although хотя

freight train грузовой поезд

hitchhike автостоп

mussel двухстворчатая ракушка

salmon лосось

declare обьявлять

reckon расчитывать

cruft хлам
topic29


peach персик

lamb ягненок

beetroot свекла

cabbage капуста

pear груша

aubergine баклажан

melon дыня

mussel мидия

beef говядина

prawn креветка
topic30


prawn придурок

coutgette мелкий кабачек

cucumber огурец

clue раскрывать секрет

pea горох

keen сообразительный

baker пекарь

vowel гласный звук

jar банка

sausage сосиска
topic31


squid кальмар

carton тетропак

tuna тунец

roast печь в духовке

baked испеченный

eat out питаться вне дома

be at grass пастись

streamed vegitables распаренные овощи

fried жаренный

grow выращивать
topic32


steak вифштекс

heading заглавие

advice совет

work out разобраться

cereals злаки

disease болезнь

fibre волокно

cabrohydrate углевод

cure лечение

oily маслянистый

Ready-made приготовленный

lasagne лазанья

plenty избыток

go ahead взять на себя решение

incredible маловероятный
topic33


cousin двоюродный брат

starter первое блюдо

lift подвестти

glass стакан

each other друг друга

shouting кричать

coach тренер

book заказывать

spoilt избалованный

jelaous ревнивый
topic34


reliable надежный

borrow занимать

Self-confident уверенный в чебе

hit ударять

sutubborn упрямый

generous великодушный

kind добрый

matured продуманный

talkative разговорчивый

tidy акуратный
topic35


bevy собрание

venue есто проведения

lebanese ливанский

go along with you так я тебе и поверил

piled ворсистый

pull up препарковаться

get out выходить из машины

lifeline жизненно важная комуникация

furniture мебель
topic36


hardly ever почти никогда

survive продолжать существовать

babysit няня

boarding school интернат

gathering заседание

rivalry соперничество

estranged раздельно проживающий

spouse супруг
topic37


waste растрата

afford иметь возможность

worth стоимость

raise увеличивать

owe быть должным

charge забота

lend одалживать

borrow заимствовать

debd долг
topic38


pay back оплачивать

interest привлекательность

parking meter счетчик стоянки

take out занимать

shy застенчивый

outgoing платежи

everywhere повсюду

share доля

income доход

checkue платежное поручение
topic39


fortnight две недели

healther вериск

shelter приют

swing качать

hut хижина

lend a hand помочь

sight зрелище

so far, so good все идет нормально

straightforward простой

savvy здравый смысл
topic40


peal звон колоколов

adoring поклоняющийся

particular частность

catchy притяательный

tune мелодия

regard считаться

take into account принять во внимание

around повсюду

huge огромный

while в то время как
topic41


performance исполнение

venue место проведения

follow следить за речью

take up браться за что либо

taste пристрастие

deaf глухой

distinguish различать

origin происхождение

emerge выясняться

syncopate упрощать слово пропуская звук

fond нежный
topic42


caring внимательный

especially сособенно

soothing успокаивающий

hit ударять

simultaneously одновременно

tape магнитная лента

such and such такой то

suited подходящий

algae водоросли

significantly многозначительно

excited взволнованный

recital подробное изложение
topic43


induction стимулировать

conduct руководство

enrollment зачисление

awareness осознание

syringe пшприц

prosper процветать

assurance уверенность

rob разбойничать

gain усиление

breath отверстие
topic44


minset образ мышления

devuate отклоняться

mailformed плохо сформированный

bypass обходить

comply соблюдать

tenant арендатор

liability ответственность

mitigate смягчать

disclosure обнаружение

tighty плотно

least previlegie наименьшая превилегия
topic45


sloppy небрежный

accuracy точность

nuisance неприятность

trunk магистратьный

abdominal crunch качание пресса

maintain поддерживать

overtake догнать

emphasize придавать особое значение

mention упомянуть

groceries бакалея

household семейный

expenditure расходывание

triple тройной

habit привычка

thive процветать

debug magazine archive

  71 jounals still available on issuu with great story of netlabels time.  debug_mag Publisher Publications - Issuu