mtbc: maze I (white-red)
Having mentioned considering Cairo for diagram generation I thought that it may be usefully illustrative to share a couple of past diagrams representing those I have previously generated via PostScript® code:

sensor view arrangement
shows a simple arrangement of some sensors and their view of some targets.

magnetic field map
shows an undersea map where the marked regions have a specific magnetic field strength: the meandering black lines are an isopleth. Both diagrams were generated from data structures from my software: for the field map the grayscale is achieved by shaded fills of a mesh of triangles whose vertices are sample points. I did Delaunay triangulation in Haskell which output shfill commands for the rendering.
mtbc: maze I (white-red)
For a specific lottery I can often find where they quote the odds of winning the different levels of prizes. However, I do not see a convenient cross-lottery database of these. Instead, as far as I can tell, people seem obsessed with the jackpots.

I hear of EuroMillions jackpots exceeding £100M and react by thinking that I do not want to play that lottery: even after the IRS take tax from it, £10M would make quite enough difference to me that if I were to play lotteries at all then I would much rather play one that instead paid out rather more £10M prizes but nothing much higher, probably also not so many £sub-10k prizes either: after all, I recently discovered that I have wholly forgotten about one week's holiday in North Carolina that I probably much enjoyed at the time. That is, I would want to maximize my chances of a personally meaningful win.

The odds information does seem to be out there and it would be trivial to write software such that one can supply a meaningful win range and it tells one which lottery to play. Does this exist and I am simply missing it? It feels so feasible.

Maybe there is a lack of demand for such a calculation. Perhaps the kind of people who do like lotteries much enjoy the excitement of thinking enormous wins remotely plausible or they enjoy occasionally winning trivial amounts or they focus on trying to pick winning numbers or something instead of on adjusting for nonlinear utility.
mtbc: maze I (white-red)
It seems that the kinds of website that carry a range of material contributed by the general public are increasingly carrying video. At one time we had text, things like newspaper story extracts, then plenty of still photographs, and now it seems video is the new norm. I find this a little inconvenient: I can rapidly glance through much static content for worthy nuggets but I am not about to spend some seconds on each of many items because lightly curated content is unlikely to be worth that much of my time. I also prefer not to wear headphones for prolonged periods and I am normally in company or listening to something unrelated. I sense that this may be yet another instance of my unprogressively becoming better suited for the Internet of yesteryear.
mtbc: maze I (white-red)
I notice that text like this looks vile but text like this looks okay. In RGB the color combination of the former is F0F on 0A0 and the latter is FF0 on 00A. This innocent transposition of digits has a marked effect.

I do not know much about color spaces but I suspect that the explanation is the difference in the relative luminance of the two colors. As far as I can tell from online calculators that difference is very small for the first pair of colors and rather high for the second pair. Relative luminance does not seem trivial to calculate; there are various guides that helpfully offer algorithms but unhelpfully offer different algorithms from one another. I appear to have accidentally found a rabbit hole.
mtbc: maze I (white-red)
From day to day I live with all manner of computer-related irritations. For example, in logging into Dreamwidth just now with Firefox 55 the autocomplete popup appears over the text field so that it just slows my typing or makes it impossible for me to see what I have typed or occasionally grabs the focus so I altogether miss a letter. My work laptop hangs on every shutdown because SysVinit support already means so little to Debian that for months now this is simply how it interacts with one's also using eCryptfs. (I am tempted to switch distribution to something less assimilated by the RedHat-Borg but I do try to keep my work machine fairly mainstream.) I now have badblocks failing on a within-warranty brand-name drive and I am still determining if it really is because of the drive or the kernel's USB driver code given that the latter has shown other imperfections on my Intel hardware. This is all despite my not making decisions before carefully reading many reviews, not filling systems with random needless cruft, trying to avoid unusual configurations, etc.

I feel as if my time is increasingly wasted by computers simply not doing what they are supposed to. If the trend continues then my personal computing will eventually be held together by so much that smells suspiciously like glue and string that it will become untenable. What particularly irks me is that I know that things were different twenty to thirty years ago: I had previously mentioned how software bugs were once rather more surprising and less obvious, also hardware kept trucking on for years. It is not that I was inexperienced: as an undergraduate I was already invoicing businesses for various IT consultancy. I know that things have since become more complex, more featureful, cheaper to produce; I just doubt that it was worth it. I shall someday become a crazy old man who bores his grandchildren with his hazy recollection of an ancient golden age in which computers actually used to work correctly and comprehensibly, at least until they stop visiting me.
mtbc: maze I (white-red)
For many years PostScript® was my go-to means of generating mathematical diagrams. I used to live near the American Mathematical Society and daydreamed of having a job coding illustrations for them. One should not be deceived by the machine-readable horror generated by PostScript printer drivers: it is a nice language. For example, in creating the simple logo,

corporate logo
my underlying PostScript code introspects into the outline of the letters defined by the font to nestle the a and e together perfectly. Similarly, for charts I would write the raw data into arrays and have layout code running in the printer to render them according to the current page width and suchlike, rather like one might now do in JavaScript using jqPlot. Printing documents that embed such code can take a while as the printer thinks but it is not like it was otherwise doing anything better with the time. These days I must resort to cheaper printers so I end up embedding fonts and converting such documents into PCL6 before printing.

PostScript is becoming increasingly obsolete: if nothing else it makes Unicode awkward. I am thus thinking that perhaps I ought to move to using a vector graphics library from some general-purpose programming language, one that allows me to easily create precise diagrams just as PostScript does. (The hand-placed arrows I see in people's PowerPoint slides appall me.) Years ago I would have opted for Cairo which outputs into PNG and PDF but does that remain a good choice or is it starting to rot as all the cool kids move to a shinier new world?
mtbc: maze C (black-yellow)
Back in May I had mentioned, More recently in working on extending our server's permissions system and especially in then fixing the performance issues I thus caused, I have not been at all sure how many weeks the work would take nor how possible I would find it at all, which of course is a stressful uncertainty. I now seem to be back in that joyless realm.

The server permissions work that I am doing was meant to have been released long ago. Enforcing a later hard security requirement caused some performance issues that took me some weeks to investigate and fix or at least work around. The release date was pushed to what is now fairly soon and more performance issues have raised their head, thanks in part to tougher testing that I recently suggested. I noted some ideas that may help but, as has been typical, luck has not smiled upon me which may be par for the course when wrestling complex legacy code, based on an equally complex enterprise software stack, so that it can manage current-scale data such as the Image Data Resource. I still have more ideas to try, perhaps even more to have, but I cannot promise to fix the issues on time nor am I sure that it would take less than a fundamental redesign.

On the one hand, my coworkers understand that I am wrestling with difficult issues and will help where they can. Just today one of them took one another task off my plate and has probably finished it off. On the other hand, being ongoingly at the center of delayed code with significant technical risk does not leave me feeling comfortably relaxed.
mtbc: maze B (white-black)
I was arranging beefburgers of two different kinds on a baking tray and I chose to use a sort of nested arrow shape to make it easy to determine which burgers were of which kind even after rotating the tray. Our oven heats unevenly so it helps if the information encoded in the cunning arrangement of the food survives reorientations.

It occurred to me that there must be some mathematical theory that applies well to arranging beefburgers on baking trays. Relevant factors would include how many burgers wide and deep the tray is, or perhaps the theory generalizes to non-rectangular trays with different degrees of rotational symmetry that lend themselves to different patterns of arranging the burgers: for instance, three kinds of burgers on a pentagonal tray. Maybe there is some standard library of patterns of burgers comprising a toolkit that can be employed for every situation.

Of course, bakers of pies may avail themselves of the more straightforward approach of scoring the pastry lids differently according to kind of pie. I am not aware of an easy comparable approach with burgers, especially if they begin frozen and may be flipped once or twice during baking.

I once developed a sensor fusion system that, given inputs from radars and cameras, could bootstrap from some knowns to determine where in space the remaining targets and sensors were. The algorithm could make use of detected features for disambiguation; perhaps sometimes one cannot tell which kind of burger is which but can tell which burgers are of the same kind. Anyhow, the sensor fusion code would not be a great solution but it occurred to me that it could be used to verify arrangements of burgers: only a good arrangement should leave the system able to confidently determine the orientation of a camera that has the burgers in view.

Beyond my beefburger placement problem, which may already be well-known by some entirely different name, the sensor fusion system offered two interesting mathematical digressions. One is how the geometry of each situation affects the number of solutions for how a camera is located and oriented according to what it sees of targets whose location has now been determined by other sensors. The other is the heuristic of guessing which targets may correspond to which as viewed by different sensors: there may be intractably many combinations but, for example, a simple trick may be to guess that targets close together in one sensor's view are also close together in another's. More certainly, an object in between two others from one perspective will also be so from another.
mtbc: maze I (white-red)
I have been curious about sewing patterns. Humans are an awkward shape but somehow tailors measure people and figure how to cut pieces of material so as to assemble them garments that fit well. Naturally I wondered what the challenges are in producing software that, given one's measurements, provides one the patterns.

One issue that people face is the limited selection available off-the-peg in stores. I do okay but I know some people who just don't seem to be the typical shape so even after finding some desirable garment in apparently the correct size, it turns out that some part of it is too tight even though the rest is fine. Personally I suppose I have seen a similar issue with my feet: they are not very unusually shaped but sufficiently so that I cannot just assume that a random's shoes standard fit will work.

It is thus with some pleasant surprise that I now discover the Freesewing platform: free sewing patterns drafted to your measurements:
All our patterns are free of charge. We provide detailed instructions to make them into garments, and can help when you get stuck.
It appears to be a bunch of GPL-licensed PHP5 mainly from one guy; I have yet to peruse it with any care. Still, kudos to him for creating and sharing software to provide customized sewing patterns.

I figure that perhaps sewing such clothing may be within my ability. [personal profile] mst3kmoxie owns an adequate sewing machine. Tailoring intimidates me but perhaps if we clear off the dining table then that will provide enough room for me to learn how to cut, line and assemble panels from given patterns.

Next week I plan to make use of a visit to the US to do some more clothes shopping for myself in a consignment store rather than, say, Kmart or Target. Some of our children's better clothes comes from charity shops but I miss the large American ones that are more sure to have something worthwhile and findable. The exciting possibility of custom tailoring at home does mean that I should first check if material is even available affordably or if the clothing in cheaper stores is sold for even less than it would cost me to buy the material to make it.
mtbc: maze I (white-red)
At work I get plenty of e-mail from people of whom I am but vaguely aware telling me that they are going on vacation but certain other people will cover for them and to just e-mail the role-based mailbox address. I neither know nor care about such details. Indeed, rotation of people among these jobs as people go on sick or maternity leave or whatever appears sufficiently frequent that I doubt I could keep track of them anyway.

If I want whatever these people provide I am content to e-mail the role-based mailbox and whoever's job it is can deal with my issue. If the problem is that people reply to personal addresses and ignore automated vacation responses then perhaps they will learn not to when resolution of their matters is often consequently delayed. I doubt that the solution is to ongoingly broadcast details of what is going on behind the curtain. Perhaps we could instead just expect people to e-mail the appropriate address for their issue.

Update: Gah, of course we get e-mailed reminders of coming vacation too, a forward of the original message telling us who will be monitoring the role-based addresses, as if it matters, because it is a general assumption here that even though we are in professional technical roles we are not able to hold on to an e-mail for long without losing it or, if need be, of simply adding a corresponding note to our institutional online calendar system.
mtbc: maze N (blue-white)
I like to choose what I share with others. When I do share, I typically share openly. )

I do however instinctively value my ability to act privately: I have liked being able to do so. )

From a computer security point of view, I expect even a government-held database that contains much significant information, to leak like a colander. )

The targeted advertising folks have been making great strides in privacy-breaking technology. People who think that incognito browser windows stop Google knowing what pornography they like are deluding themselves. The ultrasonic signals embedded in commercial advertising were a surprise even to me.

I have a good knowledge of how computers work and I routinely adopt some security measures but even I cannot easily secure my data with confidence. )

Further, if I want to act in the real world then what I do leaves so many small traces: financial, shipping and logistics, etc. Even without the subsequent work from the well-funded targeted advertising community, I know from my own previous work in the defense industry that bulk assembly of those disparate observations into coherent narrative is plausible, at least enough that its value would outweigh its fallibility.

It is not that I have anything to hide so much as even innocent people are easily made to look bad. )

With the combined forces of private profit in characterizing consumers and the public political need to be seen to be countering terrorism, personal privacy may become a thing of the past. )

We have motive on multiple fronts to penetrate individual privacy, ongoing progress in technological means of doing so, increasing acceptance of sharing one's data, and a social and intellectual climate that got Donald Trump elected President against even my pessimistic expectations. What could possibly go wrong?

I do not need to act covertly but I always drew comfort from knowing that I probably could if necessary and that my business was mostly nobody else's. Further, I do not want to enable what I see as organizations' immoral beliefs about my own privacy. Now I wonder if I will find myself wistfully looking back to a time when I did not have to carefully consider the possible optics of my every move.
mtbc: maze H (magenta-black)
Since I am now exercising for an hour on three days per week it occurred to me that I could try setting aside that same hour on other days for the computer programming that I have been wanting to do for a long time. We have a houseguest at the moment but next month once I am back from the US I should give this a try.

I had mentioned that a problem I have had is that it takes me a good while just to get back into such projects so when I do set aside time I make little progress. It occurred to me that if I try more frequently then my startup time may soon be much reduced. Sometimes it takes me a while to think of the obvious.
mtbc: maze I (white-red)
Passwords are tricky to deal with. I like to have fairly long, random ones and to not reuse them. With the various accounts I have this means there are rather a lot of passwords to remember, an especial challenge when some must be changed on a regular basis and others ought to be.

Further, some authentication like for online banking requires various ancillary information: answers to security questions and the like. I do not like to give correct answers to these, nor reuse the answers, so that is even more to remember.

Some people use mnemonics but it is easy for one's mind to blank out on something well-known. I could keep written records in our safe but one sometimes require a rarely used password exactly at an inconvenient time or place. I certainly do not trust password-keeping apps.

I am not proposing or soliciting answers so much as noting that practical password management is a hard problem. Still, as ever, others' thoughts are most welcome.
mtbc: maze C (black-yellow)
In the School of Life Sciences where I work we produce systems like the Image Data Resource which is full of strange pretty pictures acquired from expensive microscopes and used to justify scientific conclusions. There is also some initial proof-of-principle code for reproducing analyses via the IDR Jupyter Hub. OMERO.figure is also rather neat: turn the raw image files acquired from the microscope into figures ready for Adobe Illustrator to put into your paper; information in the figures like timepoints, scalebars, etc. is derived from the metadata encoded by the microscope as it acquired the images.

Modern academic life is highly competitive and journals are far more keen to publish interesting new discoveries, however lucky, so there is great career pressure report the right kinds of findings. Further, many of them turn out to be difficult to impossible to reproduce. Even despite this, my impression is that the kind of research misconduct I have in mind is, at its core, well-intentioned: the results may be a little doctored, or an unusually significant subsample, or whatever, but the researcher does generally believe the hypothesis that they are trying to prove, they are just exaggerating the evidence for it.

I figure that our work stuff might be useful if it helps to encourage a culture of sharing all the raw data and the procedures by which it was analyzed. But, I wonder if this papers over a more fundamental problem: that the people generating the hypotheses are also those testing them. I am amused to be thinking of this as a conflict of interest.

I can see why it happens. The people who have the idea are probably the more enthusiastic about testing it. Maybe not many labs are used to working with those cell lines or protocols or whatever at all so it is not like any lab could just pick up the work. And, even if we had a system where the people who generate hypotheses are separate from those who test them, one can see that there is still scope for mutual back-scratching and the like. One can imagine the specifics of the experimental design would be something of a negotiation between the hypothesizer and the tester.

So, I am not saying that even this pipedream idea of having researchers' hypotheses tested by third parties is a good one even if it were workable. But, I do wonder if there is some related but realistic way in which scientific research could be restructured to make it more trustworthy.
mtbc: maze I (white-red)
An aspect of European Union membership that I greatly value is their focus on personal data privacy. This has similarly attracted me to the UK's Liberal Democrat party but rather less so: given how very little they bother to mention it in campaigning I would guess that they may not care as much.

I have been struck by how poor the BBC's choice is to soon make login compulsory for viewing content online. I have already mentioned how I would be fine with providing my television license number and how I do not want them to attempt to personalize their content for me. The compulsory login indeed relates to personalization: they want age, gender, postcode. In practice this is not yet a great burden to me because nothing in the process prevents me from simply lying for every login; I am a fan of services like BugMeNot. While the BBC do retain these personal details, their corresponding log of viewing history is indexed via some anonymized viewer identity code.

One facet of this that disappoints me is the BBC's naïveté. Their news archives now carry many years of history of very sensitive databases leaking from various organizations whose data security would have been expected to be good. If there are databases of everybody's details and television viewing habits being held by a well-known organization whose funding is often under political challenge then it will very plausibly leak regardless of prior public assurances made by ill-informed representatives. This risk is not so clearly worth the benefit that it ought to be imposed on all.

I am also intrigued by a contrast in attitudes between the US and the UK regarding how governments and corporations should handle personal privacy. Generally businesses are far more restricted in the UK than the US with regard to collecting, using and sharing our data, though perhaps only because of the EU. However, in the US the government is trusted far less: for example, it would be entirely normal for an American local library to not record my borrowing history but locally I am not even permitted to opt out of such.
mtbc: maze H (magenta-black)
I noticed that for a few chores getting them done takes the general form of starting then just keeping on with them. Progress is tangible, consistent and monotonic then they always terminate. This applies to mowing the lawns, wrapping Christmas gifts, exercising on the cross-trainer, ironing a pile of clothes, various kinds of thing. Usually the only thing stopping them from being completed is willpower to maintain the menial activity.

It is only in recent times that I have much noticed this class of chores which makes me wonder if now I do more of them. It seems as if there ought to be a name for it.

Whereas, say, some of my computer programming at work is not of this form. I may see a large task ahead of me and make myself buckle down and start chewing off the next parts of it. However, clear thinking and decision-making much affect the outcome. Technical risk can make progress unpredictably uneven and completion uncertain. Programming is thus in a different class of activity. Indeed, one of my tasks over recent weeks felt like it was over 80% done for over 80% of the time that I worked on it; the ongoing sense of now being nearly finished kept me from shelving it.
mtbc: maze C (black-yellow)
At work we have a number of server-side unit tests. I find some of these annoying. Server-side we offer various services which to some extent use each other internally. For unit tests there is not a real server running so when a test tries executing some server-side code there must be mock objects that fake appropriate responses from the other parts of the server that they attempt to use.

On the one hand, such unit tests typically run quickly and easily enough that they can be placed quite early in our code quality checks: a problematically failing test can be discovered long before the culprit is merged into a running server and the integration test suite run against it. (The integration tests use a real running server.)

On the other hand, not only are these fake appropriate responses an inferior substitute for the real thing, meaning that the unit tests are perhaps not testing a server that properly corresponds to reality, but as somebody who works on the server internals I find these unit tests a maintenance headache: if I change something about how the server works then I must fix the affected unit tests to fake new values in a new way. That is, I effectively have to correspondingly adjust the sequences of behavior from the fake server.

Times may be changing in relevant ways. Perhaps the computing cost of running integration tests was much larger. )

At my last job we had a less manual approach to providing data for tests. )

I should clarify that I am fine with unit tests in general: I have written various new ones into our codebase but mine do not exercise internal server dependencies enough to require many return values from mock objects to be faked.

Following on from my previous comments about contemporary code quality, surprise test failures suggest the code was not thought through well. )
mtbc: maze I (white-red)
When I was starting out in computing hardware and software was often a joy to behold. )

Coincident with the rise of Microsoft Windows I have seen software quality go down. Now it is entirely normal to run into bugs. It is also normal for software to frustrate me: it insists on doing something I don't want or I can't get it to do something it clearly ought to be able to. Mostly things went downhill … )

It isn't all bad. … there are some pleasing exceptions. )

It feels like most software developers now care about little more than getting things working well enough so that their employers can sell them comfortably. The developers wanting to use their mathematical gifts to create systems that are both solid and flexible are largely dwarfed or otherwise out-competed by the many who just want to deliver something that appears to work sufficiently well that everybody gets paid and management either do not appreciate or do not care about the difference.

Maybe the change is partly in the user community: they increasingly find poor quality acceptable. )

I don't have any answers, I think it's just how the world works. I would look at retreating to high-assurance systems but look at the Department of Defense's move away from Ada or Ericsson's from Erlang: I think the only refuges are in the past. I could be frustrated to know that modern computer systems are typically no longer built anywhere near as well as they could be but I instead find myself grateful to be able to recall a time when it was normal for them to be both useful and reliable.
mtbc: maze D (yellow-black)
My regular garage sent me a text message by SMS to let me know that my car's MOT test is coming up. The MOT is an annual vehicle test that was originally instituted by the Ministry of Transport, hence the name. One may have the test done a couple of weeks before the due date in order for the approval to be extended for another full year.

It turns out that the garage's computer system lies: the automated message used the date of inspection, not the actual expiry date of the MOT certificate. So, it is coming up to the date when the car last had its MOT test but we are still comfortably away from the actual expiry date. I shall bring the car back next month.
mtbc: maze I (white-red)
A difficulty I have with the desktop environments so pervading the mainstream Linux community is attempting to use some of their components outside those environments. For example, one has to recall that software is associated with KDE or whatever to guess which keystrokes may work for it. I am rarely sufficiently aware of the underlying toolkit.

I have had some success, though, thanks to the configurability offered by applications. For example, the file selection dialogs (for save as and similar) in Firefox and LibreOffice were wholly unusable for me. Fortunately, in LibreOffice I find that the Use LibreOffice dialogs option fixes the issue, and with some prompt help from Mozilla's Firefox Support Forum I now find that its ui.allow_platform_file_picker = false option is equivalently helpful. I wonder if the problem is that GTK3 is expecting more of my desktop environment (currently twm!) than it offers.


mtbc: photograph of me (Default)
Mark T. B. Carroll

September 2017

      1 2
3 4 5 6 78 9
10 1112 13 14 15 16
171819 20212223


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2017 10:36 am
Powered by Dreamwidth Studios