17 years Ago

Quino 1.1.0.0 Released

Published by marco on in Programming

Encodo Systems AG[1] has released Quino 1.1.0.0 to licensed customers; test licenses are available on request. Feel free to contact them at “info [at] encodo [dot] ch”. Read the Quino Fact Sheet for an in-depth overview.

Big, new features include:

  • Multi-language support
  • Remote method execution
  • Remote query execution
  • Full support for Microsoft SQL Server (including schema migration)
  • Improved support for object graphs in the ORM
  • Typed constants in the metadata
  • Beta support for ASP.NET MVC

More... [More]

Space Exploration

Published by marco on in Science & Nature

 Human Space Exploration Map Saturn at Equinox (75 exposures) Hubble's final servicing missionWith recent rumblings from NASA as to the successor to the aged and mostly retired space shuttle fleet, National Geographic published the lovely graphic of human space exploration seen to the left. Also very recently, NASA has been trumpeting their images of Saturn as sent back over the years by the Cassini probe. The second image to the left is from the photo essay, Saturn at equinox (Big Picture/Boston.com). The final image on the bottom is from another photo-essay called Hubble’s final servicing mission (Big Picture/Boston.com). Click the... [More]

Citations from A Supposedly Fun Thing ...ever Do Again by David Foster Wallace

Published by marco on in Books

“A problem with so many of us fiction writers under forty using television as a substitute for true espial, however, is that TV “voyeurism” involves a whole gorgeous orgy of illusions for the pseudo-spy, when we watch. Illusion (1) is that we’re voyeurs here at all: the voyees behind the screen’s glass are only pretending ignorance. They know perfectly well we’re out there. And that we’re there is also very much on the minds of those behind the second layer of glass, the lenses and monitors via... [More]”
From E Unibus Pluram, television and U.S. fiction, page 24

Daily Show Full Episodes Complaint

Published by marco on in Miscellaneous

In early September, the Daily Show and the Colbert Report made a triumphant return after a hiatus of a few weeks. They unfortunately dragged some obnoxious commercials with them, so I wrote the following note to Comedy Central:

“I just checked out the first show for this fall and noted that the commercials are back. That’s cool, you guys gots to get paid; however, is there any reason you need to run the same pair/trio of commercials in four, two-minute blocks during about 20 minutes of content?... [More]”

Cocoa Finder, Please

Published by marco on in Technology & Engineering

For we Mac-users still stuck in a pre-”Snow Leopard” world, the occasional glitches in the Finder still rear their ugly heads from time to time. Sometime over the summer, my system got its panties into a bunch to such a degree that, though the system was not technically crashed or unusable (or potentially rescue-able), it was just easier to kill it and reboot. Upon reboot, I was greeted with a “something awful seems to have happened; could you tell us what you were doing when it all went wrong?”... [More]

Drawing from a Russian Soldier

Published by marco on in Miscellaneous

The web page, Ballpoint Afghanistan (EnglishRussia), includes images of artwork created during the Russian occupation of Afghanistan. These are purportedly the work of a soldier and were done primarily with a ballpoint pen (and colored pencils, apparently). There’s some really cool stuff in there for fans of line-drawing and doodling. I particularly liked the drawing of a soldier gazing out over mountain ranges (reproduced below; click to enlarge).

Hang Biden High

Published by marco on in Fun

Biden is at it again[1]:

Gaffe-Prone Biden Embarrasses Nation Yet Again By Sneezing During Meeting (The Onion)

The consensus on Biden and his constant slip-ups is summed up by one analyst thusly:

“It’s a stupid, stupid error from a half-human, spit-spewing gaffe machine. […] It’s our fault for voting Obama into office alongside a half-retarded adult baby.”
[1] For the irony-challenged: the Onion is a fake news organization. They make stuff up without telling you that it’s made up. They take their approach to such an extreme that anyone with any common sense should realize that... [More]

Citations from Siddharta by Hermann Hesse

Published by marco on in Books

“[…] fern und leise rauschte die heilige Quelle, die einst nahe gewesen war, die einst in ihm selber gerauscht hatte. Vieles zwar, das er von de Samanas gelernt, das er von Gotama gelernt, das er von seinem Vater, dem Brahmanen, gelernt hatte, war noch lange Zeit in ihm geblieben: mäßiges Leben, Freude am Denken, Stunden der Versenkung, heimliches Wissen vom Selbst, vom ewigen Ich, das nicht Körper noch Bewußtsein ist. Manches davon war in ihm geblieben, eines ums andre aber war... [More]”
Seite 63

Citations from A Connecticut Yankee in King Arthur’s Court by Mark Twain

Published by marco on in Books

“Seven-tenths of the free population of the country were of just their class and degree: small “independent” farmers, artisans, etc.; which is to say, they were the nation, the actual Nation; they were about all of it that was useful, or worth saving, or really respect-worthy, and to subtract them would have been to subtract the Nation and leave behind some dregs, some refuse, in the shape of a king, nobility and gentry, idle, unproductive, acquainted mainly with the arts of wasting and... [More]”
Page 81

Encodo C# Handbook 1.5.2 Released

Published by marco on in Programming

Version 1.5.2 of the Encodo C# Handbook is now available for download. It includes the following updates:

  • Expanded “8.1 – Documentation” with examples (this section is now four pages long)
  • Added more tips to the “2.3 – Interfaces vs. Abstract Classes” section
  • Added “7.20 – Restricting Access with Interfaces”
  • Added “5.3.7 – Extension Methods” and “7.17 – Using Extension Methods”

It’s also available for download at the MSDN Code Gallery.

Building pseudo-DSLs with C# 3.5

Published by marco on in Programming

DSL is a buzzword that’s been around for a while and it stands for [D]omain-[Specific] [L]anguage. That is, some tasks or “domains” are better described with their own language rather than using the same language for everything. This gives a name to what is actually already a standard practice: every time a program assumes a particular format for an input string (e.g. CSV or configuration files), it is using a DSL. On the surface, it’s extremely logical to use a syntax and semantics most... [More]

Designing a small API: Bit manipulation in C#

Published by marco on in Programming

A usable API doesn’t usually spring forth in its entirety on the first try. A good, usable API generally arises iteratively, improving over time. Naturally, when using words like good and usable, I’m obliged to define what exactly I mean by that. Here are the guidelines I use when designing an API, in decreasing order of importance:

Static typing & Compile-time Errors
Wherever possible, make the compiler stop the user from doing something incorrectly instead of letting the runtime handle it.... [More]

Waiting for C# 4.0: A casting problem in C# 3.5

Published by marco on in Programming

C# 3.5 has a limitation where generic classes don’t necessarily conform to each other in the way that one would expect. This problem manifests itself classically in the following way:

class D { }
class E : D { }
class F : D { }

class Program
{
  void ProcessListOfD(IList<D> list) { }
  void ProcessListOfE(IList<E> list) { }
  void ProcessSequenceOfD(IEnumerable<D> sequence) { }
  void ProcessSequenceOfE(IEnumerable<E> sequence) { }

  void Main()
  {
    var eList = new List<E>();
    var... [More]

Creating fluent interfaces with inheritance in C#

Published by marco on in Programming

Fluent interfaces—or “method chaining” as it’s also called—provide an elegant API for configuring objects. For example, the Quino query API provides methods to restrict (Where or WhereEquals), order (OrderBy), join (Join) and project (Select) data. The first version of this API was very traditional and applications typically contained code like the following:

var query = new Query(Person.Metadata);
query.WhereEquals(Person.Fields.Name, "Müller");... [More]

Summer 2009 Journal

Published by marco on in Shared

August 1, 2009

Kath and Marco pick up Sean, Amber and Chloe from the Kloten airport in the morning and bring them home for their first brunch and the start of a long, jet-lagged day. After brunch, Chloe and Amber take a nap while Marco, Sean and Kath take a walk around the neighborhood, walking up to the waterfall in the Tobel before heading back to wake up the sleeping beauties. In order to keep everyone going and on their feet, we took advantage of the great weather and walked to the lake... [More]

Hard Problems

Published by marco on in Quotes

“There are only two hard problems in computer science: cache invalidation and naming things.”
Phil Karlton

Christianity

Published by marco on in Quotes

“When I was a kid I used to pray every night for a new bicycle. Then I realized God doesn’t work that way, so I stole one and prayed for forgiveness.”

Long Story Short: WWII

Published by marco on in History

This definition of World War II (Urban Dictionary) provides evidence that the dictionary is not just for looking up dirty words and colloquialisms in English. With minor edits, it is reproduced here:

  1. Germany invades Czechoslovakia.
  2. Britain and France tell them to stop that bullshit.
  3. Germany invades Poland. (Russia also invades Poland from the other side: everybody forgets this.)
  4. Britain and France declare war; this is the ‘official’ kick-off.
  5. Italy, Bulgaria, Hungary and Romania all join the German side.... [More]

Supreme Court Against Strip-Searching Teenagers (8–1)

Published by marco on in Public Policy & Politics

As detailed in the article, Strip search of Ariz. teenager illegal, court says by Jesse J. Holland, the Supreme Court weighed in today on the case of the young lady who was strip-searched to determined whether she had brought Ibuprofen—Ibuprofen!—to school with her. The facts of case are as follows:

“Redding was 13 when the educators in rural eastern Arizona conducted the search in 2003. They were looking for pills — the equivalent of two Advils. The district bans prescription and over-the-counter drugs... [More]”

American Football Rules

Published by marco on in Sports

American football is not static and undergoes rule changes from season to season. One such change is documented in the article Best Intimidating Answer to a Legitimate Question, in which stiff-arming has been considerably curtailed for the 2009-2010 NFL season. Marion Barber can proudly and rightly claim to be almost the sole reason for the change, though he doesn’t seem too put out by the upcoming limitation on his technique.

“Barber made a habit last year of violently stiff-arming potential... [More]”

Laws, not Confidence

Published by marco on in Quotes

“It would be a dangerous delusion were a confidence in the men of our choice to silence our fears for the safety of our rights; that confidence is every where [sic] the parent of despotism; […] our Constitution has accordingly fixed the limits to which, and no farther, our confidence may go; […] In questions of power, then, let no more be said of confidence in man, but bind him down from mischief by the chains of the Constitution.”

Confusion

Published by marco on in Quotes

“Men are apt to mistake the strength of their feeling for the strength of their argument.”
William E. Gladstone

Parsing Obama in Cairo

Published by marco on in Public Policy & Politics

Obama recently fulfilled a campaign promise to deliver a speech from a the capital city of a Muslim country with what some consider a ground-breaking speech in Cairo, Egypt (full transcript (Miami Herald)). It’s been a few weeks and already his masterful oratory has been credited with influencing the election in Lebanon, though it hardly can be blamed for what happened in Iran (or the rightward swing in Europe, for that matter).

The speech was a masterpiece, to be sure, though reading it surely leaves less... [More]

Supporting Data-entry in Database Applications

Published by marco on in Programming

The following is an analysis and brainstorming of a problem in generalized database browser GUIs, like those generated by the Quino metadata framework.


The User Story

Let’s start with the user story that generated this idea:

“A user was entering data using our database software and complained of losing data. After verifying that the lost data was not due to an obvious software bug, we determined that it was because of how she was assuming the software worked. That is, she would use the... [More]”

Perforce Branching Specification Typo

Published by marco on in Tips & Tricks

This article was originally published on the Encodo Blogs. Browse on over to see more!


At Encodo, we use the Perforce source control system. Recently, I created a branch specification in order to maintain bug fixes in a released product. See below:

//depot/branches/customername/versionnumber/projects/encodo/quino... //depot/projects/encodo/quino/...

Naturally, the next thing I did was to branch the files under //depot/projects/encodo/quino/ to the branch, using the P4V client. It... [More]

Reasons Trump Conclusions

Published by marco on in Quotes

“There’s nothing I like less than bad arguments for a view that I hold dear.”
Daniel Dennet

Microsoft Code Contracts: Not with a Ten-foot Pole

Published by marco on in Programming

After what seems like an eternity, a mainstream programming language will finally dip its toe in the Design-by-contract (DBC) pool. DBC is a domain amply covered in one less well-known language called Eiffel (see ISE Eiffel Goes Open-Source for a good overview), where preconditions, postconditions and invariants of various stripes have been available for over twenty years.

Why Contracts?

Object-oriented languages already include contracts; “classic” signature-checking involves verification of... [More]

The Islamic Republic of Iran Will Not Fall

Published by marco on in Public Policy & Politics

At any rate, it will not fall now during this so-called “crisis of democracy” as western media—the media with nearly zero access to the country—likes to put it. The history of the Islamic Republic is rooted not in the 1979 revolution, but rather in the overthrow of Mossadeqh in the 1950s and the subsequent U.S.-supported rule of the Shah for more than two decades. The Islamic Republic’s power drew from this wellspring of resentment over the Shah’s Western-supported autocratic power. When he... [More]

The Long Road to Change: War Funding

Published by marco on in Public Policy & Politics

In recent years, supplemental spending bills for war funding have been passed with depressing regularity since the launching of the Afghanistan and Iraq wars. Over those years, the U.S. military apparatus has commanded declared budgets of well over $500 billion. That number is only a baseline which does not include other massive costs like those for maintaining over a dozen secret service agencies or the interest paid on debt incurred by spending so much money on the military over the last... [More]

How To Report a Software Bug (or any other Problem)

Published by marco on in Tips & Tricks

Reporting a bug in software is no different than reporting any other problem you want addressed: the more specific you are, the better and quicker service you’re likely to get.

  1. Always assume that the person responsible for the problem you want fixed is just as interested as you are in fixing it. If you’re working with good people, that’s usually the case.
  2. Always assume that good people have 1000 things to do, but will still prioritize your issue higher if they think they can take care of it... [More]