I was sitting down with a couple of my fellow programmers after    a long day of testing our new online shopping cart, and we    asked ourselves a very important question:  
    Why dont most science fiction books get the feel of programming    right?  
    If youre not a programmer, youll doubtlessly protest: Theres a    lot of programming in speculative fiction! But there isnt,    actually. What there is is a lot of is hacking, which is to say    breaking into established systems, usually with a lot of    muttered techno mumbo-jumbo like Im in the mainframe! while    hopelessly-inept thugs spray the area with bullets.  
    Now, theres nothing wrong with hacking. (One of my favorite    series, The Murderbot Diaries, features a cyborg killing    machine who loves both soap operas and hacking into cameras, so    Murderbot is certainly well-balanced.) But programming involves    the act of creation, of fine-tuning, of project managementnone    of which traditionally lend itself to an captivating narrative.  
    So I asked: What are the core activities of programming, and    which stories come closest to getting it right?  
    What Happens When Youre Maintaining A Project: Every day you    arrive at work to look at a list of bugs that your customers    have discovered, sorted by priority. You go down the list, from    most important to least important, and try to fix each of them    in turn.  
    These are usually not terribly exciting bugs. Which is good.    You dont want the exciting bugs, which tend to be things like    You know that salary information our program was supposed to    keep confidential? Well, it didnt. And you get to hunt through    code trying to find the error while the vice president of your    company (salary $140k annually, plus three weeks vacation)    calls up and screams in your ear.  
    No, most bugs are mild, obscure things like User is logged out    every Thursday at 10:13 pm. If youre lucky, you patch a    widespread inconvenience with a two-line fix and look like a    genius. If youre not, youll be sitting there on Thursday at    10:13 pm, hoping you can see the bug so you can fix itwhich is    known as the dreaded repro, short for Cannot reproduce the bug,    which is programmer-speak for That doesnt happen when I do it,    so who knows whats happening?  
    Maintenance is, generally, tedium. The code is well known. The    problems are low-key. Not exactly high stakes stuff.  
    So what novel best feels like maintaining code?  
    Three Parts Dead is technically about magical lawbut it turns    out that magically-enforced laws turn out to have a lot of    overlap with programming, even if the protagonists think of    themselves as contract negotiators.  
    The novel starts out with the exciting kind of bugKos    Everburning has been found dead by his priesthood for no reason    that anyone can understand, and the junior partner and the new    developer are sent in to investigate. It turns out that whats    happened to Kos Everburning is very much a bug in every    (computerized) sense of the term, and much of the novel    concerns itself with forms of data recoveryor, more accurately,    retrieving the contracts that fuel a gods power.  
    Three Parts Dead isnt about the mild kind of maintenancebut    then again, slow bug-fixing would probably make a lousy book.    And theres a lot more horrible gargoyles and soul-sucking    shadows and vampires than youre likely to encounter in    troubleshooting your Apache stack.  
    But close enough.  
    What Happens When Youre Working On Legacy Code: This code has    been around longer than youve been alive, and it will be around    long after youre dead. And like all ancient thingsincluding    cars, plumbing, and peoplelegacy code has quirks you have to    work around lest you encounter its ire.  
    The trick to legacy code is that it is, by definition, the most    vital code in your program. People use it every day, and they    cant not use it, so altering legacy code is like doing heart    surgery. On a jogger. Who refuses to stop jogging while youre    doing heart surgery on them.  
    Everyone knows the legacy code is bad. Half your job consists    of facing teams of management who brightly say, Well, it should    be easy to while you explainwithout looking like youre    stonewalling themthat in fact, that this trivial fix will    require eighteen months of resources minimum because some    obscure limitation of the legacy code (the portion of code    nicknamed the dream crusher) is the entire reason we cant have    nice things.  
    What you dont tell them is that even if they approve the    eighteen-month project, their fix will in fact probably never    get implemented, because the legacy code has outlasted previous    teams of management, and will outlast them, and will probably    outlast the heat death of the universe.  
    So what novel best feels like working on legacy code?  
    Honestly, most of A Deepness In The Sky doesnt involve legacy    codingits a sprawling space opera about first contact and a    culture of Spiders in the throes of their own scientific    revolution, and a great big juicy hatesink of a villain.  
    But when I talked to other programmers, what they remembered    was Vinges profession of the programmer-archaeologist, whose    whole job was sifting through aeons-old code to try to    understand what all of this mysterious infrastructure does,    hunting through the archives to extract and resettle useful    programs.  
    Theres even a hidden wink to Unix timestamps in thereindicating    that long after humanity has spread across to the stars, well    still be marking our time (as many computers today) as the    seconds elapsed since midnight on January 1st, 1970.  
    All the way to the heat death of the universe.  
    What Happens When Youre Building Long-Term Projects: At one    point, the projected failure rate of massive IT projects was    around 50%; now, with much better management structures and    development skills in place, that failure rate is down to    around 15%.  
    Still. Those Russian roulette odds means signing onto a    long-term project is an act of faith.  
    Theres a good chance that you will pour your best programming    art into this project, only for it to fail for reasons that    were by no means your own. Maybe management figures out halfway    through that what you built isnt actually what they needed.    (Non-programmers are astonishingly incoherent when it comes to    explaining what they want, and often demand you to do the exact    opposite of what they need.) Maybe another manager takes over    and doesnt believe in your project, so he starves it of    resources until you dwindle to dust. Maybe some other company    devises a better solution, and they abandon you to buy that.  
    Every line of code you write is a hope. (Quite often, that hope    is that you will slay the dreaded Legacy Code.) But you dont    write a lot of code; instead, you hold endless meetings with    other programmers, debating weighty theories as to how this    complex thing should function, getting bogged down in minutiae    that actually do matter, but every moment spent in these    necessary arguments is running out the clock.  
    Some days you feel like youre programming a dreamthat youre    wrestling with more of an idea than an outcome.  
    So what novel best feels like building long-term projects?  
    There is a vast river of mist that separates an empire. A man    wants to build a great bridge to join the two halves.  
    Thats pretty much the story.  
    Kij Johnsons prose is always dazzling and sparse, and her    mastery has never been more on form than in this novella, which    isnt so much about code as it is that sense of immensity you    feel, looking straight on at something that is so monumentally    difficult that you might never finish it. And Kij is very    precise in describing the elements of building, the huge influx    of resources it will take to accomplish this task.  
    Its not about programming in the physical sense; despite the    title of software engineer, building a bridge isnt much like    creating a program at all. But The Man Who Bridged The Mist is    very much about that sense of wonder, of sweat, of politicsall    the things that must come together to create the impossible.  
    What Happens When Youre Joining Things Together: Wanna know the    trick about programming? No individual part is all that    difficult.  
    Dont understand how one website calls another to get    information? You could learn that in an afternoon. Want to know    how a database stores your password safely? Thats like two    hours. How to get words in a browser to render in bold, italic,    or superscript?  
    Fifteen minutes. Seriously.  
    But programming does require expertise, because while no    individual portion tends to be indecipherable, its putting them    all together that requires many overlapping knowledge bases.    Putting together a website that allows you to log in requires    knowledge of how websites talk to each other, and storing    passwords, and getting words to render the login formbut theres    so much more you need on top of that to get it to function.  
    Whats happening is that you are assembling a Justice League    together from your own skillsets, piling on all the little    aptitudes youve gained along the way until you can create    something magnificent by fusing these modular skills into one    project.  
    And thenif youre luckysome hotshot programmer comes along and    shows you how you can spin three plates in tandem to make your    code do something you never thought it could do before,    something more powerful and intoxicating and whoa we are flying    high on the narcotic of our own tech.  
    So what novel feels most like being dazzled by new    interactions?  
    As is usual with fantasy books that evoke programming, theres a    lot more magical ninjas involved than youre likely to see    scanning Stack Overflow. But the flourishing tech start-up    economy of Bennetts steampunk city of Tevanne is fueled by    scrivingsmagical instructions that alter reality. And a plucky    kid is tasked with stealing an important artifact that, of    course, is more than it appears.  
    But what Bennett nails in this book is that feeling of    technology stacking upon itself. The magic follows rules, and    the rules are clear, but the ramifications are not fully    thought through. And theres multiple times when the characters    face down impossible uses of scriving that, when broken down,    not only seem plausible, but almost downright inevitable in how    they got used.  
    Plus, you know, theres a whole criticism of the merchant houses    that rule the city, and what that refined capitalism-as-cult    does to the power structure. So if you want a little critique    with your intrigue, well, here ygo.  
    What Happens When The Documentation Sucks: It feels like there    should be a fantasy series that handles this, because you never    feel more like a D&D Wizard learning a new spell than when    youre poring over someone elses half-assed documentation.  
    Except the wizards in books all have this admirable commitment    to documenting every aspect of their spells so others can learn    them safely. Whereas the code that actual programmers write    tend to be like 18th century cookbooks, where they assume with    a frightening confidence that you already understand how much    suet goes in a blood pudding so were just not gonna talk about    that.  
    Or the documentation is about that pie you desperately need to    bake, except that theyre not making the pie using an oven or a    pie tin, no, these people have a kitchen that only uses an air    fryer that youve never heard of and they bake their pies in a    pile of natural coal, but you sort of hope its the same    principles so its pie time, mofos.  
    Or you follow the documentation note-for-note, levelling up    your baking skills until you understand this Bakewell tart so    thoroughly that youre sure Paul Hollywood himself would give    you a handshake over it, only to discover that theyve    discontinued that brand of Bakewell tart and the new children    3.0 wont eat it.  
    Plus, wizards in stories are smart. They generally dont type in    inscrutable commands we found on our servers in the hopes that    this doesnt actually summon a demon (or, in our case, install a    malicious daemon on our hard drive). Theyre never pretty sure    they understood most of whats happening here, and what they    understood fixed the code so far, so time to do the old    cut-and-copy and call response code YOLO.  
    Which is not to say theres not some attention paid to bad    documentation in magic, but the books tend to be The wizard    goofed up the spell, not This spellbook was written by    disinterested wizards who just wanted to get the bare minimum    down before they went off for some pipeweed.  
    So what novel feels most like when the documentation sucks?  
    No winner.  
    Im not saying there isnt oneIm merely saying that I havent read    it. Im sure you all have suggestions in the comments.  
    But those books need to look a lot like this XKCD homage to    DenverCoder9.  
    What Happens When Your Technology Takes New Root: Technology is    like memes; the greatest sign of success is that people start    messing with it.  
    And when they mess with your technology, if youre lucky, your    users will find uses for it that you never considered. Twitter    was originally seen as a glorified group chatnobody thought    that itd become the main method for Black Lives Matter groups    to propagate evidence of police brutality. Flickr (a photo    website sadly waning in influence now) started off as a way to    share screenshots on a MMORPG. Heck, in its early stages, the    Internet was basically seen as a way to store documentation.  
    Every technology that takes root evolves in unpredictable ways.    And when truly life-changing technology hits, it transforms    society. Thats a responsibility that every programmer needs to    face up tothe same code that makes it easy to check in on your    kids can become a way for an abusive partner to lock their    spouse into misery. And let us not forget the astounding    cruelty that can take place when an unthinking coder decides    that User engagement is the same thing as Happiest post of the    year! and decides to drag out a fathers dead daughter as the    top post in their year in review.  
    (RIP, Rebecca Alison Meyer, forever embedded in the Internet as    #rebeccapurple.)  
    So what novel feels most like technology changing society?  
    Nexus is the first in a trilogy, but trust me, youll want to    read the whole thing. Because it deals what happens when    programmers perfect the Nexus OSan operating system that ties    directly into your brain.  
    This is not a unique take. But what makes Nexus so relentlessly    unique is the way that the brain-hacking keeps spiraling into    new hands, and those hands in turn change what the Nexus OS is    for. Governments want to use it for both surveillance and    control, obviously, but they see it as a threat to freedom. The    hackersor at least the Burning Man-flavored hackers presented    heresee it as an opportunity, or a drug, or the possibility for    unique forms of psychotherapy.  
    None of them are wrong.  
    What Naam does in this book is astounding, in a science-fiction    book: he doesnt really seem to have an opinion. Is Nexus good?    Bad? Neutral? That all strictly depends on whos using it, and    even the characters change their opinions on Nexus as the world    begins to shape and adapt to it.  
    When you look at something like the Internet, its been both a    force for unalloyed good and an enabler of seething evils.    Nexus would be exactly the same. And here, in the Nexus    trilogy, technology is allowed to be a reflection of human    growth, not the seed-bed for a moralizing author tract.  
    What Happens When You Have To Deal With Patch Notes: In an    ideal world, your fellow programmer would be your ally. But    often, your fellow programmers are the oppositionadding trivial    bugs they should have caught, rewriting perfectly good code to    fit their own pedantic standards, ignoring the big warning sign    that says PLEASE DO NOT OPEN THE CAGE WITH THE FACE-EATING    LEOPARDS shortly before filing a ticket that says Face eaten,    pls help.  
    So you have long threads devoted to What Not To Do, and then    people argue about What Should Be Done, and its tedious and    bureaucratic and yet somehow necessary.  
    So what novel feels most like dealing with patch notes?  
    Gonna be honest; I made this category just because I still love    this story.  
    Its not a novel. Its about, what, 2,000 words max? But it    honestly does feel like this. Promise. And its amusing as all    hell.  
    What Its Like To Find Your Users Contorting Themselves Into    Pretzels Over A UI Bug You Could Have Fixed In Twenty Minutes:    Remember when I said that non-programmers are routinely very    bad at knowing what they want, and ask for massive solutions    that dont actually fix their problem?  
    Welp, theres a flip side to that: people who treat anything    computerized as though it were set in stone.  
    Now, this generally doesnt apply to customers; theyre an odd    mix of continually demanding and dead-as-the-void silent. But    if you develop software for an office, the people at that    office will often assume that this is all management will allow    them to have.  
    Your software will become the thing they have to work around,    and theyll never tell you.  
    If youre not careful, youll find entire cultures warped around    a feature you could have knocked off in an afternoon.    Secretaries will mail each other spreadsheets of invoice    numbers that they looked up, painfully, one by one, when you    could have literally added one control to the search bar.    Clerks will enter in forty-digit gift certificates on a keypad    because nobody thought to ask for a scanner.  
    And you will walk in to stammer, Thatno. You dont have towe    could And somewhere in the back of your mind you will be    tallying all the hours lost to this worship of The Software,    and wonder how soon you can rescue these poor, benighted souls    from their own faith.  
    So what novel feels most like finding your users contorting    themselves into pretzels over a UI bug you could have fixed in    twenty minutes?  
    No winner.  
    Again, Im not saying nobodys written this book, Im merely    saying that I havent found it. Please, sound off.  
    But personally, Id love to read some behemoth of a novel    detailing an oppressed civilization rebelling against a    malicious AI, and at the end of it some dude from QA comes in    and says, Oh, yeah, we can patch that and fixes it in a    weekend.  
    What Its Like To Optimize Your Computers: If youve ever spun up    a computer with Linux installed, you know theres an    overwhelming amount of options that you can tweak. You can go    blind staring at a thirty-page manual that documents the    options for a single command let alone the options on the four    hundred or so other commands.  
    Sure, the defaults are probably good. And maybe even secure, if    youve found a Linux distro thats user-friendly.  
    But what if you really need to fine-tune that server until it    sings? What if youre spinning up a web server that needs to    handle 50,000 users connecting all at once? What if youve got a    ton of complex data, and you need to make sure your data    storehouse is optimized to return answers to any query under 15    milliseconds?  
    Well, then youre gonna take such a deep dive into the    documentation that you risk getting compression sickness. Youre    gonna trawl forums, check Stack Overflow, drop into Slacks and    Discords to ask the experts. There are people who are paid to    do nothing but make computers run sleeker, harder, better,    fasterand if you want to get there, youre going to have to have    a fundamental understanding of the keepalive timeouts and the    proxy caches.  
    So what novel feels most like dealing with optimizing your    computers?  
    Full disclosure: I wrote this book, so, you know, take my    recommendation with the mandated grain of salt.  
    That said, I wrote this book as a programmer who was very    curious about what cybercombat would be like in the    futurebecause eventually, when real-time computer image    processing gets to be quick and reliable enough, there will    come a day when the computer can outdraw and fire our slow,    tired human reflexes.  
    At which point, everything will come down to optimization.    Because once you remove the human element from warfare, well,    whats that mean for programmers when your default settings were    lax enough to accidentally fire upon an innocent child?  
    Thats where Mat, the hero of Automatic Reload, is right now:    hes a hulking cyborg with prosthetic armaments, and he has    emerged from a blink-of-an-eye combat to realize that his guns    have killed the wrong person. As such, hes become obsessed with    fine-tuning, ensuring all the maintenance he does will never    again harm a bystander no matter what firefights might erupt,    and that mechanized PTSD is slowly killing him. Fortunately, he    finds the right girl to help talk him out of his trauma.  
    Unfortunately, shes also a genetically engineered killing    machine.  
    What Its Like To Have Bad Management As A Programmer: Want to    know one of the nicest things a good manager can say to you?  
    I know this is a terrible solution. Its tech debt, and well    regret it later. But our CEO needs a fix this week, not in six    months, so get to it.  
    The rest is here:    8 Science Fiction Books That Get    Programming Right - tor.com  
Read the original:
New York City Bed Bug Registry Maps & Database  NYC Bed ...