Press "Enter" to skip to content

LRC Nerd Alert: Two Bills Up; URLs Go to Heck in a Meaningless Handbasket

We have our first drops in the Legislative bucket… but there’s nothing in the hopper to get excited about yet.

Senate Bill 1 is the usual codification of the laws passed in the preceding year. Senate Bill 2 removes case annotations from the contents of South Dakota’s official code supplements that the Code Commission has to determine. This change would not mean the removal of those useful case annotations from the published code; at its November 20, Code Commission member Doug Decker assured the commission that such annotations will continue to appear in the code. SB 2 simply addresses the copyright issues raised by the U.S. Supreme Court ruling in Georgia v. last May that found such annotations produced by the Legislature, its authorized Code Commission, and its commissioned vendors belong to the public and can’t be copyrighted.

As we wait for more bills to come pouring in, I’d like to note a nerdy technical point about changes to the Legislative Research Council’s website. Previously, the LRC posted bills, statutes, and other material with meaningful URLs. Now those URLs have been replaced with purely abstract numerical addresses. Compare the following old and new URLs for Session hoppers, proposed bills, statutes, and constitutional provisions:

Item Old URL New URL
2020 Session hopper
2015 Session hopper
2020 Senate Bill 82
2020 House Bill 1199
2020 Senate Concurrent Resolution 603
2019 HB 1094
2015 Senate Bill 89
SDCL 2-1-1.1
SDCL 2-1-1.2
SD Const. Article 3 Section 1
SD Const. Article 3 Section 2

Now I know most blog readers will never notice the URLs; you just need the hyperlinks to work. But I spend a lot of time looking at a lot of pages on the LRC website. My browser memory accumulates a lot of addresses for bills and laws. The structure of the old URLs for bills and laws allowed me to keyboard quickly from item to item as I research. For instance, when I was writing about the 2020 Session, I could start typing “Session” in my browser’s address bar and instantly get an autocomplete suggestion for the 2020 Session URL. Notice that that old URL ended with “Session=2020.” I could quickly tab to the end of that suggestion, change the year, and zoom to whatever past Session interested me.

Likewise with bills: after checking a few bills, I could simply type “Bill” in my browser’s address bar, get an autocomplete for the bill I’d looked at most recently or frequently, and then, with just a few quick keystrokes, edit the bill number to access whatever other bill I wanted. I could make formulas in spreadsheets to automatically generate URLs for bills based simply on their number and Session year.

Bringing up and building links to a list of statutes was similarly quick and easy: I could start typing “Codified” into my address bar—actually, all I needed was “Cod”—, get a bill URL with the clear statute number at the end, then key to the end and enter any statute number I needed.

Under the old system, the URLs were meaningful: they used the actual bill and statute numbers and Session years. A user who knew the URL for 2020 HB 1199 ( could easily generate the URL for 2020 HB 1198 (

But the new system replaces meaningful URLs with pure numbers that don’t correspond clearly to bill numbers, statute numbers, or session years. 2021 SB 1 has a URL ending with 21821. One might guess that SB 2 would end with the next number, 21822, but that guess would be wrong. SB 2 skips ahead to URL ending 21823. Sigh.

The numbers aren’t even sequential with predictable gaps. 2019 HB 1199 now has a URL that ends with the number 10424 ( You might guess that 2020 HB 1198 would logically end with the previous number, 10423. But if you try that URL (, you get 2020 HB 1068. If you’re looking for 2020 HB 1198, you have to increase that ending number from 10424 to 11835 ( URLs for bills thus are no longer sequential or transparently logical.

Session hoppers, too, now have opaque, meaningless URLs. The 2021 Session gets a URL that ends in 44. The 2020 Session ends in 43. But the 2020 Special Session dashes our hopes for logic with a URL ending of 62. The preceding Sessions, from 2019 to 2010, in reverse chronological order, skip around with URL-ending numbers of 36, 37, 32, 33, 27, 24, 21, 20, 19, 15, 17, 10, and 8.

One has to be a real LRC nerd to even notice this change in URL structure for South Dakota’s Legislative Sessions, bills, and statutes. But another word for nerd is frequent and dedicated user, and frequent and dedicated users derive significant benefit from the logical organization of data. The LRC’s new URLs remove some helpful logic from the organization of South Dakota’s Legislative data.

Related URL Adventures: As I test the LRC’s new URLs for patterns, I find that if I work my way up the URL ladder, I can pull some titles that aren’t linked or numbered as introduced bills or resolutions on the hopper page but which may preview some of the nuttiness our legislators are bringing to the 2021 Session:

  • URL-21824: “Urging the members of South Dakota’s congressional delegation to vote against the Washington, D.C. Admission Act” from Senator Bolin.
  • URL-21825: “authorize certain flags and flagpoles to be located on residential property within a community improvement district” from Senator Bolin (one of Bolin’s constituents in Dakota Dunes must want to put up a bigger Trump flag).
  • URL-21826: “require a copy of any initiated measure or amendment on the ballot be provided to voters” from Rep. Finck.
  • URL-21828: “require a copy of any initiated measure or amendment on the ballot be provided to voters” from Reps. Deutsch, Charlie Hoffman, Ernie Otten, and Willadsen.
  • URL-21829: “repeal the registration requirements for certain amusement devices”—no sponsor listed yet, but would anyone like to speculate that go-kart king Al Novstrup will have his name on this bill?

…and who knows what other bill previews I may be missing if the URLs are not sequential? Stay tuned!


  1. Nick Nemec 2020-12-29 12:29

    Nice hack into the legislative “what if” file. I wonder if some legislators will want bloggers or other newshounds getting an early look at their potential, not yet introduced, proposals? Every year there are hair brained ideas that end up being discarded prior to introduction. Many of these, after closer examination, are dumped because they would invite ridicule of the legislators involved.

  2. Moses6 2020-12-29 14:03

    Did DUSTY vote against the 2000 dollar stimulus.

  3. Mark Anderson 2020-12-29 15:44

    Yes Cory, you are a dedicated and frequent user. Don’t see how you can do it, amazing.

  4. Cory Allen Heidelberger Post author | 2020-12-29 17:46

    Nick, those sneak peeks showed me titles and sponsors, but they didn’t give me bill text…

    …oh! And as I check those links, it appears the LRC has set those unready bills to redirect to the main Session page. :-)

    No, our legislators most certainly do not want us getting an early look at their ideas. Heavens forbid the public get more opportunities to read, evaluate, and express their opinion about the Club’s plans.

  5. grudznick 2020-12-29 18:19

    Mr. H, your phone phreaking wizardry befuddles old grudznick, but I trust you use it with only good in your heart, not evil. I have heard it said the Council of Legislatures has had their fill with the insanerness of many in the legislatures and is going to remodel all their blue links just to make it more cumbersome for some of the ones who, like grudznick, are challenged by blue links that are complicated. We all do want you poking into their business because therein lies the evil men behind the curtains, who control all the legislatures do.

  6. Anne Rice 2020-12-30 19:50

    How do you get a bill in the legislature

  7. Donald Pay 2020-12-31 13:22

    Cory is right to direct you to your legislators. That is the best way to go if you are an individual. However, we all know that is sometimes a dead end. It helps to get a number of folks behind your idea. There are other ways than just going to one or two legislators.

    If your idea might be of interest to a particular group of people, for example senior citizens, talk to senior citizens groups about it. See if they would help push the idea forward. They may have lobbyists who might grease the skids. At the very least, they might give you suggestions about legislators who have an interest in your issue.

    Look on the lobbyist list and legislative committee membership list for folks doing work on issues similar to your idea. They may be able to help or give direction.

    Look into how veteran legislators have voted on similar issues in the last 2-3 sessions. You can get an idea about whether they would pick up your idea and run with it.

    And don’t discount new legislators. If the bill is simple and relatively non-controversial they may want to pick up a good idea.

  8. robin friday 2020-12-31 16:37

    Good ideas, Donald, but “legislators who have an interest” in our issues? Sorry to say it, but I’m born and raised in SD and still here all my life, but it’s not been my experience that, in general, our state legislature cares about people issues. Covid-19 has only made it far worse, that and the current Republican administration. SD is particularly bad with its political party makeup, but I’m not aware of any state that’s better at the current moment.

  9. robin friday 2020-12-31 16:57

    And what Cory’s good but disturbing piece says to me is that the SD legislature is getting worse with transparency rather than better, which only adds to my current cynicism.

  10. Anne Rice 2021-01-02 17:50

    Someone told me that I can speak for a bill. I have been in this for years now with trying to get backed on criminal justice, told they would support after the election, then crickets…..I need help! I also need someone to help write a change to an existing bill.

Leave a Reply

Your email address will not be published.