Skip to content

Margus Roo –

If you're inventing and pioneering, you have to be willing to be misunderstood for long periods of time

  • Cloudbreak Autoscale fix
  • Endast

Minu esimene Hartley Oscillator

Posted on April 15, 2018 - December 11, 2018 by margusja

Võnkumine on maagiline. LC ahel sai testitud ja sealt oli loomulik jätk pidev võnkumine.

Sai tiba uuritud ja siis peotäis detaile tellitud, mis sai makettplaadile laotud. Loomulikult sai paar korda üht-teist valesti ühendatud, aga just see andis põhjuse enam skeemi süveneda ja asjadest paremini aru saada. Ja oh seda õnne kui ostsilloskoop hakkas mõistliku pilti näitama.

 

Ülaltoodud pildil on näha kuidas sinine juhtsignaal on suhtes võimendatud väljundsignaaliga.

 

Allikas: http://www.learnabout-electronics.org/Oscillators/osc22.php

Veel enda jaoks paar kasuliku viidet:

  • https://payatu.com/getting-started-with-radio-waves-hacking/
  • Kuidas moduleeritud signaal õhku saata https://rimstar.org/science_electronics_projects/make_simple_am_radio_transmitter.htm
  • Päris palju huvitavaid FM linke http://www.zen22142.zen.co.uk/Circuits/rf/rf.html
  • Teooriat analoog elektroonika kohta http://www.zen22142.zen.co.uk/adt.htm
  • Järgmine projekt http://www.zen22142.zen.co.uk/Circuits/rf/2bjttx.htm
Posted in Elektroonika

Transistoritest

Posted on April 10, 2018 - January 8, 2020 by margusja

Kogun siia häid viiteid transistorite kohta

Allikas: https://sisu.ut.ee/elektroonika/7-transistor

By measuring Vce Voltage we can fine which region the transistor is operating

  1. If Vce approximately equal to the supply voltage Vcc ; then the transistor is in cut -off – There will NOT be any collector Current
  2. If Vce is near to 0V or about 0.2 V ; the transistor is in saturation; there will be MAXIMUM Collector Current
  3. If Vce > 0.3 v and less than Vcc then the transistor is in ACTIVE resgion, and there will be some collector current

Allikas: https://www.quora.com/How-can-we-find-in-which-region-transistor-is-operating

Posted in Elektroonika

Minu esimene PCB plaat

Posted on April 5, 2018 by margusja

Kuni siiani on kõik minu elektroonika projektid olnud paras juhtmepundar. Või siis olen https://taaralabs.eu/ (Ull) käest ostnud valmis plaadi.

Nüüd tekki tahtmine ise Eagle’ga mürada, Hiinlastega asju ajada.

Esimese asjana võtsin ette lihtsa, samas mulle praktilise probleemi. Väga paljud minu projektid vajavad 5V ja 3.3V alalisvoolu.

Mõeldud tehtud. Disainisin endale MCP1703 baasil pingeregulaatori.

 

 

Tinutasin jupid peale ja töötab kenasti.

Posted in Elektroonika

Minu esimene LC sumbuv võnkumine

Posted on April 5, 2018 - April 5, 2018 by margusja

Olen alati aukartusega vaadanud ja kuulanud analoogelektroonika/raadiotehnika mehi. Minule tundub, et digitaalelektroonika on hoopis lihtsam maailm võrreldes analoogmaailmaga. Analoogmaailm on minuarust palju lähedamal päris füüsikale. Igal juhul minu esimesed sammud selles valdkonnas.

Tegin läbi nn LC ahela hello world’i. Paralleelselt ühendatud pool ja kondensaator.

Kui nüüd kondensaator ära laadida ja toide lahti ühendada, siis hakkab kondensaator ennast läbi induktiivpooli tühjaks laadima läbi pooli. Kui kondensaator on tühjaks saanud, siis magnetväli pooli ümber saavutanud maksimaalse võimsuse. Kuna induktiivpool tahab säilitada voolu suunda, siis laetakse kondensaatori teine pool. Selleks ajaks on pooli ümber magnetväli maas. Nüüd hakkab kõik tagurpidi toimuma kuni on taas kondensaatori teine külg laetud. Jne kuni võnkumine väheneb ja lõpuks lakkab kuna energia kadu on juhtmetes.

 

Allikas: https://en.wikipedia.org/wiki/LC_circuit

 

Proovisin ise järele.

 

Tulemuseks ilus sumbuv võnkumine.

Posted in Elektroonika

Raadiolained, moduleerimine, induktsooon

Posted on April 2, 2018 - April 10, 2018 by margusja

Kogun siia enda jaoks subjektis toodu teemaga seotud linke ja infot, et neist ükspäeb enda jaoks terviklik pilt kokku panna.

Sageduse suurenedes suureneb aktiivtakistus pindefekti mõjul – juhtmes indutseeritud pöörisvoolude mõjul kulgeb vool rohkem pinnakihtides. Juhtme südamik jääb põhiliselt kasutamata, seetõttu juhtme ristlõikepind näivalt väheneb ja takistus suureneb. (Allikas: http://www.ene.ttu.ee/leonardo/elektro_alused/6Vahelduvvool.pdf)

 

 

 

Allikas: https://commons.wikimedia.org/wiki/Main_Page

 

 

https://www.electronics-tutorials.ws/oscillator/oscillators.html

http://www.learnabout-electronics.org/Oscillators/osc10.php

Posted in Linux

Phoenix org.apache.phoenix.mapreduce.index.IndexTool java.lang.ArrayIndexOutOfBoundsException

Posted on March 23, 2018 by margusja

One good example how community works!

I had a strange error:

Hi

Needed to recreate indexes over main table contains more than 2.3 x 10^10 records.
I used ASYNC and org.apache.phoenix.mapreduce.index.IndexTool
One index succeed but another gives stack:
2018-03-20 13:23:16,723 FATAL [IPC Server handler 0 on 43926] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Task: attempt_1521544097253_0004_m_000008_0 – exited : java.lang.ArrayIndexOutOfBoundsException at org.apache.hadoop.mapred.MapTask$MapOutputBuffer$Buffer.write(MapTask.java:1453) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer$Buffer.write(MapTask.java:1349) at java.io.DataOutputStream.writeInt(DataOutputStream.java:197) at org.apache.hadoop.hbase.io.ImmutableBytesWritable.write(ImmutableBytesWritable.java:159) at org.apache.hadoop.io.serializer.WritableSerialization$WritableSerializer.serialize(WritableSerialization.java:98) at org.apache.hadoop.io.serializer.WritableSerialization$WritableSerializer.serialize(WritableSerialization.java:82) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:1149) at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:715) at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89) at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112) at org.apache.phoenix.mapreduce.index.PhoenixIndexImportMapper.map(PhoenixIndexImportMapper.java:114) at org.apache.phoenix.mapreduce.index.PhoenixIndexImportMapper.map(PhoenixIndexImportMapper.java:48) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:170) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:164)
 
 
Is here any best practice how to deal with situations like this?
 
Br, Margus
And there was answer out there!
Hard to say at a glance, but this issue is happening down in the MapReduce framework, not in Phoenix itself.

It looks similar to problems I’ve seen many years ago around mapreduce.task.io.sort.mb. You can try reducing that value. It also may be related to a bug in your Hadoop version.

And it resolved my problem!
Great hint! Looks like it helped!

What a great power of community!

Br, Margus

Posted in IT

Game Theory

Posted on March 22, 2018 - March 22, 2018 by margusja

Aeg-ajalt olen seda fraasi kuulnud ja siis googeldanud ja üldmõttest aru saanud. Et edaspidi lihtsam oleks, siis kirjutan omale siia maha kokkuvõtte mänguteeooria ühest levinumast näitest – Prisoners’ Dilemma.

Olukord on siis selline, et kaks tegelast jäävad autovargusega vahele, mille eest tahetakse neile panna karistuseks kaks aastat. Mõlemad paigutatakse eraldi kambritesse ülekuulamiseks. Samas selgub, et mõlemat tegelast kahtlustatakse ka pangaröövis. Tegelased omavahel suhelda ei saa.

Mõlemale pätile antakse valikud:

  1. Kui mõlemad tunnistavad pangaröövi ülesse, siis saavad kolm aastat.
  2. Kui üks tunnistab pangaröövi ülesse ja teine ei tunnista, siis see, kes tunnistab pangaröövi saab ühe aasta ja see, kes ei tunnistanud saab kümme aastat.

Antud valikutest saab moodustada maatriksi:

Vang 1
TunnistabEi tunnista
Vang 2TunnistabMõlemad saavad kolm aastatVang 2 saab ühe aasta. Vang 2 saab kümme aastat.
Ei tunnistaVang 1 saab kümme aastat. Vang 1 saab ühe aastaVang 1 saab kaks aastat. Vang 2 saab kaks aastat.

Kui nüüd mõlemad vangid läheksid oma karistuse minimaliseerimise peale (kaks aastat), siis on oht, et üks või teine tunnistab ennast siiski pangaröövis süüdi ja üks või teine saab kümme aastat. Analüüsides ülal toodud lihtsat tabelit, siis selgub, oluline on mõlema vangi vaatevinklist kümme aastal laualt minema saada. Ja valikutesse jääb üks aasta, juhul kui üks või teine ei tunnista ennast süüdi või siis kolm aastat kui mõlemad tunnistavad ennast süüdi.

Posted in Linux

Scala higher-order functions

Posted on March 1, 2018 by margusja

For me personally, very difficult to thing recursively. So I’ll put some examples for me down here.

First – higher-order function is a function takes function as an argument or returns result as a function.

Lets create a high-order function in scala:

scala> def highF(f: Int => Int, a: Int) = f(a)
highF: (f: Int => Int, a: Int)Int

As we can see it does not do anything usable. Just takes f(Int) and returns Int.

Lets create two first class functions:

scala> def first1(a: Int) : Int = { a.+(a) }
first1: (a: Int)Int

scala> def first2(a: Int) : Int = { a.-(a) }
first2: (a: Int)Int

This functions are already easier to explain. First one takes Int and just does Int + Int. In example a => a + a.

Second one just subtracts a => a – a.

Now comes interesting part – how we use higher-order function.

scala> highF(first1, 2)
res23: Int = 4

scala> highF(first2, 2)
res24: Int = 0

And there is more. We can use anonymous function as an argument:

scala> highF(a => a.+(10), 2)
res25: Int = 12

Posted in IT

What does reduce

Posted on February 9, 2018 - February 9, 2018 by margusja

 

List( 1, 2, 3, 4 ).reduce( (x,y) => x + y )   == (((1+2)+3)+4)
Step 1 : op( 1, 2 ) will be the first evaluation. 
  Start with 1, 2, that is 
    x is 1  and  y is 2
Step 2:  op( op( 1, 2 ), 3 ) - take the next element 3
  Take the next element 3: 
    x is op(1,2) = 3   and y = 3
Step 3:  op( op( op( 1, 2 ), 3 ), 4) 
  Take the next element 4: 
    x is op(op(1,2), 3 ) = op( 3,3 ) = 6    and y is 4
Posted in Linux

Restore ESP8266EX original firmware using esptool

Posted on February 9, 2018 - February 9, 2018 by margusja

https://github.com/mlwmlw/esp8266-workshop/tree/master/firmware

margusja@IRack:/System/Library/Extensions$ esptool.py –port /dev/tty.wchusbserial1410 write_flash 0x00000 /Users/margusja/Downloads/v1.3.0.2\ AT\ Firmware.bin
esptool.py v2.2
Connecting….
Detecting chip type… ESP8266
Chip is ESP8266EX
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Auto-detected Flash size: 1MB
Compressed 1044480 bytes to 242823…
Wrote 1044480 bytes (242823 compressed) at 0x00000000 in 21.6 seconds (effective 387.1 kbit/s)…
Hash of data verified.

Leaving…
Hard resetting…

 

AT+GMR
AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK

Posted in Linux

Posts navigation

Older posts
Newer posts

The Master

Categories

  • Apache
  • Apple
  • Assembler
  • Audi
  • BigData
  • BMW
  • C
  • Elektroonika
  • Fun
  • Hadoop
  • help
  • Infotehnoloogia koolis
  • IOT
  • IT
  • IT eetilised
  • Java
  • Langevarjundus
  • Lapsed
  • lastekodu
  • Linux
  • M-401
  • Mac
  • Machine Learning
  • Matemaatika
  • Math
  • MSP430
  • Muusika
  • neo4j
  • openCL
  • Õpetaja identiteet ja tegevusvõimekus
  • oracle
  • PHP
  • PostgreSql
  • ProM
  • R
  • Turvalisus
  • Varia
  • Windows
Proudly powered by WordPress | Theme: micro, developed by DevriX.