Have a great holiday everyone. I hope Santa brought you something cool. This post is brought to you by my latest present: A couple of hours of peace and quiet while everyone else visits people and stuff. I’m going to use my gift to work on my end-of-year posts.
Coming in the next few weeks:
- My usual end-of-year Dénouement posts.
- A series of music posts where I attempt to copy the styles of game soundtracks that I like, as a way of learning more about music.
- I’m reading Game Programming Patterns, which was a gift from a friend. (Thanks friend!) I might do some posts about it. The first section in particular is filled with stuff that had me nodding my head.
- I still want to comment of Jon Blow’s language proposals. I have a few thousand words on it already. I just need to clean them up and post them.
- Pictures of cats and girls in swimsuits. Thousands of them.
- Good Robot is not forgotten. It’s been a year since the project stalled. I’ve just upgraded to the new version of Visual Studio. I might restart the project. Or do a code review. Or open source it. Who knows? We’ll see.
- One of the items on this list is a lie. (Not this one.)
- Added to the list just now: Apparently splash imagesLike the one at the top of this post, which is a picture of me from 1978. that aren’t the proper aspect ratio will get squashed or stretched. I guess I should fix that.
There’s one last episode of Dino Jeep left, which will go up tomorrow.
Footnotes:
[1] Like the one at the top of this post, which is a picture of me from 1978.
Juvenile and Proud

Yes, this game is loud, crude, childish, and stupid. But it it knows what it wants to be and nails it. And that's admirable.
Control

A wild game filled with wild ideas that features fun puzzles and mind-blowing environments. It has a great atmosphere, and one REALLY annoying flaw with its gameplay.
Raytracing

Raytracing is coming. Slowly. Eventually. What is it and what will it mean for game development?
PC Gaming Golden Age

It's not a legend. It was real. There was a time before DLC. Before DRM. Before crappy ports. It was glorious.
Spider-Man

A game I love. It has a solid main story and a couple of really obnoxious, cringy, incoherent side-plots in it. What happened here?
Looking forward to a new year of twenty sided content, especially Good Robot (hopefully that wasn’t the lie!)
Lovely Holidays/Merry Christmas to Shamus and all the other Twenty Sided crew. I am getting a new GPU for X-mas.
Merry Christmas Shamus! Enjoy your peace and quiet: I know all I want is a few hours peace to actually enjoy my presents. Though I guess that’s what I deserve for volunteering to cook Christmas dinner!
We need more project Good Robot. I mean, if not finish it, couldn’t you simply open-source it? Also, if you are going to finish it, Mac and Linux versions would be very neat.
Just saying. *wink*
TL;DR: Me rambling about code licensing.
If you do FLOSS the code, please attach a proper license. This includes:
– dropping the LICENSE/COPYING text file into the project’s root
– mentioning the license by name in the README
– ideally adding copyright / license information comment headers to all source files
IIRC, you didn’t do that for Frontier or Pixel City.
Keep in mind that “public domain” is not a license. In some jurisdictions, there is no “public domain”. And in many where there is, you can’t explicitly put something into the public domain; things fall into the public domain automatically after a set of rules. And yes, the latter includes the USA.
A good license that generally does what you want in that case is the CC0 license. It states that you relinquish any copyright to the work. It also provides a fall-back in jurisdictions where you can’t disclaim your copyright (like in Germany), offerings unlimited usage rights for any purpose.
Alternatively, there’s the Unlicense. It, however, invokes the “public domain”, which I heard people argue might not hold up in court. Its proponents say that the following text state the intention of the Unlicense clear enough, especially since it’s shorter and easier to understand than the CC0 license. Personally, I am not a lawyer, so I can’t say.
Another thing to watch out for: the license absolutely needs to include a rejection of liability and warranty. Otherwise, there’s a little bit called “implied warranty”: certain warranties are automatically implied unless explicitly disclaimed. That’s why things like the WTFPL (“Do What The F You Want”) aren’t a good idea, for example.
What’s the purpose of the license?
If you want people to use your code in their open source hobby projects, almost anything will do. You are just promising not to sue them.
If you want to retain some rights and think you can sue people over misusing your code, good luck. If you can’t afford a lawyer, then there’s no point.
If you want a company to use it commercially, then you need something thorough I guess.
The ones that let people use your code commercially tend to be the shorter licenses (ISC, MIT, BSD, which are each only a couple of paragraphs)
Without a license or (where allowed) an explicit “put this into the public domain” statement, it’s not legally possible to copy the code. Stuff anyone writes is automatically copyrighted, and if the current copyright holder (which would be Shamus, as he’s not doing other work-for-hire that applies to this stuff … I assume anyway…) throws it out onto the Internet without letting other people do the same, the rest of us are kinda stuck.
Not that this has stopped me from putting up ports of the various projects. But those are not actually technically legal without a license that lets me do that…
All this talk about a “proper” license, and I just realized that Item #7 in his list lacks a proper legal disclaimer. Just having the text “(Not this one)” won’t hold up in court.
So, Item #7 could in fact still be the lie… :)
Happy new year, may it bring as many joys and more and far less headaches then this one
I noticed that you mentioned about thousands of pictures of cats and girls in swimsuits. I’m more of a dog person. And graphs with fitting lines going through the data points. ;)
I’m rather more interested in the Game Programming Patterns and would appreciate a review or at least a short summary of what you thought about it. And more programming and pieces on making music would indeed be cool. Look forward to seeing it. :)
There’s a copy of Game Programming Patterns up on the website for free. I read it today (thanks for the link Shamus!) and it was really interesting, and very well-written. I’d say about two-thirds of the book is very relevant for non-games programming, too.
Now I just have to give this dude some money ..
Item Five is the lie. Five = two + 3.
This is the sixth reply. Six = two * 3.
LIE has 3 letters in it.
Item 3 is about game programming.
Half-Life 3 confirmed.
You are either a conspiracy theorist or Silver Age Batman.
Or, heck, both!
At this point in proceedings, I would post the following video from The Daily Show.
https://www.youtube.com/watch?v=dU22QEclVQo
You can turn anything into a conspiracy or find hidden meaning in random noise if you are prepared to abandon logic and rationality to follow your delusions.. :)
Merry Christmas, Shamus! Yours is literally the only blog I read on a regular basis.
Best to you and yours on this, hopefully, special day.
Merry Christmas to you and yours as well! Could you get Heather to post something about the family? We haven’t heard much about you all on the public internet since you moved to the new place!
Item 7 was gravely disappointing. I was looking forward pictures of cats and girls in swimsuits. Not girls so much, that’s old. But cats in swimsuits could be interesting. I do wonder though: are the cats and girls in separate swimsuits or are they sharing. Also, to which of pictures, cats, girls and swimsuits does “thousands of them” refer? In my mind I see a picture of thousands of swimsuit clad cats.
Ask and you shall receive.
This is safe for work, I swear.
Merry Christmas Shamus :)
I honestly did not parse item 5 when reading the list for the first time. I must have skimmed it and my brain just went, “Nope, this will not be retained as it is out of character. Deleted.”
Well, as I know #6 is the lie, I look forward to a new year of Twentysided clickbait articles. Hopefully the increased traffic will bring good things to you and your family.
Man has to put up with tenants breaking rental agreements and bringing pets into their apartments. You won’t believe what he does next.
So does that mean that if you fail to come through on anything else on your list, you HAVE to unleash to us your stockpile of pictures of girls and cats in swimsuits?
Yes, please, yes. I’ve been watching those at lunch breaks, and I’m curious what a different C++ coder thinks. I mostly work in Java and Python, which already do a lot of the things he wants (but don’t offer the control he wants).
Oh, and Merry Christmas to the Young family!
And once Shamoose includes only 1 picture of a girl in a swimsuit holding a cat,he can say that the only lie was the “Thousands of them.” part.
“Apparently splash images that aren't the proper aspect ratio will get squashed or stretched”
Should be a quick fix.
Since your image area is 600 wide and the design of your site is width restricted rather than height then it would be best to scale to the width.
Thus all you need to do is use width=”600″ and simply leave out the height, all the modern browsers (and by modern I meant, not a decade old) will automatically scale the image while keeping the aspect ratio.
There may be the odd situation where you have a image that is very tall which will push the content down but this is less of an issue and rare (unless you take a lot of images with your camera held rotated 90 degrees.
Most images are have a aspect where they are wider than they are tall so sizing by width alone in this case should handle 99.99% of cases.
That being said, there are ways to scale down using both width and height while keeping the aspect but it requires some CSS fiddling and maybe a div wrapper or similar, and as I said unless you have images that are taller than they are wide then you’ll never have a issue with scaling by width only.
Logically speaking, Item 7 could not be a lie, or it would be truth, which would cause the universe to collapse to avoid paradox.
Merry Christmas Shamus.
PS:
I feel your pain with the mouse debacle, that’s why I hold onto my ~10 year old corded Intellipoint with a deathgrip.
Two buttons, scroll wheel, plug it in and it goes.
“Shamoose tests new mice” would be an awesome new series of posts.
And I too had about the same problem about a decade back,when I tried back then revolutionary double scroll wheeled mouse.Never again.3 buttons are quite enough,and the hassle of multi buttoned mice is simply not worth the experimentation.
As to mouse voes, I feel ya.
I actually like the thumb buttons and use the back and forward buttons quite often (especially back), I also like being able to click the 3rd mouse button (mousewheel button usually) to open or close a tab.
Not sure if this behavior is due to Windows or if they back/forward buttons are actually identifying as that (in addition to being the X4 and X5 buttons for games).
What does annoy me is thumb buttons placed under the thumb, rest your thumb wrong and suddenly you go back or forward. So to those looking for a 4 or 5 (or more) button mouse make sure all the thumb buttons are placed above the thumb resting area.
I’ve gone through a lot of pointing devices and I’m not happy yet. My wrist tends to get tired really quickly (I’m a “mouser” I rarely use the keyboard for any navigation nor any keyboard shortcuts besides Ctrl-C and Ctrl-X and Ctrl-V) so I’ve tried:
Traditional mice, I seem to prefer mice that has two main buttons, a scroll wheel (with the 3rd button in it) and at least one thumb button (placed above the thumb) but not more than 3 thumb buttons, in fact 2 thumb buttons feel just right.
I tend to use “the claw” when using a mouse and thus prefer a high DPI so I can rest the back of my palm on the desk and use the tips of my fingers to mover the mouse around (with virtually no need to move the hand itself), downside is that if I sneeze the pointer vanish off the screen or in the case of a game the character spins around a few thousand times due to the high sensitivity.
A DPI button on the mouse is a nice bonus if it is there. Same with a macro button. I got a (older) A4 Tech X7 Oscar which meet those criteria. Best of all it has a macro editor and the macro is stored in the mouse (IIRC) so there is no need to run any bloatware in the background. That single macro button has saved my hand/wrist many times, I’ve set it to rapidly repeat click the left mouse button while the macro is active (kind of like turbo fire on some gamepads and joysticks).
I don’t use it much but it’s connected and there for when I need it.
I also like trackballs like the Logitech MX570, I prefer thumb ball over those with a ball in the center for two reasons. It’s easier to use/reach the buttons on this one, and it looks/feels almost like a mouse. I’ve gone through 2 of these over several years (including a replacement so that’s like 3 of them).
And for those curious, gaming with it actually does work, though I did switch to mouse a lot when playing FPSs at first, later I used it for everything. Possibly one of the best trackball designs out there.
I also have a Logitech Touchpad T650 it has a glass surface and fells smooth and cool, it also has two hidden physical buttons that I really don’t like but luckily you can change how a lot of it works using Logitech’s software, unfortunately Logitech’s software tend to be a tad bloated, but it is pretty well feature.
For gaming it’s not that good. There is a slight latency to the touchpad, for point and click games this is probably perfect and its’ pretty sweet for browsing and scrolling etc. I tried it with FPSs but the latency (feels like a processing latency) makes it a tad odd to play. And as I’m on Windows 7 I can’t use all the features (Windows 8 and later has more touch/gesture stuff).
I do not use it much and it was bought mostly to help understand touch interface design. I should probably use it more than I do though.
Currently I use the DELUX M618, there are a lot of clones or copycats of this one out there but they are much smaller in the hand, this one got some size to it, I got mine from a local internet retailer.
This is a true vertical mouse (or close to a stick almost), there are other ergonomic mice out there with a tilted design that some may prefer instead.
I like this one though. sadly it has a thumb button above and below the thumb area and that does annoy me at times.
The way I hold is is pretty nice for the wrist though, but it’s still not my ideal input interface.
For the future I’m pondering a 3Dconnexion SpaceNavigator but damn that’s way out of what I can afford, especially considering it may not be any better than my DELUX vertical mouse, and how the heck is it for gaming?
I tend to like no-return inputs, like Mouse and Trackball.
By no-return I mean that unlike a joystick/gamepad/SpaceNavigator(!) if I move to the right then suddenly move to the left then I do so instantly unlike a gamepad/joystick where you have to pass the stick through the center again and to the other side.
A trackball is superior in my mind in that regard as you can just keep spinning and spinning the ball, re-adjusting your thumb is easier/faster than re-adjusting your arm or hand (usually).
But I may end up with a wireless mouse similar to features of the A4Tech X7. Why? I like the macro button and the it seems to have a built-in memory so no extra software needs to run once programmed.
I also like that the thumb buttons are above the thumb.
The only reason I’ll go wireless is due to me using “the claw” as the mice are so light the tensile behavior of the able cause the mouse to move, if not for that I’d go wired always as they have lower latency, and there is no need to worry about batteries that go out when you least expect them (really fun if it dies during a game).
I have a dealie with four extra buttons, a mousewheel that can move side-to-side and controls to increase or decrease sensitivity.
One of the extra buttons isn’t really doing anything, but I can’t be bothered to go into my Xorg.conf and change it.
Since the Shamus crowd here is really nice, I thought I’d ask…
Does there exist a nice keyboard (with Norwegian / Scandinavian key layout) that has keys with lettering that does not wear off?
I’ve gone through so many keyboards, in fact I gave up on the MicroSoft Sidewinder X4 after the 3rd time I got it exchanged. Awesome keyboard but the letters wear off, I got technically have made use of the warranty forever and gotten a new keyboard again and again, but having to do that every 6 months is ridiculous.
The issue is that either sweat or wear or acidity of the oile in my skin causes the letters to wear out fast.
And the way they put letters on the keys suck.
I need to find a affordable USB keyboard with injection molded keys.
Alternatively a keyboard with those see through caps where you can put inlays. (you basically take off the top of the key and place the piece of paper with the letter/symbols on it. The cool thing with these is you can make custom looking letters and a Norwegian / Scandinavian layout is not needed as you basically can create the layout your self.
Damnit, all I want is a keyboard that has lettering that lasts longer than a half year. Silk printed, Grooved then filled, Laser etched, UV/Epoxy/whatever does not work.
And don’t get me started on backlighted crap, I’ve had keyboards where the paint on the key itself wear off, so not only can’t I see the letter any more but I got multiple tiny flashlights shining in my eyes.
What point is there if a keyboard can handle millions of clicks (several decades worth of clicking) if the lettering only lasts less than a year?
Do note that most keyboard manufacturers do not list the way letters are put on the keys of their keyboards, they might do so on a few but not all of them, and if you call them out on it they tend to get a tad snippy, even the most expensive keyboards out there only use laser etching which is ludicrous (for one I can’t afford them and if the letters only last a few months then that expensive quality keyboard is actually junk anyway).
Dye Sublimation “might” be good enough, but I’ve not yet seen any one (lack of disclosure on the method key lettering is doe does not help either)
But injection molding is the best,
However I’m really interested in a Relegendable keyboard, but nobody sells them, there are keycaps but buying a keyboard and throwing away all the keys then buying a full set of new keys is just way to expensive.
So, any hints people? Does a good keyboard exist out there?
I got used to a particular Logitech keyboard from around 2003. I absolutely cannot find a replacement with the same touch, and have resorted to buying additional copies of the same 2003 keyboard off eBay. A nuisance! The letters don’t wear off though. Never had that happen even after years of typing on a keyboard.
Unicomp NEVER seem to wear out, are built around IBM Model M keyboard designs, use dye-sublimation to print the keycaps so they basically *can’t* wear off, and can be customized to about 30 different layouts at ordering. The two drawbacks are that they are HEAVY (approaching two kilograms) and VERY noisy (buckling spring keys are legendary for noise). But if you can live with those things, you’ll probably never buy another keyboard.
http://pckeyboard.com/page/KBDCFG/KBDCFG
The only company I can mention here is Ducky, but they make mechanical keyboards that cost more than 100 euros. But it’s possible to get dye sublimation with PBT plastic, which should be a really durable combo and from what I’ve understood their stuff is available in Nordic countries
But I only know for certain that they’re available from at least one Finnish online retailer and in Swedish/Finnish layouts.
Edit: They use Cherry MX keys which come in Red (non-clicky) Brown (clicky) and Blue/Green (very clicky, different point for actuation and release. Green is heavier to press down.)
Mine’s White (a quieter Green that’s not meant to be used for the whole keyboard. Not to be confused with Clear, which is similar, but not the same, as Brown.)
Happy Winter Solstice everyone. The sun will return!
I DON’T BELIEVE YOU!PANIC!!THE END IS NIGH!!!PRAY TO YOUR DEITIES!!!!REPENT FOR YOUR SINS!!!!!
Also be excellent to each other,and spend quality time with your family.
Alrightey. First of all, Merry X-mas or equivalent there for.. that of.. of the.. @$¿£#*&!! Merry whatever to everyone. Just.. pick anything and add Merry on my expense.
Ssoo.. Shamus mentions Santa, as in that red round guy what has the signature merry laughter like “Hoh-hoh-hoo!”, right? Does anyone else cringe whenever they hear someone tasked to do a Santa laugh slowly reciting “Houu…houu…houu!”, or is it just me? It’s like they don’t even remember it’s supposed to be jolly laughter anymore!
Yeah, no. Haven’t seen nor heard (thankfully, houu-houu..) that old fat fellow. Had a visit from Sandy Claws though – she’s hot. Also gave me a nice game for a present.
…no? Alright, so I might have made up Sandy to raise some eyebrows. Actually it was a gift of sorts from me to me. I finally found Brà¼tal Legend [insert guitar solo], which I have spent ages trying to get, in a supermarket bargain bin and somehow managed to keep my itching talons off of it until Christmas. Heh, I feel like a little kid again. Well not little exactly, more like a tall, mop-haired, black-clad, scarecrowey, uh.. “kid”. But you guys get the idea, right?
We also had a somewhat traditional get-together-and-stuff-thyselves-to-brim-with-food type of family evening on the 24th, during which we learned that this one guy has been f###ing my little sister! 8E
Naturally, as the older sibling I should grab my scythe and relieve his shoulders of the burden of his head, but.. apparently things don’t work that way since the two of them are engaged. :I Who makes up these rules? I’m so confused..
Anyway, this means that the family will be getting an Expansion Pack sometime next summer, if everything goes well. Feels weird, man. My little sister, going to do the whole Mom thing. :/
Oh crap I just realised something! A couple of years from now I‘ll be doing babysitting missions! Oooh f… They’re practically unskippable (penalty to relations with requesting faction if I keep declining) and the XP is earmarked. There’s no way to divert Babysitting XP to Hacking or Summoning or whatever. …urgh… Although maybe in a few more years I could try the Recruit & Train Minion option.. hm..
Ok, still, everything’s nice and fine and yes, this is a merry holiday indeed. It’s time to sit back and relax, since the Simultaneous Awesome Things variable has probably already reached its maximum val–OMG there’s a new video from SoldierHawke! <3
[Connection to “Nataline” lost – Remote host abandoned socket]
“OMG there's a new video from SoldierHawke! <3"
And she has finally reached the potatOS section,much joy is to be had.
Does nobody else consider Shamus’ thoughts on BlowLang the most exciting entry on that list? I do. Many of the others are cool too, but I’ve been itching to see that topic every time I see the d20 in my RSS reader ever since Shamus mentioned it…
Merry Christmas everyone! May it be merry and not tainted by the antics of that wacky lizard squad!
Seasonal salutations!
Merry Xmas, everyone!
Looking forward to those cat pictures.