One year has passed since Hurricane María.

What happened since then?

That depended on the municipality. In Mayagüez, things looked normal aside from an occasional broken streetlight and some broken signs. In Orocovis, people still were without electricity. More generally, clearer restaurants resumed, but they tended to have smaller menus due to the lack of food imports. There was also occasional water and electrical outages, though they got less frequent when time went on. Some of these electric outages were from repairs to electrical lines.

Apparently, some local organizations were holding up aid that was meant to be given to the victims of Hurricane María, too? At least FEMA managed to set up plenty of FEMA rescue centers and personally give everyone plenty of Meals that are Ready to Eat.

I have also noticed these new posts beside the roads now. When I looked at one up close, I found out that they were underground poles that held underground data-cables from AT&T. In light of the fact that Germany has underground poles, this discovery has me feel better. On another light note, after all the vegetative debris has been cleared, you now get to see clearer views while driving.

I still kind of freaked out when Hurricane Florence (another Stage 5 hurricane) was getting close to Puerto Rico, though. Even after the recovery and greater preparation, I am not sure I am ready against yet another hurricane, especially when the country is still shaken!


Good Taste: Mini Websites

I already mentioned how mini websites dedicated to video games once invited the browser into the world of their respective video game. In this post, I explore more deeply the good taste minisites once had when inviting their browsers into their respective worlds.


What catches the first glance is the overall style: the pink colors and the heart motif. After looking at the minisite menu, then The Powerpuff Girls badge topping the sidebar, and, finally, the hero image that has The Powerpuff Girls in clear view – advertising their own movie, at that – you can see how the minisite clearly not only establishes but also embraces the show’s identity. Below the badge is a list of sponsors and advertisement, but you can still see that the fonts and logos used there share the theme of the show. In fact, while there are actually plenty of advertisements, they do not dominate and, at times, work with the actual content.

Of particular note are the header menu.

  1. The “Choose Your Character” dropbox in the first menu actually lets you pick between the different programs and visit their minisites. This menu is actually standard throughout the mini websites.
  2. The second menu is present throughout the whole website and, fittingly, gives out all of the website’s sections:
    • Home
    • Games
    • Cartoon Orbit (an online game where members collect items based on Cartoon Network and any sponsors)
    • Shop
    • Toonami (a section dedicated to Cartoon Network’s Toonami block dedicated to shows that would appeal to older adolescents and cartoons from Japan)
    • Web Premiere Toons (online animations)
    • Theater (collection of clips from the shows)
    • Department of Cartoons (developer documentation of the programs, including storyboards and model sheets)
    • Television (television listings)
  3. The third menu belongs to the mini website itself. Each mini website has the same types of webpages that display the content that is unique to the show:
    • Play it! (online games of the show)
    • Dig it!
    • Know it! (links to the Department of Cartoons section of the show)
    • Watch it! (video clips of the show)

Wait… “Dig It?”


Turns out that the “Dig It!” is an “Internet Goodie Bag” webpage. In this case, you can get quizzes, printables, downloadables, Internet cartoons, and other online stuff.

[In case you are wondering, “Play It!” lists games that feature the show. “Know It!” links to the Department Of Cartoons (D.O.C.) page of the show, letting surfers see model sheets, storyboards, and likewise. “Watch it!” has clips of the show itself.]

Here, you can see that the Ed, Edd, ‘n’ Eddy website is different from The Powerpuff Girls website. Aside from the branding, the website now uses orange colors and a jawbreaker motif. The font used in the sponsor list is the same used in the show’s title. The actual content is in a table where the borders have an “amateur carpentry” theme, which fits the fact that the protagonists are children that do a lot of construction by themselves.


Nickelodeon did not slack off, either. A lot of the same beats from Cartoon Network are also in Nickelodeon: the website-wide menu, the show selection, and a mini website that embraces the show’s theme. The mini website itself derives its style from that of the original show then uses this style in making an otherwise bare-bones website pop out.

Expanding on the website menu, the elements match a certain color that is the focus of their linked webpages:

  • Home
  • All Nick (where the shows’ minisites are listed)
  • Games
  • Music
  • Web Lab (web applications)
  • Blab (Internet forums)
  • Your World (Nickelodeon’s online newspaper)
  • Shop

There is one big difference between Nickelodeon’s and Cartoon Network’s websites, though:

Thornberrys_OldThe minisites are actually distinct between the shows. Here, The Wild Thornberrys minisite is based on Flash instead of HTML. Not shown here is the introductory animation that repeats the narration and instrumental theme from the original show. Mousing over the menu item merely highlights the item, but sounds a jingle that fits the show and displays a character on the left side of the mini website. Once again, a rather minimalist website embraces the style of the source content, making an enjoyable result.

Thankfully, children’s television channels were not the only ones that embraced their contents’ unique natures.


Though this is a full website of the entire Pokémon franchise, the website still held the same principles of good taste. The background is of a yellow color and a faded Pokéball-pattern that matched the character of Pokémon (especially Pikachu) while still permitting text to be read. Despite this, the important text is separated into its own sections that have color schemes that “break” from the background, giving a compromise between god taste and functionality. Notable, the news section has a white background and dark fonts, making a lot of legibility. Helping things is the newspaper format the news section has. In an example of “Give that little bit of extra care,” hovering on a menu item adds a spinning Pokéball animation. (I have hovered over the Pokédex menu item.)

Even fans are giving their websites good taste.


I found difficult believing the idea that this was not an official website! The neon green background is attention-grabbing, but, once again, the actual text is separated in its own, more legible background. The Denjuu (phone beasts) in the main content are a pleasant touch, but the best part is the menu, which was designed in the form of the cellular telephones used in the Telefang games. Again, the website owner embraced the style of the source material and made a website in good taste.

However, this is the old fansite. The new fan website looks this way:


The same principles apply, but the background is now full of Telefang maps. In effect, the website is saying “Welcome to the Telefang world!” The font, borders, and menu follow the style of the GUI of the original games. Best, mousing over the main menu-items not only highlight the item but also changes the “Welcome.” message below (and its bounding box).

Good taste is not lost.

A Hoard of Rubies?

Some time ago, I wondered if I can use a “higher-level” programming language when writing a Libretro core. After all, while Libretro is a C Library, any programming language that can use C libraries and can compile to libraries should work, right? Helping this case is a research table in Rapid Development: Taming Wild Development Schedules that compared other programming languages to C; there were actually a lot of languages that can do in 1 line what would require up to 6 lines in C.

I asked what programming languages can be used when writing a Libretro core. The results were more or less what I have expected, though I did not know that you could use BASIC and Pascal. The thing is that I am also working on “something else”, but the requirement behind “something else” warranted a more mainstream language. Because the goal here was ease of use, the contenders were Python and Ruby. Though I liked Python’s precision, Ruby code simply looked better compared to Python code.

I started off with why the lucky stiff’s guide to Ruby. The guide appeared to be fun and have a lot of good taste. I mean, there is even a soundtrack! The problem is that, while I progressed through the guide, there was fluff that not only got more bizarre but also overtook the actual educational content! (The first educational chapter has fun foxes mixed with a fun way of introducing the basics. The last educational chapter, not counting the appendix, is a self-serving mess that left me no less ignorant of Ruby.)

I then switched to the Ruby Koans. This time, there was plenty of good taste that did not get in the way of you actually learning. (In this case, there is a frame story of a Ruby teacher leading you through the Ruby language, but that story gets out of the way when you actually work through the koans.) The koans themselves, while teaching things in an order that is different from most courses in programming languages, taught the code in easily manageable chunks. I had to look up some stuff – I did not know what a symbol or an exception was in a Ruby context – but the experience was far more effective and enjoyable. I also came out with not only more experience with vim but also an understanding and appreciation of test-driven development. I even realized just why others found Ruby fun.

That deals with learning Ruby, but how am I going to use Ruby? After I researched a little, I was thinking of writing the actual game-code in Ruby, then have an intermediary C file that translates the Ruby data into C data. With that in mind, I looked into ways of getting Ruby to actually use multimedia. I eventually ended up with Ruby SDL2… which did not work. I then checked Ruby SDL. I also looked into other low-level libraries that could give me the functionality I needed.

At this point, I learned that I was going the wrong track. I had not released a game even after a year of development. I was bogging down myself with implementation details, but my real goal was making a game. In fact, the reason why I wanted to use an “easier” programming language in the first place was because I wanted to focus on actually developing and releasing my game instead of getting down to technical detail. In contrast, working with Libretro is highly technical; I should wait until I am more experienced with game-making and the C language, first.

In light of this new focus, I took a serious look at Gosu, a game library that automates a lot that I want to do: graphics, sounds, input, and even physics. (There seems to be no way to have a way of playing video, but Gosu seems to support .mpg files, that is, a form of animated .png files.) Sure, this uses OpenGL (which is not only heavy to my taste but also might lock me out of some platforms that do not support OpenGL), plus there seems to be no way of linking Gosu games to Libretro, but my focus on finishing a game requires that I not be so picky regarding implementation details. Besides, my plans on making Game Boy Advance versions of my games not only solves that problem with platforms that do not have OpenGL available to independent developers but also reminds me of my willingness to break off Libretro if necessary.

However, something important shifted me off Ruby…

What is my market?

The standard procedure of making money off proprietary software is putting the software in physical media and selling the software in a store. Online payments and Digital Rights Management got rid of the need of physical media. Meanwhile, I went into free and open source programming because I like the philosophy, but, when people can compile your source code free of cost (because the license requires me to have the source code in the open), how can I make money? I mean, I already had the ideas of outright asking, or again, making finite-run physical-media versions of my games, but those ideas are not a whole business model.

I read TechDirt on occasion. What I like about that website is its writings on digital business. Of relevance here is Mr. Mike Masnick’s article “The Grand Unified Theory On The Economics Of Free”, which deals with the business on non-finite goods.

The mentioned summary of the process is:

  1. Redefine the market based on the benefits
  2. Break the benefits down into scarce and infinite components
  3. Set the infinite components free, syndicate them, make them easy to get — all to increase the value of the scarce components
  4. Charge for the scarce components that are tied to infinite components

By step #1, Mr. Masnick meant that recognize the purposes behind the product. The people who buy horse-driven carriages want to go places, which means that the people who make horse-driven carriages are actually in the transportation market. The people who buy movies and music want to have fun, which means that the people who make movies and music are actually in the entertainment market.

Applying this to my case, I make electronic games. That may mean that I am also in the entertainment market. However, after I gave this idea more thought… why do I prefer electronic games over other forms of entertainment?

The answer is that electronic games envelop me in a world of imagination and let me play inside, actively participating in that world. An important element is that, because the game-maker dictates the controls and the game boundaries, I do not have to worry about doing something that messes up the world the maker made; I can play in safety. I like the relatively instant access and highly individual experience, but, at times, I want to share my experiences with others, whether that be outright telling others of my experience or engaging in multiplayer modes. Despite this, I emphasize that I prefer exploring and experiencing things on my own, doing things on my own terms.

In light of that, my market would be interactive-storytelling, but with a slant towards  individual safety and autonomy.

When I think of the market that way, my plans with Tinglar make sense. I mean, I enjoy making software and would be very thankful if I could be of service with something serious, but—say—a program that parses data on automobile parts would not be in line with what Tinglar is. Meanwhile, stories and comic books, while not games, are in line. After I defined my market, what I felt intuitively makes concrete sense: the parsing program is not involved with interactive storytelling, while stories and comic books, while not interactive in themselves, lend themselves to fanworks, which are a form of interaction. Indeed, 2 of the things that I wish that my games would stimulate are modifications and fanworks; I would enjoy seeing what others have in mind. I have stories that I want to tell, but I also want to see how people interact with – even grow – these stories.

Now that I defined my real market and the benefits of that market, what are the components of those benefits, and which benefits are scarce or not?

This time, I shall keep my discoveries there a secret. Wait until I actually go ahead with my real business model.

Good Taste: A Few Corporate Websites

From what I have already mentioned, I want to make a website in the style and taste of the 1990s. However…


…I missed the mark.

This is not “Brutalist.”

This is not “historically accurate.”

This is embarrassing.

Looking at this, I think the reason why I ended up that way is because I did not exactly know why websites in the 1998‒2001 “sweet spot” had that style. At the time I was designing this website, I looked into old versions of websites that I knew.

Actually, there is a worthwhile example from this search.


Despite the clutter, there is plenty that I like here. The top menu is classy yet useful. The banner gives the message immediately and clearly. Also, the website’s use of color theory with the purple and yellow Pokémon is clever. The Type symbols fit the theme yet are appealing and attract attention to the menu items. I also like the drop shadows that the icons and banner have; they give that “sweet-spot Internet” look. The news items have those icons that, if not relevant to the news item, fit the theme at least. The “NEW” news icons actually have the “NEW” text cycle around the PokéBall, making an attention-grabbing, pleasing sight without being obtrusive.

I actually found other traits that I liked, but, once I found again and took a good look at the Web Design Museum, everything “clicked”. Even the other traits I liked were more clearly visible in the museum exhibits!


The color scheme takes that of the Road Runner character but is not afraid of expanding on the color palette when necessary. There are 2 menus here, each of which serve different purposes. The way that the two menus are connected with a curve gives a dynamic feel that, in the end, fits the “speedy” motif. The “go” button next to the zipcode textbox is also sweet. However, every link of importance (even the dial-up and DSL buttons) is accessible.

Plus, implementing a character known because of his ridiculous speed both suits the service and is in good taste.


Honestly, there is some clutter here, which makes the webpage confusing. What I do like is the middle image that has a color that stands out from the other sections and is inviting in both expression and content. The shop@kodak logo and “Shop Worldwide” menu item are also in good taste.

There are actually more examples (from both the previous search and the museum) of good taste, but, after seeing all of the examples, I found that these are the examples that had the most impact to me.

In light of this knowledge, I drew up this prototype:


This is just an exploratory design.

One thing that I did not want to change is the color scheme because my website has a “story” in which you are traveling to the beach. (The pink is a prototype-exclusive that represents a border.) A cute logo with the website name and tagline grace the sky. Riding the water are the menu items. There are 3 menus: one orients the new browser, another lists the games (complete with their icons), and another list other links of interest. At the top-left corner of the water is the search bar, making a more organic transition between the two menus. Below that are the language flags. The sand has the content. After a banner (that actually only “advertises” my games*), there is a big image that gives big news. After that image is a list of news items that have a relevant icons. A “New!” image animates itself to news items that are up to 3-weeks-old. After the news are some small link-buttons.

There are actually a few changes from the concept image that I would change, but this design is far better.

  • = Though the inspiration of putting a banner was in reference to the old Nickelodeon website, the idea of self-advertising banners came from Earthbound Central.

…though, now that I think about that, Nickelodeon’s banners were usually self-advertising… the banners at the old Cartoon Network website were also normally self-advertising, too.

Good Taste in Websites

This is another post.

One of the ways that I want to mix the fun of yesterday with the potential today is giving my websites a “born in the 1990s” look.

Unfortunately, when others think of “1990s websites”, they come up with this:


…or this:


…or this:


Meanwhile, when I was researching the designs of old websites, I found the Web Design Museum, a website that showed different website designs over the years. While browsing there, I noticed that the websites which designs appealed to me were set in the 1998-2001 range.

Honestly, that makes sense.

  • 1998 was the year where I first used the Internet, while 2000 (probably not 2001) was the year where I got at-home Internet access.
  • At that time, the Internet already had some maturation time since web servers and browsers came up since 1990. There was a growth of not only the Internet’s capability but also in people’s knowledge on visual design in therms of the Internet.
  • “Multimedia” was a buzzword. No longer were you restricted to just text; computers can now give you not only pictures but also sounds and even videos… all interactively! (Fittingly, “interactive” was another buzzword.) Neither were hollow terms either; computers can now perform deeper teaching… or deeper fun!
  • Of course, 2D Will Never Die said in its original article that the Twin Towers incident in September 11, 2001 was a shock that shook up the zeitgeist. That seems to have ended the 1990s party.

In all this, I seem to have discovered the Internet right at “the sweet spot”: technology has matured to high capabilities, but the zeitgeist still kept its good taste until I have fully formed my first impressions and mental framework of what the Internet was.

Let me share with you a few examples of how the Internet loved good taste back then (and how that good taste is lost today).

My central example would the the Disney website. Back then, the website had this look:


Does this not inspire some exploration? Blue takes both center stage and the supporting crew in this layout. In fact, different shades of blue differentiate themselves without looking garish. The blue even seeps into the sitemap while giving a reason to the blue color; Disneyland Online (I am going to call the planet in the map that) is set in space! The white and yellow lettering help this motif. What really makes this website inviting is the Disneyland itself: right off the bat, the different lands represent different sections of the site, the lands using that cartoony feel that makes Disney recognizable and appealing. Add some interactivity and you get a neat framing device: your computer travels on the information super highway drove you to a land where Disney Magic manifests itself! This is an excellent use of online multimedia.

…bu suppose that your computer could not handle such magic? Fortunately, there is that link that lets you switch to the Lite website…


…which has this look, instead. This design, other than fitting a break from the framing device, is light on resources and light on colors. The sections are also uncluttered, leaving one news item per section. There are also quick links to prominent webpages, fitting the more straightforward construction. Despite this, Disney’s website manages to keep the appeal using images per each news item. The only flaw I see is that the Disney logo has a clashing background because of the stripes.

Now, how does the Disney website look around the time I am writing this?


That is painful and heavy. The website does not seem to be content with merely leading you to the content: instead, the website rushes towards shoving every type of content to you at once. While there is a form of grouping, the vertical format may fit smartphone browsers, and this may fit people who want to give the website only a cursory glance, the effect of this website is confusing. There is no framing device or even discrete organization; everything is crowding towards you. Worse, this would be heavy on low-strength devices, but there is no “Lite” version.

In fact, this summarizes a big shift in websites. They once tried to give you a distinctive and inviting look & feel, even using multimedia in the process, but they now try to shove everything to you at once, instead… substance over style. This progress breaks 3 rules on good taste:

  • Fun that is bright, colorful, energetic, and even goofy feels good.
  • Emphasize character, not monotony.
  • Emphasize style, not ballooning cost.

Websites on video games go even worse. Back then, they provided mini-sites that were not satisfied with merely describing the game. Instead, the mini-websites pulled you into the game’s world and let you play around there. From sample minigames to expansions of the game world, each mini-site gave that little extra something that rewarded you taking your time. At the end, the mini-site gave you a few downloadable “souveniers”… normally desktop wallpapers or messenger icons, but other toys were not out of the question.

My example here would be the old ChuChu Rocket! website:


From what you can see, the aesthetic of the game is integrated in this mini-site. In this case, hints provide the browser an extra touch.

Unfortunately, video games today normally get a different kind of online representation:


Where is the fun in this?

Worse, if you try to go to the Official Game Site, you end up here:


Some of these games do not even have description pages; they instead dump you into different websites where you can buy the game.

Thankfully, not all websites had abandoned good taste. Some old websites remain up, though they tend to be outside the United States of America. There are also new websites that carry on these traditions.

Later, I shall give more examples of good taste and how I intend to learn from their good taste in my own website designs.

I am very thankful that I learned C.

One of the reasons I have learned C was because of the job opportunities.

My prediction came true.

Recently, I went to an on-site programming screening. After I did a survey on my career background, I was given test…

…s. Though my specialty is on back-end programming (working with Delphi, Java, Python, and so on), the range of skills I could do had the supervisor, instead of choosing 1 test that best fits me, concluded that I may do every test I could. I think that I am allowed to say this because I am not mentioning the specific company or exercises, but one of the tests was back-end, another was networking & databases, and another was website scripts.

Unfortunately, after I left my attempt with coding Re-Hoard in JavaScript, I forgot JavaScript. There was also a problem with JQuery, a library that I did not know that I would need to learn. A few problems dealt with more abstract or hardware-related aspects of networking. However, the remaining problems involved the two computer languages that I had been learning: C and SQL. Sure, I made a mistake in an SQL problem by writing “IFNOTEXISTS” instead of “IF NOT EXISTS”, and the C exercises may have actually used C++ or, at least, a version of C that is later than the one used in the 1st edition of The C Programming Language (because the exercises used void), but the exercises not only made sense but sometimes became easy! I did not work on every C exercise, though; one required knowledge of a character set. Another I did half-done; that exercise required me to parse a stream and print a webpage. In that exercise, I did what I could, mostly focusing on the webpage, but that exercise seemed to be intermediate-level. Never the less, I was very thankful over and over because of my knowledge of C and SQL.

I got a “proper” interview scheduled.

I did not attend this blog recently because, other than health problems, I was busy learning Ruby. I wonder how far that language would take me.

I finished studying C.

When I worked with ChaiScript, I suspended learning C because I do not want to cause any learning conflict when using 2 programming languages at the same time. After I suspended development on Re-Hoard and Reckless Abandon, I went on learning Ruby because of something else. However, I decided to stop learning Ruby and finish going through the 1st edition of The C Programming Language. After all:

  • I should finish what I have started, especially at learning such an important language.
  • I effectively had about only 20 pages of book remaining.
  • I have been going job-hunting, but I did not put C in my résumé because I did not go through the whole book. Telling my potential employers “C is not in my résumé that I attached, but I am actually learning the language!” was ugly.
  • One of my alternative projects needs C anyways.

Given all this, I spent yesterday and today finishing my studies. Surprisingly, after I go through the definitions and lvalue stuff in the Appendix, most of the content is stuff I already know.

Finishing this book is a worthy accomplishment to me. Putting 1st edition of The C Programming Language on the “storage” bookshelf… storing the Gabite fake Pokémon card that was my bookmark… I feel that I gave them some sort of “honorable discharge”.


…that essential programming language…

…that knowledge is mine, now.

Shifting gears

I spent 2 years working on Re-Hoard (and Reckless Abandon) without any workable product.

Half of that was laziness and lack of direction. Half of that was struggling with inadequate programming languages.

While I get used to working with DevKitPro, what would I be actually producing in the meantime?

In light of these facts, I shall temporarily suspend work on Re-Hoard and Reckless Abandon.

Instead, I have something else coming up.

I have a Launchpad account.

What motivated me was the confirmation that Microsoft bought GitHub. Sure, GitHub needed the support because GitHub was losing money (though I wonder how much GitHub lost in 2017 and this year). I also do not have a problem with using proprietary software; I did develop on the pico-8. However, not only do I want to eventually be part of a completely free-and-open-source (“liberal”?) software ecosystem, but I am also worried at how Microsoft would affect GitHub… or use the data.

I picked launchpad because that was the only free-and-open-source code repository that supported translations, a feature that I hold in high importance.

I am not going to get rid of my GitHub account. I still depend on Rob Loach, whose software is still only on GitHub. Even if I do finish developing my ChaiLove games, I still want to keep track of others who do not want to move. Most importantly, I would like to wait and see what actually happens after Microsoft gets GitHub; my Launchpad account is just a backup plan. However, any new developments of mine would be in Launchpad.

I might put up a presence in other source code repositories (including GitLab) if there are enough people there.