Nonsense Waffle is a word game that I started building as a personal project in February of 2015 using the new real-time Node.js based framework called Meteor.
In this game, players compete by compiling randomly generated words to create funny phrases then try to sell their ideas in the most humorous ways possible, in sort of an advanced like button and popularity challenge with a lot of role-playing elements that’s all based on silly nonsense.
The game is in its infancy right now, but I do have a working demo up and running at nonsense-waffle.meteor.com, with the core functionality to draw word cards and add them together to create what I’m calling a “waffle”. It also has a tab to view those waffles. The admin tab will eventually be only available to game administrators (myself), where I can add new words to the collection or get a JSON backup of the MongoDB collections. If I continue with this project I will be adding user accounts, experience points, searches, challenges, categories, tags, Facebook and g+ integration, animations, a tutorial, chat rooms and much more.
If you open the application on two different devices or tabs, you can witness one of the wonders of the Meteor platform as everything magically updates across the different instances without so much as coding an AJAX call. I can understand why people are saying Meteor is the future of web development.
The first version of this game I built in 2011 using Adobe Flash Builder/Flex with a Python backend running on Google App Engine. You can view a disorganized dump of my workspace from that project in this github repository: github.com/kalinr/Wacky-Words-Facebook-MMO. Back then I was calling this project Wacky Words, but I’m relatively sure now that I’m going to stick with calling it Nonsense Waffle because the game is all about nonsense and waffles are delicious.
Actually, that’s sort of a lie. After renaming this game, I looked up “waffle” and found that the British definition is “to speak or write, especially at great length, without saying anything important or useful.” That is totally the embodiment of this game!
The application was mostly complete when I began but I helped solve many bugs and added a few minor features that were necessary for production release. We worked with the Samsung team in California through daily conference calls and instant messengers. In February 2015, Samsung decided to move the whole team to California. Since I didn’t want to leave Seattle I had to quit after just two months, despite how much I enjoyed working with this team.
Milk Music web player was launched in March 2015. You can use the player at milk.samsung.com. You will need to sign up for a free Samsung account.
Please forgive the ugly nature of this animation. I am not a designer so I decided not to spend time making it look good. I have a lot of experience matching the designs that other people come up with, but designing myself is not my strong-suit.
I made a couple of my own CSS animations, but many of them came from animate.css, though I did change the ‘tada’ animation so that it utilizes Sass preprocessing to handle vendor prefixes a little better. I didn’t bother making this change to all the animations, since I already learned the things I was shooting for.
Frustratingly, Sass does not support interpolation on @import directives. Otherwise I would have set it up to iterate through a list of only the animations we wanted so we could set up all the vendor prefixes for them in one loop. We could have a big Sass file with tons of animations but the final CSS file would only contain the ones we actually want. Instead, I will need to use a preprocessor mixin like Bourbon or Compass if I ever use this in the real world.
In October and November of 2014, I had some time to work on my own personal projects, so I returned to my WordPress plugin Kalin’s PDF Creation Station. You can see the older version in an older post. I have rewritten the client side to use Angular.js and Bootstrap, almost entirely eliminating jQuery from the equation, and added a couple new features such as widget and custom menu support, a new sorting and pagination system for the lists of available posts and generated files, and the ability to generate .txt and .html files.
From August 2011 to July 2014 I worked for Accretive Technology Group, maintaining their flagship product, a live streaming adult entertainment platform, duplicated over 1500+ websites. I started as a Flash ActionScript developer, maintaining and adding features to their performer client, of which I don’t have any screenshots, as well as the user client shown in this first image.
You can also see the user client by going to Streamate.com in a desktop browser and clicking on any performer. Warning: this is an NSFW site. The screenshots on this page are from the non-nude section.
Within the first year I worked with one other developer to convert our Flash user client into a mobile client for use on the few Android phones that supported Flash. Unfortunately I don’t have one of those phones so I don’t have a screenshot of that either.
Shortly after we finished this we began converting it for use in a couple different parts of our TV station.
After we finished the TV station, we moved on to building a redesigned Streamate. I took charge of converting the Flash client to the new design, then moved on to random tasks throughout the refactoring of our code.
This is a landing page I built with JQuery and CSS for Big Fish Games.
Here’s a link to a landing page I built with JQuery and CSS for Big Fish Games. Click on the large buttons to select a game to load over the video in the main Flash div. The list of related games at the bottom as well as the ‘try it’ link will update accordingly. I used JQuery’s animation function for the opening drawer, browser scrolling, and the animated glow.
Below is one of the many Flash banner ads I built using the AS2 GreenSock tweening engine that linked to this landing page.
This WordPress plugin allows you to build highly customizable PDF documents from any combination of pages and posts, or add a link to any post to download a PDF of that post.
This WordPress plugin allows you to build highly customizable PDF documents from any combination of pages and posts, or add a link to any post to download a PDF of that post. The UI is written in JQuery, the backend uses the open-source PHP library, TCPDF, for PDF generation. For source code, more info or screenshots, visit the PDF Creation Station download page at WordPress.org. You can also search for it in your WordPress admin’s plugin repository.
This image is of the settings page that allows you to customize the PDF and the link that is automatically displayed on every post.
Not pictured is the Tool page, with many similar options, that allows you to compile numerous different pages and posts into a single, highly customized PDF archive. Also not shown is the HTML insert fields and the list of 20 shortcodes you can use to insert headers or other post data.
This WordPress plugin creates a shortcode, PHP snippet, or widget for placing highly customizable lists of posts, pages, or attachments into your post content or theme, built in PHP and JQuery.
This WordPress plugin creates a shortcode, PHP snippet, or widget for placing highly customizable lists of posts, pages, or attachments into your post content or theme, built in PHP and JQuery. To look at the source code or get more information, go to the download page on WordPress.org, or search for it in your WordPress admin’s plugin repository.
Here’s another example, using the shortcode feature instead of a widget. This is a dropdown list of every portfolio entry on this site, organized alphabetically by title instead of chronologically. You could even get crazy if you wanted to and show the post excerpt whenever an item is selected.
Another example of this plugin exists on every portfolio entry, at the top, where it displays “year”, “technologies” and “involvement”. These three items are custom fields applied to the posts. Technically this isn’t a list. This is an example of Post List set to “none” mode, where all the internal shortcodes refer to the current post instead of the items in the list.
And here’s a screenshot of the main shortcode creation page:
Here’s another example, a CSS based table that displays all posts from the “Flash” category in a random order.
This is a simple WordPress Plugin written with PHP and JQuery that adds a convenient little box to your page/post edit screen that contains a list of all pages, posts, tags, categories and links, with edit buttons for each and a link to the actual live page for easy copying and pasting.
This is a simple WordPress Plugin written with PHP and JQuery that adds a convenient little box to your page/post edit screen that contains a list of all pages, posts, tags, categories and links, with edit buttons for each and a link to the actual live page for easy copying and pasting (Google Chrome and Safari users can even drag and drop). This plugin contains a self-caching feature so that the HTML code does not need to be recompiled every time the box is displayed, making it surprisingly light-weight.
This is a little app built with JQuery and Python on the Google App Engine, designed to hold values that could be loaded when needed from Flash banner ads.
This is a little app to hold values that could be loaded when needed from Flash banner ads. I worked with one other developer, but wrote most of the code, using Python and JQuery, with Google App Engine for the backend.
The idea is to enter start and end dates for your campaigns, so that your banners can know what information to display, reducing the need for re-building every time you need to update a promotional period or something. Also included were the custom fields, where you could update any kind of information on the fly. I also built AS2 and AS3 Flash APIs that could be used to load the information. The video here is of the interface where you could enter all the values.