iOS scanning apps

I have a bunch of stuff in my head that I’ve been meaning to organize and turn into blog posts, but I just haven’t gotten around to it. So I’m going to take a little time today, on a Sunday morning, to try to get a few of them out. So I may post three or four items today. Or I may post just one, then the schedule the rest to go out over the next few days. Or I may get halfway through this one, and get distracted by something, and post nothing. So you’ve been warned.

Anyway, my first item is going to be on iOS scanning software. By this, I mean apps that make it easy to take a photo of a document, then clean it up a bit and store it somewhere. I think that the first app like this that I ever used was something called CamScanner. I first found out about it when a client at work sent me a printout that he’d “scanned” with a free version of CamScanner that put a watermark on the scan. (At the time, there was a free version that watermarked the scans and a paid version that didn’t. This was probably ten years ago.) I thought it was kind of a funny way of sending me the information I needed. The “right” way (in my mind) would of course be to have printed it to PDF and sent me the PDF. (Or to take a screenshot and send me a JPG or BMP or whatever.) Printing it on paper, then taking a photo of the paper with a cell phone struck me as a deeply weird workflow. (Printing it, then scanning it with a traditional desktop scanner would also have seemed weird, but a little less so.)

Anyway, using your phone as a scanner has become a much more accepted workflow over the years, and there are now a bunch of apps that you can use for that. And the ability to scan a document is built into a bunch of other apps. I’ve continued to use CamScanner myself on and off over the years, and paid for the “pro” version (or whatever they called it) quite a while ago. But, at some point, the design of the app changed and they started adding a bunch of ads and popups and cruft to it, and it started to seem a little scammy (for lack of a better word). I would still use it once in a while, and it still worked well enough. But, recently, the Android version of the app was found to have some malware in it. The malware was coming in from their advertising library, and was not built into the app itself. (And it only affected the Android version and not the iOS version.) Still, it’s not a good thing. So I decided to delete it from my phone and look at alternatives.

The Evernote app has had the ability to take and add photos to your notebooks for a long time, of course, and they can treat the photos as documents, and straighten them out and OCR them and all that stuff. So I’ve been using Evernote for that a lot anyway. Evernote also has a standalone scanning app called Scannable. I’m honestly not sure why you’d want to use that rather than just directly using the Evernote app, but maybe it’s worth looking into.

There are a number of other apps that have document scanning built into them, generally with the idea that you’d scan a document in, and store it in the service associated with the app.

  • The built-in iOS Notes app has a document scanner. It was added in 2017 and is apparently really good. I don’t use Notes though, so it’s not the best option for me. (I know I can get the scans out of Notes via the share sheet, but it’s still not a great workflow for me.)
  • Google Drive has a document scanner built-in on Android, but not on iOS. The iOS app does allow you to take photos and add them to Google Drive, but it doesn’t have any of the usual document scanning extra features.
  • Adobe has a scanner app that looks pretty good, but I honestly don’t even want to try it, since I don’t want to have to get into the whole Abode ecosystem if I can avoid it.
  • The Dropbox app has built-in document scanning, but I’ve been trying to move away from Dropbox.
  • The Microsoft OneDrive app can scan documents and store them in (of course) your OneDrive account. I use OneDrive, so I tried that, and it works OK, but I wasn’t entirely happy with the workflow. (And I often want to scan something to my camera roll, not to OneDrive.)
  • Microsoft also has a standalone app called Office Lens that does a pretty good job of document scanning and can easily save the scan to your camera roll (or OneDrive or OneNote or a few other places). That works well enough for me that I’ve decided to use that as my CamScanner replacement (for now).

There are a handful of dedicated scanning apps that might be worth looking into. I’ve bookmarked a few, but haven’t actually tried any of them out.

  • Genius Scan looks kind of interesting. There’s a free version, an $8 “plus” version and a subscription version that costs $3/month.
  • Scanner Pro is a scanning app from Readdle. I’ve never used any of their apps, but (last I checked) they have a good reputation. It seems to be oriented mostly towards scanning to PDF and doing OCR. It got a good review on MacStories a few years ago. It currently costs $4.
  • Scanbot is another app that’s been around a while and seems to have a good reputation. The Sweet Setup lists it as their best scanning app for iOS. The pricing is a little confusing. There’s a free Scanbot app in the app store, with an in-app purchase of $7 to unlock the “pro” version. But there’s also a separate “pro” version, priced at $70. So that’s weird. And when I dug into it a bit more, it looks like they’re going to a subscription model. If there’s any information about the subscription pricing on their blog, I couldn’t find it, but I found a blog post from a user that indicates that it’ll be $22.50/year. (I guess this was announced just recently.) So I guess I don’t want to get mixed up in that right now.

In a nutshell, I’ll likely be using a combination of Evernote and Office Lens for my scanning needs, for now. I’ll use Evernote for stuff I want to store in Evernote, and Office Lens for stuff I want to save to my camera roll or OneDrive. I might give Readdle’s Scanner Pro a try at some point, or maybe play around with the scanner in the iOS Notes app, but I guess I’m OK for now.

backing the wrong horse

I have a long history of “backing the wrong horse,” as it were, when faced with decisions between two competing products. I’m one of the idiots who bought an HD-DVD player, back when it wasn’t clear whether HD-DVD or Blu-ray would win out. I have a boxed copy of OS/2 around here somewhere. And so on.

And, when deciding between git and Github vs Mercurial and Bitbucket, I chose the latter. I had good reasons for doing so, of course. In the early days, the tooling for hg (Mercurial) on Windows was much better than the tooling for git. And, for a small company looking to host a handful of private repos (my situation at the time), Bitbucket was a better deal. (And also, for personal use, Bitbucket allowed private repos under their free accounts, while Github only allowed public repos for free.)

Well, of course, git won the git vs. hg battle some time ago. Bitbucket added support for git several years ago, which was inevitable. And Microsoft added git support to Visual Studio, and even to TFS. Then, they bought Github. But Mercurial has hung on as an alternative, and is still actively maintained.

But now, Bitbucket is dropping support for Mercurial. As of June 1, 2020 “users will not be able to use Mercurial features in Bitbucket or via its API and all Mercurial repositories will be removed.” So, I’ve got some time, but I’m going to have to convert my old hg repos to git eventually. And if I’m going to do that, I might as well move them to Github too, since Github now allows unlimited private repos under free accounts. It might even make sense to make a few of them public, if they’re not too embarrassing. There’s been a lot of talk over the last few years about how valuable it is to have some public code up on Github when looking for a new job. (Not that I’m looking, but I assume I will again, at some point.)

The thread about this on Hacker News has some interesting discussion on the history and evolution of version control, along with a fair number of pro-Mercurial comments. (And of course a lot of the usual stuff you’d expect in a Hacker News discussion thread…)

The Bitbucket announcement of this change includes links to a couple of tools that can (theoretically) help you migrate from hg to git. Hg-Git will probably be the easiest for me, since it says it’s included in TortoiseHg, which has always been my favorite tool for managing hg repos. (Which reminds me that I need to try TortoiseGit again.)

At work, I’m hosting some of my current code in Azure DevOps, under git repos. But a lot of my code is still in on-prem TFS servers, under TFVC. I kind of wish I could convert all of that stuff to git and get it in Azure DevOps, but some of it still needs to stay in TFS for various reasons. Sigh.

Easter walk and Flickr problems

It’s Easter, it’s nice out, and I’ve got nothing much to do today. So I went out for a walk and took some pictures. I uploaded them to Flickr here, if you’re curious.

I hadn’t uploaded anything to Flickr in quite a while. My last uploaded photos were from September 2018. I had a lot of trouble getting these ones uploaded. First, I tried to see if I could upload them from the Photos app on my Mac. That used to be supported, and pretty easy to do, but Apple removed that functionality at some point. So then I tried just using Flickr’s upload page. Long story there, but that doesn’t work at all reliably on the Mac right now. This may just be a temporary problem, since there’s a thread complaining about it on the forums from today with a bunch of responses. After a bunch of frustration on my Mac, I gave up and did it on my PC (after copying the photos to OneDrive to get them from Mac to PC). That worked, but still timed out a bunch of times. I just kept hitting “retry” until all the photos were up. So I probably wasted an hour of a perfectly good Easter Sunday just trying to get past that. Anyway, that’s all soured me on Flickr a bit. But if it’s just a temporary problem that’s not getting fixed today because it’s Easter and nobody’s available to fix it, then that’s fine I guess.

I only just recently let my Flickr Pro account renew for another two years, for $100. (It used to be only $45 if you renewed for 2 years, but I guess not anymore.) Now i’m wondering if that was a mistake. I had high hopes for the service after it was acquired by SmugMug, but they haven’t done much with it. They did finally start the process of moving off of Yahoo’s login system, so that’s a relief. Maybe I can finally nuke my old Yahoo account now.

Back to today’s photos: there are couple of photos in there of the Seward Johnson sculptures that are currently scattered throughout downtown Somerville. I’m not sure how I feel about these things. I’m all for art, in general, but these seem a little creepy.

Anyway, now it’s 1 PM and I feel like I’ve wasted too much of the day. I’ve walked three miles today, so that’s good. And I’ve read a few Batman comics. But I feel like I could have done more with today. Well, there’s still plenty of time left. I should get back to my Batman comics…

Spring Cleaning

Inspired a bit by Marie Kondo, perhaps, I’ve been doing some spring cleaning this weekend. I haven’t actually watched her Netflix show or read her book, but it’s hard not to run into references to her work lately. I caught her appearance on Colbert, for instance, and listened to a Pop Culture Happy Hour episode about the show recently. And I’ve gotten a kick out of some of the anti-Kondo backlash that’s been showing up on Twitter and elsewhere on the internet. I know that it’s all exaggeration and/or misperception, but some of it is entertaining. This Washington Post article is a good example.

Anyway, it’s a three-day weekend (for me), so I’ve got some extra time. I thought I might get an “easy win” by going through a box of old college papers and throwing most of them away. I assumed the box was mostly full of notebooks from my RPI days; I don’t really have any sentimental attachment to old differential equations notes, so those could be easily discarded. Alas, the top few inches of papers were actually from my K-12 days, including stuff from grammar school, middle school, and high school. Most of my old notebooks from those days had already been discarded, so this was stuff that I’d previously decided to keep.

I managed to talk myself into throwing most of this stuff away, after scanning it in. So that slowed things down a lot. I only got through maybe the top inch of stuff in the box between today and yesterday. (And the box is about 12 inches tall.) So, visually, it doesn’t look like I’ve put much of a dent in things.

Since having to reinstall Windows 10 a while back, I’ve been trying to come up with a good solution for scanning. I couldn’t quite manage to reinstall the old Canon software that came with my printer/scanner, and that I’d been previously been using. For now, I’ve settled on using the Microsoft Windows Scan app for scanning to JPG/PNG format, and the freeware NAPS2 for scanning to PDF. I’m not completely happy with either, but they’re actually a little better than the old Canon software in some ways.

Anyway, I’ve been scanning old photos and single-page documents to PNG, and multi-page documents to PDF, for the most part. I’ve come up with a naming convention that starts with the year, so my First Communion certificate is named “1975-first-communion.png,” for example. (And the actual certificate is now in a garbage bag in the dumpster behind my apartment building. Sigh.) I’ve been putting them all into a folder in OneDrive named “Andy-childhood”. My intention to to stick anything up to my high school graduation in there. Having the file name start with the year will make the files appear roughly chronologically.

Spending time on all this seems a bit self-indulgent, but I’m ok with that. It’s not like I spend a lot of time rummaging through old grade-school report cards, in general. I don’t think I’ve looked at the stuff in that box in twenty years.

I’ve come across some pretty funny stuff in that box, including a short story I wrote, titled “An Interstellar Christmas,” which is all about Santa making an appearance on an interstellar spacecraft on Christmas Eve. I didn’t put a date on it, but it looks like it’s probably from 1979, when I was 12.

I also found an issue of my middle school “newspaper,” also from 1979, that had a page devoted to a creative writing assignment that included submissions from three students, including me. The assignment, I guess, was to write something resembling a haiku about several people we though were interesting. (It wasn’t really haiku, but I think it was supposed to follow some kind of pattern.) My entry covered Aesop, Ben Franklin, Agatha Christie, Ray Bradbury, Isaac Asimov, Francis Scott Key, Charles Schultz, and Lou Ferrigno. (Another kid covered Albert Einstein, Thomas Edison, Mark Twain, Muhammed Ali, James Bond, and Dracula. I’m not sure if the exercise was supposed to include fictional characters, or if this student just thought James Bond and Dracula were real…)

My best find, though, was in yet another box (which I started to poke around in, and quickly gave up on after realizing it also wasn’t going to be an “easy win”). It was a notebook from my senior year high school English class. It was a journal that we were supposed to keep over the course of the year, and hand in for grading occasionally (probably once a month). So it had entries from September through June of my senior year. This was really a goldmine of oddball stuff. Early in the year, the teacher had us write about specific reading assignments, so there are some one-page reports on essays by folks like J.B. Priestly, Winston Churchill, and Virginia Woolf. Stuff like that. Later, he gave us looser themes, so there are little essays on Led Zeppelin, Jimi Hendrix, Will Eisner, and my feelings about the college application process. Very late in the year, I wrote some fairly personal stuff relating to how I felt about leaving home and going away to college. Since we were handing this book in to the teacher regularly, and getting it back, there are notes from him throughout, such as “you, without doubt, are an interesting person!” and a scribble asking if he could borrow the Harlan Ellison book I was writing about in one entry. (I don’t remember if I ever lent it to him, but if I did, he gave it back, since I still have it.)

I also came across a reference to the old Fahrenheit 451 video game that I’d been playing around that time. That sent me off on a little side quest, since I had really fond memories of that game. The game is playable from this page at archive.org, if you want to try it out. It’s also playable and downloadable at myabandonware.com. The description there makes it sound like it’s probably not as good a game as I remember, though.

So, anyway, I had a lot of fun reading that notebook. I went as far as scanning the whole thing in. It was 70 pages, so it took a while, but I was listening to an audiobook while I was doing it, so I was using the time wisely.

I also managed to shred some of my parents’ old bills while I was doing all this stuff, so, between the old school paperwork, the shredded bills, and a bunch of other ephemera, I managed to fill two garbage bags.

Yet More Windows 10 Grief

My desktop PC has been running fine since rebuilding it back in November. But today, something happened. I don’t know what exactly. I had left the PC on all day, having taken care of some bill paying and stuff in the morning.

I noticed early this evening that it seemed to be stuck in a reboot cycle, crashing every time it rebooted. Long story short, I had to use the “Reset My PC” option to reinstall Windows 10. That option lets you keep all of your files, but forces you to reinstall all of your applications. So that’s what I’ve been doing for the last few hours.

My best guess is that Windows 10 decided to install some updates during the day, when I was out, and something went awry that borked my Windows install. I haven’t seem any evidence of an actual hardware problem.

Since I’ve only just recently had to redo my setup, I still had pretty up-to-date notes and install files, so getting everything back was pretty painless. At this point, I’ve installed just about everything. It took about two hours total to reinstall Windows and all of my applications.

But I’m getting a little annoyed with Windows 10. It seems like there’s way too much that can go wrong with Windows updates these days, and there’s not really any way to control them, if you’re using a consumer version of Windows 10. I’m too deeply attached to the Windows ecosystem to be able to easily pull out and switch over to Linux, or anything like that. And I love macOS, but I can’t really go Mac-only either. (And the Mac ecosystem has its own problems.)

Anyway, here’s hoping that this box holds itself together for a while longer. After some of the expenses I’ve had over the last few months, the last thing I need would be to have to go out and buy a new Windows PC.

MacBook Air migration

I’m just about done setting up my new MacBook Air. I hit a few bumps, but I think everything has worked out in the end. My initial plan was to restore from my most recent Time Machine backup with Migration Assistant. But that didn’t work out, for a variety of reasons. So instead I just dragged and dropped the files I needed from Time Machine to the new Mac. That took a while, but went smoothly enough.

Buying this MacBook Air was a bit of a compromise. For the most part, it’s at least as good as my old MacBook Pro (and better in some ways), but it only has a 256 GB drive. (The Pro had 512 GB.) I could have gone with a 512 GB drive on the Air, but it would have added about $300 to the cost, which I couldn’t really justify.

After getting rid of all the movies and TV shows I had on the old laptop, I’ve managed to fit everything else from the old drive onto the new one, with about 40 GB free. I have some other old files I can get rid of too, so I should be fine for the time being.

I’m trying to avoid the option in macOS to store documents in iCloud Drive. First, I don’t want to pay for iCloud Drive storage. And second, I don’t really trust it. There are other things you can do to free up space on a Mac, and I’ve reviewed those.

I’m currently syncing my entire OneDrive account to the Mac. That’s about 40 GB. I could probably turn off a few folders there to save some space.

I’m also toying with the idea of throwing a 256 GB SDXC card into the card slot, for additional storage. Those can be had for about $100. I really don’t need one yet, but it’s something I’m considering.

I’m a little annoyed that I don’t have a CD/DVD drive on this thing. I wasn’t really using the drive on the old MacBook that often, but I did get some use out of it. I’m going to have to do all my disc burning on my desktop PC from now on.

There’s one cool feature that works on the Air but never worked on the old Pro: unlocking it with my Apple Watch. (I was never sure if it was supposed to work on the Pro, but it definitely didn’t.) It’s a pretty minor thing, but it’s nice.

I still have a few minor things on my setup checklist, but the machine is functional now. I want to make a full backup with Carbon Copy Cloner soon, then set up a new Time Machine backup. And I need to pull the SSD from the old MacBook, recycle the machine, and repurpose the SSD, assuming it’s still good. (I may actually use it as a new boot drive for my desktop PC, since I only have an old-fashioned hard drive in there. That’s a project for another day.)

Day One outage

It might be time to stop using Day One. I last blogged about Day One in 2016, when they had released a new version and switched to their own proprietary sync system. I expressed some concern about that sync system at the time, but I did pay for the new version, and I’ve kept using it.

Well, they just recovered from a multi-day outage of that sync system, and part of their restore procedure accidentally assigned some journals to the wrong users. They’ve written a postmortem that’s fairly straightforward and transparent, so kudos to them for that. But that’s a pretty big issue, regardless, in a system that’s supposed to be used for private journaling. I still mostly use Day One for fairly boring stuff, so it wouldn’t be too embarrassing if someone else saw my journal, but I can imagine a lot of people keep some really personal stuff in there.

For anyone using their premium service, with end-to-end encryption turned on, this wouldn’t be a problem. (The accidentally shared data would be encrypted and unreadable.) But I’m still on their old “paid for the software” plan and haven’t switched over to the subscription plan. And, of course, a multi-day outage and security snafu like this makes me a little less likely to do so at any point in the future.

I may switch back to using an old-fashioned five-year journal next year. I filled up two of these, starting in 2007 and going through to about 2016, before switching to Day One. The main issue with the hard copy journals is that you can’t do a full-text search. Also, my handwriting is atrocious. (This Levenger one looks nice though.)

1Password subscription

I recently decided to give in and switch to a 1Password subscription. I blogged about maybe doing this last year, but decided not to do it then.

I originally bought 1Password (for Windows, Mac and iOS) back when it was sold as plain old software. All things being equal, I’d just as soon continue using it that way, but there are a few advantages to switching to the subscription model. Mostly, I wanted to get access to the latest version of the Windows software, version 6, which is only available to subscribers. The previous Windows version works, but isn’t great. (Version 7 is in beta, and will support non-subscribers, but it will be a paid upgrade, so I figured I’d just skip that and pay for the subscription.) To their credit, they haven’t been aggressively pushing people to switch to subscriptions, though they’ve been gently nudging people in that direction. And I do like their software, in general, so it makes some sense to support them this way.

I have three minor nits to pick with the subscription version:

  1. They’ve eliminated folders, in favor of tags. That’s not too bad, but the standalone version supported both, so it doesn’t seem like it would have been difficult to support both in the subscription version too. I’ve managed to move my folders to tags, so it shouldn’t be a big deal.
  2. The Mac software supported “smart folders” which were basically saved searches. I had a few of those set up, and they were lost when I switched to the subscription. I had hoped that there would be some kind of saved search functionality in the subscription version, but there’s not. (You can still do advanced searches, but you can’t save them.)
  3. The subscription version requires that your master password be at least 10 characters long. My previous master password was only 7 characters, so I had to create a new one. I never have to type it in on my iPhone, since I have Touch ID enabled there, but I do have to type it in a lot on Windows and Mac, so that’s a pain.

As to other advantages of the subscription version, I’m honestly not seeing many, other than the new Windows software. And there’s an advantage in having my passwords available online now, via 1password.com, rather than having them stored in Dropbox. Since my 1Password data was pretty much the only thing I’d been using Dropbox for, I can probably delete the Dropbox client from all of my devices now, if I want. (I’m using OneDrive to keep my files in sync across devices. 1Password only supported DropBox.)

Facebook adjustments

Even after all the Cambridge Analytica stuff and Zuckerberg’s 10 hours of testimony in DC this week, I’m still using Facebook. I’ve known for a long time that a lot of the free stuff on the Internet involves a tradeoff between privacy and convenience, and I’m generally careful of what I share and what I don’t, and which apps and services I use and which ones I avoid.

On the desktop, I use Facebook in Firefox, with uBlock Origin, Privacy Badger, and FB Purity all installed and running. On iOS, until recently, I’ve just been using the regular Facebook app. But I switched to using an app called Friendly recently. It’s pretty good, though it’s got a few rough edges. It does ad blocking (after a $2 in-app purchase), and lets you re-sort your news feed chronologically, and some other little tweaks. I’ve also recently set FB Purity to sort my news feed chronologically, so now I’m seeing stuff that way on both desktop and iOS. It’s funny how different Facebook looks when you’re seeing stuff in simple date/time order, rather than whatever order their algorithm decides to use. I’ve also reviewed and tweaked my privacy settings a bit. This page at iMore has some good advice for that.

I’ve been reading a comic book called The Private Eye recently. It’s a science fiction comic set in a world where there’s been a major internet privacy meltdown, and society has essentially reconfigured itself in a way such that personal privacy is a core value, and is taken to extremes. It’s a really interesting take on the subject of privacy and trust, and it makes me wonder what our world’s going to look like in 100 years.

Ben Thompson has a good overview of the Zuckerberg hearings at his site. A lot of interesting stuff has come out of all this, but I agree with Thompson on the bottom line: “The most likely outcome of Facebook’s current scandal continues to be that nothing will happen.”

Learning Power BI

I’ve recently started trying to learn about Power BI, since it looks like we’ll be using it at my job soon. We first started talking about Power BI in 2016; at that time, I looked into it a bit, decided it probably wasn’t something that was going to work out for us, and didn’t really follow up on it. And my boss didn’t follow up with me on it, so I figured it was dead or on the back-burner. I guess it was the latter, since it’s come up again. This time, it sounds like maybe we’re a bit more serious about it than last time, so I’ve been spending a lot more time trying to figure it out than I did back in 2016.

I’ve never really done much BI work, though I’ve done plenty of work around the edges of BI, and have dipped my toes into more serious BI from time to time. I’ve done a lot of ETL work, and that seems to be a big aspect of BI.

To get myself up to speed, I first took a look at what was available on Pluralsight. I started with a course called Getting Started with Power BI, which was a pretty good intro course that just zoomed through a lot of stuff quickly. Then, I watched a course called Introduction to Data Warehousing and Business Intelligence, which helped me get some background info on the current state of BI and data warehousing. (I was already somewhat familiar with the general idea of cubes, but didn’t really know much about them.)

After that, I decided to dig more deeply into the Power BI Desktop tool. This is a free tool from Microsoft that’s actually pretty good, and could be useful as a standalone tool, even if you’re not plugged into the whole Power BI cloud thing. I’m currently reading a book titled Pro Power BI Desktop. It’s covering the product in a lot of detail. (Maybe too much detail. It feels a little like this book doesn’t really need to be 761 pages long. But it’s a pretty good book, overall.)

There’s also a free course on EdX about Power BI. I might give that a try, if I feel like I need to. The course is part of a Microsoft Professional Program in Data Science that’s all available on EdX, and which looks pretty interesting. I’d love to do it all, if I had a lot more spare time than I currently have, and if I wouldn’t miss the $990 it would cost to officially enroll in it and get the certificate from it. The path I’m on now is more about simple BI rather than fancy data science, but I’m really curious about that stuff. I was listening to an episode of Hanselminutes this morning on machine learning and data science, and it was really interesting. I wish I had the time to figure it all out.

Back on the subject of Power BI itself, I was leery about it back in 2016. Microsoft sometimes introduces products like this that don’t last long, or that are overly complicated or expensive, given what they do. Power BI looks like it might actually be a winner though. The Desktop tool is quite versatile and useful even without the cloud service. I’m still trying to figure out whether or not it’s worth buying into the whole ecosystem though. You can do a lot with it for free, but the cost could get pretty high if we start using it for a lot of enterprise-level stuff.