Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Haskell and floppy disks in Norwegian government (gundersen.net)
154 points by fegu on Sept 27, 2015 | hide | past | favorite | 59 comments


There is a whole host of old in work there, not just the floppies and the DOS software.

Notice that the company he works for gets the records that are to be distributed in EBCDIC format.

According to Wikipedia that can be traced back to IBM punchcards! https://en.wikipedia.org/wiki/EBCDIC

And i'm not surprised, likely older, doctors cling to their DOS interfaces. I recall watching cashiers operating similar ones at various stores, and once you have the keys down navigating the interface can be quite fast.

Also, you never have to worry about some errant popup or other stealing focus...


The reason a lot of Norwegian doctors cling to their DOS interfaces is not because of age, or a resistance to upgrade.

I have discussed the topic of medical software with my father extensively, who is a M.D. in a rural town in Norway.

The reason is efficiency. As a doctor you are required to look up a lot of information on the patient, while maintaining a conversation with them. This is only really possible with a keyboard only interface. The older DOS systems does this, and the newer GUI based packages largely does not.


I can confirm this. I have an acquiantance who is a medic, far away from Norway. He's in the same boat. A few years ago, when they switched to their new system, he mentioned to me that one of the reasons he's so unhappy with the new system is that he cannot talk to the patient while looking up his information. He has to stop and focus on the screen. This introduces some bouts of awkward silence which is all the more unpleasant when the guy you're talking to is worried about his health.


This is precisely the reason why the many GUIs I see do take care to include proper keyboard control and I doubt there's a shortage of medical software that accounts for this, although I'm not a doctor.

Maybe it's rather the resolution and small fonts that are hard to read with growing age and the developing eye cancer from looking at 240p fullscreen goodness for too long. I know it's true in my case.


Cool, someone should write an Emacs mode for them! I am very sympathetic to the arguments for using a keyboard-only interface, i try to achieve that on my own computer as much as possible, too.


I dunno. Emacs seems to have the very X+Y+Z+butt+cat kind of key combo issues that was mentioned as a problem elsewhere.

The basic benefit of these interfaces seem to be about single keys (F keys mostly) for reaching major functions.

I am guessing that once the patients id number has been entered, a single key brings up the journal, and one can page through entries (and their content) using single presses (next/prev entry, page up/down style).


> Emacs seems to have the very X+Y+Z+butt+cat kind of key combo issues that was mentioned as a problem elsewhere.

You can rebind stuff. As an example, the magit mode for rebasing has a whole bunch of one-key functions, specifically optimised for the task at hand. A "doctor-mode" might have exactly those F-keys do what you describe. But anyway, this is a case of me wanting to do everything in Emacs :P. At least that would allow the rest of the system to be upgraded, instead of running DOS(box) or whatever they do now...

Anyway, way OT.


> I recall watching cashiers operating similar ones at various stores

One of which was probably Elkjøp, the Dixons in the North? They have a text based system in-store for looking up stock. I occasionally work on a product that is similar to Elkjøp's and also for retail, and although we have a web version of the text based legacy system many users still use the text-based system because it is fast, has no pictures to wait on and all major functionality is mapped to F-keys.

The F-keys are a major boost for users, even on the web-based port (same back end (COBOL) ported frontend to GUI). When we get new employees they almost always suggest remapping shortcuts from function keys to ctrl-shift-something, which is a stupid idea for 4 reasons:

1. you now have a new key combination to learn

2. the new combination requires pressing more keys that just a single F-key

3. shortcuts in the browser are predefined and now we have to override them (as we do for F1=help, but less often)

4. the function keys are there for exacltly the reason we use them

I completely understand why doctors and others, like in retail, want to continue using text based systems. No CSS painting, no complicated layouts, no ditractons.

On the down side: backend in COBOL in 2015 - you limit your pool of available talent.


Funny you should mention Dixons. Back when I was a university student I worked part time at a Currys store (part of the Dixons group) here in the UK during the transition from a keyboard-driven SCO system (I don't recall its name) to a touchscreen Windows system called "Eclipse". We were one of the few smaller stores that got to trial it first. Absolutely horrendous. Typical transactions took 10x as long, the system froze up regularly, a load of functionality was missing. We had all muscle-memoried all the common tasks and could navigate to most of them within a couple of seconds on the old system, all gone with Eclipse.

We were promised they were just teething troubles and would all be fixed for the final rollout. Of course, they weren't and Eclipse was universally despised within the Group stores. Dixons Group ran into massive financial trouble shortly afterwards, although no word either way on whether the new till / stock control system was a factor. Amazing how it all comes flooding back!

It still makes me shudder when I go into a Dixons Group store and see Eclipse still in use. I almost break out into a cold sweat.


I am amazed that people don't more universally recognise the advantage of a tactile (== physical buttons) interface... Here where i shop the cashiers also have a touch interface, and they have to keep their arms practically horizontal at chest-height most of the day, which (i'm not an ergonomics expert, but) must be much more tiring than keying stuff in on a flat keyboard. Also, they have to look and aim and peck, whereas a "traditional" (i'm aghast that a real keyboard could fall into a category called traditional, what's the world coming to?) keyboards allow much surer and faster (and sometimes blind) entry...

EDIT clarification


Agreed, it was the blind entry where all the time was saved. Even the 60+ year old part timer in our store had most of the functions memorised and complained when the new system launched. I forget the exact sequence (it's been about 10 years) but the faster typers among us could walk up to a terminal, type in their user ID and password, hit e.g. F2 F6 F1 F7 to go to the sales screen and scan the first item within about 3 seconds, even before the screen had caught up, and it would work flawlessly every time. It took longer than that just to log in to the new system!


Touch screens for cashiers seem to be used for product flexibility reasons. Meaning that chains can add/remove products, or categories, easily.

As for the ergonomics issue, i think that is known as "gorilla arm".

My personal take there is that screens for input and screens for output should be put at very different orientations. A input screen really belong at a near flat angle, much like with a keyboard.

Also, i wonder if the resurgence of pressure sensitivity (See Apple's force/3D touch as an example) will make for some change in this. Especially if one combine it with some kind of tech that can give the screen software controlled textures.


Touch screens in retail till systems (POS) are used because we can rewrite the software from scratch and deliver on the same hardware. We can add a button for 10% discount next to teh 5% discount button and just have it appear on the screen after the next release, and only in stores 1 to 5 & 7, not 6 8, & 9. You can also do stuff like add a button to open the browser and carry out tasks on a completely different service not entirely related to POS. Flexibility is definately the reason.

Having to upgrade keyboards with physical key-caps is a nightmare. You have to send an actual person (a human!) out to do upgrades.

Intersting point about controleld textures, any idea how you can see that being used in a shop POS? With only a minute's thought the first thing I came up with was allowing blind people to work retail ... everything is automated now anyway, you don't even hand cash to a human, you just stick it in a hole.


Even a sighted person could benefit, as for example i am typing this without looking on the keyboard. This because i can feel the edges of the keys under my fingers, and i can sense where the F and J keys are. The rest comes down to muscle memory.


> Having to upgrade keyboards with physical key-caps is a nightmare. You have to send an actual person (a human!) out to do upgrades.

Yeah, imagine that. To hell with the people who have to use those interfaces day in and day out. /s


Just imagine the time cost involved in that. New features and upgrades would come once a year, maybe. How do you track different sonfigs across hundreds of shops? POS systems with touch screen have been in use for 10+ years, they are well tested and there is no "screw the users" attitude in the industry. Not sure what you are complaining about.


> You have to send an actual person (a human!) out to do upgrades.

Why can't you send them to the store and get someone there to swap the keyboards?


Because people who work in stores are either idiots or pretending to be idiots. Or choice number 3: they pay us to do that so flat out refuse to do so themselves. Imagine this true story: guy on the phone to technician 3 times about printer not working, go through all the "is it plugged in, try turning it on and off" routine. Nothing working? Still? Tried everything we suggested, yup? OK. Better send a guy out. Arrive on scene. Printer still in box. So, no, nobody is asking anyone to replace keys in the correct position on a physical keyboard in 300 shops nationwide with literally thousands of miles between them. Because the people out there aren't interested in helping. With touchscreens we can push updates with full control over the keyboard/screen (they have a qwerty under the desk most of the time).

Also consider the cost of custom keyboards for shops, no t just hte layout but the quality of these items, keypresses thousands of times a week. When something breaks and you aren't sure what it, raspberry jam under a key, or a broken screen. It's easier to diagnose and fix a screen or remote software. I can't use your physical keyboard over a network.


Before I worked on the product they tried, I am told, to port it to .NET and WIN servers, but it was so slow in comaprison that they quickly gave up. Huge amounts of data in chain store databases and linked services accross the country, all sorts of integration. These are of course things that .NET can handle very well, but apparently not as fast as COBOL binary files and an ODBC database.


I actually have some experience in getting .NET to talk to COBOL flat file databases and I agree it's not something that anyone seems to have managed to get 100% right. CONNX is a pretty good product but still seems to suffer from locking and needing to manually restart the service from time to time, and this was on a project much smaller in scale than anything a group as big as Dixons would need.

As a .NET developer myself I certainly don't envy the guys who had to deal with all our complaints from the shop floor, and of course the ageing SCO system had to be replaced with something. These days it would probably be something lightweight and browser based as opposed to a full-blown WinForms application, pretty much emulating the old terminal-based setup (hardware-wise if not interface-wise). The keyboard navigation and super-low-latency feedback of the old system would still be a huge challenge, though.


A quick glance at the COBOL page on Wikipedia it seems to "suffer" from the kind of verbosity that has also sunk ADA (as i understand it at least).

Frankly i find myself wondering if it is high time that computer education is split between computer science and computer engineering.

It seems to me that much of the ailments of the computing world is that people keep bringing stuff from computer science into the larger world virtually untested.


I'm quite surprised by this. My experience with floppies (dos-formatted) was that in a bike ride of 1 hour 1 out of 10 floppies would have corruption. Or maybe the drives i used to copy on them just did not do write verification.


I think that's a function of the quality of the disk drives and the media; both of which went into the toilet when floppies stopped being generally useful. (was windows 98 available on floppies?)


Windows 98 was available on floppy. I know, because I painfully installed it that way.

For me, floppies started failing when I didn't need to use them as often. The drive would get dusty from lack of use, and I'd put a disk in and it would be destroyed. I ended up using one floppy as a "cleaning disk" for the rare occasion when I needed to use the floppy. I'd attempt to do something on the disk and the activity would make it safe for the next disk I put in (generally).


I recall doing an Oracle Forms based install back in 94 you had to feed 13 or 14 floppys in the right order then you could install our forms application (another 3 floppys).

It to a coworker and my self 2 days to install the pilot site for only 5 users.

I remember saying to my boss that about the www that when the it becomes more mature we could save so much time in product roll out.


In effect bringing back the X terminal era...


Only with much less suck :-) at one time our entire team at BT was slated to switch to native X development luckly the MCI fiasco happened and we dodged a bullet


From a user angle i find it to be a different kind of suck.

I have yet to find a web app that can make up its mind about being a app or a site.

Maybe the problem is more that they invariably existing inside a chrome-less browser window, but sooner or later some niggle shows up that you can't find on proper native UI.


Should've formatted them with ZFS or something j/k :>

Confirmed from my experience too. Luckily, archives with recovery records sometimes saved the day.


You can't zfs, grub would already take all sectors.


ZFS is just a filesystem, it's usable on any storage format. It reserves some space for metadata but not much more than most filesystems.

You wouldn't need a bootloader like grub unless you're trying to boot from the floppy.


Same here. I quickly switched to FTP once my school got PC's with shared internet access. Anything that could fit on a floppy could reasonably quickly be FTP'ed up to the 30 MB I got from my ISP even on 56k.


I think something in your setup must have been faulty - I remember cycling to and from work (10 miles each way) with stacks of floppies and never had a problem - that's how I first installed Linux!

Maybe your bike was generating a magnetic field?


For doctors that really really don't want to switch:

https://en.wikipedia.org/wiki/Floppy_disk_hardware_emulator


That's quite cool, although it would be more practical to run the MS-DOS software in DOSBox or a virtual machine and configure a virtual floppy disk drive.


Can it emulate Amiga floppies?


Like gotek?


But it doesn't buzz!


I'm surprised a plain floppy disk is considered secure because it is in an envelope. Even though that envelope requires an id to pick up, I see that similar as a message in plaintext that has a header: private - please don't read.


From another perspective, a floppy is also secure because it is a completely dumb storage device: it's just a piece of magnetic media in a plastic case. The drive is equally dumb, and the controller IC is usually a hard-wired logic array. The format has been around for a long time and publicly documented in standards. Contrast this with USB drives which have their own firmware and microcontrollers that can hide maliciousness, or even CD/DVD drives that also have modifiable firmware.

Someone could intercept a floppy and read/write its data, but putting malware on it and getting the receiver to execute it unnoticed is going to be much harder than with a USB drive. Putting a floppy into a drive literally does not cause any code to execute - it's only when commanded to, i.e. when the drive is accessed, that things start happening. There's no AutoPlay for floppies. Contrast this with the whole USB enumeration process.


Have you ever tried to intercept some one else's snail mail (or even your own wrongly delivered)? Its a lot of work if you don't have an insider at the post office. Requiring major time investments, to visit mail boxes or collect mail. E-mail even encrypted is much easier to permanently monitor than basic post, even for state level actors.

Opening an envelope is easy, doing so without being detected day in day out is hard.


The (East) Germans managed - the Stasi (East German secret police) did so for years on end with any number of suspected citizens.

Actually there was a joke going around here in Germany when the NSA scandal broke, talking about how jealous all the ex-Stasi guys must be that the NSA had beaten them at their own surveillance game...


I keep having the feeling that the west only stayed somewhat sane by having the eastern block as a comparison.


Most motherboards still prioritize floppy drives when it comes to boot order. The early viruses were transmitted by floppies.

I also wouldn't trust a floppy controller's firmware any more than I would a CD or USB controller's firmware.


You haven't heard of bootsector virus? The only time I have seen a virus in the wild was a floppy bootsector one.

Our customer had edited a doc on her husbands pc and got infected - the pre boot checks caught it.


On that note, i have gotten the impression that the bootsector trick has been coming back in vogue. This because modern antivirus packages no longer do bootsector checks unless they are set to their most stringent level.


The Supreme Court puts email in the same legal category as postcards: little to no expectation of privacy, because everyone along the way can trivially read it. Certainly an envelope can be trivially bypassed, but the clear signaling of intent may be enough to sway the legal status of eavesdropping on it.



It's quite surprisingly secure because, apart from crazy Norwegian doctors, who on earth can read a floppy disk?



I have this exact drive. Amazon says: "You purchased this item on December 2, 2014."


> A floppy copy workstation in 2015. The retro handset is just there for giggles.

As a norwegian, I have to say its good to see these guys have a sense of humour about their (honestly) pointless work :)


> Norwegian doctors get one 3.5″ floppy in the mail from the government [..] every month. For a long time this applied to all of them, but for about the last decade a secure electronic option has been available. Problem is, a lot of doctors love their MSDOS-based electronic journals and haven’t switched yet.

> The government seems to finally close down floppy distribution at the beginning of 2016, forcing any remaining doctors over to newer electronic patient journals. Sadly, the chosen strategy is just to offer paper printouts instead, requiring error-prone rekeying at the doctor’s office.

It seems like these guys have a potential business in selling a device/appliance to bridge the "secure electronic option" to floppy gap (without relying on paper): Basically make doctors do this work themselves. A laptop (running locked down Linux for security reasons) and a USB floppy drive. You can easily charge 10x hardware cost, so no need to skimp, and you can support by exchanging the entire setup via post.


The problem could be that the solution must be "open", so there is no potential for lock in, hence not much money to be made.


It's not a huge, long-term business, for sure. There are only n doctors still running the DOS app in the entire market, and that number will only ever shrink.

The lock-in is provided by the extreme niche-ness of the market the conservatism of these doctors. These floppy-guys have a unique position in the market, they know exactly what to do -- they are basically the only ones who can credibly pitch these doctors at all. Once they've bought a solution that actually works, is stable and compliant etc., these doctors are not going to shop around to save maybe $1-2000/year (or whatever you can charge in maintenance), it's simply not worth their while and the risk. Remember, these are not scrappy little outfits, they have cash to spend, and they will spend it if you can supply stability and continuity.


The first thing I thought seeing the picture in that article:

"Classified info on a Lenovo Thinkpad?"


From looking at the webpage of TFA's author I'd say it's very probably airgapped and running some BSD flavor.


Airgap is a requirement, I will update the article. Thanks for reminding me.


> Fun fact: while floppies are indestructible

Haha, oh boy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: