Your leaking thatched hut during the restoration of a pre-Enlightenment state.

 

Hello, my name is Judas Gutenberg and this is my blaag (pronounced as you would the vomit noise "hyroop-bleuach").



links

decay & ruin
Biosphere II
Chernobyl
dead malls
Detroit
Irving housing

got that wrong
Paleofuture.com

appropriate tech
Arduino μcontrollers
Backwoods Home
Fractal antenna

fun social media stuff


Like asecular.com
(nobody does!)

Like my brownhouse:
   staring into a bowl of alphabet soup
Monday, October 1 2018
Today in the workplace was another one spent finding ways to spend my own time. Given all the frameworks and computer languages to know, and all the code to understand, there's always plenty to do in such situations. I spent a fair amount of my time answering the question: how, in the ugly world of Microsoft web servers, do C# backends handle routing? (For those who don't know, routing is how a URL received by a web server is converted into parameters for accessing data and displaying templates in situations where URL paths do not actually correspond to structures in the server's file system.) Not having seen any routing in any of the code I'd looked at, I started with a Google search of something like "routing in C#." The page I came to described a way for doing this using technologies that were clearly (as revealed by a search of the codebase) not being used in the backend I will be responsible for. So I continued my Google searches, finding several other technologies that were not being used. So then I tried a different technique: cataloging the URLs being used by ExtJS frontend and searching for snippets of them in the C# codebase. This soon produced what I needed: a single long C# class containing nearly all the routes, all of them given as bracketed attributes in front of methods. (I still don't really know what effect that syntax has on the running of the code, but I'm becoming familiar with seeing it.)
With all that figured out, I turned my attention to something I find more interesting: reporting systems. This company has one, but it's pretty crude. Reports are limited to non-parameterized SQL expressions, which seems depressingly primitive to me after all the advancements I'd made to the reporting system used in Mercy For Animals' proprietary CRM. With the idea that a better reporting system might be the sort of thing I should be working on when I have nothing else to do, I turned my attention back to a simple parametric form renderer I'd built in Angular 6. I'd quickly run into problems with that last week when it came time to mix regular Javascript in with the Angular code. How can one system use libraries in the other? In web fora such as StackOverflow,com, people had posted about it being possible, but the examples were always messy and syntactically eyeglaze-inducing. As someone who is very experienced in Javascript, I find the weird syntax of TypeScript (with its abundance of unexpected brackets and "@" decoration-indicators) to be dispiriting litter on a suddenly-steep part of the learning curve. Thus it seemed like it might be better to try to do the whole thing in Angular. So today I started breaking down the parts of a JSON-described form into Angular components. To make all this work, I would have to pass an array of nested objects to an Angular component, which would then break that array into parts to hand off to other components, which would then break those into pieces, etc. But I soon ran into problems when I couldn't get data to flow from one component to another. Mind you, there were plenty of websites telling me how to do this, but I found the syntax so bewildering that I might as well have been staring into a bowl of alphabet soup (one whose character set had been augmented with numbers and all the characters of punctuation).
At around 2:30pm today I'd taken a recreational 5mg dose of oxycodone, which initially seemed to help me focus. But an hour or so later I was feeling positively nauseated and having great difficulty focusing on my work. The lesson was clear: do not take narcotics at work.


For linking purposes this article's URL is:
http://asecular.com/blog.php?181001

feedback
previous | next