diff --git a/content/about.md b/content/about.md index f5c0709..0e84fd0 100644 --- a/content/about.md +++ b/content/about.md @@ -12,31 +12,65 @@ This site shares a bit of informal documentation and blog-based record keeping reflecting my day to day activities. Hopefully it's a good mix of technical and just-for-fun discussion. Professionally I am a mixed-signal circuit designer which means I compose integrated circuits mostly for sensors whose signals are -then processed for interesting features. Besides that I enjoy a bit of casual -programming as a hobby which is now predominantly based on python which makes -it easy to share and adapt code. +then processed for interesting features. Besides my day-to-day job that I enjoy +a bit of casual programming as a hobby which is now predominantly based on +python which makes it easy to adapt or share code. +Currently my casualy programming projects are mainly oriented towards image +processing for object recognition and vectorization techniques. Basically +I am trying to approximate a rasterized images using absolute geometries and +polynomial color contours such that they have infinite or vector-based precision. +Surprisingly the hardest part here has been detecting and extracting the +underlying line-art and resolving contours. +Besides that I try to self-host the web-services I used as much as possible +both as an educational oppertunity with the added benifit that I can enjoy more +privacy than the average person. While it is a bit of effort, I feel that this +is an important part of software freedom and lets me avoid malicious services +that I would otherwise be subject to. -# research interests +# Research Interests -# Proficiencies +I have a strong appreciation for sensing systems and exploring the +More-Than-More scaling for CMOS technology. The idea here is to augment +traditional fabrication techniques for sensing bio-markers, particles, light +and all kinds signals using electronics. More generally however I study analogue +signal processing techniques in the context of all-digital systems. My main +research interests currently are time-domain processing and asynchronous custom +digital logic for high performance applications such as ultra-low-power medical +devices and ultra-wide-band radio transceivers. In these systems we can encode +information using the relative timing of clock edges e.g. pulse-width-modulation +to do analogue processing using digital logic which leads to a new approach to +realizing certain functions and implementations. -I have well over 10 years of design experience using Cadence and Seimens (Mentor Graphics) -EDA design suite extensively from process-development-kit integration to mixed-signal -design verification. Having predominantly designed mixed-signal instrumentation chips most of my -proficiency lies with the Virtuoso analogue design flow. However I have historically -worked in smaller design groups of 5-10 people where you need to be familiar with -the entire development process for a device from start to finish touching on process selection, -tool configuration, and production planning. Fortunately +### Time-Domain-Processing -with ADE/Measto verification -but I am quite comfortable with skill and any Cadence know how for speeding up design development. +There are always some suprising consistencies when re-imagining the +representation of information. For example in time-domain systems we can realize +resolve units of time with almost arbirtary precision, very often down to a +KT/C equivilent limit. Howver some-how similar to traditional analog systems, +where the maximum dynamic range is limited by the voltage-supply, in +time-domain systems this limit comes from rate at which we can make +observations. For example say we have a 1 MHz pulse-width-encoded signal then +we can only resolve relative timing information at 1 MHz. We could increase +our dynamic range by reducing the pulse-repetition-rate but our information +rate stays constant since we only double the information-per-pulse but half +its rate. Comparing this again to traditional analog with a simple RC circuit +where our maximum dynamic is set by the supply voltage to KT/C ratio and this +is fixed irrespective of the resistor or bandwidth of the circuit. Again we can +show that this is a fundamental consequence of the +[equi-partition-theorum](https://www.wikipedia.org/equipartition-theorum) +irrespective of how we represent/encode information. -## Programming languages +The main advantage of time-domain processing is that we can exhaustively use +digital logic. This is not only highly-adventagious when designing in a +deep sub-nanometer technology since they are geared towards these kind of +circuits but also we dont suffer from performance losses due to device parameter +degredation in the same way a tranditional op-amp might. In fact you can show +that time-domain circuits can realize almost ideal operators for summation, +integration, multiplication, and thier inverses through closed-loop operation. - - Python - - Skill - - C++ - - Bash - - Matlab +### Over-Sampling Techniques + +Another facinating topic for embedded sensing circuits is the application of +over-sampling techniques. diff --git a/content/posts/2021/building-svg.md b/content/posts/2021/building-svg.md index 25472e4..6bcb7e8 100644 --- a/content/posts/2021/building-svg.md +++ b/content/posts/2021/building-svg.md @@ -1,5 +1,5 @@ --- -title: "Building With SVG 🖼" +title: "Building With SVG" date: 2021-08-28T11:53:54+02:00 draft: false toc: true @@ -131,16 +131,3 @@ Note that this figure is quite a bit more compact but adding additional labels or customizations outside the scope of the library will probably require quite a bit of manual work. This could be a fun side project though. -# Using Hugo Short Codes - - - -``` go -{< python-svg dest="/images/posts/test.svg" title="This is a pyuthon-svg exmaple." >} -railroad.Diagram("foo", railroad.Choice(0, "bar", "baz"), css=style) -{< /python-svg >} -``` - -{{< python-svg dest="/images/posts/test.svg" title="This is a python-svg exmaple." >}} -railroad.Diagram("foo", railroad.Choice(0, "bar", "baz"), css=style) -{{< /python-svg >}} diff --git a/content/posts/2021/python-urllib.md b/content/posts/2021/python-urllib.md index 4da7cfa..3992a0b 100644 --- a/content/posts/2021/python-urllib.md +++ b/content/posts/2021/python-urllib.md @@ -98,3 +98,12 @@ return [ link["href"] This is probably the most common use case for the `BeautifulSoup` library and it is very effective instead of sifting through any html data. + +## Cloudflare Hosted Domains + +A number sites will be hosted/backed by Cloudflare that tend to keep track of +the user session in combination with the session cookies. This means that +by-passing the anti-bot measures is slightly more inconvienient than usual. +Fortunately there are a few python-libraries that help to set the request +headers correctly. + diff --git a/content/posts/2022/hugo-short-codes.md b/content/posts/2022/hugo-short-codes.md new file mode 100644 index 0000000..57d4f6c --- /dev/null +++ b/content/posts/2022/hugo-short-codes.md @@ -0,0 +1,76 @@ +--- +title: "Hugo Short Codes" +date: 2022-06-14T19:36:18+02:00 +draft: false +toc: false +tags: + - hugo + - code +--- + + + +## Inserting columns + +``` go +
+
+ {{ with .Get +
+
+ {{ .Inner | markdownify }} +
+
+``` + +## Inserting SVG Figures + +``` go + + {{- if .Get "link" -}} + + {{- end -}} + {{- if false }} {{ end -}} + {{ with .Get + {{- if .Get "link" }}{{ end -}} + {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}} +
+ {{ with (.Get "title") -}} +

{{ . }}

+ {{- end -}} + {{- if or (.Get "caption") (.Get "attr") -}}

+ {{- .Get "caption" | markdownify -}} + {{- with .Get "attrlink" }} + + {{- end -}} + {{- .Get "attr" | markdownify -}} + {{- if .Get "attrlink" }}{{ end }}

+ {{- end }} +
+ {{- end }} + +``` + + +``` go +{< python-svg dest="/images/posts/test.svg" title="This is a pyuthon-svg exmaple." >} +railroad.Diagram("foo", railroad.Choice(0, "bar", "baz"), css=style) +{< /python-svg >} +``` + +{{< python-svg dest="/images/posts/test.svg" title="This is a python-svg exmaple." >}} +railroad.Diagram("foo", railroad.Choice(0, "bar", "baz"), css=style) +{{< /python-svg >}} + diff --git a/content/posts/2022/raspberry-pi-build.md b/content/posts/2022/raspberry-pi-build.md new file mode 100644 index 0000000..33cc277 --- /dev/null +++ b/content/posts/2022/raspberry-pi-build.md @@ -0,0 +1,19 @@ +--- +title: "Raspberry Pi Build" +date: 2022-06-18T16:12:09+02:00 +draft: true +toc: false +images: +tags: + - untagged +--- + + +Change the port for pi-hole lighttpd to 7070 + +``` bash +apt install nginx postfix +apt install dovecot-imapd dovecot-pop3d +apt install aspell-en spellutils wdutch wbritish +apt install php-net-ldap2 php-crypt-gpg php-net-ldap3 +``` diff --git a/content/resume.md b/content/resume.md index 756ff0b..c88d373 100644 --- a/content/resume.md +++ b/content/resume.md @@ -29,6 +29,23 @@ came from applying time-domain techniques to realize sensing circuits with exceptional dynamic range such that a wider variety of neurological components can be picked up during recording or stimulation. +## Proficiencies + +I have well over 10 years of design experience using Cadence and Seimens (Mentor Graphics) +EDA design suite extensively from process-development-kit integration to mixed-signal +design verification. Having predominantly designed mixed-signal instrumentation chips most of my +proficiency lies with the Virtuoso analogue design flow. However I have historically +worked in smaller design groups of 5-10 people where you need to be familiar with +the entire development process for a device from start to finish touching on process selection, +tool configuration, and production planning. + +Besides that I am very comfortable with software development. Currently I +extensively program in python, maintaining packages for command-line-tool-chains +and some of my hobby projects. However I administer and deploy several web +services based on ruby, php, and node/js with a postgresql backend. Most of +my earlier projects while at Imperial were C++ based with Qt as the go-to +graphical library. + # Employment Record {{< columns src="/images/about/novelda_logo_white.svg" >}}