and has 0 comments
Malka Older is a writer, humanitarian worker, and PhD candidate at the Centre de Sociologie des Organisations (Sciences Po) studying governance and disasters. Named Senior Fellow for Technology and Risk at the Carnegie Council for Ethics in International Affairs for 2015, she has more than eight years of experience in humanitarian aid and development, and has responded to complex emergencies and natural disasters in Sri Lanka, Uganda, Darfur, Indonesia, Japan, and Mali. (quoted from the About the Author section) And if your interests are not exactly aligned with the author's, you will probably not like this book.

Infomocracy describes a near future in which countries have dissolved their borders and instead opted for a system of centenals, groups of 100000 people who vote for the system they want instead of having it shoved down their throats based on where they were born. A decent idea that deserves some thought. However, the entire story, action and drama of the book is about the voting process. It's like a cyberpunk novel written by a voting system enthusiast with an obsessive disorder, thus feeling both boring and out of touch. It was literally hard work finishing the story, trying to understand why I should care about the stuff happening there or about any of the characters.

Even taking into consideration that it is the first book Older wrote and that it is supposed to start a cycle (damn it, people, write something for its own sake, not for endless series and trilogies and sagas!), the book is still a failure, because it doesn't really explore the way microdemocracy works, instead focusing on a bunch of electoral agents and some of the underhanded methods to sabotage the system. The players are not clearly defined, the characters are shallow and so it is almost impossible to care about any part of the book. You want a good sci-fi book about microdemocracy, try Daemon, by Daniel Suarez.

and has 0 comments
Throne of the Crescent Moon is basically a young adult novel, even if the main character is a fat old "ghul hunter" rather than his young apprentice. Its freshness comes from the elements of Arabic folklore used as the basis of the fantastic elements. For me reading the book was an interesting experience, as in my head the plot was blending with the stories of One Thousand and One Nights and the animation of Disney's Aladdin. I felt that Saladin Ahmed wrote some delicious characters, even if a bit shallow, and that the story didn't lose points because of its simplicity, rather the opposite. The result is an easy to finish book with Middle Eastern mythology themes in a classic good versus evil story.

The book this reminded me most of was The Spook's Apprentice, but with a different mythology and a different character focus. Just like that series, this can be considered a book for children, but having elements that are appealing to adults as well. To me the most pleasing aspect was the different culture presented, although it wasn't something very new to me. I was raised on stories of spoiled khalifs and evil viziers, young and noble rogues and beautiful girls and mysterious magics, after all. And probably a large element of why I enjoyed the story was this connection to my childhood.

While I can't say it was some sort of masterpiece, this was an entertaining book for me. If you are looking for a relaxing read, try this one.

and has 0 comments
I read the book before I knew it was part of a trilogy, but of course it is. I would have personally preferred to have the first book as standalone, particularly since it had an almost open ending. It would have made it clear that the story isn't that important as the character. But hell, there is no mystery anymore, even in fantasy.

The Vagrant feels like a mix between Shogun Assassin and Samurai Jack, as it features a sword bearing silent type - well, he's a mute - walking with a baby through a desolate, part feudal part futuristic landscape, while demon essence is threatening to corrupt the world.

Peter Newman even uses a style of writing that often discards definite articles. A sword slashes, a man falls, a demon howls, stuff that happens, inevitably, randomly, viciously. I liked that the main character strives to survive, but he is not indomitable. He gets doublecrossed, wounded, almost killed. He doesn't win every battle and when he does, it is difficult every time. Luck saves him several times and some people he wants to save cannot be saved. Towards the end this tendency falters and he becomes a little bit too knighty for my taste. Abstract and stubborn principles start to rule him, he starts fights that he need not fight, jeopardizing his mission. However, that ends up playing a big part in the last part of the story, setting up the next books, I guess.

The demons are interesting, too. Creatures of corrupted flesh and demonic essence, they are just trying to survive in a world alien to them, while ruled by instincts alien to us. I liked that they were not boring empty clichés of evil and were almost sympathetic. I've long dreamt of a story that tells the story from a demon's perspective, hunted by religious jerks who want to destroy it and the dark magicians that conjured it who want to control it. I mean, wouldn't you be pissed off? This book is very close to that perspective.

Funny enough, I thought the scenes with the baby and the goat were really well done, as the author describes their internal mental processes with gusto and humor, without them being pointless comic relief scenes. Newman seemed to understand how children and animals navigate the world.

In conclusion, I liked the book. I would probably continue to read the series if not for having other books that I want to sample. It is stylistically interesting and the characters are well constructed, while leaving the main story a bit in the background. I liked that. At least at this time I enjoy reading character centric books more than the ones that focus on plot and ignore the people involved in it.

and has 0 comments

TLDR version:

0x80070643 is probably thrown when you don't have the right software version, in other words, the update is not for you. Sometimes you need to upgrade your software in order for it to apply. To fix the problem with SQL Server, try installing the SQL Server 2014 Service Pack 2 if you are still at SP1.

Now for the full version:

I thought the way Windows updates is a good thing. It keeps the computer up to date, regardless of how annoying it is to stop your work in order to perform updates. The problem, though, appears when having to perform an update that fails. Windows Update will nag at you again and again and again that you have updates. You don't have the option to ignore an update (unless you download a specific tool) so you are forced to solve any problem with the update. This is still a good thing, even if annoying. And if regular people that don't know how to solve issues like that are angered enough, it will also motivate Microsoft to test their updates better. Win, win. Unless it happens to you!

Anyway, this blog post is about KB4019099 or KB4032542 - Cumulative Update 13 for SQL Server 2014 SP1 which failed with a vague error code Error 0x80070643, which is met in several situations when trying to install stuff. In order to get to the bottom of the problem, I manually downloaded the installer for the update and tried again.

This time the error was clearer: TITLE: SQL Server Setup failure.
------------------------------

SQL Server Setup has encountered the following error:

The cached MSI file 'C:\WINDOWS\Installer\1bfcbd.msi' is missing.
Its original file is 'sql_engine_core_inst.msi' and it was installed for product 'SQL Server 2014 Database Engine Services' from 'F:\x64\setup\sql_engine_core_inst_msi\', version '12.1.4100.1', language 'ENU'.
To resolve this problem, recover the missing file from the installation media and start setup again.
For more information about how to resolve this problem, see 'Steps to restore the missing Windows Installer cache files' (http://go.microsoft.com/fwlink/?LinkId=144387) in the Microsoft Knowledge Base.

Error code 0x84B20002.

For help, click: http://go.microsoft.com/fwlink?LinkID=20476...


Amazingly enough, the link that is supposed to solve the problem actually solves the problem. First of all the go.microsoft.com link causes too many redirects for Chrome, so you have to open it in some other browser. Once you do that, you reach this link: How to restore the missing Windows Installer cache files and resolve problems that occur during a SQL Server update and at the end you get a VBS script that seems to repair missing C:\Windows\Installer files from the original installation source.

The first thing the page says is to try setup.exe /ACTION=REPAIR /INDICATEPROGRESS=TRUE from the original installation source for SQL Server 2014, which of course you don't have anymore. But even if you do have it and you run the command, it fails near the end with a funny error: "C:\WINDOWS\Installer\1bfa87.msi" So the only possible solution is to run the VBS script. After that, the update install actually started.

... and failed with another error: The upgrade cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade.
Error code: 1642
. Why are you asking me to upgrade something if I don't even have the version you need?! I've tried the setup repair option, just to see if anything else changed since running FindSQLInstalls.vbs, but I got the same error.

Under the assumption that the "original installation source" is actually not enough - since there was a Service Pack 2 released since I've installed SQL Server from a kit, I've downloaded the SP2 file. Maybe it has a repair option. Ran it, and it ran successfully. Could it be that I never upgraded my SQL Server instance? Yes. Then all those "different version" messages actually make some sense.

Once I did that, Windows Update presented me with different updates altogether! Note that the original update said "SQL Server 2014 SP1" when executed.

Some of the updates installed OK, some failed, mainly Security Update for Microsoft Visual Studio 2010 Service Pack 1 (KB2645410) and Update for Microsoft Visual Studio 2010 Service Pack 1 (KB2635973). These are updates from 2012 and are related to the standalone VS version used by SQL Server Management Studio. I tried a restart, the updates remained there to annoy me. They both failed with error code 0x80070643 and when tried to install them manually they both reported the wrong software version.

Perhaps it is from all the meddling. Installing SP2 would have probably solved all the problems.

I hope it takes you less time to figure this out, once you've read this article.

Update: How to solve the issue of obsolete Visual Studio 2010 updates:

I've downloaded the Microsoft Fixit tool for forceful uninstall of software, even if the installer is not cached in C:\Windows\Installer. Then I uninstalled "Microsoft Visual Studio 2010 ENU". At this moment SQL Server 2014 Management Studio would not work anymore due to a missing component. Then I reinstalled Microsoft Visual Studio 2010 Shell (Isolated) Redistributable Package. At this moment SQL Server 2014 worked again. Then I ran Windows Update, which found several updates to download, including a Service Pack 1 and several others. Their installation went with only a hitch, a random 0x80246007 (BITS service) error that went away when I retried the update. I started Microsoft SQL Server 2014 Management Studio, just to be sure it worked, and it did. Finally.

Thus endeth the saga of the reluctant Windows Updates.

and has 0 comments
The Fireman has a lot going for it: world ending global pandemic, superpowers, people finding strategies in order to survive, communities giving into the mob mentality, heroes fighting evil, etc. Joe Hill writes well and the story captivated me from start to end.

That being said, there are some issues with the book. The story is about a global infection with a fungus that makes people burst into flames, but narrowly focuses on a few characters in a small American town. Yet the story abounds in details for every scene: what everybody does, what they think, how the scene changes. Also, while there are some explanations of why things happen the way they do, close scrutiny destroys any logical explanation, so less material would have helped suspension of disbelief. I feel like a little editing that would have removed 10-20% of the book would have benefited it greatly, fixing some issues with pacing. There were times when I just had to skip paragraphs, as in moments of tension the author insisted of describing all kinds of inconsequential things.

Also, at the end of some chapters, there were little phrases where the character would disclose the outcome of the next chapter. I did not appreciate that. Imagine a scene where a character is hopeful and, instead of hoping with them and then being devastated by the story, you just go through the scene knowing how it is going to end. Don't do that, Joe!

It was interesting that the main protagonist (who is not a fireman, BTW, that was a silly title) is a woman. Her character, abused, manipulated and lied to by people in authority in her life, is almost feminist in nature. Other secondary characters are also female or children, with the writing focusing on human relationships. If I didn't know better, I would have said the book was written by a woman. I can only commend Joe Hill for being so good at describing the world and the people from the eyes of this character.

Other than that, the story was really fresh. I don't want to spoil anything here, enough to say that it made my emotions alternate wildly between excitement, fear, disgust and frustration. While optimistic in nature, The Fireman describes so many ways in which people just give in to their inner selfishness and evil. The themes touched by the story vary, but gravitate around one central idea of human relationships: a couples, as communities and what happens when these seemingly good things are contaminated with fear. These are themes one is used to find in Stephen King books and, surprise!, Joe Hill is actually King's son. He is trying his best not to advertise this, though, and I think he is a good writer on his own.

The characters are very human, well created, frustrating in their mistakes, just like normal people are. The author made the lead characters a bit too clean, always taking the high road, always being spared of the tough soul scarring choices by their environment or the people around them. I thought that was a weak point in the book. Without being forced to make hard choices, characters have no reasons to evolve.

Anyway, my recommendation is to read this book. It is scifi and fantasy and clinical dissection of humanity. It is well written, even if a little too long for its story.

Almost two years ago, Variety was reporting that the book was being developed by Fox into a movie, yet there is no other information more recent about this.

and has 1 comment
I wasn't going to discuss this, but I am being assaulted from all sides by people who have on opinion or another on the Google "Anti diversity manifesto", how the media likes to call it, spread at Google by an employee and his subsequent firing right afterwards. So I will say a few words, but not about the content of the document, only on the reaction to it.

Let's be honest here, what happened was that someone criticized the way things are at Google and then he got fired. He did it in a whitepaper-like document in which he exposed his opinions on what he perceived as problems and possible solutions. I believe his biggest mistake was not substantiate his opinions with previous research, thus dispelling some of his beliefs and strengthening others as fact, but that's beside the point. You can read the document, as well as the response from the Google's new Vice President of Diversity, Integrity & Governance, whatever that means.

James Damore, the employee who wrote the memo, was fired for violating the company's code of conduct by "perpetuating harmful gender stereotypes". What I want to focus on is that the response of Google was based on the fact that they couldn't possibly assign people to work with this guy, once he said something that was controversial, potentially offensive. By logical extension, no one can express something controversial in the company. Would you like to work there? They see it as something positive. The legalese for that is Part of building an open, inclusive environment means fostering a culture in which those with alternative views, including different political views, feel safe sharing their opinions. But that discourse needs to work alongside the principles of equal employment found in our Code of Conduct, policies, and anti-discrimination laws. What started as an open discussion, ended abruptly by termination, the employment equivalent of a death sentence for dissension. A personal equivalent would be "if you think like that, then we can't be friends anymore".

While the decision makes sense in the short run, in the long run it only hurts Google, both on a mediatic level and a financial one. However right or wrong, the author of the paper wanted to solve something he saw as problems in the company. I would want that type of person to be part of my company. And if the problems he sees are artificial, I would like to think I would try to convince him of that before firing him. Of course, Google doesn't have to do anything, because what they did is legal, but I am not talking about anything legal here. I am talking about companies having to take care about all their employees, not only the ones they like.

Personally, I wouldn't like to work in a place where I would need to guard my every word, hide my opinions and my thoughts, for fear of crossing some general line or code of conduct. I wouldn't like to work in a place that couldn't care less about me as a person. And if I were to work in such a place (ahem!) then I would create a narrative that would protect my fragile psyche, something like "they would never do that!". Well, Google did it! In a very public and bland and careless way. This will only give strength to the other narrative, the one of the former employees, released from their very strict NDAs, who complain about the same things Damore was fired for trying to solve in the first place.

Now, don't you miss the times when Microsoft was the bad guy?

I've found a small gem in Javascript ES6 that I wanted to share:
let arr = [3, 5, 2, 2, 5, 5];
let unique = [...new Set(arr)]; // [3, 5, 2]

and has 0 comments
There is a rule in writing, that if you are trying to tell the story from the viewpoint of another character than the main one, for example the villain, and it is boring, then your story is not good enough. It seems to me that this was the cardinal rule that Manuel Gonzales used to write The Regional Office Is Under Attack!. He wrote tiny interlaced chapters that alternately were describing the action, then the motivations and personalities of the characters through flashbacks. At first it felt fresh, then it just got annoying. There is only so much you want to hear internal monologues.

It would have been great if the story would have been better, or if the characters would have really been fleshed out. However, this book feels more like an exercise in writing, a funky experiment, than a real story. There are very intimate details about how people thought and why they did some things, but they also are empty, doll like characters. And that is too bad, because Gonzales is clearly a talented writer and the plot made me want to read on and find out what will happen to all the characters, only to be left high and dry at the end of the book, which stopped abruptly and spitefully. It was like "Hey, you wanted something else than to experience my new idea? Fuck you! You get nothing."

In the end, it was something that felt like a fairy tale, reinvented for art's sake and modernized just because it's fashionable. It's not even a first part of a series or something. It's a standalone book that showcases the author's idea of presenting many viewpoints on some incidents that have only marginal connection to science and fiction. It could have just as well been a soap opera about highschoolers and be just the same book. It wasn't bad, but I can't quite recommend it either.

and has 0 comments
I've decided the functionality of the Bookmark Explorer extension was pretty close to final and, before I refactor it to a new form, I wanted to make sure it works for all the browsers that support the WebExtensions mechanism, mainly Chrome, Firefox and Opera. Frankly, I have no idea why anyone would use Firefox or Opera, but if you do, I've got great news for you: I have published the extension for all of them:
Haven't tested extensively, I am going to do that in the near future, but rejoice, now you can read your news at speed and comfort, then remove them from your bookmarks once you have grown tired. There are some changes to the extension that need to be addressed:
  • The most significant is changing the keyboard shortcut for "Previous Bookmark" to Ctrl-Shift-O for Firefox and Opera, because changing extension key shortcuts in Firefox is really difficult and Ctrl-Shift-K is already used by the developer tools
  • The default settings have been updated. Now, when you install the extension for the first time you will get:
    • 30 second wait for the "Read Later" links to autoclose, giving the browser time to cache the title and icon
    • Preload next tab is now true by default, leading to loading the content of the next news item while you read the current one
    • When creating bookmarks - from anywhere - their URLs will be stripped of some marketing bullshit
  • A lot of bug fixes and speed improvements went into this aparrently minor release

I also plan to make a video of how to use the extension, since letting users read the long description and figure out what the extension does didn't quite work :) I am considering changing the name of the extension for version 3 and I am open to suggestions. I am thinking of Bookmark Surf or something like this. Please let me know of any problems with the extension. I will fix bugs and I will write new features if I agree they are good for my users. All you have to do is ask!

Enjoy!

Update: I was so happy that Firefox for Android supports addons that I just installed it immediately and expected it to work. Unfortunately, the support for the Web Extensions API is very limited for the Android version, most importantly not having a bookmarks API, so the Bookmark Explorer doesn't work. I did make the extension more robust, though, by debugging it on the Android version.

and has 0 comments
Finally, finally there is a TV series about an asteroid coming towards Earth and what we are going to do about it. It is called Salvation and it fails in every single respect.

The first alarm bell was Jennifer Finnigan, the female costar from Tyrant. She was terribly annoying in that show where she posed as the voice of reason and common sense, while being a nagging and demanding wife to the ruler of a foreign country. I thought "shame on you, Siderite! Just because she was like that in that show it's no reason to hold it against the actress". In Salvation, she plays the annoying nagging and demanding voice of reason and common sense as girlfriend to the secretary of the DOD.

But that's the least of the problems of the show. The idea is that a brilliant MIT student figures out there is an asteroid coming towards Earth. He tells his professor, who then calls someone and then promptly disappears, with goons watching his house. Desperate, he finds a way to reach to an Elon Musk wannabe and tell him the story. Backed by this powerful billionaire, he then contacts the government, which, surprise!, knew all about it and already had a plan. Which fails. Time to bring in the brilliant solution of the people who care: the EM drive! For which there is a need of exactly two billion dollars and one hundred kilograms of refined uranium. And that's just episode 2.

The only moment we actually see the asteroid is in a 3D holographic video projection, coming from most likely a text data file output of a tool an MIT student would build. Somehow that turns into a 3D rendering on the laptop of the billionaire. Not only does it crash into Earth, but it shows the devastation on the planet as a fire front. Really?

Bottom line: imagine something like Madam Secretary which somehow mated with the pilot episode of the X-Files reboot. Only low budget and boring as hell. There is no science, no real plot, no sympathetic characters, nothing but artificial drama which one would imagine to be pointless in a show about the end of the world, and ridiculously beautiful people acting with the skill of underwear models (Mark Wahlberg excluded, of course). Avoid it at all costs.

Update: oh, in episode 3, the last one I will watch, they send a probe to impact the asteroid and they do it like: "OK, we have a go from the president!" And in the next minute they watch (in real time from Io and from a front camera on the probe) how it is heading towards the asteroid. I mean... why write a story and not make it use anything real? What's the point in that? Even superhero movies are more realistic than this disaster. I know the creators of the show did other masterpieces such as Extant and Scream: The TV Series and Hawaii Five-O, they don't know any better, but at least they could have tried to improve just a tiny sliver. Instead they shat on our TV screens.

and has 0 comments
I loved this book about the far future where humanity is ruled by benevolent AIs and vicious technological wars are being fought with xenophobic alien races. The greatest quality of Dark Intelligence is how it managed to define a world of varying degrees of power and intelligence that somehow manage to coexist without straining suspension of disbelief. I also liked that throughout the book there were hints on various hidden truths in the story, but Neal Asher didn't simply spoil the ending with them, nor did said ending rely solely on disclosing the twists that were glimpsed from those hints. The style of the writing was focused, easy to read, capturing the reader in the world the author created. I finished the book in just two days.

The subject of the story is also one that is very dear to my heart: what is the meaning of identity and personal purpose in life when anything can be changed, altered by either yourself or others, sometimes god like intelligences that just don't see galactic life as any more interesting than we would an ant hill. And while the book is part of a series set in a universe that Asher wrote a bunch of books about, the story is quite stand alone and can be read with pleasure without fear of a cliffhanger ending ruining it all. I liked it and probably I will try other books from the series and from this author.

and has 0 comments
It was difficult for me to finish Tea From An Empty Cup. While it was a rather classic cyberpunk novel, which I usually enjoy, I felt it was obsolete in a way that could not be fixed. You know, like when designers or artists try to imagine how computers will be in the future. Only after reading it I realized it was written in 1998, so it was normal for that time and age to misunderstand how humans behave in networked environments, but still... even if the subject was a bit interesting, I actually had to make an effort to go through with it. I think the reason for why I didn't like the book was that the characters were paper thin. Concerned to describe a chaotic virtual reality world in which anything is possible and nothing is regulated (although everything is billed), Pat Cadigan forgot to make us feel anything for the protagonists. And considering that this is a story about how technology is affecting our perception of identity, it made the book unpalatable.

Imagine a Matrix in which people enter voluntarily because the real world is boring by comparison. They create their own intricate fantasies that go well beyond the basic human needs like food or sex and focus on social cues that the participants struggle to constantly redefine and grab for themselves. In this, Pat Cadigan was spot on. However, other than this simple idea that nowadays is ubiquitous on the Internet via the various social networks, the book is nothing but a boring detective story, complete with the "normal" policeman character that enters this virtual world as a complete noob and somehow solves the case. The action is very inconsistent and the feeling I got from the flow of the plot was one of a dream sequence where stuff is cool just by merely being defined as such. At no time while reading the book I was enticed by the scenes in the story.

The concepts inside the book are interesting, but explored very little. The author seems to be under the impression that by merely listing them, the story will somehow become interesting by association, an ironic parallel with the characters in the book. Just think that this book was published at the same time The Matrix movie was released. The difference in quality between the two stories is just too big.

and has 0 comments
Today I've discovered, to my dismay, that two Integer objects with the same value compared with the == operator may return false, because they are different objects. So you need to use .equals (before you check for null, of course). I was about to write a scathing blog entry on how much Java sucks, but then I discovered this amazing link: Java gotchas: Immutable Objects / Wrapper Class Caching that explains that the Integer class creates a cache of 256 values so that everything between -128 and 127 is actual equal as an instance as well.

Yes, folks, you've heard that right. I didn't believe it, either, so I wrote a little demo code:
Integer i1 = Integer.valueOf(1);
Integer i2 = Integer.valueOf(1);
boolean b1 = i1 == i2; // true

i1 = Integer.valueOf(1000);
i2 = Integer.valueOf(1000);
boolean b2 = i1 == i2; // false

i1=1;
i2=1;
boolean b3 = i1 == i2; // true

i1=1000;
i2=1000;
boolean b4 = i1 == i2; // false

i1=126;
i2=126;
boolean b5 = i1 == i2; // true

i1++;
i2++;
boolean b6 = i1 == i2; // true

i1++;
i2++;
boolean b7 = i1 == i2; // false

i1 = 2000;
i2 = i1;
boolean b8 = i1 == i2; // true

i1++;
i1--;
boolean b9 = i1 == i2; // false


Update: the same thing also applies to Strings. Two strings with the same value are not == although they are immutable, so even the same string won't be equal to itself after changes. Fun!

I now submit to you that "sucks" applies to many things, but not to Java. A new term needs to be defined for it, so that it captures the horror above in a single word.

Tonight I went to an ADCES presentation about SQL table partitioning, a concept that allows for a lot of flexibility while preserving the same basic interface for a table one would use for a simpler and less scalable application. The talk was very professionally held by Bogdan Sahlean and you should have been there to see it :)

He talked about how one can create filegroups on which a table can be split into as many partitions as needed. He then demonstrated the concept of partition switching, which means swapping two tables without overhead, just via metadata, and, used in the context of partitions, the possibility to create a staging table, do stuff on it, then just swap it with a partition with no downtime. The SQL scripts used in the demo can be found on Sahlean's blog. This technology exists since SQL Server 2005, it's not something terribly new, and features with similar but limited functionality existed since SQL Server 2000. Basically the data in a table can be organized in separate buckets and one can even put each partition on a different drive for extra speed.

Things I've found interesting, in no particular order:

  • Best practice: create custom filegroups for databases and put objects in them, rather than in the primary (default) filegroup. Reason: each filegroup is restored separately,
    with the primary being the first and the one the database restore waits for to call a database as online. That means one can quickly restore the important data and see the db online, while the less accessed or less important data, like archive info, loaded afterwards.
  • Using constraints with CHECK on tables is useful in so many ways. For example, even since SQL Server 2000, one could create tables on different databases, even different servers, and if they are marked with not overlapping checks, one can not only create a view that combines all data with UNION ALL, but also insert into the view. The server will know which tables, databases and servers to connect to. Also, useful in the partition presentation.
  • CREATE INDEX with a DROP_EXISTING hint to quickly recreate or alter clustered indexes. With DROP_EXISTING, you save one complete cycle of dropping and recreating nonclustered indexes. Also, if specifying a different filegroup, you are effectively moving the data in a table from a filegroup to another.
  • Finally, the SWITCH TO partition switching can be used to quickly swap two tables, since from Sql Server 2005 all tables are considered partitioned, with regular ones just having one partition. So one creates a table identical in structure with another, does whatever with it, then just uses something like this: ALTER TABLE Orders SWITCH PARTITION 1 TO OrdersHistory PARTITION 1; to swap them out, with minimal overhang.

and has 0 comments
Just a heads up on a technology than I had no idea existed. To get the details read this 2009 (!!! :( ) article.

Basically you define a MemoryMappedFile instance from a path or a file reader, then create one or more MemoryMappedViewAccessors, then read or write binary data. The data can be structures, by using the generic Read/Write<[type]> methods.

Drawbacks: The size of the file has to be fixed, it cannot be increased or decreased. Also the path of the file needs to be on a local drive, it can't be on a network path.
Advantages: Fast access, built in persistency, the most efficient method to share data between processes.