{"id":2,"date":"2009-08-28T22:10:59","date_gmt":"2009-08-28T19:10:59","guid":{"rendered":"https:\/\/yehar.com\/blog\/?page_id=2"},"modified":"2023-12-26T09:45:05","modified_gmt":"2023-12-26T07:45:05","slug":"about","status":"publish","type":"page","link":"https:\/\/yehar.com\/blog\/","title":{"rendered":"About"},"content":{"rendered":"<p><figure id=\"attachment_4565\" aria-describedby=\"caption-attachment-4565\" style=\"width: 2176px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2021\/01\/olli.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2021\/01\/olli.jpg\" alt=\"photo of Olli\" width=\"218\" height=\"218\" class=\"size-full wp-image-4565\" \/><\/a><figcaption id=\"caption-attachment-4565\" class=\"wp-caption-text\">2021<\/figcaption><\/figure><\/p>\n<p>My name is Olli Niemitalo. I live in H\u00e4meenlinna, Finland.<\/p>\n<p>You can reach me at o@iki.fi.<\/p>\n<p>I write here of technical and creative things that I am doing. All source code is released under Creative Commons CC0 1.0 Universal Public Domain Dedication (<a href=\"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/\">CC0 1.0<\/a>).<\/p>\n<p>Also check out my <a href=\"https:\/\/dsp.stackexchange.com\/users\/15347\/olli-niemitalo\">Signal Processing Stack Exchange profile<\/a>, if interested.<\/p>\n<div style=\"clear:both;\"><\/div>\n<hr>\n<p><div class=\"pt-cv-wrapper\"><div class=\"pt-cv-view pt-cv-grid pt-cv-colsys\" id=\"pt-cv-view-737853e146\"><div data-id=\"pt-cv-page-1\" class=\"pt-cv-page\" data-cvc=\"1\"><div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=4341\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"183\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2019\/08\/bk2804-1.png\" class=\"pt-cv-thumbnail\" alt=\"\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=4341\" class=\"_self\" target=\"_self\" >Vintage Bruel &#038; Kjaer<\/a><\/h3>\n<div class=\"pt-cv-content\">I encountered a treasure trove of old Bruel & Kjaer gear at a military surplus store, and bought everything (with affordable prices): <ul> <li>Bruel & Kjaer 2804 microphone power supplies with BNC output adapters.<\/li> <li>Bruel & Kjaer 4144 1\" condenser microphone capsules with protection grid.<\/li> <li>Bruel & Kjaer UA 0135 ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=4341\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/li><\/ul><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=4274\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2019\/04\/fig5.png\" class=\"pt-cv-thumbnail\" alt=\"\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=4274\" class=\"_self\" target=\"_self\" >What would the M87* black hole image look like if we saw 230 GHz radio waves?<\/a><\/h3>\n<div class=\"pt-cv-content\">I originally posted this as a question and an answer on <a href=\"https:\/\/physics.stackexchange.com\/\">physics.stackexchange.com<\/a>, but it was not received well there and was closed. The Event Horizon Telescope (EHT) M87* black hole image is <i>equivalent brightness temperature<\/i>, $T_\\mathrm{b}$, in Kelvins mapped to <i>color<\/i> using a perceptually uniform colormap from <a href=\"https:\/\/github.com\/liamedeiros\/ehtplot\">ehtplot<\/a>. By Rayleigh\u2013Jeans ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=4274\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=4218\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"225\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2019\/01\/22894209_10155981860143578_6520996554750559140_n.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=4218\" class=\"_self\" target=\"_self\" >My personal genome<\/a><\/h3>\n<div class=\"pt-cv-content\">I bought whole genome sequencing for myself, with raw sequencing data, from Dante Labs in late 2017. They advertised this level of sequencing quality: Dante Labs Whole Genome Sequencing - Technical Sheet Paired End Reads Length 100 base pairs Mapping Rate 99.22% Unique Rate 96.47% Average Sequencing Depth 37.44 Average ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=4218\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=4080\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"70\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2016\/12\/regedit.png\" class=\"pt-cv-thumbnail\" alt=\"\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=4080\" class=\"_self\" target=\"_self\" >UltraNav TrackPoint sensitivity hack<\/a><\/h3>\n<div class=\"pt-cv-content\">I have Lenovo ThinkPad X220 on which I am using the Synaptics UltraNav TrackPoint stick as mouse. Upgrade to Windows 10 made mouse slow enough to cause strain because of the extra force required, even when the Windows mouse speed setting was maxed out. In Windows 10 64-bit the latest ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=4080\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=3833\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"222\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2016\/03\/void.png\" class=\"pt-cv-thumbnail\" alt=\"\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=3833\" class=\"_self\" target=\"_self\" >Teardrop simulation<\/a><\/h3>\n<div class=\"pt-cv-content\">For more info see this <a href=\"http:\/\/math.stackexchange.com\/questions\/1447021\/function-to-describe-teardrop-shape\/1678533\">Mathematics StackExchange post<\/a> with my reply ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=3833\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=3593\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"44\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/triangle-300x44.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/triangle-300x44.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/triangle.png 593w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=3593\" class=\"_self\" target=\"_self\" >Enumeration of functions<\/a><\/h3>\n<div class=\"pt-cv-content\">I am interested in an enumeration of functions that starts with simple functions and progresses to more computationally expensive functions. Such an enumeration would enable to systematically try all useful functions for some task. For efficiency, it would be nice if the enumeration did not contain duplicate copies of the ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=3593\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=3471\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"206\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2014\/04\/SGI_dialbox_DLS80-1022_front-206x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2014\/04\/SGI_dialbox_DLS80-1022_front-206x300.jpg 206w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2014\/04\/SGI_dialbox_DLS80-1022_front-706x1024.jpg 706w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2014\/04\/SGI_dialbox_DLS80-1022_front.jpg 1360w\" sizes=\"(max-width: 206px) 85vw, 206px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=3471\" class=\"_self\" target=\"_self\" >Dial boxes<\/a><\/h3>\n<div class=\"pt-cv-content\">I obtained a few Silicon Graphics (SGI) dial boxes. They have RS-232 serial port interfaces.\u00a0I figured out the pinouts based on the circuit boards and plan to use these as controllers for some audio generators. Some of the PCB is blank and could be removed to clear room for buttons ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=3471\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=3468\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"276\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/aigo-276x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/aigo-276x300.jpg 276w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/aigo.jpg 460w\" sizes=\"(max-width: 276px) 85vw, 276px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=3468\" class=\"_self\" target=\"_self\" >Aigo GE-5 Driver<\/a><\/h3>\n<div class=\"pt-cv-content\">I bought an Aigo GE-5 microscope years ago. If someone needs, here is the driver for it. <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2014\/01\/GE5-mikroskooppi.zip\">GE5-mikroskooppi.zip<\/a> Thanks to Pauli for salvaging this from the CD my CD drive could no longer read ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=3468\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=3410\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"205\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2013\/05\/webroot-205x300.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2013\/05\/webroot-205x300.png 205w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2013\/05\/webroot.png 665w\" sizes=\"(max-width: 205px) 85vw, 205px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=3410\" class=\"_self\" target=\"_self\" >Is this site safe?<\/a><\/h3>\n<div class=\"pt-cv-content\">As far as I know, yehar.com is safe to visit. But I've had some problems with\u00a0anti-malware or Internet security companies categorizing yehar.com as malicious. So far these have been false alerts. McAfee Currently I have no problems with McAfee's\u00a0<a title=\"SiteAdvisor - User Feedback\" href=\"http:\/\/www.siteadvisor.com\/userfeedback.html\">SiteAdvisor<\/a>. I recall I had to ask for a re-evaluation once. Webroot ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=3410\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=3260\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2013\/03\/action3-300x200.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2013\/03\/action3-300x200.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2013\/03\/action3-1024x682.jpg 1024w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=3260\" class=\"_self\" target=\"_self\" >Microwave oven spot welder<\/a><\/h3>\n<div class=\"pt-cv-content\">I made a spot welder out of a microwave oven transformer and a starter cable. Those are quite popular actually. They use a solid state relay to switch the transformer on and off. I use a <a title=\"FOTEK\" href=\"http:\/\/www.fotek.com.hk\/page1e.htm\">Fotek SSR-40DA<\/a>\u00a0DC-controlled 40 A AC-zero-crossing-switching solid state relay. It was only 4 \u20ac and ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=3260\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=2926\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"144\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2012\/07\/biject-300x144.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2012\/07\/biject-300x144.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2012\/07\/biject.png 829w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=2926\" class=\"_self\" target=\"_self\" >Ellipse\u2013circle and ellipse\u2013ellipse collision detection<\/a><\/h3>\n<div class=\"pt-cv-content\">Closed-form solution To detect ellipse\u2013circle collision (intersection or one being inside another), the point on the ellipse can be found from which a line perpendicular to the ellipse tangent at that point goes through the circle center. The point on the side closer to the circle center should be taken, ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=2926\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=2826\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"246\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/dyerslist-300x246.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/dyerslist-300x246.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/dyerslist.png 666w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=2826\" class=\"_self\" target=\"_self\" >On DyersLIST<\/a><\/h3>\n<div class=\"pt-cv-content\">P.S. DyersLIST no longer exists. DyersLIST is \"<em>an internet mailing list intended for the discussion of technical questions, problems and information related to immersion dyeing and to the surface application of synthetic dyes, textile pigments and related chemicals, to fabric and fiber<\/em>\" (<a href=\"http:\/\/list.emich.edu\/~dyers\/\">list.emich.edu<\/a>) owned by <a href=\"http:\/\/art.emich.edu\/\">East Michigan University<\/a>. I was ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=2826\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=2739\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"84\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2012\/05\/IMG_6460_crop_crop-300x84.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2012\/05\/IMG_6460_crop_crop-300x84.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2012\/05\/IMG_6460_crop_crop-1024x286.jpg 1024w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=2739\" class=\"_self\" target=\"_self\" >Kantele<\/a><\/h3>\n<div class=\"pt-cv-content\">These are building instructions for a modern variant of a 5-string kantele, a traditional Finnish folk-musical instrument. Raw sound samples of the instrument (download for higher fidelity): I built a kantele for my Russian friend Dmitry, who during his visit lusted after the rather crude but acceptable-sounding kantele I had ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=2739\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=2554\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"196\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/wurst-300x196.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/wurst-300x196.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/wurst.png 756w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=2554\" class=\"_self\" target=\"_self\" >Bytebeat<\/a><\/h3>\n<div class=\"pt-cv-content\"><em>Bytebeat<\/em> is a music synthesis technique that was <a title=\"countercomplex: Algorithmic symphonies from one line of code -- how and why?\" href=\"http:\/\/countercomplex.blogspot.com\/2011\/10\/algorithmic-symphonies-from-one-line-of.html\">discovered<\/a> by Ville-Matias Heikkil\u00e4 (viznut\/pwp). Kragen Javier Sitaker has a <a title=\"Bytebeat \u2014 Kragen\" href=\"http:\/\/canonical.org\/%7Ekragen\/bytebeat\/\">good writeup on the subject<\/a>. The way it works is that you generate a stream of 8-bit audio with the samples calculated by a function of sample index. This means that the ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=2554\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=2526\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"175\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/rna-300x175.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/rna-300x175.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/rna.png 347w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=2526\" class=\"_self\" target=\"_self\" >DNA- ja RNA-laskenta<\/a><\/h3>\n<div class=\"pt-cv-content\"><strong>Laskentaa DNA- ja RNA-molekyyleill\u00e4<\/strong> (<a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/12\/Laskentaa-DNA-ja-RNA-molekyyleilla.docx\">docx<\/a>, <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/12\/Laskentaa-DNA-ja-RNA-molekyyleilla.pdf\">pdf<\/a>), Olli Niemitalo, 7.12.2011 Deoksiribonukleiinihappo- (DNA) ja ribonukleiinihappomolekyyleille (RNA) on hahmoteltu k\u00e4ytt\u00f6tapoja laskuv\u00e4linein\u00e4. T\u00e4m\u00e4n kirjallisuustutkielman tarkoitus on selvitt\u00e4\u00e4, miten DNA- ja RNA-laskennan menetelm\u00e4t toimivat ja mihin niit\u00e4 voi k\u00e4ytt\u00e4\u00e4. Tutkimusala l\u00e4hti liikkeelle toivosta siit\u00e4, ett\u00e4 molekyylien v\u00e4lisiin vuorovaikutuksiin perustuvat tietokoneet voisivat ratkaista suuria laskennallisia ongelmia ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=2526\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=2461\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"235\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/10\/rotolaserator3-300x235.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/10\/rotolaserator3-300x235.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/10\/rotolaserator3-1024x805.jpg 1024w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=2461\" class=\"_self\" target=\"_self\" >Rotolaserator<\/a><\/h3>\n<div class=\"pt-cv-content\">2011-10-26 I'm going to call this musical instrument (or rather a tone generator) <strong>Rotolaserator<\/strong>: Here's how it sounds like, with reverb, gating and echo added: [mp3-jplayer] And here it is giving the bassline to music (in the first half there's also the softer bassline from Korg Monotron, look for the ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=2461\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=2439\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"225\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/10\/monitorfix3-300x225.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/10\/monitorfix3-300x225.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/10\/monitorfix3.jpg 1004w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=2439\" class=\"_self\" target=\"_self\" >LCD inverter repair<\/a><\/h3>\n<div class=\"pt-cv-content\">2011-10-25 I found from a dumpster a<strong> Hyundai L17T LCD TV<\/strong>, pretty much a monitor with an analog TV tuner. I tried to turn it on, but the power indicator light was simply flickering slowly, indicating a short circuit somewhere. Nothing on the screen. The monitor was trying to power ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=2439\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1979\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"152\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/04\/imdbtop30rating-300x152.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/04\/imdbtop30rating-300x152.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/04\/imdbtop30rating-1024x520.png 1024w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/04\/imdbtop30rating.png 1600w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1979\" class=\"_self\" target=\"_self\" >About IMDb Top 250<\/a><\/h3>\n<div class=\"pt-cv-content\">2011-04-07 <strong>The Internet Movie Database<\/strong> (<strong>IMDb<\/strong>) offers their <a href=\"http:\/\/www.imdb.com\/chart\/top\"><strong>Top 250<\/strong><\/a> list of movies. The list consists of movies that have been received the highest rating from IMDb users. The ratings by which the list is sorted are weighted by the number of votes in a <a title=\"Bayesian inference\" href=\"http:\/\/en.wikipedia.org\/wiki\/Bayesian_inference\">Bayesian<\/a> manner. There is a ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1979\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1398\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"244\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/03\/blackdeck_top-244x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/03\/blackdeck_top-244x300.jpg 244w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/03\/blackdeck_top-834x1024.jpg 834w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/03\/blackdeck_top.jpg 1024w\" sizes=\"(max-width: 244px) 85vw, 244px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1398\" class=\"_self\" target=\"_self\" >Black Deck<\/a><\/h3>\n<div class=\"pt-cv-content\">Black Deck EP: http:\/\/soundcloud.com\/black-deck-project\/sets\/black-deck-ep\/ Tech demo: During the Christmas holidays of 2005, I started to build <strong><em>Black Deck<\/em><\/strong>, an opto-electric musical instrument that superficially resembles a record player. The name Black Deck comes from a philosophy of recycling and a Black &amp; Decker name plate I had lying around. I ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1398\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1799\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"208\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/01\/0neiro2-208x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/01\/0neiro2-208x300.jpg 208w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2011\/01\/0neiro2.jpg 501w\" sizes=\"(max-width: 208px) 85vw, 208px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1799\" class=\"_self\" target=\"_self\" >Oneironaut<\/a><\/h3>\n<div class=\"pt-cv-content\">I partook in the music project\u00a0<strong>Oneironaut<\/strong>\u00a0during 2010-2011 (and more rarely in 2012), playing <a title=\"Black deck &lt;&lt; iki.fi\/o\" href=\"https:\/\/yehar.com\/blog\/?p=1398\">Black Deck<\/a> and more rarely other instruments, and doing video editing. \"Oneironaut mixes various sound sources and effects to create music both for dancing and for private listening. \u00a0Oneironaut's music is a form of neo-shamanism, with an ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1799\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1777\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"201\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/12\/rack7-300x201.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/12\/rack7-300x201.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/12\/rack7-1024x689.jpg 1024w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1777\" class=\"_self\" target=\"_self\" >Cable hanger<\/a><\/h3>\n<div class=\"pt-cv-content\">This is how one can construct a rather useful cable hanger from some random stuff. The spring is from an old Hewlett-Packard scanner, where its function was to guide and protect cables running inside it. The function of the cotton string is to pull the spring against the moulding, so ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1777\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1748\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"208\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/10\/CT2940-cut1-300x208.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/10\/CT2940-cut1-300x208.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/10\/CT2940-cut1-1024x710.jpg 1024w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/10\/CT2940-cut1.jpg 1948w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1748\" class=\"_self\" target=\"_self\" >Sound Blaster amplifiers<\/a><\/h3>\n<div class=\"pt-cv-content\">EDIT: These days, please harvest amplifier chips from active computer speakers instead. They are plentiful and contain only what you need in a nice package. For a project of mine, I needed a stereo amplifier. I had some old Sound Blaster ISA cards (and later got more, which are also ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1748\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1495\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/squarewave5componentreal-300x300.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/squarewave5componentreal-300x300.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/squarewave5componentreal-150x150.png 150w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/squarewave5componentreal.png 512w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1495\" class=\"_self\" target=\"_self\" >Circularly symmetric convolution and lens blur<\/a><\/h3>\n<div class=\"pt-cv-content\">This article describes approaches for efficient<strong> isotropic two-dimensional convolution <\/strong>with disc-like and arbitrary circularly symmetric convolution kernels, and also discusses lens blur effects. Keywords:<em> depth of field, circle of confusion<\/em>, <em>bokeh<\/em>, <em>circular blur<\/em>, <em>lens blur<\/em>, <em>hexagonal blur, octagonal blur<\/em>, <em>real-time, DOF <\/em> Gaussian function approach The circularly symmetric 2-d Gaussian ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1495\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1480\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"181\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/kekkonen-181x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/kekkonen-181x300.jpg 181w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/kekkonen-619x1024.jpg 619w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/kekkonen.jpg 1024w\" sizes=\"(max-width: 181px) 85vw, 181px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1480\" class=\"_self\" target=\"_self\" >Raster!<\/a><\/h3>\n<div class=\"pt-cv-content\">2010-09-06 I have a problem with the halftone patterns that have recently become fashionable: They are not made correctly. For example, have a look at this detail from an image made using <a href=\"http:\/\/arje.net\/rasterbator\">Rasterbator<\/a> (v1.2 or earlier): Or any of these random examples from various sources: What you see in each ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1480\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1401\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"242\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/verihelttakattila-300x242.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/verihelttakattila-300x242.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/verihelttakattila-1024x827.jpg 1024w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/verihelttakattila.jpg 2048w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1401\" class=\"_self\" target=\"_self\" >Natural dyes<\/a><\/h3>\n<div class=\"pt-cv-content\">Bilberry <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/09\/mustikkadyes.jpg\"><\/a> I have started eperimenting with natural dyes to be used in a CD cover art project. The first one of vegetable dyes is bilberry juice (<em>Vaccinium myrtillus<\/em>, maybe you know it as mustikka or blueberry). It seems quite versatile! I knew from beforehand that the color of the ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1401\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1322\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"203\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/08\/switchout-300x203.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/08\/switchout-300x203.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/08\/switchout.jpg 640w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1322\" class=\"_self\" target=\"_self\" >Disabling the ThinkPad X200 master control for wireless radios switch<\/a><\/h3>\n<div class=\"pt-cv-content\">2010-08-18 I became very annoyed by the reoccurring disturbances to Internet connectivity by the overly sensitive master control for wireless radios switch of my ThinkPad X200 laptop. So I superglued it to ON position. No help. The glitches were still there, shutting down WLAN randomly and whenever I pressed my ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1322\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1220\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"264\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/sine-300x264.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/sine-300x264.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/sine.png 439w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1220\" class=\"_self\" target=\"_self\" >Sine wave look-up table generation<\/a><\/h3>\n<div class=\"pt-cv-content\">2010-03-05 Here is a method for generating a sine look-up table in case you have little (a few kilobytes of) program memory. The idea goes like this: Let's say you have a sine wave lookup table of length 1024 with a 24-bit amplitude range. If you take the difference between ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1220\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1026\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"225\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/SSL10962-300x225.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/SSL10962-300x225.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/SSL10962-1024x768.jpg 1024w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/SSL10962.jpg 1536w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1026\" class=\"_self\" target=\"_self\" >Photos: Kilpisj\u00e4rvi, 2006<\/a><\/h3>\n<div class=\"pt-cv-content\">Teksti: Antti Mehtomaa. Muutama kuva on muiden kuin itseni ottama. <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/IMG_0003.jpg\"><\/a> 1.4.2006 ja kello l\u00f6i 8 aamulla. Nelj\u00e4 (takaisin) luontoon haluavaa miest\u00e4 saapui oulun bussiasemalle. T\u00e4st\u00e4 siis l\u00e4hdettiin ja mukana oli Antti (m\u00f6yl\u00e4), Mursu, Aarni (Junnu) ja Olli. Bussi oli ihan t\u00e4ynn\u00e4 porukkaa ja tavaratilakin oikein odotti meid\u00e4n rinkkoja ja ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1026\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=915\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/IMG_0305-200x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/IMG_0305-200x300.jpg 200w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/IMG_0305.jpg 512w\" sizes=\"(max-width: 200px) 85vw, 200px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=915\" class=\"_self\" target=\"_self\" >Photos: Kilpisj\u00e4rvi, 2005<\/a><\/h3>\n<div class=\"pt-cv-content\"> ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=915\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=811\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"227\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/11\/juicemaking-227x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/11\/juicemaking-227x300.jpg 227w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/11\/juicemaking.jpg 607w\" sizes=\"(max-width: 227px) 85vw, 227px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=811\" class=\"_self\" target=\"_self\" >Cider<\/a><\/h3>\n<div class=\"pt-cv-content\">2009-11-30 After the first snow had fallen, me and my colleague Fumi were given permission to pick the apples of the botanical garden at our university. There were about 30 kg of them. That yielded 14 half a litre bottles of cider (batch 2009\/1). I used a centrifuge-type juicer from ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=811\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=747\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"86\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/11\/dreadtool71-300x86.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/11\/dreadtool71-300x86.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/11\/dreadtool71.jpg 604w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=747\" class=\"_self\" target=\"_self\" >Dreadlock tool<\/a><\/h3>\n<div class=\"pt-cv-content\">2009\/11\/23 When I had my dreadlocks made, I had little idea how to take care of them. I tried different things. By now, I have a routine. I wash the dreadlocks with water every morning and after sports. Once a week, I wash them with non-silicone shampoo, twice at a ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=747\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=550\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"268\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/y\u00f6_etu-300x268.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/y\u00f6_etu-300x268.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/y\u00f6_etu-1024x915.jpg 1024w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/y\u00f6_etu.jpg 1872w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=550\" class=\"_self\" target=\"_self\" >Misc<\/a><\/h3>\n<div class=\"pt-cv-content\">Miscellaneous works and designs 2008-08-08 This was sold along with tickets for Histoni's NED parties. The stuff in the tube is a combination of glue and a phosphorescent powder intended for fish lures. 2008-01 For the shirt I used a coat as a model for the pieces. 2007-09-19 2003-12-25 ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=550\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=430\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"145\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ternarymatrix-300x145.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ternarymatrix-300x145.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ternarymatrix.png 924w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=430\" class=\"_self\" target=\"_self\" >Marginal notes<\/a><\/h3>\n<div class=\"pt-cv-content\">These are miscellaneous notes and recipes. Mapping a pair of integers to an integer 2011-05-26 How to map from a pair of integers to an integer? Negative or positive, independent of the size of the two integers, you can convert them into <a href=\"http:\/\/en.wikipedia.org\/wiki\/Balanced_ternary\">balanced ternary<\/a> to get rid of the signs ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=430\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=396\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"188\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/Interface_of_FastTracker_2-300x188.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/Interface_of_FastTracker_2-300x188.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/Interface_of_FastTracker_2.png 640w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=396\" class=\"_self\" target=\"_self\" >Older, mostly tracked music<\/a><\/h3>\n<div class=\"pt-cv-content\">Here is a collection of \"early\" music by me in mp3, ogg, and tracker formats. Some of my songs have probably got lost forever due to hard disk failures, but most of the nicer ones have continued to live thanks to the safe haven that is the Internet. I made ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=396\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=343\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/tuna10-300x200.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/tuna10-300x200.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/tuna10.jpg 604w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=343\" class=\"_self\" target=\"_self\" >Tuna pie<\/a><\/h3>\n<div class=\"pt-cv-content\">2009\/4\/28 <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/tuna1.jpg\"><\/a> This is how to make tuna pie. Heat oven to 225 \u00b0C (200 \u00b0C is better if you can wait longer). <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/tuna2.jpg\"><\/a> Take a plate. <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/tuna3.jpg\"><\/a> Take a can of tuna. Do not discard the oil! <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/tuna4.jpg\"><\/a> Spread the oily tuna on the plate. <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/tuna5.jpg\"><\/a> Spread mashed potatoes ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=343\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=225\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"212\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/poster10-212x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/poster10-212x300.jpg 212w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/poster10.jpg 427w\" sizes=\"(max-width: 212px) 85vw, 212px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=225\" class=\"_self\" target=\"_self\" >Posters<\/a><\/h3>\n<div class=\"pt-cv-content\">2009\/12\/05 2009\/01\/23 2008\/09\/04 2008\/03\/13 ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=225\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=197\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"291\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/pink-300x291.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/pink-300x291.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/pink.png 328w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=197\" class=\"_self\" target=\"_self\" >Polynomial interpolation<\/a><\/h3>\n<div class=\"pt-cv-content\">Polynomial Interpolators for High-Quality Resampling of Oversampled Audio Revised version (October 2001): <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/08\/deip.pdf\">deip.pdf<\/a> (501 KiB) Abstract: \"This paper discusses piece-wise polynomial interpolators used in audio resampling and presents new low-order designs that are optimized for high-quality resampling of oversampled audio. Source code and useful tables for using the interpolators are ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=197\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=167\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"198\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/08\/adjustablestroke-300x198.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/08\/adjustablestroke-300x198.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/08\/adjustablestroke.png 638w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=167\" class=\"_self\" target=\"_self\" >Ideas<\/a><\/h3>\n<div class=\"pt-cv-content\">Sometimes I get an idea that I think may be worth something, maybe not much, but something. But then I forget it. Better write it down, here. 2017-12-10 <strong>Use of generative adversarial networks for 3-d protein folding<\/strong> Use generative adversarial networks directly for 3-d protein folding. The discriminator network would ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=167\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=3\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"179\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/08\/geomcorr2-300x179.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/08\/geomcorr2-300x179.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/08\/geomcorr2.png 604w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=3\" class=\"_self\" target=\"_self\" >Imaging spectrophotometer<\/a><\/h3>\n<div class=\"pt-cv-content\">2009\/07\/03 OK, I have an idea: A spectrophotometer that can take 2D-images, like a normal camera, but from each pixel you get a complete visible spectrum instead of just red, green, and blue intensities. Pictured is one possible way to construct an imaging spectrophotometer. An image of a subject is ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=3\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=420\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/mosso-300x200.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/mosso-300x200.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/mosso.jpg 604w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=420\" class=\"_self\" target=\"_self\" >Savulohim\u00f6ss\u00f6<\/a><\/h3>\n<div class=\"pt-cv-content\">2009\/07\/14 T\u00e4ll\u00e4 ohjeella tulee 1,5 L raikasta savulohi-vihannesm\u00f6ss\u00f6\u00e4, jota voi laittaa vaikka kolmioleipiin. 1 L maustamatonta jugurttia (tein v\u00e4h\u00e4laktoosisesta UHT-kevytmaidosta, juurena bulgarianjugurtti) 800 g savustettua lohta (3\/4 kokonaisesta 2 kg lohesta) 1 kurkku 7 retiisi\u00e4 2 punasipulia 1 ruukullinen tuoretta persiljaa 2 rkl viinietikkaa 2 tlk sitruunamehua Valuta jugurtista nestett\u00e4 ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=420\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=665\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"280\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_id2-280x300.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_id2-280x300.jpg 280w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_id2-958x1024.jpg 958w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_id2.jpg 1524w\" sizes=\"(max-width: 280px) 85vw, 280px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=665\" class=\"_self\" target=\"_self\" >Adlib \/ OPL2 \/ YM3812<\/a><\/h3>\n<div class=\"pt-cv-content\">This page is devoted to the classic PC soundcard, Adlib, and compatibles. Reverse-engineering report 2008-04-20 Me and Matthew Gambrell <a href=\"https:\/\/docs.google.com\/document\/d\/18IGx18NQY_Q1PJVZ-bHywao9bhsDoAqoIn1rIm42nwo\/edit?usp=sharing\">reverse-engineered the YM3812\/YMF262 ROM tables<\/a>. These are the pictures we took: <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ymf262.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_rom3_2.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_rom1_explain.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_rom1_1-v2b.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ymf262_rom1.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ymf262_id.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_rom3_1.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_rom2_2.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_rom2_1.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_rom1_2.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_id2.jpg\"><\/a><a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/ym3812_id1.jpg\"><\/a> The bits of dirt are from my fingers, sorry about that. See also: <a title=\"mcmaster:yamaha:ymf262-m Silicon Pr0n\" href=\"http:\/\/siliconpr0n.org\/archive\/doku.php?id=mcmaster:yamaha:ymf262-m\">Yamaha YMF262 die images<\/a>. Exponential table ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=665\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=282\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"57\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/scr1-300x57.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/scr1-300x57.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/scr1.jpg 604w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=282\" class=\"_self\" target=\"_self\" >Screen printing 2<\/a><\/h3>\n<div class=\"pt-cv-content\">2008\/12\/01 My second screen printing project. <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/scr1.jpg\"><\/a> I found some burgundy bedsheets on sale in Anttila, and made a blanket cover from them for my mmmmmm-so-warm camel hair blanket from Lidl. (Thanks to Tiina for helping out with sewing!) I started to think that a subtle silvery plant pattern along ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=282\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=205\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"225\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/kkk1-300x225.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/kkk1-300x225.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/kkk1.jpg 604w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=205\" class=\"_self\" target=\"_self\" >Screen printing 1<\/a><\/h3>\n<div class=\"pt-cv-content\">2008\/11\/21 My first screen printing project, logo patches for our football team shirts. Evolution of the logo: Real silk! ...and photoresist. Exposed by ultraviolet light through two duplicate layers of photocopier transparencies. The frames are hardwood photo frames that were on sale, 2 EUR each. Not perfect registration of the ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=205\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1225\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"79\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/cheby-300x79.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/cheby-300x79.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/cheby.png 718w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1225\" class=\"_self\" target=\"_self\" >One-sided Chebyshev-type inequalities for bounded probability distributions<\/a><\/h3>\n<div class=\"pt-cv-content\">2007-12-14 Chebyshev's inequality states that, for any probability distribution, at most $1\/k^2$ of the area of the probability density function lies more than $k$ standard deviations away from the mean. We can do better, if we know that the distribution is bounded and we know the bounds. Let $X$ be ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1225\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=1193\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"181\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/03\/balance-300x181.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/03\/balance-300x181.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2010\/03\/balance.jpg 900w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=1193\" class=\"_self\" target=\"_self\" >Euro coins as standard weights<\/a><\/h3>\n<div class=\"pt-cv-content\">What if you suddenly need a scale, accurate to one gram? Here is the solution, in case you live in the euro zone. (Something like this <a href=\"http:\/\/www.rubinghscience.org\/surv\/euroweights1.html\">has actually been done before!<\/a>) The physical mass of each euro coin is actually <a href=\"http:\/\/en.wikipedia.org\/wiki\/Euro_coins#Normal_issues\">standardized<\/a>. So they can be used to measure mass of ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=1193\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=307\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"220\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2006\/08\/screenshot-300x220.gif\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2006\/08\/screenshot-300x220.gif 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2006\/08\/screenshot.gif 564w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=307\" class=\"_self\" target=\"_self\" >Dye Mixer v1.1 (java)<\/a><\/h3>\n<div class=\"pt-cv-content\">2006\/08\/10 [APPLET HERE] Problems running Java applets? If you have Windows 7, go to Control Panel, search for Java, go to Java Control Panel tab Java, change Java Runtime Environments settings by adding -Djava.net.preferIPv4Stack=true to the runtime parameters. Or <a href=\"http:\/\/yehar.com\/AltDyeMixer\/\">try this alternative page of Dye Mixer<\/a>. Introduction Hello, fellow dyer! ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=307\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=651\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"170\" height=\"141\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/neloflat.gif\" class=\"pt-cv-thumbnail\" alt=\"\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=651\" class=\"_self\" target=\"_self\" >Impulse response measurements<\/a><\/h3>\n<div class=\"pt-cv-content\">2006\/08\/10 To measure the impulse response of a noisy system, you don't want to just send an impulse and see what comes out. Instead, you will play a signal that has succifiently high energy (long instead of loud), record the outcome and deconvolve from it your original signal, giving you ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=651\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=643\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"281\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/optim-300x281.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/optim-300x281.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/optim.png 578w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=643\" class=\"_self\" target=\"_self\" >Evolutionary real variable optimization in C++<\/a><\/h3>\n<div class=\"pt-cv-content\">If you have a problem where you need to find the optimal values for a set of real variables, try this library written by Magnus Jonsson and me. <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2019\/06\/opti.cpp\">opti.cpp<\/a> <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2019\/06\/opti.hpp\">opti.hpp<\/a>- Optimization library v1.1 <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/MersenneTwister.h\">MersenneTwister.h<\/a> - Mersenne Twister random number generator required by the library (by <a href=\"http:\/\/www-personal.engin.umich.edu\/%7Ewagnerr\/MersenneTwister.html\">Rick Wagner<\/a>) <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/optitest.cpp\">optitest.cpp<\/a> <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/keyboard.h\">keyboard.h<\/a> - ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=643\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=893\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"157\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/151-300x157.jpg\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/151-300x157.jpg 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/151.jpg 332w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=893\" class=\"_self\" target=\"_self\" >DIY Canon EOS 300D AC adapter<\/a><\/h3>\n<div class=\"pt-cv-content\">2005-08-26 <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/12\/15.jpg\"><\/a> Doing the following will void the warranty of your camera and also might destroy your camera, although I don't think that should happen. If this is OK with you, please read on! Introduction A network adapter will be handy for a camera if you intend to take a ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=893\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=368\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/hilbert7-300x300.gif\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/hilbert7-300x300.gif 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/hilbert7-150x150.gif 150w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/hilbert7.gif 453w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=368\" class=\"_self\" target=\"_self\" >Hilbert transform<\/a><\/h3>\n<div class=\"pt-cv-content\">This is probably the most efficient structure for implementing a Hilbert transform. Actually, it's not a Hilbert transform, but two all-pass IIR filters whose phase difference is approximately 90 degrees over a range of frequencies symmetric around Nyquist\/2. Laurent de Soras uses these kind of filters in his <a href=\"http:\/\/ldesoras.free.fr\/prod.html#src_hiir\">HIIR<\/a> resampling ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=368\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=121\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"100\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/dsp-300x100.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/dsp-300x100.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/dsp.png 609w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=121\" class=\"_self\" target=\"_self\" >Digital sound processing tutorial for the braindead!<\/a><\/h3>\n<div class=\"pt-cv-content\">In 1998, I had some extra time while others were reading for final exams of the senior high school, and got into digital signal processing. I wrote as I learned, and here is the result. It is not entirely accurate in places but may serve as a nice tutorial into ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=121\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=360\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"228\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/crap-300x228.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/crap-300x228.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/crap.png 564w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=360\" class=\"_self\" target=\"_self\" >The #musicdsp adventures<\/a><\/h3>\n<div class=\"pt-cv-content\">2001\/10\/27 I have occasionally been a regular on the EFNet #musicdsp IRC channel. This ASCII art comic is my perverted view of some of the #musicdsp characters. ___ __ _ _ _ _ __ | | | | _|__|_ |\\ \/| | | \/ \\ | \/ ` | \\ ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=360\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div>\n<div class=\"col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col\" ><div class='pt-cv-ifield'><a href=\"https:\/\/yehar.com\/blog\/?p=661\" class=\"_self pt-cv-href-thumbnail pt-cv-thumb-default\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"184\" src=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/testpage-300x184.png\" class=\"pt-cv-thumbnail\" alt=\"\" srcset=\"https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/testpage-300x184.png 300w, https:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/testpage.png 696w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a>\n<h3 class=\"pt-cv-title\"><a href=\"https:\/\/yehar.com\/blog\/?p=661\" class=\"_self\" target=\"_self\" >C++ EPS plotting library<\/a><\/h3>\n<div class=\"pt-cv-content\">2001\/08\/09 <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2009\/09\/epsplot.zip\">epsplot.zip<\/a> - simple C++ EPS plotting library <a href=\"http:\/\/yehar.com\/blog\/wp-content\/uploads\/2015\/05\/testpage.png\" rel=\"attachment wp-att-3567\"><\/a> With this simple library you can plot Encapsulated PostScript files straight from your C++ program. Nearly all the pictures in <em>Polynomial Interpolators for High-Quality Resampling of Oversampled Audio<\/em> were generated with this ...<br \/><div class=\"pt-cv-rmwrap\"><a href=\"https:\/\/yehar.com\/blog\/?p=661\" class=\"_self pt-cv-readmore btn btn-success\" target=\"_self\">Read More<\/a><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>My name is Olli Niemitalo. I live in H\u00e4meenlinna, Finland. You can reach me at o@iki.fi. I write here of technical and creative things that I am doing. All source code is released under Creative Commons CC0 1.0 Universal Public Domain Dedication (CC0 1.0). Also check out my Signal Processing Stack Exchange profile, if interested.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/yehar.com\/blog\/index.php?rest_route=\/wp\/v2\/pages\/2"}],"collection":[{"href":"https:\/\/yehar.com\/blog\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yehar.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/yehar.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yehar.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2"}],"version-history":[{"count":32,"href":"https:\/\/yehar.com\/blog\/index.php?rest_route=\/wp\/v2\/pages\/2\/revisions"}],"predecessor-version":[{"id":4583,"href":"https:\/\/yehar.com\/blog\/index.php?rest_route=\/wp\/v2\/pages\/2\/revisions\/4583"}],"wp:attachment":[{"href":"https:\/\/yehar.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}