siteIcon

Tech Novice Tools

News and Updates

burgerIcon

What's New(s) at TNT?

Some of our latest antics

2019: A big year for TNT!

We took our site from humble, non-responsive beginnings and have been re-engineering it to be its perky self whether on a desktop, tablet or mobile device! It's not perfect of course, but it's getting there. If you want to see just how far we have come, you simply have to look at our Past Blasts for a smidgen of compare and contrast.

You can imagine where 2020 is gonna take us!

Many of the headlines below mention 'sagas.' There are apps that are developed incrementally either for educational/traning purposes, or because they are large-enough that they have to be broken down into byte-sized pieces. Therefore, even if something is listed in a particular time-frame, it may have a 'stage' that is currently being addressed.

Big evolutionary steps may be showcased in current headlines if signifcant progress has been achieved.

Keep check'n those headlines!

Miscellaneous Headlines

2020

TNT Educational Philosophy April 2020

Some of the movies we esteem at TNT are Paycheck and iRobot because they showcase excellent examples of problem solving and detective work. We use principles from those movies as we develop new apps from old and generate understanding by examples and simple mimicry.

Read more about our approach.

Additional background:

Note: We used this very technique when we made the 'approach' link above. If you go to the 'About Us' page directly and scroll down to the bottom of the page, you will find a little heading with a triangle next to it that says 'TNT Educational Philosophy' Clicking on that heading will reveal the philosophy. Try it!

If instead, you hit the 'approach' link, it will take you directly to the philosophy discussion, and automatically open the drop-down 'detail' area, without you having to click on it! Wow! Magic!

In the lab, we'd show this behavior, and then ask students: how was it done? They in turn would look at the source code, look at the two different links and two different destinations and look for clues as to what was happening, and look for a way to describe it with accurate language.

When we created this wizardry, we didn't even remember how to pull off the recipe (gasp)! But we asked the right questions with the right language and the friendly people at StackOverflow provided enough information to help us engineer the desired behavior.

What were the magic Google search words we used? 'html5 open a details tag programatically'. Part of web magic is knowing how to ask the right questions with the right language.


Corona Pandemic Mid March - ? 2020

Sadly, production at the lab has been curtailed by quarantine and social distancing.

To keep our sense of humor at the lab, we thought we'd provide you some entertainment courtesy of Weird Al Yankovic. While you're at our menu page, also check out the Do-Ray-Mi spoof, 'Covid.'


Java Stuff! Late-March 2020

For years we have been doing Java coding with the Eclipse IDE. We've finally made some of our source code available in the form of Eclipse workspace downloads.

An Eclipse workspace is like a mini-civilization full of Java TNT utilities to make your life easier! Check out our Java Stuff area soon!


"'Simulitus, the Virus' Saga" Mid-March 2020

Does the 'social distancing' approach help when battling a virus that is spreading in a population?

We at TNT want to do our part and try to answer that question (and many others) with this simulation.


JSGS Design Challenges Mid-February 2020

Perhaps you have seen our JSGS Design Gallery. Here, our tireless TNT Staff have created interesting graphics using elements from our beloved JSGS Sandbox Library.

We figured you might like a challenge so we have provided some images for you to design. Give 'em a try!


Recursive Circles Mid-February 2020

Recursion isn't an easy subject, so it's nice when we can visualize it. That's the goal of this app inspired by the smart folks at Processing.org.


Binary Search Saga Mid-February 2020

With the advent of TNT Graphical Sorting, it was natural to see if we could search for information after sorting it.

Classically, a binary search is an efficient way of looking for stuff, after it's sorted. This app provides a visual for that process.


Color Sliders Saga Mid-February 2020

A brave student, H. Booker, inspired by our goings-on in class, decided to create his own 'Color Picker' program in JavaScript. In a very short amount of time, he created an app that allows a user to create a color using either RGB, HSB or HEX modes. A preview of the color is provided, along with compatible descriptions of the chosen color in all other modes.

This excellent design, based on great motivation and initiative, will serve as a platform for additional color-design functionality in the future!


Parametric/Polar Equations and Processing Mid-February 2020

Many library shapes in our TNT Grafix Library are generated using parametric equations or polar equations (cool!).

We have used Processing to allow users to toy with some of those shapes to see the effects of changing various components in the governing equations.

Monkey around with some of those designs by following the link. Be warned: some of the apps are hypnotic!


JSGS Grafix Library 2020 Late-January 2020

Using JavaScript to do graphics (and to learn programming) has been a hallmark of TNT for a loong time. Up until now, it's been housed in the past blasts area, but we wanted to upgrade it for this installation and include some integration of our JavaScript Grafix Sandbox (JSGS) with our new friend Processing.

Because there is so much to retrofit, it may be slow going getting it all upgraded, so keep checking in to see our progress.

Dig around in the sandbox and see what you uncover.


The Koch Snowflake Saga Late-January 2020

Well, this may be the only snow we see this winter, but we'll take it!

This app uses a recursive feedback loop to generate the famous Koch Snowflake, a fractal that generates much geometric interest.

Play with it here and see some flaky results.


The Mathematician's Mambo Late-January 2020

Put a mathematician on an electronic dance floor and throw in some randomness and geometry and what do you get?

You may be surprised. Boogie over there and find out!


Chaos Game Saga Late-January 2020

During a recent discussion about sorting algorithms putting random integers in order, some illustrious students were inquiring about how random numbers are generated by a computer, and what the 'seed' was in the Random class in Java.

This led to talk about how a function can be 'seeded' with a number that will generate a 'trajectory' of unexpected, 'random' values if 'feedback' is used to produce subsequent, future values.

This idea is related to Chaos Theory, and we have an older, ugly version of it in past blasts.

However, we felt it was time for a spiffy upgrade using Processing. Check it out as it 'evolves.'


Animated TNT JSGS Grafix Saga Mid-January 2020

Once they discovered Processing, students were no longer satisfied with making 'static' images with our beloved JSGS software library.

Our intention was to get that library renovated from 'past blasts' and integrated in our current TNT framework.

However, we got sidetracked and are trying to get the shapes wired up and compatible with Processing.

See what you think of our current blending of the JSGS library and Processing!


JS Processing Fractal Tree Saga Early-January 2020

We are starting the New Year with a bang by trying our hand at some recursive applications involving graphics.

A classic fractal (self-similar image) often featured is the always-popular 'fractal tree' where we generate a complicated shape from a single twig.

Along the way, we also learn about the translate and rotate functions in Processing that make this app more manageable.

We walk you, our beloved guest, through this 'forest' of trees, one step at a time.


PHP/JS Yahtzee Saga Early-January 2020

Happy New Year!

..and why wouldn't we celebrate, now that we can play Yahtzee online?

The saga began when 2 seniors, A. Fandrich and C. Gilmore teamed up and made a JavaScript Yahtzee game on their own. You can play their most recent version here at our sister site: tnt-sandbox.com.

This current saga attempts to coax the app to greater levels of responsiveness and seeks to incorporate both JavaScript and PHP in the game logic.


2019

JS Recursive Maze Solution Saga Late-December 2019

Recursion is not an easy computer science topic to tackle.

It helps if you can visualize the process.

That's where this saga comes in. We found a pre-existing maze generation/solution app on the internet and then crafted it to fit into our ecosystem at TNT. In this way, we are exhibiting a 'reverse engineering' technique with this saga: We took a good design and then customized it for our purposes.

A great movie that exhibits this working-backwards mentality is Paycheck, which premired in 2003. Check it out when you need a break from coding!

Explore this saga at Maze Solution Saga and see some ah-maze-ing development!


JS Graphical Sorting Saga Mid-December 2019

Students often get 'out of sorts' dealing with sorting algorithms in computer science.

That's why we are creating an app that allows us to visualize the process.

We hope to add various sorting algorithms regularly to compare and contrast them and how they interact with various data sets. On to the Graphical Sorting Saga and see some stars!


Marco Polo App Saga Mid-December 2019

Students are learning about the server-side language PHP.

Like the explorer Marco Polo from ages back, they are experiencing the thrill of a new language that can dynamically generate HTML on the fly.

Who wouldn't want to learn this! Trace Marco Polo's Saga now!


Spiral Sentence PHP App - Stage1 Late November 2019

Another zany text manipulation app, this time with PHP.

Utilizing the power of 2-Dimensional arrays, regular expressions and crafty CSS we take a normal 'message' and reformat it as a spiral sentence.

What's that, you ask?!? Just check it out!


Minesweeper JS App - Stage1 Late November 2019

Using some CSS trickery, this version recognizes whether or not there is a mouse-type pointing device attached to the platform. If so, play continues as before. If not, the user can select how a 'tap' responds by using a radio-button selection mechanism.

It's a little clunky, but at least now we can play Minesweeper on our mobile devices!


Minesweeper JS App - Stage0 Late November 2019

A junior in our lab this year, K. Dance coded this classic game in JavaScript in only a couple of hours!

It's not responsive yet (you can't play it correctly on a device without a mouse (no right mouse click), but you can enjoy it on a desktop or a device with a left-right mouse click capability.

Future installments will be responsive!


Hailstone Sequence Grapher Late November 2019

This time, we are going to hail in a handbasket by exploring the Collatz problem aka, the Hailstone problem.

It's a problem because no one has ever proved that every initial input leads to a termination of what could be an infinite sequence.

Check it out: you can see a graph of the sequence and everything. The graph has its ups and downs for sure!

Note: For comparison purposes, check out a previous version of Hailstone from Past Blasts. This current version is an improvement in that it is responsive, but it also adds some extras like a graph grid with scales and the ability to copy the image and the data to the clipboard.


ReX: PHP Regular Expressions Tester Mid-November 2019

Generally, testing user-input via regular expressions is at best, excruciating.

ReX is an app that makes it less painful in that you can test your regular expressions before using them 'in the wild'.

This is so important, because if you don't use them every stinking day, the probability of writing regular expressions reliably, is almost zero.

The app includes some reference material and some 'cheat sheet' examples for emergencies.


Crummy Buttons Cereal Prize Simulation Mid-November 2019

Imagine a cereal company, Crummy Buttons, that offers a collection of prizes to its consumers. Each box has a random prize inside, with all prizes (presumably) equally-likely to be won.

How many boxes of cereal would you have to buy to obtain all prizes in the collection?

Crummy Buttons is a simulation written in PHP that attempts to answer that question.


Pet Rock Mid-November 2019

Get ready for a 'cookie encounter' with this interactive app. Pet Rock features intelligent form filtering (just try to put in a goofy name) as well as 'persistent memory' via cookies: It will remember your name for as long as you dictate!

Random dialog is provided courtesy of an event timer, and best of all: you can see how it was all done by exploring the source code. (To see the dialog, be sure to hang out on the page for awhile.)

You can learn alot from a dumb rock!

Learn more about cookies!


SCT Quizzer Mid-November 2019

Similar to SohCahToa Solver, SCT Quizzer gets our guests more involved by randomly providing some 'givens' that may be used to solve the rest of the triangle.

Solutions are still provided, but this time, you can see just how well you know SohCahToa, Pythagorean Theorem and Law of Cosines by using them in the wild.


Molecool Wobble Mid-November 2019

We have been using the 'Molecool' as a way of modeling momentum, and movements of Narnia creatures.

This app shows what happens when a single Molecool's path is overlayed with a sinusoidal wave that causes its current direction to oscillate from side to side.

The 'cool' may be customized, and several parameters may be adjusted for unexpected results. Wobble, baby, wobble!


SohCahToa Solver - Stage 1 Early November 2019

Students like SohCahToa so much we decided to dedicate an app to it!

SohCahToa Solver - Stage 1 generates a random right triangle and shows the entire solution to it with the click of a button.

Use it to check your right-triangle analysis prowess.


Naria Simulation Upgrade Early November 2019

Earlier versions of this simulation had 'the Witch' often getting stuck between Statues and the canvas boundaries.

Stage 4 addressed these concerns and added a way for guests to slow the action by adjusting the movie frame rate as the simulation is running.

Stage 5 provided additional logic that dealt with problems when Aslan freed Statues: once freed, they were often enmeshed with Aslan and took awhile to get untangled.

Stage 6 added intentional logic to Aslan: if there are Statues to be freed, het gets angry and turns red; then he finds the closest one, navigates to it, and frees it.


Consolidating Molecools Python3 Movie Early November 2019

Exploration with Processing and our newly-formed Molecool class in JavaScript and Java led us to develop similar code in Python3.

Check out the latest movie where 'cools' overcome crowded conditions by consolidating themselves based on hue.


Launching: Narnia Saga Late October 2019

What happens when you put Aslan, the White Witch and Peter, Lucy, Edmund and Susan in a JS Processing environment?

Find out in this simulation, where the various players interact as inspired by events in CS Lewis' tale: The Lion, the Witch, and the Wardrobe.


Launching: Conway's Gave of Life Saga Late October 2019

Thanks to the good folks at Processing, we have brought in one of our favorite simulations: Conway's Game of Life, written in JavaScript, utilizing the processing framework.

Because this is an extensive project, we have chosen to show it in installments, so an intrepid guest (you perhaps?) can trace the evolution as it grows in functionality as well as in responsiveness.


Attention iPhone and iPad Users:
A note about the 'Momentum' apps..., Late October 2019

If you try to run the Momentum apps mentioned below on an iPhone, be aware that Safari (for whatever reason, we're exploring the issue) does not let you interact with the app through taps on the canvas. The animation works, but you just can't influence it. The same thing happens with the Firefox app.

However, if you run those apps in Chrome, they work as they would on a desktop.

Inexplicably, to date we have not been able to get either of them to work with any of the browsers when using an iPad.

We regret the inconvenience and will see if we can find broader solutions to the problem. When we do, we will let you know.


Momentum Comet Tails JS Processing App, October 2019

Using classes, setters and arrays allows your design to take on mammoth flexibility. By changing a few simple variables, we took 'Momentum Madness' and made a cool screen saver showing momentum 'comet' paths.

Check it out: Momentum Comet Tails.


Momentum Madness JS Processing App, October 2019

Learning about JavaScript classes can be daunting, so we wrote an example app which uses two classes: 'Grid' and 'Molecool' to enact a momentum simulation with random elastic 'Molecools.'

Careful study of this source code might shed light on how you could write similar code in Python3 or Java.

Catch some class momentum here!


Escape Room JS App: More on Sessions, October 2019

Previous news entries below have talked about sessions, Jedis and locking apps down with password protection, such as Rock, Paper, Scissors.

This app, Escape Room, is another app that is 'locked down' from casual users, even Jedis! unless you have a password.

To date, no determined guest has gotten into a locked app without obtaining Jedi status and the app-specific password.

Escape Room is no exception, but at least there is a hint about the password if you can find it!


Movie Clip Additions, October 2019

If you have not been there recently, we have added many more inspirational(?) movie clips that, at times, are loosely related to apps at TNT.

There is a link on the resources page (under that informational drop-down area) that takes you to those clips.

Here's the movie clip index!


Jedi, Meet the Portal, October 2019

Some clever students discovered the Jedi password by browsing the CSS/local JavaScript files for styling which somewhat gave the password away with code designed to give a hint about the dynamic password engineered by the magnanimous developer.

Pays off, reading the instructions does.

That developer still wanted some apps to be restricted so he developed another layer of security which requires a Jedi to know additional passwords for especially-restricted apps.

That security is found at the Portal app which you can't(???!!?!) even approach unless you are a Jedi.

Such is the world of a Jedi and a finicky developer.


Crazy Quilt of Breathing Circles, Python Movie and source code October 2019

Previously we had created a 'Breathing Circles' app in Python3.

This variation tiles the breathing circles into a grid, making a 'Crazy Quilt' of oscillating circles! Source code is included.

On the 'Breathing Circles' page we also included a link to a recent challenge regarding an orbiting breathing circle.


Special Powers PHP App, October 2019

Brilliant success in algebra requires mathletes to recognize 'special powers' in the course of their work. Special Powers creates a table of integer powers up to and including a 'maximum value.'

This app was an upgrade from one created in 2017(ish) and you must agree that it's quite an improvement, especially from a responsive perspective.

Note: Because of the size of the table for larger entries, this app may require horizontal scrolling to see all the results.


PHP Jedi Session Testing, September 2019

Related to the previous news entry, we wanted a session that gave 'jedi' powers to a user. However, we wanted that ability to be granted if and only if the guest had a valid password.

The Jedi App page and the Rock, Paper, Scissors JS app demonstrate the usage of this functionality.

As a jedi, the user is also a 'general' user and as such, other apps are accessible without the previous speed-bumps.

As a signal our guest is a 'jedi,' the masthead turns pale green and the TNT letters turn orange as they do for 'general' session users. Once the jedi session is terminated, the masthead goes back to traditional colors.


PHP General Session Testing and Entry Ramp App(s), September 2019

We wanted a way to control 'traffic' at TNT by guiding guests in paths we desire by using PHP session variables. By creating a 'general session,' a TNT guest can get access to certain apps that otherwise would not load.

The Entry Ramp page and the Testing Sessions JS app demonstrate the usage of sessions.

Note that sessions are closed when the browser is closed. Also note that when a General Session is created, the TNT letters in the masthead change color!

In the spirit of not 'hacking off' our guests: if a guest was detoured from using an app until a general session was activated, a link to the destination app is provided to that app after a general session is created.

This nifty functionality was made possible by $_GET in PHP with link manipulation, as well as 'hidden fields' in the General Session form!


JS Rock, Paper, Scissors App, September 2019

Classic game played with the computer.


JS Password Peek-A-Boo App, September 2019

Hide/show passwords with this app and also replace spaces with dashes.


Sinusoid Animation App, September 2019

Originally written in Python3 and put in TNT as a demo this animation was just too cool not to convert to JavaScript Processing. So we did. You can test it out here.

Having the two here at TNT means you can compare and contrast Python3 code with JavaScript code.


Simple Radical Form (SRF) PHP App Upgrade, September 2019

This SRF PHP app isn't new to TNT (it's in the past blast), but we made it wildly more responsive and included some new number formatting with comma thousands separators.

It also included an upgrade of the PHP Radical class, and we included a peek at that class in case you are curious about OOP in PHP.


DOM Targeting App, September 2019

The 'Document Object Model' in HTML5 and JavaScript allows you to grab elements on a page by tag name, class, id, etc. One you have them in your hot little hand, you can influence them via code, live on the page. See it in action at Home.

Can you figure out the algorithm that's being used to monkey with the home page's content?

Some alert students have noticed that the encryption algorithm does not seem to be uniformly applied. The exceptions are caused by sloppy coding: We targeted paragraphs, links and headings...if there were any other nested elements within those elements, like abbr, em, etc...Those tag names were garbled too.

We'll get that fixed...someday....


JS Shyft App with Python3 and Java source code references, September 2019

It's good to be able to compare features of languages. Not only do we have a nice reversible encryption app with Shyft, we also show how it was coded with both Python3 and Java.


JS Jumbalaya App using a Python3 source code reference, September 2019

We are finding Python3 to be an easier coding environment as we continue to 'wrap' our head around it!

Jumbalaya was first written in Python3 and then translated in JavaScript where it now resides in our archive.

With gratitude to Python3 and Eclipse, we also included Jumbalaya Python3 Source Code so you can compare the two languages.


Python-Processing Movie Clips, September 2019

Although we've coded several Python-Processing apps, we've not yet found a good way to integrate the live code into our site.

However, we've create some 'demo reels' that show the apps in progress, and we've even attached each app's source code so you can see how we did what we did.

Here's the Python-Processing Demo index!

Grab some popcorn and enjoy!


Movie Clips, Mid-August 2019

We often use media clips to inspire our work.

There is a link on the resources page (under that informational drop-down area) that takes you to those clips.

Here's the movie clip index!

Grab some popcorn and enjoy!


Navigation Features, August 2019

When you select a given app from a development area such as JavaScript, PHP or Processing, it's descriptive icon appears in a 'hero area' affiliated with the development language.

This helps ground you in 'where you are' but that icon also is a hyperlink that takes you back to the list of apps from that development platform.

This way, you don't have to use the pull-down menu to get back to that cluster of apps.


Summer Upgrades, July-August 2019

October 2018 was our first aggressive attempt to make TNT 'responsive,' meaning, it looks good and is fully functional on multiple platforms (mobile and web) with all device sizes and orientations.

We've learned more since then and are weaving work from our classes over the last year into the fabric of TNT.

Previous designs may be viewed at Past Blasts.


Welcome, Processing!, June 2019

It's been around for awhile, but we just learned about the platform Processing and we are using it to develop apps in JavaScript, Python and Java to visualize coding designs using animation and graphics.

Check out our designs at Processing Apps


2018

TNT and RWD and Mobile Users, November 2018

Our first 'go' at TNT was to get as many apps online as we could. That was a beast of a job in itself! We had over 25 years of apps to sort through and configure! Our primary focus was on desktop platforms, with mobile being an after-thought (sort of).

These days, the push has been for all sites to be 'responsive', meaning they look good and consistent across all browsers and all devices: desktop, tablet, smart phone, etc. That's a tall order. Not only that: current practice encourages designers to start with a 'mobile-first' mentality and then scale up! That's backwards from what we did initially.

Previous iterations of TNT were quasi-responsive. In this new reboot, we are attempting to make sure that every app looks great no matter where it finds itself. You can see whether or not we are meeting that goal by testing various browsers, platforms, window/device sizes and orientations.

A note to mobile users: So far in this adventure we have found that when we make changes to the styles of a page, mobile browsers, depending on cache memory, do not always load the proper designs, even when you 'refresh.' If you find a design looks 'wonky'...well, it could be the novice factor! However, before you throw too many stones at us, try clearing cache in your mobile browser. Then, it may look as it should.