Saturday, March 28, 2020

Tech Book Face Off: Getting Clojure Vs. Learn Functional Programming With Elixir

Ever since I read Seven Languages in Seven Weeks and Seven More Languages in Seven Weeks, I've been wanting to dig into some of the languages covered by those books a bit more, and so I've selected a couple of books on two interesting functional languages: Clojure and Elixir. For Clojure I narrowed the options down to Getting Clojure by Russ Olsen, and for Elixir I went with Learn Functional Programming with Elixir by Ulisses Almeida. You may notice that, like the Seven in Seven books, both of these books are from The Pragmatic Programmers. They seem to pretty consistently publish solid, engaging programming books, and I was hoping to have more good luck with these two books. We'll see how they turned out.

Getting Clojure front coverVS.Learn Functional Programming With Elixir front cover

Getting Clojure

I remember thoroughly enjoying Russ Olsen's Eloquent Ruby years ago, so my expectations were already set for this book. Olsen did not disappoint. While Getting Clojure is an introductory programming language book instead of a guide on the idioms and best practices of the language, like Eloquent Ruby was, he brings the same clear, concise writing, and nails the right balance between covering the minutia and sketching an overall picture of Clojure without boring the reader to tears.

Programming books that aim to teach a language from front to back can easily fall into the trap of spending too much time on all of the gory details about the language's arithmetic and logic systems or every possible control structure. Maybe it's because Clojure is a simple and straightforward language that doesn't have the complications that other languages have in these areas, but this book was a very easy read through these normally tedious parts. Olsen assumes the reader is already a programmer with a couple languages under their belt, so he lays out the mundane facts in a succinct, orderly manner and moves on to the more interesting bits.

Chapters are short and evenly spaced, each focusing on one small part of Clojure, starting off with the basics of arithmetic, variables, data types, logic, functions, and namespaces. Each chapter has sections at the end for discussing how to stay out of trouble when using those language features and what those features look like in actual Clojure programs. After the basics he covers the more intermediate topics of sequences, destructuring, records, tests, and specs before finishing things up with inter-operating with Java, working with threads, promises, futures, and state, and exploring the power of macros. It's a logical order that flows nicely, with later chapters building on earlier material through a gentle learning curve. I never felt stuck or frustrated, and I could read through a few chapters in a sitting at a rapid pace. That's testament to excellent technical writing skills that allow an experienced reader to go through the book at speed.

One fascinating thing about this book, and I imagine every Clojure book, is how little time is spent explaining syntax. Clojure is a Lisp-style language, so syntax is kept to a minimum. What do I mean by that? Well, the basic syntax of Clojure is a function call, followed by its arguments, both wrapped in parentheses like so:

(println "Hello, World!")

Vectors are denoted with [] and maps follow the form of {:key1 value1 :key2 value2}. Nearly all of the code looks like this, just with more complicated nesting of functions. After learning the standard library functions, you know and understand about 90% of the language! The more advanced language features like promises and macros add some more syntactical sugar, but really, compared to C-style languages, Clojure's syntax is incredibly lightweight. Some programmers may hate all of the parentheses, and the prefix arithmetic notation takes some getting used to, but learning a language that's so consistent in its structure is enlightening.

Not only does Clojure have the elegance of a Lisp, but it also runs on the JVM so we have access to all of the Java libraries that have been built up over the last few decades. That may not always seem like a benefit, considering how convoluted some Java libraries are, but Clojure has its own great features that should take precedence over the uglier parts of Java while still being able to leverage all of the time-saving work that's been done already.

Plus, Clojure has made significant advances in modern concurrent programming, both through its inherent nature as a functional language with immutable data structures, and because of safe concurrent programming structures like promises and futures. As Olsen says about threads, "One of the things that makes programming such a challenge is that many of our sharpest tools are also our most dangerous weapons." If concurrency is anything, it's hard, but Clojure makes this increasingly important programming paradigm easier and safer, as long as you know how to use those sharp tools.

Olsen has done a great job of teaching the set of tools available in Clojure with this book, and beyond it being clear and well written, it was a fun read all the way through. I love learning new languages and the new programming tools that they reveal, especially when I can find a great field guide like this one to help me along the way. If you don't know Clojure and would like to learn, Getting Clojure is a highly recommended read.

Learn Functional Programming with Elixir

Like Clojure, I wanted to dig more deeply into Elixir after reading about it in Seven More Languages in Seven Weeks. This book showed some promise as a quick introduction to the language that would focus on the functional programming paradigm. I think the title is a bit of a misnomer, though, because it was more on the side of a quick introduction to Elixir, which just happens to be a functional language. Almeida did not go into too much detail about how to use the functional paradigm to greatest advantage, and instead stuck to the basics.

Spending time on the basics is fine, of course. It just wasn't what I was expecting. The book is split into seven chapters that cover a quick introduction of what Elixir looks like, variables and functions, pattern matching and control flow, recursion, higher-order functions (like each, map, and filter), an extended example text game, and impure functions. Notably missing from this list is anything having to do with concurrency and parallelism—Elixir's primary claim to fame, being that it runs on the Erlang VM. But this is a beginner's book, after all, and it keeps things pretty simple, although the pace is probably too fast and the explanations too short for someone who has never programmed before. This book is definitely meant for experienced programmers looking to get started with Elixir quickly.

In that respect, the book accomplishes its goal quite well. It presents all of the basic features of Elixir in a logical and succinct manner, covering all of the different syntax elements of the language without much ceremony. Elixir has its fair share of syntax, too, much more so than Clojure does. Whereas Clojure consists entirely of function calls, Elixir syntax is much more exotic:

max = fn
x1, x2 when x1 >= x2 -> x1
_, x2 -> x2
end
This is a simple function that returns the maximum of two numbers, but it shows some of the more extensive syntax of Elixir with pattern matching on the second and third lines, the when guard clause, the underscore used as a wildcard matcher, and the anonymous function declaration. When this function is called, if line 2 matches, including the guard clause such that x1 >= x2, then x1 is returned. Otherwise, line 3 will match automatically and x2 is returned. This is just a sampling of syntax, too. Things get even more involved with lists and maps and function arguments, all mixed in with pattern matching and pipes. This is a rich language, indeed.

The brief explanations of all of these language features tended to be a bit wanting. They were so clipped and simple that I was often left wondering if there wasn't much more to some of the features that I was missing. The writing style was abrupt and disjointed to the point of being robotic. Here is one example when discussing recursion:
Code must be expressive to be easier to maintain. Recursion with anonymous functions isn't straightforward, but it is possible. In Elixir, we can use the capturing feature to use named function references like anonymous functions:
Here's another example when describing the Enum module:
The Enum functions work like our homemade functions. The Enum module has many useful functions; it's easy to guess what they do from their names. Let's take a quick look:
This kind of writing just starts to grate on me because it has no natural flow to it. I would end up skimming over much of the explanations to try to pick out the relevant bits without feeling like I might be assimilated by the Borg.

Most of the code examples were forgettable as well. They did an adequate job of showing off the language features that they were meant to showcase, but they certainly didn't serve to inspire in any way. On the other hand, chapter 6 on the extended example of a text game was quite delightful. This chapter made up for most of those other faults, and made the book almost worthwhile.

In the example game, you code up a simple text-based dungeon crawler where you can pick a hero and move through a dungeon fighting monsters. It's an incredibly stripped down game, since it's developed in only about 35 pages, but it shows Elixir in a real application setting, using all of the language features that were introduced in the rest of the book. It was fun and illuminating, and I wish the rest of the book could have been done in the same way, explaining all of the Elixir syntax through one long code example.

Alas, it was not done that way, but even though the rest of the book was terse and didn't cover some of Elixir's more advanced features, it was still a decent read. It was short and to the point, making it useful for a programmer new to Elixir that needs to get going with the language right now. For anyone looking to learn Elixir more thoroughly, and maybe more enjoyably, you'll want to look somewhere else.


Of the two books, clearly Getting Clojure wins out over Learn Functional Programming With Elixir. Olsen showed once again how to write a programming book well, while the Elixir book was mechanical and insufficient. That's great if you're in the mood to learn Clojure, but what about Elixir? It's a fascinating language, but I'll have to look further to find a good book for learning the details.

DE: A Different Take On Wyches

I mean sure, why not?  Let's give these girls another try.

Maybe I have been going after this all wrong.  I've been thinking to myself for a while now:  How do I get Wyches into my army while still being effective.  Well, maybe with Succubi down to 54 points with an Agonizer, it's time to start bringing more HQs, in general, to make up for this loss?  What about Wyches?  Should I go big or go small with them?  If I go big with them, they certainly take advantage of their Obsession bonuses and Combat Drugs more, but they lose out on their ability to be easily transported by Raiders.  I feel that's a big loss because you need something that can reposition them when they need to around the battlefield without exposing them to enemy fire.

The more I think about it, the more I want to try MSU Wyches instead of running larger units of them.  My reasoning is this:
  • What do they really gain after they pass their min units really?  There's definitely more bodies to soak up during Overwatch, but that's about it.  It's only when they get to 10 do they get to take additional Wych weapons.  However, if you take 10, you can't really fit more in the Raider now, can you?
  • If you keep them in min units, not only do you fill out your Troop choices easier, but you can take more Agonizers and Blast Pistols in a squad.  For example, you can run 2x5 and get double the amount of Agonizers and Blast Pistols.  The only downside is that your drugs are going to be more dispersed.
  • For smaller units, it's really the HQs that do the most heavy lifting.  I guess you should start asking yourself what are you really using Wyches for?  IMO, the more competitive lists can kill MEQ just fine by shooting them to death, so what are you doing with them?  At this stage, I think we're just styling.

I think that kinda settles it:  I don't think Wych units are all that competitive, but they're not terrible either.  Reavers are some of the best units in the codex I think, but the Wyches themselves are decent at best.  Regardless, I think you can take a setup that is cheap enough, especially from an HQ perspective, that you can afford to take a Battalion for them if you're planning to use them in the first place.

Quick note:  I think Strife and Red Grief are the best for this.  They both have really nice Warlord Traits.  Strife gives you Blood Dancer and the 9-attack Succubus build with the Whip, whereas the Blood Glaive is just a fantastic weapon to have.  In general, I see +1A is very useful all around, especially with Agonizers because Strength doesn't matter for it and neither do Blast Pistols.  As always, I think anything that can Advance and Charge and re-roll the results of both after T2+ is just amazing.  I am definitely more inclined to take these two cults over Cursed Blade.

This is what I mean:

1990 // 10 CP
Black Heart Battalion +3 CP

HQ:
Archon, Agonizer, Blaster = 91
Warlord Trait: Cunning

Archon, Agonizer, Blaster = 91

TROOP:
10x Warriors, 2x Blaster, Dark Lance = 114
Raider, Dark Lance = 85
199

10x Warriors, 2x Blaster, Dark Lance = 114
Raider, Dark Lance = 85
199

10x Warriors, 2x Blaster, Dark Lance = 114
Raider, Dark Lance = 85
199

PARTY BUS:
Raider, Dark Lance = 85
Raider, Dark Lance = 85

+++

Black Heart Spearhead +1 CP

HQ:
Archon, Agonizer, Blaster = 91

FLYER:
Razorwing, 2x Dark Lance = 145
Razorwing, 2x Dark Lance = 145

HEAVY:
Ravager, 3x Dinsintegrators = 125
Ravager, 3x Dinsintegrators = 125
Ravager, 3x Dinsintegrators = 125

+++

Strife Battalion +3 CP

HQ:
Succubus, Adrenalight, Whip = 54
Warlord Trait: Blood Dancer

Succubus, Painbringer, Agonizer = 54

TROOP:
5x Wyches, Agonizer, BP, Shardnet = 59
5x Wyches, Agonizer, BP, Shardnet = 59
5x Wyches, Agonizer, BP, Shardnet = 59

>>>

Firepower:
12 Dark Lances at BS3+
9 Disintegrators at BS3+
6 Blasters at BS3+
3 Blasters at BS2+
3 Blast Pistols at BS3+
2 Razorwing Missiles at BS3+
25 Splinter Rifles at BS3+

Face it:  There's nothing that this list can do that the pure Kabal list can't do from a pure damage perspective.  Killing things at range is satisfying for sure, but killing them in close combat with some of the most ridiculous melee heroes in the game so far might be very worthwhile as well.

So what does deployment actually look like?  Well, the 2x5 unit of Wyches goes into a single Raider while all the Archons and Succubus pile into another Raider with the rest of the Wyches.  Yes, 3 Archons and 2 Succubus go into a Raider:  The beginning of every dirty film.

From there, you just treat the 2x5 unit as a single Raider unit while remembering that you will probably get murdered if you try assaulting before you Raider gets a chance to get in there first.  You charge in with the Raider, tie up whatever was trying to shoot your ass, and then run your naked girls in for some good damage with Agonizers.  Don't forget to bring you super killy Succubus along for the ride too.  The Archons can come if they want, but most of the time they will be running around the rest of the Kabal spreading good stuff 6" bubbles while totting Blaster fire down on your opponents.  However, always remember that they're not shy to getting their feet wet, so if you need them to take on a big unit of MEQ for whatever reason, hook them up with some Huskblades and throw them into the fray.

I'm just going to leave this list right here and let it marinate for a while.  This is just a theory list and I think it can do pretty decent.  One thing's for damn sure:  10 CP sure makes me happy.

Global Game Jam 2018 @ KSU 48 HOURS Jam!

IMPORTANT UPDATE:  GGJ @ KSU will be OPEN for the ENTIRE 48 hours.

The Global Game Jam 2018 @ KSU will be held from Friday, January 26th through Sunday, January 28th. 

This is a great opportunity to come and make a game over a weekend. Anyone can join in regardless of skill or experience. Come and have fun, learn, and meet some new people.

Come to the J/Atrium building (Marietta campus). Driving directions and a campus map is available at http://www.kennesaw.edu/maps/docs/marietta_printable_campus_map.pdf and http://www.kennesaw.edu/directionsparking.php 

Register now and save, registration fee increases to $45 on January 19th
https://epay.kennesaw.edu/C20923_ustores/web/classic/product_detail.jsp?PRODUCTID=2015

You will also need to register https://globalgamejam.org/2018/jam-sites/kennesaw-state-university

The registration desk will be on Level 2 of J-Block at 1:00 pm. 

The opening ceremonies will take place in Q-202 and will start at 4:30 pm. The jam will take place in J-Block and will start at 6:00 pm on Friday January 26, 2019.

This is an 18 Plus event. If you are not 18 or older, you will not be able to participate. 


Monday, March 23, 2020

Steak, Not Hamburger

"Still Life - 1901" by Pablo Picasso. Art used for criticism under "Fair Use."


I've been told that the image of an average American in Spain is of someone at a baseball game with a hot dog in one hand and a Coke in the other. If this is the case, then I'm no an average American. Hot dogs taste about as terrible as they look, like boiled phalluses (circumcised, clearly). Now, now, I certainly give credit to the, uh, "genius" who figured out how to sell unwanted animal parts by wrapping them up into something Linda Lovelace would swallow. Just forgive me if I resist the impulse to deep-throat wieners every summer. Coca-Cola, on the other hand, resembles battery acid in both appearance as well as tooth decay. The taste is hardly worth getting excited about as far as sodas go. More or less Pepsi under another name. Perhaps if they put the cocaine back in, I'd be more inclined to hold a favorable opinion. Some might argue that this first paragraph could disqualify me from American citizenship. Though I'd argue that it would disqualify me from most Memorial Day barbecues.


It should come as no surprise that I don't have much a taste for hamburgers. It seems that the only American meats my stomach can stomach are steak, pork, and chicken (though even the chicken can elicit occasional bouts of diarrhea). So it goes without saying that hamburgers were among the last things I expected to eat in Spain. Imagine my surprise, then, when I heartily chowed one down for lunch and begged my host mother for seconds.

Truth be told, I didn't know it was a hamburger at first. I often didn't know what kinds of meats went into my sandwiches. Being that I would be living in someone else's home for two months, I avoided being picky about the food. I didn't expect to run into too much trouble here, since I'm an American, and Americans can eat just about anything provided it's properly salted. The Spanish sandwiches I had been used to thus far were either ham, turkey, egg, or pig liver. The latter being among my favorites, if not a tad oily. The hamburger smelled like steak, and tasted about the same, too. When I lauded my host mother for her cooking skills, she revealed the secret identity of my meal. Morgan Le Fey seduced King Arthur by disguising herself as Guinevere, and so too did my nemesis, the hamburger, trick me with false vestments. I'm not an expert on meats, so I couldn't tell you if burgers are prepared differently in Spain than in the United States. I just know that it tasted a hell of a lot better. Speaking of hamburgers, I went to a Spanish McDonald's. To my disappointment, it tasted exactly the same as its American counterpart. Probably about as unhealthy, too.

My host mother was a very skilled cook, I daresay she rivaled my own mother. (And that's saying something!) She made delectable fried potatoes, green peas with ham, tomate y pan, cream of zucchini, fresh clams with rice, and that cold tomato soup, gazpacho. I noticed that the Spanish diet includes a lot of eggs, for every meal and in every dish. Nowhere is this better seen than with the Spanish tortilla. In America, the popular conception of a "tortilla" comes from Mexico, which is a flatbread of ground wheat flour. In Spain, the "tortilla" is a bit closer to an omelet, with some major exceptions. The Spanish tortilla can be produced in any frying pan, it requires a mix of eggs, potatoes, onions, and oil. One can add vegetables or meats at their own pleasure. The closest thing I had had to a Spanish tortilla in the States is quiche. Though I'd venture that the tortilla tastes plenty better, especially with ketchup or salsa.

I also tried my tongue on the foods outside of my home, of course. During a brief festival in Santander, I had the good fortune of eating chorizo and paella. As I write this, I am learning that chorizo is a type of sausage, but it certainly didn't taste like one. (Tongue is not as reliable as I once believed it to be.) The chorizo meat was chopped up and mixed with fries and an egg sunny-side up. Quite spicy, though an attractive snack. Paella, on the other hand, was a savory display of Santander's seafood. Being that the city was by the sea, I'm surprised I didn't come across more seafood, but I won't linger on that. Paella is primarily a rice dish, but mixed in with whatever else is available. I can recall fish and shrimp in the paella I had, but beyond that, it's a blur.

When going to another country, it's a cardinal sin not to try the ice cream. As expected, they have all the common flavors, vanilla, chocolate, strawberry, etc. I first tried out turron, a flavor exclusive to Spain, since it is based on a treat they have during Christmastime. I'll admit, I've never had turron before, but I found that the novelty of turron ice cream wore off and devolved into blandness. I fell in love with lemon, being partial to lemon flavored everything since birth. Though pineapple comes in a close second, it doesn't quite melt into the tongue the way that lemon can. I also got a chance to try out Italian gellato at a shop adorned with photos of my high school muse, Audrey Hepburn (fresh off of the film Roman Holiday). You could have two flavors on your cone, I chose chocolate chip mint and some coffee variant. Then there was the frozen yogurt, which was beyond any cream I had ever tasted in my life. This may sound contradictory, but it had a sourful-sweetness to it.

In Spain, the laws surrounding alcohol are far more lax than those in the States. People under twenty-one can drink their fill and without the pestering need to reveal their ID. There are probably cultural differences to these matters, as Spaniards drink alongside their meals and for social relaxation. Americans drink to get drunk. Though these are crude generalizations, as I'm sure there's many a drunkard in Spain as there is a connoisseur in the States. Yet in Spain, one can sense that society feels a touch more comfortable with alcohol in the streets. I literally drank all night with some friends outside of a church. I think that this comfort can be attributable, in part, to the decreased emphasis on driving in Spain. Most folks in the Iberian Peninsula take buses, ride bicycles, or walk. So there's less a fear of drunk drivers causing mayhem on the roads, and I should add that drunk driving accidents are still a leading killer in the States. I've long bemoaned to myself that the American "drink-until-you-get-wasted" ethic, has spoiled many an opportunity to craft a better relationship with alcohol.

While not exactly a drinker, I wasn't exactly a greenhorn, either. I had tasted wine before in my childhood as a Catholic. We took of it during the communion ritual, in which we believed that during "transubstantiation", the wine was briefly transformed into the literal "blood of Christ." An odd, and frankly, unnerving practice when one really thinks about it. One that veers a tad too close to the dietary habits of one Count Dracula. It reminds me of a humorous scene in David Attenborough's Gandhi. While riding on a crowded train with the young Mahatma, Rev. Charlie Andrews encounters a Hindu who tells him that he knows a Christian woman who drinks blood every Sunday. Andrews appears rather disturbed to hear this, until the Hindu adds that this is the "blood of Christ." This detail relieves him slightly, though the initial shock of the conversation does not seem to have left him. Heavy stuff, too heavy for me. So I started off simple. I drank beer.

Beer was the blood of Homer Simpson, the quintessential American beverage. You'd be forgiven for assuming that I'd fall into it naturally. You'd be forgiven, until seeing my track record with hamburgers and hot dogs. So it goes that America's favorite drink will garner no favor of mine. Beer certainly had an attractive smell, as does vanilla extract, but both are about as flavorless as the underside of my refrigerator. In a word, beer didn't cut it for me. There are variants of cat piss which would make more of an impression. So, seeking a more heightened experience, I went for the heavy stuff. The blood of Christ.

I can't put my tongue on it exactly, but red wine, or vino rioja, has a warm place in my heart. It seems that, like a good woman, red wine fills the body with warm elation, and daresay, presents a brief clarity of the mind. The blood of Christ. I can personally attest to these effects, having read the works of Haruki Murakami and Pope Francis while drinking the elixir in some bars and cafes. Murakami, I will say, felt a bit more of a comfortable choice to be reading in these places. His strange narratives often feature jazz bars of a sort. A motif that, no doubt, came from his experiences running the jazz bar, Peter Cat. The wine helped be absorb them. With each sip, my brain became more receptive to the words on the page, indeed, they flowed through me. Upon returning to the States, I have found this effect to be just as potent. Further, it not only made reading more enjoyable, but film and music as well. Of course, there were other drinks I had that are worth note: strawberry daiquiri, sangria, tinto de verano, and moscato. I have a little anecdote about old moscato. When in the Cafe Alaska, I ordered the moscato in Spanish, though the bartender seemed unfamiliar with it, so I repeated it again and again, but to no avail. It turns out that I had been saying the word mascota, which means pet. I half-expected Alf to come in as a waiter with a cat sandwich. We both had a good laugh after that.

And then I got drunk.

American poet, Ogden Nash, once said, "Candy is dandy, Liquor is quicker." It sure is. In my drunkenness I remembered the Porter from Macbeth who called alcohol a provoker of "nose-painting, sleep, and urine." Further, there was lechery, the Porter adds, "it provokes and unprovokes: it provokes the desire but takes away the performance. Therefore, drink may be said to be an equivocator of lechery: it makes him and mars him; it sets him on and takes him off; it persuades him and disheartens him, makes him stand to and not stand to, in conclusion, equivocates him in a sleep and, giving him the lie, leaves him." Forgive me, I quoted the passage in full, though the first sentence would've sufficed. In my defense, I just wanted to give the reader a colorful illustration of the contradictory and confusing nature of alcohol, though many are already well familiar. In my case, drunkenness was hardly an aphrodisiac, nor did it make my nose red, or my bladder go wild. It succeeded in, for good or for ill, liberating my id from the constraints of my superego. I grew less inclined to think before acting. There was something quite freeing in that, although it made keeping your balance tricky.

It was not my intention to get drunk, but then, that's what they all say, isn't it? I was fresh off of completing Bertrand Russell's Wisdom of the West, in which he spoke fondly of Socrates' self-control, "In all he did he was moderate and has amazing control over his body. Though he rarely took wine, when the occasion arose he could drink all his companions under the table without getting tipsy," (65). I thought at the time, perhaps out of sheer hubris, that I could exercise a similar restraint. I had also determined not to live up to American stereotypes, but rather, model an American founder, one Benjamin Franklin. In his Autobiography, Franklin has a list of thirteen virtues that essentially compromised his philosophical outlook. All the precepts are worth following, but what stuck out to me most was the first one, "Temperance", which states, "Eat not to dullness; drink not to elevation," (104). I tried to follow this edict, and for the most part I was able to, but somewhere along the way, I fell through. I'll try to be more careful with my liquor in the future, though these matters aren't always easy to anticipate. I don't expect them to be.

In my favorite anime, Neon Genesis Evangelion, one of the leading voice actors goes by the name of Spike Spencer. In addition to being an excellent voice actor, Spike is also an expert in dating and travel. While eating in Spain, I often thought back to something he a said about getting a "taste of culture",

"When you're goin' to different places, different countries, and tryin' different foods, that is the best! I always say that is where you taste, when you eat the local food of a place, you're tasting the soul of that place. Because if you think about this: when we move, when we populate an area, why do we populate that area, at any given time? Because that's where you can make food! You know, so whatever's there, in Japan and Asia there's so much rice, because that's kind of there. You don't see a lot of wheat fields. They have a lot of rice. What do we have? We have lots of fields, so we own wheat. So we own a lot of bread and stuff. And, I mean it's that kind of idea, I think food is such a great connector of people. I think it gets down to the very base level. So when you're sharing food with somebody, that you made for them, that's pretty sweet. It shows that you care a little bit more," (YouTube).

I had the privilege of tasting Spanish food, and so, a part of the Spanish soul. It is an opportunity that many do not have, including some who live on the Spanish soil itself. For in Spain, I saw poverty face-to-face. Homeless people sat on the sidewalks, some with small bowls out for collecting coins. I tried to give them what little change I had whenever I could. Though I couldn't always. What shocked me, however, is that whenever I gave, no matter how small the amount, these poor showed immense gratitude. They knew, more than I, what it was like to live without. They knew, better than I, the value of every euro. The euro is not simply a form of currency in the European Union, but a symbol of solidarity and prosperity. Ideals that were put into question by the ongoing economic crisis in Greece. Do these ideals still mean anything to the poor? I can't say.

The shame of inequality is what kept us in different steps of the economic ladder. I began to realize how much of what I am today can be attributed to my wealth. Being a college student, I clearly don't have much of it, but I have far more than they. It's an unfair circumstance, I know, and I have no answers on how to fix it. With what little change I gave, I knew I wouldn't heal their long-term poverty. Yet they still they were hungry. Hunger was an impulse that couldn't wait for economic reforms. My host mother packed me lunches. I gave them half. In the long run, it's a small token, but it beats an empty stomach. I don't where these poor people are today, or if their situations will ever improve. We were strangers then and we are strangers still, yet through the sharing of food, we connected, however briefly.

Through the sharing of food, I showed them, that I cared a little bit more.


Further Reading

"A Fear Of Flying They Call It." http://sansuthecat.blogspot.com/2015/09/a-fear-of-flying-they-call-it.html


Bibliography

Franklin, Benjamin. The Autobiography of Benjamin Franklin. Barnes & Noble Books: New York, 1994. p104. Print.

Russell, Bertrand. Wisdom of the West. Rathbone Books, Ltd: London, 1959. p65. Print.

Spencer, Spike. "A Taste Of Culture." YouTube. Web. https://www.youtube.com/watch?v=zLwL9oD1Zek



Friday, March 20, 2020

Teeming With Life


Exoplanets is a fairly simple tile placement game in which players score points by placing and advancing life on the planets with the most advantageous location within the solar system. Play consists of drawing tiles that represent new planets and placing them in one of four rows that extend outward from the central "sun." Where a tile is placed helps determine what resources a player gains from placing the tile; each tile gives its own resource, and also gains one from the tile it is placed next to.

Resources are then used to add life to planets. The cost is determined by the type of planet, and these costs can be modified by "space tiles" that players pick up when placing new planets. Additionally, a space tile played in this manner will often affect other nearby planets, either in the same row or the same "orbit," the corresponding position in the other three rows. This is where the game steers away from the standard engine-building and lack of player interaction that is characteristic of most eurogames, as a well-placed space tile can often force a player to change where they're placing their life tokens.

Life tokens are gradually piled up onto a planet until one player has four, at which point they are exchanged for a species token. At this point all the other players' life tokens are removed from that planet, which adds to the games strategy -- will you try to race with the other players to see who can add life more quickly to the easier planets (the ones that require fewer resources to play on), or will you take your time to build on a more difficult planet in order to avoid the competition?

The game ends when the last energy resource is taken from the center of the board, which is normally also when the last empty spot is filled with a planet tile. At that point players score based on how much life they've put into play, with modifiers for placing life on planets with more difficult requirements.

I like this game because it's managed to put together some fairly familiar game mechanics (tile placement, resource collection, area control) in a unique way. I can't point to any other games that it has much in common with. On top of that the rules come with several variants to keep game play from getting stale, and there's an expansion that adds new space tiles, different types of central stars, and a gravity well that allows players to change around the types of energy they have to spend.

Rating: 4 (out of 5) A neat game with some unique game mechanics and simple, clear graphic design.

Thursday, March 19, 2020

Unspoken Tags


I was putting together a short adventure for a Roll20 game using the ever-changing Crimson Dragon Slayer D20 rule-set (final version will be uploaded sometime in the next couple days), and it hit me that I often have these unconscious, unspoken tags in my mind as I write and then proceed to run a scenario.

Knowing the effect you want to achieve is key to crafting adventures like a fucking boss!  One-shots especially are not unlike short stories.  As Edgar Allen Poe said about that particular art form, it should create a singular effect and every element of that short story needs to carry its own weight, driving it home.

As I was writing this latest one, I had the following emblazoned in the back of my mind: desperate, exploring the unknown, weird location-based scenario, and Lovecraftian.

Depending on my mood, I might have a different set of tags, such as: cat and mouse, whimsical, gonzo, introspective.

I don't know how many GMs do this and are also acutely aware of it, but just thought I'd mention it.  Is this part of your process?  If so, does it help?  Is this something you'd try using?  Have you ever run an adventure that someone else wrote, using a completely different set of tags?  What was that like?

VS

p.s. This new adventure will eventually show up in my upcoming book Cha'alt: Fuchsia Malaise.  Still haven't gotten your hardcover Cha'alt?  Now's your chance!

Save 15% Off The Best Value VR Headset For Half-Life Alyx - Eurogamer

Save 15% off the best value VR headset for Half-Life Alyx

Wargames: MSSA's 24Th Western Cape Championships - 28 And 29 March 2020.

Knights on the move.
The MSSA's 24th Western Cape Championships shall be held at Monument Park High School, 40 Dan King Rd, Kraaifontein, 7570, on 28 and 29 March 2020.

In terms of the current regulations, any period may be played to more than one rule set if there are sufficient entries, and a player qualified to act as an umpire has volunteered to umpire such rule set.

The championships shall start on both days at 9H00. Players need to register at least 30 minutes before the start of play.

The following periods have qualified to be played, and shall be, should sufficient entries be received:

FIGURE GAMING:
Period
CHAMPIONSHIPS TO BE PLAYED ON BOTH DAYS

Saturday
Sunday

ROUND 1
ROUND 2
ROUND 3
ROUND 4
ROUND 5
Ancients – DBM 3.2
9H00-12H00
13H00 - 16h00
17h00 - 20h00
9H00-12H00
14H00 – 17H00
Pike & Shot – DBR
9H00-12H00
13H00 - 16h00
17h00 - 20h00
9H00-12H00
14H00 – 17H00
World War II – Flames of War
9H00-12H00
13H00 - 16h00
17h00 - 20h00
9H00-12H00
14H00 – 17H00

Period
ONE DAY HISTORICAL FIGURE GAMING CHAMPIONSHIPS TO BE PLAYED ON SUNDAY ONLY
Sunday

ROUND 1
ROUND 2
ROUND 3
ROUND 4
Ancients – DBM 200AP
9H00-10H30
11H00 – 12H30
14H00 – 15H30
16H00 – 17H30

In keeping with Mind Sport South Africa's policies re development programmes, entries are 
free and gratis to registered players who are unable to afford to enter such championships should the member club formally request assistance. Such applications must be directed to the MSSA at: e-mail: mindsportscorrespondence@gmail.com

Please note that if there are not at least 10 players entered for a figure gaming period, then such period shall be played to four (4) rounds and not five (5).

Entry fees are:              R71.00 for figure gamers.

Only players who are registered with fully-paid-up members may participate.

Players are reminded that the majority choice of rules as at the closing date for entries shall be used.

Entry fees must be deposited directly into Mind Sports South Africa's account, held at ABSA Bank, account number, 
90 4766 7676.

All entries, and army lists (if applicable) must be e-mailed to: Colin Webster at 
minndsportscorrespondence@gmail.com on or before 19 March 2020.

Monday, March 16, 2020

We're Launching An Official Discord Server!



Join our server here!

Frictional Games is a distant and cryptic game developer, quietly tinkering with unspeakable horrors in the darkest depths of Europe. Yet over the past while we have been chipping away at that image, exposing a softer core. And now we're ready for the final nail in the coffin of mystery: an official Frictional Games Discord server, where you can talk directly to us, or to other fans!

We hope that having a fluid, shared space like this will help casual and hardcore fans alike connect over topics that interest them, from lore conversations to sharing the cutest K8 plushie sewing patterns, from best uses of AddUseItemCallback to fanfiction tips. And, of course, anything and everything Frictional Games.

Aside from community-centered involvement, we hope to bring us developers closer to you with events like Ask Me Anything threads, and an occasional casual chat. Who knows what else the future will bring?

Upon launch the server includes channels for:
- Frictional's news, sales and patch notes,
- Discussions about SOMA, Amnesia games, Penumbra games and Frictional Games in general,
- Showcasing your mods and other fan creations like art, cosplay and videos,
- Connecting with peers and discussing modding, creating fanart, or how to avoid overheating when wearing a Grunt suit,
- Social media feeds,
- Buying our games directly from Discord.

To celebrate the launch, all our games are heavily discounted at the Discord store pages.

Welcome!

PS. We are open to getting a few more members for our moderator team, especially persons to balance out the majority of men. Contact community etc manager Kira for more details!

Sunday, March 15, 2020

Tekken 6 PC




Minimum System Requirements


Operation System: Windows XP SP 3/Vista/7/8
CPU: Pentium 4
Processor: 2.6GHz or AMD Athlon 2600+
RAM Memory: 1 GB
Graphics Card: 256 MB with Pixel Shader 3.0+ (Required)
Hard Drive Space: 14 GB
Sound Card: Windows Direct X 9.0 Compatible
DirectX: Version 9.0


Recommended System Requirements


Operation System: Windows XP SP 3/Vista/7/8
CPU: Pentium 4
Processor: Core 2 Duo 2.4GHz 
RAM Memory: 2 GB
Graphics Card: 512 MB with Pixel Shader 3.0 (Required)
Hard Drive Space: 14 GB
Sound Card: Windows Direct X 1.0 Compatible
DirectX: Version 10.0


Download PPSSPP Emulator For PC Here



Download The Game ISO File Here

How To Download And Play Tekken 6 On PC (With Proof) [Voice Tutorial]