Pseudoku: This is not Programming

By Shamus Posted Tuesday Mar 21, 2017

Filed under: Programming 109 comments

The part of development that I love: Programming.

The part I do not love: All the stupid crap that keeps me from programming.

Unfortunately, when you’re an indie you gotta deal with some of that non-coding stuff.

Business

In order to get my game on Steam, I need to have a business checking account. Fine. I go to the bank and open one.

Turns out that in order to open that checking account, I need an ID for my business. Which means I have to create one. Fine, go to the government site and begin asking them for permission to be a business.

To form a business, you first must register your fictitious name. Example: “Foo Games”.

Okay then. Let’s go to a different and even more obtuse site to figure THAT out. It turns out that registering a fictitious name is a complex process that varies from state to state, and what little documentation exists is contradictory when it isn’t missing or out of date.

I am now mired in a stupid side-side-side quest. I should point out that I’m genetically predisposed to lose my shit over problems like this.

Everyone says “hire a lawyer”, which is great if you know of a good one that works in this field and have the money to pay them.

I hate this. All of this. Every step is expensive and a gigantic time sink. This bullshit can devour hours of productivity just to figure out which of these fifty forms I’m supposed to fill out and more hours of time to figure out how to fill them out. And the only way to avoid that headache is to make it even more expensive by hiring and meeting with a lawyer, which is itself a time-sink.

HATE this.

Hate. Hate. Hate.

Okay. This is frustrating. I need to put this aside until I cool off. Let’s work on something else…

VM

My program is having crash problems. Last week I incorrectly said that Pseudoku fails to run on 5% of machines, but that tally included people who never even downloaded it. That poll was a measure of “Of the people responding to this poll, how many tried to run the game and couldn’t?” This means that “People who didn’t try the game and in fact care nothing about it” were being thought of as “able to run the game”. If you straighten out this misunderstanding, it looks like the failure rate is more like 10%.

My problem is that the game works fine on my machine. I have all the libraries required. Other people don’t. In order to pinpoint the problem, I need to be able to replicate their results. Someone suggested using a virtual machine. This is a great idea, since I already have VirtualBox installed.

I installed it to mess around with ReactOS. I meant to write about this at some point but never got around to it.

ReactOS is an attempt to make a free, open operating system that’s compatible with Windows. This means interface, drivers, everything. It sounds impossible. But if it worked it would basically accomplish what Valve was trying to do with SteamOS, which is give the public a way to push back against Microsoft hegemony. Right now Microsoft can drop support for an old OS to force you to upgrade. And each new version can have more security holes, more privacy concerns, less user freedom, and more overbearing hand-holding. What are you going to do? Take your Steam library of hundreds of Windows-only games and storm off to Linux?

I tried ReactOS. Even in a Virtual Machine it ran really snappy. It did basically everything I asked it to do… except play games.

That’s a tough problem. The people working on WINE for Linux have been hammering away at this for ages and have made very little success in terms of games. I don’t know if it can be solved, but I’m very interested to see how far they get.

I download a version of Win7 that Microsoft offers specifically for testing. It’s actually designed for testing stuff like “How does my site look using IE 6 on Win7” or some such. They offer a bunch of combinations of MS operating systems and IE browsers. I’m going for Win7 first because I really want Pseudoku to run on it. I consider it to be the best OS Microsoft ever made. Also, according to the Steam hardware survey about one-third of all users are still on Win7, so missing out on Win7 means cutting myself off from a lot of potential customers.

Besides, this is a bare-bones, dead-simple application. It ought to work on Windows XP, for crying out loud.

If you’ve never used a virtual machine: It’s a program that emulates a computer. You can control the properties of this computer: How much memory, how much storage, how many hard drives, how large the monitor is, etc. The only limitation is that the emulated computer needs to fit inside the host. So it needs to have less memory, less storage, etc. There’s a pretty big overhead to running a virtual machine, which means the virtual computer (also called the “guest”) is going to be a lot slower than your actual PC.

You can install an operating system on this guest PC, and (aside from being kind of slow) it should perform identically to a physical machine. There’s no way for the operating system to “know” that it’s inside a virtual machine.

I install Windows 7. The game crashes.

After some careful study of the log files (after I stop to add log files to the program) I’m able to see that the failure is when the program tries to call OpenGL.

That really shouldn’t happen. OpenGL WORKS. I’ve never heard of a situation where it didn’t. Even a fresh install of an old OS with no updates should still be able to talk to OpenGL. This is a really strange problem and I don’t know what to make of it.

Well, let’s try Win8. I download the OS, install it, and it won’t start up. Apparently running Win8 in a VM requires you to enable some sorcery in your BIOS. I don’t know enough about VM’s to understand this, but I reboot the machine and enable the required option.

Windows won’t start.

To be clear, I mean the REAL Windows. Windows 10, that I’m running on my real computer here in the real world outside of The Matrix, won’t start. It blue screens.

Shit just got real.
Shit just got real.

I am reminded of the XKCD strip where attempting to solve easy problems led to more serious problems, until the entire endeavor ended in disaster.

No problem, I’ll just disable that setting. I reboot, disable the virtual whatsit, and the OS is still broken.

I dig my Windows 10 disc out and do a repair. I re-enable the stupid mystery feature, and get back to work…

I finally get Win8 running in the virtual machine, and then I discover it can’t run the game either.

But this version of Win8 is made for testing internet explorer. Maybe Microsoft left out a bunch of stuff? Maybe this isn’t SUPPOSED to be able to do graphics? It’s a free OS they give away, and it would be just like them to cripple it.

Shit just got virtual.
Shit just got virtual.

So let’s just create another virtual machine. This time I’ll use the Win7 disc I have leftover from my days of 32 bit computing. I used this same version of Windows a few years ago. It’s not some crippleware testbed. This is the real thing. It will certainly be able to handle OpenGL calls. Once that’s sorted out I can work out where OTHER people are crashing, because they sure as hell aren’t crashing on OpenGL calls.

It takes a long time to get this installed. The VMs I downloaded from Microsoft were snapshots of a machine that was already set up, but this time I have to go through the real Win7 install process. That takes ages under ideal conditions, and much longer under a VM.

Once that’s done, I try to run the game and of course it still crashes on OpenGL calls.

Well, I guess I should update this version of Windows, since it is a fresh-off-the-disc install.

(Three hours later…)

Okay, we’re up to date. And… it still crashes.

Now, I KNOW this doesn’t make sense. I have never seen or heard of a situation where OpenGL would fail like this.

For the record: I’m using Virtual Box. Yes I installed the virtual drivers and yes I enabled hardware acceleration. I also tried it without HW acceleration enabled, and with many different settings in many configurations. This was a pain in the ass, since every time I wanted to make a change I had to reboot the virtual computer, and every time I do that Windows 7 remembers it STILL has EVEN MORE updates to apply. Even on reboot #7, it’s STILL applying more updates.

I try dependency walker. It’s useless. I install the appropriate VC redistributables onto the target. It doesn’t help. I try many different ways of compiling the project, linking various things statically, including every possible DLL the program uses in the program directoryFun fact: Do you know some savage jackass in Redmond decided that from now on, 64 bit DLLs go into /system32? I didn’t know that until now..

Finally I just start groping around, trying random things. I discover that some OpenGL calls crash and some don’t. The ones that don’t are the “core”. The ones that do are the “extensions”.

See, OpenGL stuff dates WAY back to 1992. Since then, it has undergone a strange evolution. As we entered the age of graphics cards and shaders it needed to grow, so new stuff was bolted onto the original system. It was messy and ugly and probably more convoluted than it needed to be. I’m using the OpenGL Extension Wrangler to gain access to these “new” (as in less than fifteen years old) features. That’s fine. People will tell you, “all computers have that stuff now”. However, that is evidently not the case for virtual machines. Virtual Box has a system to pass graphics calls to the host machine, but evidently it doesn’t have access to the extended stuff in OpenGL.

This explains why my game doesn’t run on a virtual machine, but it has nothing to do with why my game doesn’t run for random people out there. I just wasted two days in complete frustration only to realize that none of this matters and I’m no closer to solving the problem.

Head. Hit. Keyboard.

Coming Along

After writing the above:

We got the business stuff mostly worked out. (I hope.) We saved a lot of time and stupidity by skipping the fictitious name thing and just naming the company after me. It’s boring, but it’s done. Creating a fictitious name in this state is stupidly expensiveIt takes several weeks and costs just short of $300. Most of that time and money is to pay to have the name “published” in “trade journals”, which I suspect only exist so that people can pay them money to publish the name of their company. The law states that for your name to be recognized it has to be “published”, and so this idiotic do-nothing service is the result. What a dumb waste.. Whenever I used to see a business called “Thompson’s Bakery” I always assumed the owner lacked imagination. Now I realize they probably just had a low tolerance for bullshit.

I know I can probably reach out and find a volunteer to test my Pseudoku builds, but I was really hoping to come up with my own test machine. I’m not sure what I’m going to do next. My ideal test machine would be a virgin install of 32 bit Windows 7By “virgin” I mean all the relevant updates are installed, but no games or Steam.. If I can get it running there, then I can be confident it will run just about anywhere.

 

Footnotes:

[1] Fun fact: Do you know some savage jackass in Redmond decided that from now on, 64 bit DLLs go into /system32? I didn’t know that until now.

[2] It takes several weeks and costs just short of $300. Most of that time and money is to pay to have the name “published” in “trade journals”, which I suspect only exist so that people can pay them money to publish the name of their company. The law states that for your name to be recognized it has to be “published”, and so this idiotic do-nothing service is the result. What a dumb waste.

[3] By “virgin” I mean all the relevant updates are installed, but no games or Steam.



From The Archives:
 

109 thoughts on “Pseudoku: This is not Programming

  1. Daemian Lucifer says:

    Example: “Foo Games”.

    Please tell me that you tried to register as “Foo Games” only to find out that it already existed.

    1. Shamus says:

      I did find it funny that there’s no restriction on what you can name your business besides these rules. Like, the name doesn’t need to make sense.

      Some ideas I came up with:

      Young’s Fitness Center (A bakery.)

      Young’s Salvage and Hauling. (A fitness center.)

      Young’s Funeral Home. (Makes videogames. This works well because our town already HAS Young’s Funeral Homes (no relation) but I’d still be allowed to use the name because we’re not in a competing business.)

      Shamus Young Tax Preparation (Strip club.)

      1. Kronopath says:

        In Halifax, on the Atlantic coast of Canada, there’s a relatively well-known place called the Economy Shoe Shop. It’s actually a bar. On their website they explain how they got their name:

        The Economy Shoe Shop was a real shoe store that operated on Barrington Street in the 1950s and 1960s. When the store closed, the sign ended up lost amidst a collection of stuff. Years later, when it was time to name Victor's first-ever bar on Argyle Street…

        1. Viktor says:

          My hometown has a family-owned business with a similar story. Changing demographics caused them to go out of business, but they held on to the building. Years later, when one of the kids wanted to open a restaurant, they used the old building and the old name.

      2. evileeyore says:

        Thankfully Orlando, FL is slightly more and slightly less progressive than that:

        Here you can’t mimic another business name too closely, so Young’s Funeral Home would be a no go, however… in order to be “published” you can take out a two week add in a local newspaper. Said ad has to state what the business does and list the business name, but doesn’t actually require any contact info.

        1. I suppose there’s a limited amount of sense to this if you view it as an attempt to avoid trademark trolling lawsuits–to qualify as a “real” business, you have to actually do some kind of business-oriented thing (like take out an ad).

      3. Bryan says:

        Am I the only one having flashbacks to Freakazoid?

        “Let me save your cat! I’m Lord … Smoked … Meats … and … Fishes!”

        “What are you doing?!”

        “Helping you!”

        “Not with a name like that, you’re not!”

        “Look, that isn’t my real name; my real name is Lord Bravery. But I couldn’t call myself that because the name was already taken by the bakery, so I had to call myself Lord Smoked Meats And Fishes instead.”

        “…Did you say our name was Lord Bravery?”

        “Yes?”

        “Could I have a muffin or a scone?”

        “NNNNNNNGGGGGGGG”

      4. AdamS says:

        PLEASE name your little one-man studio “Young’s Funeral Home” and then never explain it anywhere.

      5. Daemian Lucifer says:

        That reminded me of a joke:

        A guy is walking down the street when he notices his watch has stopped.He looks around and he sees a store with a clock in the window,so he goes inside:
        – Hi.Id like my watch repaired.
        – Sorry,I dont fix watches.I preform circumcisions.
        – But…why did you put a clock in the window then?
        – If you were in my shoes,what would YOU put there?

        1. Mephane says:

          If you were in my shoes,what would YOU put there?

          Why obviously a miniature guillotine.

  2. Da Mage says:

    Ah, the OpenGL extensions. You might have run up to the depreciation problem, the extensions you were trying to use got depreciated at some point (or rolled into core under a different name, or updated into a new extension). Since they were depreciated, they then aren’t included in standard openGL libraries in computer OS’s.

    Ah OpenGL, what a glorious mess you are.

    1. Will says:

      Deprecated/deprecation. Depreciation means something else.

      1. Da Mage says:

        Whoops, spell check corrected my original spelling and I didn’t think anything of it.

      2. chiefnewo says:

        True, but you can’t say the deprecated functions haven’t depreciated due to their deprecation!

        1. Decius says:

          The depreciated deprecation functions of the manual aren’t used or supported anymore, and they lose 20% of their remaining value every year.

          1. Alan says:

            That would more likely be the deprecated depreciation functions. Functions that calculate depreciation, which have been deprecated.

  3. Galad says:

    I am running Win7, I think 64 bit, I can check the details when I get home, definitely not a virgin install though. If you’d like, I may try running it now, if it’s not too late, and you could still use more data, Shamus?

  4. BigTiki says:

    Now that your company is published in trade journals, prepare to never stop receiving marketing mail from utility companies, payroll companies, credit card companies, business loan companies, accounting software companies, commercial real estate companies, mail processing companies… My late mother-in-law started a couple of companies back in 1993-95, and mail still comes to her old address.

    As an aside, have you considered taking the “story of making the game” and including it in the game, as rewards for completing puzzles? It might interest people (if it’s obviously optional) who are not blog readers to see how it went along.

    1. Writiosity says:

      This sort of behind the scenes stuff is the sort of thing people sign up on Patreon to see, so yeah, including something like that would likely interest a good few people.

    2. Daemian Lucifer says:

      Ah mail,the spam of the old millennium.Shamus can probably include it in his spammers series.

  5. Daemian Lucifer says:

    and so this idiotic do-nothing service is the result.

    When you think about it,the service actually makes sense.You need a place where all the names are gathered and checked against each other so that you dont end up with two foo incs next to each other,by accident or on purpose(scam).And those repositories need to cover all of the business,dating who knows how long into the past.

    Now as to why it has become such a tangled mess…well,that part is not excusable.

    1. Abnaxis says:

      I think the way the law works, you’re allowed to have similar names if the businesses are “unrelated.”. I imagine all the hoops are a result of litigation-happy businesses who will sure if your a bakery and your name contains the word “edge”. As the litigants push against the edge of what’s legal, the law is updated (or not, depending on state) to avoid frivolous lawsuits

    2. Sunshine says:

      I imagine they started with the genuinely helpful goal of giving the customer the information to find out that Bodgit & Scarper Builders were incorporated yesterday and will be gone tomorrow, but have been corrupted by time, chancers, capitalism and the precious.

  6. MrGuy says:

    I’m absolutely certain throwing speculation around doesn’t help at this point, but it’s possible the VM itself is to blame. Because the VM hypervisor sits between the Windows VM and the actual hardware.

    OpenGL likes to talk directly to the metal. If the hypervisor doesn’t allow OpenGL to talk to the hardware in the way it expects, it may not run.

    I run a Mac and use Parallels (another VM product) to run a Windows VM. A lot of Windows games run this way. Some don’t (Good Robot is in this category, FWIW). And the reason is that Parallels doesn’t support DirectX 11 or 12. I can install DirectX all day long in the Windows VM, but Parallels isn’t able to emulate the hardware well enough for it to work, so games that require it crash. The “virtual graphics card” can’t support it.

    To run DirectX 11-and-higher games, I have a separate Windows partition I have to boot the machine into, so that Windows is running as an actual OS directly on the hardware. This is actually Parallel’s recommended workaround.

    I don’t have any direct information about VirtualBox or OpenGL specifically, but a quick Google seems to imply VirtualBox won’t support anything more advanced than OpenGL 1.1 in its virtual hardware adapter. No idea if this would be an issue for you, since I wouldn’t imagine you’re using advanced 3D acceleration or very recent tricks. Just that it’s a variable to possibly try to control.

    1. Geebs says:

      I think both Parallels and Fusion now support DX9 on the actual graphics hardware.

      I was going to give Pseudoku a try under Fusion but unfortunately I think Shamus has taken the early builds down again.

      For what it’s worth, my few experiences with VirtualBox have been nothing but painful, so I’m entirely unsurprised that it threw up on itself when confronted with an OpenGL extension.

    2. tmtvl says:

      KVM GPU passthrough is clearly the solution… if we want to drive Shamus literally insane.

      Too bad, though, I’ve seen amazing things done with it.

    3. I “think” OpenGL 2.0 should work in VirtualBox, it’s possible SDL2 requires OpenGL 3 or similar.

      Also, VMWare is a alternative. Personally i prefer VirtualBox in how easy it is to backup VMs, and VirtualBox allows incremental saves of the VM so you can easily revert to a “clean” VM by discarding all changes.

    4. Andrew_C says:

      Unfortunately, I think virtualbox is not a particularly good VM. The last time I checked it, it didn’t even support OpenGL on Windows, good to hear it’s changed.

      I would suggest that he try the hyperviser/VM that comes with Win10 Pro & Enterprise if I could figure how on earth it worked. Also Shamus probably had to disable parts of it to get virtualbox working properly (did I say it’s not very good?).

      Squeezing a new partition or HDD in & dual booting might be the easiest way, in the end. That or getting a cheap second hand machine somewhere.

  7. Nick Pitino says:

    Skirting politics here, delete if needed:

    When someone says that business is over regulated the automatic backlash assumption is that they’re saying that corporations shouldn’t be restrained in anyway and should be free to do whatever they want.

    No.

    That’s not the problem, and I don’t think it’s what your man-on-the-street means either. What we’re talking about is that the Kafkaesque nightmare that is the first section of this post should go die in a fire.

    If Joe-Has-An-Idea wants to start a small business all it should take to:

    -Register a business name
    -Get a ID number to file taxes with
    -Initiate the business as a legal entity

    Should be a single page form and a $15 filing fee…

    1. Viktor says:

      No one wants the mess that are current regulations, but getting rid of/simplifying them doesn’t help. The vast majority of govt rules were created to solve specific problems. It’s just that when you have a national, state, and local set of laws, all those solutions start conflicting. And that’s before you add in trying to work with Valve’s or whoever’s internal regulations on top of that. But any time you eliminate a regulation, you have to be very careful to not open holes that some clever bugger could exploit.

      I’m in QAQC for construction, trust me, if it weren’t for the massive levels of government regulation cutting off every possible shortcut there wouldn’t be a bridge in the country you could walk across safely.

      Edit: Look at what’s actually going on for Shamus to get the business name. Valve wants to be sure he’s a real business, so they say he needs a business checking account. The bank doesn’t want to be in charge of verifying who’s a real business and who isn’t, so they say you need to be registered by the government. The state government doesn’t really care, but they want to avoid the legal equivalent of domain squatters, so they require proof that you’re actually using the name for something. And the bank won’t let him use the name for anything until after it’s registered. So the “trade journals” emerge as a workaround, and they charge for the service. It’s a terrible system, but try finding a better one that the government can implement on it’s own that still solves the same problems. These are complicated systems, bugs are unavoidable.

      1. Will Riker says:

        Yeah, the law like this gigantic awful legacy codebase, and every random piece of idiocy you run into looks like it makes no sense in isolation but really was intended to fix some “bug” in the law.

        1. Primogenitor says:

          Plus every “commit” to the codebase has to be approved by multiple groups of developers, some of which insist it has to be written in vi and others insist it must be with emacs. And some who don’t understand what these new-fangled “compilers” do and ask why it was’t written in assembler.

      2. Urthman says:

        In general, it’s a bad idea to tear down a fence if you don’t know why it was built.

        1. FeepingCreature says:

          On the other hand, sometimes the only way to discover why a fence was built is to tear it down…

          1. Daemian Lucifer says:

            That still does not mean you have to do it 100% blindly.You can infer a lot of things before you start demolishing the fence,calculate possible risks,etc.

      3. Merlin says:

        Aye, this is one of those things that seems like absolute madness right up until you consider why it all exists. Is it as efficient as it could be? No. But it’s a lot of measures that were at least reasonable at the time, and do still provide value now.

        That actually makes it an absolutely beautiful parallel with the “so I’m troubleshooting this OpenGL function that was deprecated years ago and apparently never intended for use in VMs” discussion.

      4. The alternate solution usually involves making it a lot more costly for the “domain squatters” to sue.

        Trying to head off people being jackasses at the pass usually doesn’t work and creates tangled messes of bullshit that screw over people who just want to legitimately do something minor.

        Kind of like, if you think about it, DRM that tries to stop people from stealing games.

        One of the worst aspects of this kind of government regulation is that people get out of the habit of covering their OWN asses, which is ultimately the only protection that you really have. If it’s cheaper to bribe officials than comply with regulations, even the regulatory stamp of approval is no protection whatsoever. (And this also entrenches government corruption.)

        I work in customer service for Amazon these days, so I get to see all the people who get taken in by the most egregiously transparent scam sellers imaginable. It’s ridiculous, when all you have to do is to notice the fact that they *don’t have any reviews*.

        The real barrier to entry that prevents this kind of thing should be REPUTATION.

      5. Taellosse says:

        I get why it might be like Shamus says in his state, but it doesn’t have to be. When I started my business, it was relatively straightforward (though finding out exactly how straightforward was a fairly irritating, non-trivial bit of research that took far more time than actually doing it). I wanted business bank accounts to take in payments for my services, and for that I needed a tax ID (an EIN in my case). For that, I needed a business name. But here in my state all I had to do was go to my local town hall and fill out a little one-page form, listing my name and address, the business’ address (mine), the name of the business, and what I generally intended to provide as a service/product. There was a filing fee (I believe it was $20), and it’s good for several years. I CAN also register a trademark for my company name and logo if I want, but I don’t have to do that (probably should, but haven’t gotten ’round to it yet). There’s no “publication” requirement at all.

    2. MrGuy says:

      The problem here isn’t just bureaucracy. It’s that this problem sits at the intersection of state and federal law, which complicates everything. I did this recently, and it’s a pain.

      Assuming you want to go the simplest way possible, you file for a DBA (Doing Business As), which basically says “I’m going to do business as Foo Games. That generally IS one simple form (it is in my state). The US Small Business administration (www.sba.gov) can guide you to the right place to file in your state, which can generally be done online. There’s probably a fee.

      Then, you need to file for a FEIN (Federal Emplyer ID Number), which is basically a social security number for a business. This is an IRS thing, which means it’s federal, and so a different form from a different agency. I seem to recall this step being free.

      At this point, you can be done. You’ve done enough to transact business, get a bank account, etc. IIRC, this is about 2 forms and about $20. Not terrible, just confusing knowing WHICH two forms you need.

      What you haven’t done is the last step – creating a legally separate entity from yourself. To do that, you need to incorporate, which costs considerably more and involves different forms. I have an LLC, which means I don’t file for a DBA – I filed to incorporate instead. There are also S corporations for sole proprietorships, which I know less about. Corporations protect your personal assets (if my LLC goes bust, creditors can’t come after personal assets like my house) but they require careful accounting and paperwork.

      1. Daemian Lucifer says:

        The only thing worse than a bureaucracy is when two bureaucracies intersect.

        Ive learned this lesson by proxy when my family moved from one city to the other,a mere 15 kilometers.However,that short distance also included crossing the border between two provinces.This meant that in order to transfer his health insurance from one province to the other,my father had to travel some 80 kilometers.Twice.In order to get the necessary paperwork from the capital city of one province to the capital city of the other.He had to do this despite the fact that the capital city of the other province is at the same time the capital of the whole country.And he had to do this personally instead of via mail* because…I honestly have no clue.Someone was being dense on purpose,I guess.Also,he had to do this during business hours,you know the same hours when he was supposed to be at work.Yay bureaucracy!

        *This was before computers

      2. Sabrdance (MatthewH) says:

        More relevant: our host lives in Pennsylvania, which is famous for having absurd Alcohol Control Laws, absurd Business Licensing Laws, and putting cheese wiz on sandwiches. Old joke: A Commonwealth is a form of government with absurd alcohol laws. (Massachusetts, Pennsylvania, Kentucky, and Virginia.)

        A lot of the complication is the state side.

        Here in Kentucky we’ve got a similar thing -state law requires that all public budgets (so, school board budgets, for example) be published in print. There are entire newspapers that exist entirely on the money they get from charging schools and local governments to publish their entire budget.

        Local govs asked for permission to publish their budgets on the website -but the law specifies in print in a newspaper. (Some of the officials I talked to suspect this was a give-away to the Louisville Courier-Journal.)

        They finally cheesed the problem by publishing a classified ad saying “our budget is on our website at this link…” I think that is still being wrangled in the courts as to whether that actually complies with the statute.

      3. IIRC there’s also a Partnership form which is sort of between an S corp and an LLC. It’s often used by law firms, doctor who go into practice together, that sort of thing.

        You shouldn’t HAVE to register at all, but the legal benefits of being “official” should be obvious to anyone with half a brain who has ever seen how hard it is to prove who owns what or owes money for what without a legally-recognized contract.

  8. Jonathan says:

    Yes, when my XP computer dies, or when I get tired of not being able to run newer games like Supreme Commander or Cities:Skylines, I will be buying a beefy Linux box.

    I’ll probably run it and the XP computer side by side for a while.

    I hope to have a remote home office (out in the barn or workshop) set up when we move, but I still want access to my home PC while out there (reading forums while on hold, etc.). Not sure how to do that without it being a laptop (hard to upgrade, have to move around and disconnect/reconnect several times a day). I’m assuming running everything over 300′ of cabling is going to introduce a bunch of lag.

    1. Echo Tango says:

      Actually, Cities: Skylines has a Linux version. I actually purchased the game after I’d fully ditched Windows. :)

    2. Rosseloh says:

      300′ of ethernet cable will not introduce any noticeable lag. That’s actually right about at the top end of the range of a single cable, though (100 meters).

      But the spec allows for that. Between your computer and router, you’ll still be seeing sub 1 millisecond round trip times if you don’t have any other intermediate equipment.

      If you’re going to be running past that 300′ mark (don’t forget to account for vertical travel as well, if you’re running up walls or into a trench conduit), I’d recommend adding a switch on the far end – the length limit is based on timing and signal to noise ratios on copper wire, so throwing a switch in line will essentially reset that number. That way you can have more than one device in the office, too. They also make ethernet repeaters, though I’ve never researched them. Or, if all else fails, a point-to-point wireless bridge can be quite reliable when set up correctly using good equipment (Mikrotik makes some all right stuff for cheap).

  9. Echo Tango says:

    @shamus @meta
    You forgot the break – front page shows entire post. Incidentally, I’m surprised that you have to put those in manually. WordPress doesn’t have some kind of plugin or setting, to auto-truncate posts, for viewing on a summary page / front page / index page?

    1. Fast_Fire says:

      If there is such a plugin, Shamus would still likely need to insert an overriding break because many post summaries often wouldn’t automatically break as nicely as others.

      So installing another tool to do things that mostly need to be undone or redone anyways sounds counter-productive.

      That being said: I’d say it’s worth it if the host isn’t very picky about at which specific line each post should break.

      1. Lanthanide says:

        So install a tool that warns when a post is > x lines and doesn’t have a break.

    2. Writiosity says:

      It does have a feature like that where you can have it simply put the first 40 (or however many) words on the front page, but that’s not much use if you want to split your posts at specific points, which I assume Shamus does. I do, too, because I dislike incomplete paragraphs on the front page, it looks messy, so I use the tag to split where I want it. Every post is different and trying to automate that is more hassle than simply doing it by hand.

      1. Echo Tango says:

        I’d actually prefer the incomplete sentences / paragraphs – if somebody’s interested, they’re going to want to read the full article, right?

  10. Bloodsquirrel says:

    Wait a minute… you made all of this up so that we wouldn’t know you were watching Space Mutiny, didn’t you?

  11. Paul Spooner says:

    If it’s any consolation, registering a business in the state of Washington is dead-simple, online, and costs about $15. You might be able to do it even if you live out-of-state, but you’d have to check.

  12. Matt Downie says:

    My instinct in this situation would be to buy/scavenge a tiny out-of-date HDD and install Windows on it. 128GB should be plenty for this situation.

  13. ulrichomega says:

    All on the front-page again.

  14. Merlin says:

    Shoulda gone with “Smoked Meats & Fishes” as your company name, but that’s just me and two decades of Freakazoid nostalgia talking.

  15. Daemian Lucifer says:

    Look at the bright side Shamus:Now you know much more about virtual machines and how they communicate with the computer they are on.Thats invaluable knowledge.

  16. Writiosity says:

    ReactOS looks interesting… but I’m not sure it’d be viable for me since I need to be able to jump into games without a full reboot into a second OS if I’m writing. Checking Google, there’s an Ars Technica post from way back in 2006 on this OS and you say that 11 years’ later it STILL doesn’t play games? Kind of a shame, it looks pretty neat otherwise. Might stick it on my old legacy XP laptop I use for a couple of specific programs that simply don’t work on later versions of Windows.

  17. lethal_guitar says:

    Sorry to hear using a Virtual Machine ended up being such a waste of time (I was one of the people suggesting to use a VM).

    I think you could still iron out missing DLL dependencies with a VM, since you don’t need to actually run any graphics for that. Missing DLLs normally manifest themselves in the program not even starting. So unless there is some dynamic loading going on, you should be able to say “program starts up” means “all DLLs found”, even if you don’t get to actually run any OpenGL calls.

    Of course, this doesn’t help you at all with debugging problems caused by different graphics drivers etc. – so in the end, having a physical clean Windows install is probably still the best option.

    1. Daemian Lucifer says:

      I was one of the people suggesting to use a VM

      And now you know why frogs started raining on your house.

  18. Phantos says:

    “I consider it(Windows 7) to be the best OS they’ve ever made…”

    That is surprising for me to hear, because Windows 7 is the single worst iteration of Windows I’ve had on any computer in my entire lifetime. The most pointlessly, stupidly broken and unintuitive. I mean broken as in “had to take it to a shop to get repaired FOUR TIMES in one month, and it’s still only held together by string and hope”.

    For me, this is like the opposite of how everyone with an Xbox 360 had theirs get a Red… something of Death… except mine. 10 years without a problem.

    …Am I just the weird exception to everything Microsoft makes?

    1. Writiosity says:

      Nope, I absolutely despised 7 as well, you’re not alone. So many issues in that OS that were fortunately almost all fixed in 8.1. Simple things like usability tweaks, better SSD support, MUCH faster and less intensive on system resources (seriously, Aero alone uses what, 600MB of RAM for no good reason?), and a whole bunch of other issues I can’t even be bothered to list. Couldn’t stand 7.

      Meanwhile, people still rail on 8 as though it never had the .1 update, which baffles me. It’s stable, fast, and looks exactly like 7 except cleaner and without the bloat. Only real difference is the start screen, which I see maybe twice per day. There are still a few schizo areas like having two control panels for no good reason, but in the grand scheme of Microsoft idiocy, it’s the least prone in my experience (and my experience goes all the way back to DOS and Win3.1).

      1. Matt Downie says:

        Many tech people tried Windows 8 when it first came out, disliked it (what’s with all these big icons? Why are you acting like I’ve got a touch screen?) and went back to Windows 7. You only get one chance to make a good first impression.

        1. Writiosity says:

          Yeah, but that was a longass time ago now. Pointless continuing to rag on it this long after it was all fixed. And I agree the original version was shite, but as I said, 8.1 fixed basically all of the issues it had.

          Mind you, I was using XP until that point because I refused to use the trash that is 7, so I simply avoided 8 until I couldn’t put it off any longer (ie, when I bought an SSD a few years back, not a good plan using one of those with XP).

          1. IMO the title of “best Windows” probably belongs to 98. I’ve gotten along reasonably well with XP, 7, 8.2 and 10, though, but I suspect this was largely because I also did major HARDWARE upgrades (or even got a completely new system) when most of the changeovers happened.

          2. Moridin says:

            The same thing happened with Vista. Practically everyone hated it, but after SP1 it was actually not all that much different than Windows 7.

            1. Lanthanide says:

              On new hardware that actually met the recommended requirements, Vista wasn’t bad.

              It sucked on old hardware, or hardware that didn’t meet the recommended requirements (and there was a mini scandal around Microsoft allowing computer makers to only put 512 MB of RAM in PCs and call them Vista compatible, when it would barely crawl with that much RAM and really needed 1024MB minimum)

    2. Bropocalypse says:

      A lot of those types of problems can result from conflicts that run deeper than the OS itself. I had two computers with similar specs running the same version of Windows; one crashed almost daily, the other ran perfectly for actual months.

    3. Henson says:

      My experience has been more or less the opposite. My own home computer, Windows 7, is fairly stable and runs fine, whereas the Windows 8.1 machine I use at work is prone to sudden crashes.

      Really, though, I wouldn’t be surprised if a lot of our experiences have less to do with the OS than with hardware and software configurations.

      1. Yes, it DOES matter. I stopped having problems with my computer when I got rid of my Nvidia GTX 970 graphics card, which turned out to be an egregious piece of shit that caused hard crashes with a spectacularly wide variety of games.

        Got a new card, haven’t had a problem since.

    4. kdansky says:

      So many people say that Win7 (or XP) is the best Windows ever made, and yet when we look at the facts, both systems have gaping issues that needed some serious patching, years down the road. XP doesn’t even support USB-ports! Windows 7 completely wrecks SSDs, it humongous in size, and boots so slow you can make dinner. Win10 is literally half the size, boots five times faster, uses less RAM and generally runs games faster. It crashes less, its recovery tools are better, benchmarking is better and driver support is miles better.

      The search function does something except display a stupid dog animation, file explorer is actually useful, crashing explorer.exe doesn’t require a reboot to get your tray icons back, network file sharing works for the first time, OS language can be changed, task manager is really good now, and a billion other fixes.

      Sure, 10 has its issues too, but it’s still an improvement over 7 and 8.

      Should one try to make their game run on 7? Absolutely. Many people still use it. However insisting that a Win7 which needs a solid 5 hour installation time (including patches, if you can get the network to work without them) is a good idea for a new PC is just ridiculous.

      1. Daemian Lucifer says:

        Its easy to say how new version are faster than the bloated old one.But you have to keep in mind that when it came out,it took less than 30 minutes to install win7,with all the drivers,and booting was waaay faster than it was now.But,one of the most important thing about win7 is:It never forces you to send ANY data to microsoft.Not a single byte.So yeah,no matter what improvements 10 has,it is the worst.Id rather go back to millennium than knowingly install spyware on my machine.

        1. Lanthanide says:

          Actually Microsoft made a whole bunch of updates for Windows 7 and 8.1 that put the same or similar reporting as they have on Windows 10, and then made them ‘critical’ updates so you get them automatically by default. You have to specifically uninstall and block them if you don’t want them, and they all have cryptic names like “Windows update 458328204”, not “Windows telemetry update #3” like would be helpful.

          1. Daemian Lucifer says:

            However,none of the critical updates are required for win7 to work.Even today you can install the very first version of win7,set it to never update,and itll work just like it worked back then.With 10,thats not the case.

            1. Lanthanide says:

              Sure, if you want an insecure operating system very vulnerable to hacks.

              You can set up firewall rules to block the windows 10 telemetry.

  19. Phantos says:

    The nesting problems thing is why I still don’t have a PayPal account… or at least, one I can use at the moment.

    I “sort of” have one, in a kind of weird limbo state, but every time I try to get it rolling so I can donate to stuff or buy commissions, I run into another problem within another problem, and the solution for each step doesn’t work, and then I flee for weeks or months in frustration from the whole thing.

    I want to give people money, and it’s like PayPal does everything in its’ power to prevent me from doing that.

    1. Echo Tango says:

      The account I currently have, is the second (or maybe third) account I made with PayPal. The other one got given up because of lost password, or inability to link credit card / bank info, or …. something. A year later (-ish), when I actually needed an account to donate money to someone, I basically started a new account, got it working, then when I had time one weekend, finally did the password-reset on the old one, and promptly nuked that account. No problems after that. :)

    2. tmtvl says:

      Weird, for me it’s the opposite: many companies go out of the way to prevent me from giving my money to people. If it wasn’t for Paypal I’d have to just travel all around the world to buy stuff from different stores/people in person.

      Both Amazon and Stripe (and a whole bunch of other places outside of Belgium) flat out refuse to accept either my debit card or my credit card.

      1. Amazon isn’t really a global company even though they’ll ship stuff internationally for you. They just aren’t. It may improve in time.

        The problem with PayPal is usually when you want OTHER people to be able to send YOU money. I found it annoying to set up when I started getting paid editing work, but fortunately for my sanity it was marginally LESS annoying than having them mail me a check.

  20. DosFreak says:

    Are these people using video drivers installed from Windows Update?

    Not sure what it’s like nowadays but in the past for certain video cards only D3D was supported using the video drivers downloaded from Windows Update. The OGL ICD wasn’t supplied.

    I’d have the users having issues run opengl viewer and report what they are using. You can also give them a copy of the mesa3d binary so they can just drop opengl32.dll in the game folder, if that works then it’s likely a video card driver issue.

  21. sheer_falacy says:

    This isn’t your first game on steam. Why didn’t you need to go through creating a business when you released Good Robot?

    Oh, I suppose Pyrodactyl handled that.

  22. DosFreak says:

    Also I wouldn’t use a VM for testing D3D or OGL (unless it’s WARP10 or MESA3D) …..especially virtualbox.

    Vmware I’d trust a bit more but only a bit.

    Always use physical hardware to test D3D or OGL or if your VM software and hardware support it slap another video card in there and do passthru to the guest.

  23. John says:

    The people working on WINE for Linux have been hammering away at this for ages and have made very little success in terms of games.

    Shamus, I can’t quite parse out what you meant here. Does “very little success in terms of games” mean “not a lot of games work in WINE” or “not a lot of people play games with Linux”? Or did you mean something else entirely?

    For what it’s worth, I do not think that WINE will ever be the means by which Linux becomes a popular gaming platform. Making Windows programs run on Linux machines is not an easy task, especially since Microsoft is constantly releasing new versions of Windows and Direct X. Direct X 12 launched in July of last year, but WINE still doesn’t fully support Direct X 11. I don’t doubt that WINE will support even Direct X 12 eventually, but by the time it does Microsoft will undoubtedly have moved on. The result is that you will never be able to play the latest and greatest Windows games on Linux at release by using WINE. You are always going to have to wait a while, where “a while” could well be best measured in years.

    Despite that, I think that this is something of a golden age for Linux gaming, if only because it seems as though more games have Linux versions or ports than ever before. It so happens that my PC runs Linux and I have found plenty of games to buy. There are a multitude of indie games. Developers like Firaxis and Paradox have ensured that I will never want for strategy. To my surprise, even games like the new Hitman and Deus Ex: Mankind Divided have Linux versions. I don’t get to play everything I want. Capcom promised that a Linux port of Street Fighter V was “coming soon” in February of last year and has been conspicuously and irritatingly silent since then. But I have yet to run out of stuff to play. And, hey, WINE has caught up to the point where it can run Street Fighter IV.

    1. Shamus says:

      Not a lot of Windows games work in WINE.

      I’m not saying they should, or that the WINE team sucks or anything. Like I said, it’s a hard problem.

      1. John says:

        Cool, thanks. I think a lot of games do work on WINE, with the caveat that they work on WINE eventually rather than immediately. And some games have issues much like the ones you are facing with Pseudoku right now. They require certain specific Windows dlls (or some such thing) and simply won’t work with WINE’s generic equivalents. If you know what the problem is, then you can (in principle) tell WINE to use the Windows dll but this is not a feat for noobs, casual users, or the faint of heart. (I belong to at least two of those categories.) Or they might use XNA or a rare, obsolete video codec. It is as you say a hard problem.

        1. tmtvl says:

          Seconded. I mean, some games are War of the Roses, which flat out refuses to work under wine. Other games are Mass Effect 3, which have a gold/platinum rating and work pretty much flawlessly. Considering there’s over 2500 games on the appdb with platinum ratings and over 2200 with gold ratings…

          4700+ games, and those are just the ones people are interested in. There’s probably a bunch of games which work flawlessly, but which aren’t added because nobody bothered to add them (like Boho Youyoumu).

  24. MadTinkerer says:

    HATE this.

    Hate. Hate. Hate.

    Consider all the incompetent nitwits who look at the same problem and think “All I have to do is fill out these forms! Let’s do this!”, then fill out the forms and proceed to develop nothing but shovel-ware for their entire careers.

    At least you have your life and not theirs.

    1. Daemian Lucifer says:

      And then create multiple businesses so that people wouldnt realize all of that shovelware is coming from them.

  25. Cilvre says:

    I have a few spare pc’s i can set up to do this type of testing if you like. I am in IT so i can always have a spare machine to wipe and set up clean. Can give you remote access to it as well with Teamviewer

  26. AR+ says:

    I’ve always just assumed that a developer would have a set of reference machines to test on. Given that graphics programming is more complicated than rocket science, shouldn’t you expect to need NASA-like standards of rigor and testing to get it to work right?

    1. MichaelG says:

      Even when you do that, it’s not enough. I ran my code through six different machines, with different combinations of OS and graphics card. Released it and STILL got “it doesn’t work for me!” from users.

      But I’m not bitter about that…

    2. Lanthanide says:

      Triple-A games made by the top studios have this. It’s actually part of the service that nVidia provide to game developers (I assume AMD have been forced to provide a similar offering).

      Indie games made by hobbyists? Nope. But this is part of the reason hobbyists use engines like Unity or Unreal – because they get the benefit of all of that testing.

      IMO Shamus really should just knuckle down and learn unity, he’d be a lot more productive once he’s at the top of the learning curve than he is now.

      1. AR+ says:

        But then Shamus wouldn’t be free to release the source code of his games. I mean, he’d presumably be able to release his code, but that wouldn’t include the engine itself.

        1. Lanthanide says:

          Since unity is free, I don’t see how that would be a problem?

  27. therealergo says:

    My best advice is to simply avoid all extensions unless their use is absolutely necessary. I don’t know specifically where (in OpenGL) you’re having issues, but I’ve always had problems with anything other than just core of one OpenGL version, as a lot of graphics drivers don’t properly support old extensions and MacOS (and some drivers) have no support for compatibility profiles. All functionality that you should need is core, and there are real differences on a driver level between using things like ARB_TEXTURE_FLOAT and actual core floating point textures.

    Otherwise, I can spin up a fresh WINXP, WIN7, WIN8, or WIN10 install on a machine with an AMD graphics card if that helps.

  28. Tizzy says:

    Right now Microsoft can drop support for an old OS to force you to upgrade.

    And apparently, they are planning to roll out selective forced upgrades: “Oh, you have a 7th gen processor. Sorry, we don’t support older windows on your newer machine.”

    https://www.onmsft.com/news/microsoft-might-start-blocking-windows-78-1-updates-for-7th-gen-cpus-soon

    1. Lanthanide says:

      That’s not really an accurate characterisation of the article.

      All it means is if you have a 7th gen processor then you will stop receiving updates. You’re still free to run Windows 7 or 8.1 on that computer.

      1. WJS says:

        What exactly do you think “Microsoft won’t support this” means? They’ll come around to your house and set fire to your computer? If they won’t supply updates, that means they aren’t supporting it. And anyone who doesn’t like the idea of Russian hackers having more control over their machine than they do has to upgrade.

        1. Lanthanide says:

          Read what Tizzy actually wrote.
          “Selective forced upgrades”, not “we will stop supplying updates to you”.

  29. Primogenitor says:

    I wonder if anyone has tried the XKCD trick of registering a company called Bob`DROP ALL TABLES

    1. We call him little Bobby tables for short.

  30. Ninety-Three says:

    So when you started talking about publishing Pseudoku, I remember you saying something to the effect of “It will be worth it if it only takes a couple days to do, but it’s probably not worth bothering if it takes a week”. I assume Pseudoku hasn’t been full-time work, but how thoroughly have you blown past that time commitment by now?

    1. Shamus says:

      We’re certainly past what I thought it might cost. However:

      1) Heather has been pushing for us to start a business for some time now. She sells art for commission. I get Patreon and PayPal donations. Her day job is contract work. I get tiny dribbles of money from book sales. Sometimes a little Good Robot money comes in. Claiming all of those varied incomes makes for a lot of work. It’s a stupid pain in the ass to start a company, but we’re hoping it will simplify paying taxes by putting all of this income under one umbrella.

      2) Coding-wise, I’m pretty far into the sunk costs fallacy by this point. I’ve been “just a few days of work” from finishing the game for a long time.

      3) Even if Pseudoku doesn’t pay enough to justify the hours it’s eating, I want to do this because I want to know how putting a game on Steam works, how long it takes, and how much can be made. So Pseudoku is kinda a research project in addition to the game. Even if the income sucks, the knowledge will be valuable.

      1. Ninety-Three says:

        As a research project, at least you can get a few articles out of the process. Until you talked about getting it greenlit, I didn’t know how Greenlight approval actually worked (I don’t know what I was expecting, but “You have eternity to gather N votes” wasn’t it), and that was interesting to hear about. When you’re done, I’d love to read an article just explaining the back-end of Steam that most consumers never see.

  31. Christy says:

    The whole “made-up vs real” business-name additional cost is probably due to the fact that if you are trying to sell a business it is waaay harder to sell one with a person/family name rather than something made up.

    And will you be writing a “How to Guide” for publishing on Steam after this?

  32. WJS says:

    Oh, ouch. That really sucks.

    Umm, on the bright side it runs fine on wine?

    …Yeah, that’s not helpful, is it? I mean, it’s my first preference as a user, because it doesn’t have the overhead of a VM, but it’s pretty useless for debugging purposes.

    I take it you don’t still have the old laptop you used as a test machine in the past?

  33. Not actually my name says:

    Umm…so I asked my dad, who has Windows 10 and likes Sudoku games (I run Linux and like playing Freeciv with a bunch of weird setup options, so Not Your Market), what he’s using for Sudoku games right now.

    The Windows Games thing that comes with Windows these days and is part of their online getting-points-and-badges thing has a Sudoku-variant game in it with various daily puzzles. You might want to check out what it does and doesn’t offer compared to your program before sinking more time into trying to get a Sudoku game for the casual gamer going on Windows. (I can’t imagine wanting to play a game that gets me points in some online Microsoft account, but I’m not a casual gamer running Windows.)

  34. Richard says:

    Have you tried installing the vcredists the way you’re supposed to?

    – Copying the MSVC DLLs into the folder is bad juju. You will miss one, they will be out of date in no time and in some cases it’s effectively impossible to get them right because the right set depends on the user’s machine, not yours.

    Though this might have nothing to do with it. Windows OpenGL support is a bit of an afterthought as MS prefer DirectX, while the GPU vendors mostly prefer OpenGL (ES).

    Hence Google’s ANGLE. You really don’t want to go there though.

  35. Sam says:

    Microsoft has a good OpenGL renderer, but it will only work with HyperV, not VirtualBox. The openGL renderer they have built into windows only supports OpenGL v1.1 (that’s why, for example, Minecraft won’t run in that VM either). So, that leaves you with 2 options.

    1) If you’re running Windows 10: you can install HyperV (under control panel -> Add and remove Windows Features) and configure passthrough of your GPU to enable OpenGL 4 support. However, this only works if you’re running Windows 10’s November Update or later (November 2016, I believe). It’s fast and will work really well, but has stupid requirements and you have to connect through remote desktop. https://social.technet.microsoft.com/wiki/contents/articles/16652.remotefx-vgpu-setup-and-configuration-guide-for-windows-server-2012.aspx

    Option 2 is slow and sucks, but will work everywhere. Mesa, part of the linux graphics framework, has a software renderer built in. It’s really slow, but seems to support most of the modern extensions. Anyway, someone has cross compiled it for windows so if you put the opengl32.dll in the folder with your application, it will use the Mesa software renderer which should let you skip the usual insanity of VM’s and graphics drivers. http://www.mediafiregaming.com/file/98m35yzpy267xjc/mesa.zip (Not mine, I found it at the link below)

    http://www.minecraftforum.net/forums/support/unmodified-minecraft-client/176650-run-minecraft-without-opengl-supported-graphics?page=2

    Anyway, all the options suck. But, I would recommend not using VirtualBox, even if you’re running Windows 7/8. HyperV is much better and has less of a tendency to crash your computer (the actual one, not the VM).

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun. Your email address will not be published. Required fields are marked*

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>

Leave a Reply to Primogenitor Cancel reply

Your email address will not be published.