guest - flak

chromebook printing troubles

I have a chromebook which is quite nice for what it does. A dedicated browsing machine, fast and low maintenance. Alas, I am sometimes required to go outside, and worse yet talk to people, and even worster, show those people information. It is inconvenient to hand over my phone, no rotate it back, your other yaw, scroll a little, here, oh wait, let me unlock it again. I print such things on paper. Double alas, the chromebook makes this difficult.

Something they don’t mention in the advertising for chromebooks is what the printing experience is like. I also forgot to ask because I figure if I can make OpenBSD print, someone on team chrome should be able to solve this problem as well. And oh boy, have they ever. Solved it, I mean. Not solved it well.

Continue reading chromebook printing troubles...

Posted 2016-10-24 19:41:17 by tedu Updated: 2016-10-24 19:41:17
Tagged: computers rants software

new world economy

The New Yorker money issue, October 10. There’s some good articles about evolving, er, disrupting, business practices.

There’s several short articles under the Work For Hire heading. Plus some more from an earlier issue.

The Anti-Uber Juno promises to treat its drivers with respect. More importantly, they even get stock in the company, so when they get replaced by self driving cars, at least they still have something. They’re in a tough spot though, because nobody wants to fund them, expecting Uber to succeed. Especially those firms that have already poured billions of dollars into Uber, the first company to weaponize money. I’m not sure if Uber is literally the first to try outburning rivals, but they are doing it an extraordinary level. By the time Uber’s investors demand profits, its competitors will be out of business. Interesting point that unlike a Walmart competitor that tries to move into town and capitalize on unhappy employees, Juno can share employees with Uber. You can’t work in two superstores at once, but you can drive around with two smartphones.

Continue reading new world economy...

Posted 2016-10-23 22:31:46 by tedu Updated: 2016-10-23 22:39:32
Tagged: business magreview

off to be the wizard

Amazon started adding animations to selected books (Kindle in Motion, they call it). I figured I’d give it a try and read Off to Be the Wizard, by Scott Meyer of Basic Instructions fame. There’s not really much to animate here, only about one illustration per chapter, but now they dance back and forth.

Now, as as for the book. One day Martin is poking about on somebody else’s server and discovers a giant file with all the information about the world. As in, it’s a backdoor into the state of the giant simulation behind reality. Best of all, the file can be edited. Martin edits his height, he gets taller. Edits his bank account, gets richer. Edits his phone to always have 73% battery, his phone always has 73% battery. Edits his location, teleports. Very quickly he gets into trouble and needs to escape, so he naturally sends himself back in time and becomes a wizard with magic powers. And thus begins his adventure.

Continue reading off to be the wizard...

Posted 2016-10-20 05:33:32 by tedu Updated: 2016-10-20 05:34:16
Tagged: bookreview

process listing consistency

POSIX specifies that there is a ps utility to list processes, although it doesn’t describe how the command is implemented. In fact, it’s not possible to implement ps using only POSIX interfaces. However it’s implemented, it’s unlikely to use double buffering, which means on a sufficiently busy system, the results may be inconsistent. If lots of processes are being created and exited while ps runs, some of the output may be “before” and some “after”. Much like a game without vsync.

In order to test for inconsistency, we need to create lots of processes, but in a predictable way. Then we run ps over and over, looking for discrepancies. Enter the chicken and the egg.

Continue reading process listing consistency...

Posted 2016-10-06 12:26:37 by tedu Updated: 2016-10-06 12:26:37
Tagged: c openbsd programming

tilted abstractions

Abstractions are nice when they help us gloss over seemingly unimportant details, but they also shape our perception of the underlying reality. Learning to work without abstractions can make it easier to switch between abstractions.

Consider the analogy of a photographer who takes pictures and an observer who views the results. Normally, they would both be standing upright. Everything lines up. Either the photographer may tilt their camera askew or the observer may tilt their head. If the picture is tilted, the upright viewer can probably make sense of it. Even tilt their own head to compensate. Or if the picture is straight, an observer with a neck cramp can still view it. But what happens if the camera is tilted left and the observer is tilted right? It doesn’t make any sense. Now the trees are growing upside down!

One can imagine writing code on a tilted monitor. It’s a little annoying at first, but eventually one learns to tilt their head to compensate and now their own code looks perfectly normal. Using a friend’s properly oriented monitor is a little cumbersome, but adequate. Using a monitor tilted in the opposite direction? Terrible! Horrendous! How can you call this code? All the loops are backwards and the control structures are inside out!

Having spent a few days learning a low level API that’s conveniently wrapped by a library, I wondered, what’s the point? I’m probably going to switch to a different library, er framework, in the future. Will this knowledge transfer? Yes, I think so. These are the API functions that all libraries use as well. They just apply their own slant. It can’t hurt to know what’s happening underneath. Is the knowledge of one framework directly transferable to another? That depends greatly on the compatibility of their tilt. If all I know is a left tilted world, those expectations may actually be a hindrance in a right tilted world.

Posted 2016-10-05 14:39:40 by tedu Updated: 2016-10-05 14:39:40
Tagged: programming

choose boring bugs

When there’s more than one way to do things, it can be rewarding to relentlessly polish code, but this sometimes causes trouble later on. Boring code tends to have boring bugs, and since bugs are inevitable, this suggests we should prefer boring code.

Continue reading choose boring bugs...

Posted 2016-10-04 16:26:50 by tedu Updated: 2016-10-05 17:48:39
Tagged: programming

stuck in a time loop

Of course I realize we’re stuck in a time loop. I’m not an idiot. Actually, a character on The Magicians says something similar, though with a bit more resignation, as he’s not powerful enough to change anything. The inevitability of the future, or the past, or whatever, is a recurring theme in time travel movies. Except when the theme is that things aren’t inevitable.

I liked Looper, mostly because it didn’t dwell on the time travel.

Everybody likes Primer. I thought the pacing worked really well. It develops at just the right speed to keep things interesting but without losing the audience. And then when things get crazy, it still makes a certain amount of sense. Iterative plot thickening. Now, with all the looping that takes place, is time mutable or not? If you go back and replace yourself, did that always happen? In order to come out of the box, you had to go into the box, so what does that mean about predestination?

Continue reading stuck in a time loop...

Posted 2016-09-20 13:08:59 by tedu Updated: 2016-09-20 13:08:59
Tagged: moviereview

cloudflare and rss

Let’s say somebody has a blog that I’d like to read. Subscribe to even. Let’s say they have an RSS link on their page. This should be easy.

Now let’s say the blog in question is hosted/proxied/whatever by Cloudflare. Uh oh.

Just reading the blog in my browser is now somewhat hampered because Cloudflare thinks I’m some sort of cyberterrorist and requires my browser to run a javascript anti-turing test. But eventually the blog loads, I read it, click the RSS link to subscribe, see that it is in fact XML rendered in my browser, and copy the link.

I paste the link into my RSS reader, optimistically hoping to see new links arrive. But they never do. Check the logs. Seems I’m getting 503 server errors, which is Cloudflare’s way of saying, “It’s not us; it’s you. And fuck off.”

Apparently my feed fetcher is also a cyberterrorist. It’s also written in python and can’t solve browser detecting riddles because it doesn’t include a javascript engine because OMG why would fetching an RSS feed require javascript?

Now I’m somewhat less inclined to read said blog, but hey, at least the internet is being kept fast and secure from miscreants like me.

Posted 2016-09-16 04:59:40 by tedu Updated: 2016-10-05 17:59:11
Tagged: rants web

OpenBSD on HP Stream 7

Recent events have rocked the mobile computing world to its core. OpenBSD retired the zaurus port, leaving users in desperate need of a new device. And not long before that, Microsoft released the Anniversary Update to Windows 10, but with free space requirements such that it’s nigh impossible to install on cheap 32GB eMMC equipped devices such as the HP Stream series, leaving users searching for a new lightweight operating system. With necessity as both mother and father, the scene is set for a truly epic pairing. OpenBSD on the HP Stream 7.

The HP Stream line is a series of budget computers in a couple form factors. The Stream 11 is a fairly typical netbook. However, the Stream 7 and 8 are tablets. They look like cheap Android devices, but inside the case, they’re real boys, er PCs, with Intel Atom CPUs.

Continue reading OpenBSD on HP Stream 7...

Posted 2016-09-10 13:17:55 by tedu Updated: 2016-09-12 14:46:42
Tagged: computers gadget openbsd

html email comments

Normally I don’t look at the source for HTML emails, but sometimes I end up scrounging around for some important data that didn’t survive the conversion to plaintext. And so that’s how I stumbled upon these gems.

<!-- The phone number module is hidden on Mobile. 20150122 [JAMES] - Add left-to-right direction to phone number td so phone number shows correctly for right-to-left languages 20150219 [YVONNE] -Updated variables for Venere - added 1px orange birder for Venere 20151019 [YVONNE] - Removed ATde_AT from TUV logic 20160831 [GREG] - Remove Phone Number for VN //-->

<!-- /*------------------ Email Change Log ------------------*/ 140515 [JAMES] - Launch Functionality 141126 [JAMES] - Apply exclusion logic for emergency emails M_BZ_OFC 150213 [JAMES] - Switch to Partners Tool data for localisation 160531 [GREG] - Switch from MHotel_Hcom_Destination DE to HCOM_MHotel_Destination -->

I’m not sure which is more disturbing. The decision to embed version history in every email they send, or the inconsistent date formats, or the strange mix of HTML, C, and C++ style comments. Using -- is a particularly poor choice of decoration within an HTML comment, by the by.

I’m also having a fun time imagining staying at a hotel 50 years ago, then receiving a follow up letter spattered with white out covering up various notes from the marketer to the secretary. “Insert reference to upcoming holiday here.”

Posted 2016-09-08 15:45:41 by tedu Updated: 2016-09-09 12:20:59
Tagged: mailfail