Monday, November 26, 2018

Wernerware Labs Week!

I just got back from a trip to Bulgaria and Romania, and instead of returning to work right away, I decided to take another week off to experiment with some ideas I've been thinking of for a while.  Just before the trip, I attended the No Fluff Just Stuff conference, and it got me excited to learn more about Spring Boot!  I want to try and use Spring Boot with AWS SAM CLI to tinker with an app idea I've had for a while about taking pictures of receipts and gathering this and other types of written information via your smartphone's camera.

Saturday, July 7, 2018

Obfuscation and the Puzzles of De-obfuscation

Wernerware has published another video!  This time using what we learned about decompilation to understand what obfuscators like ProGuard really do.

I decided to experiment with Amazon Polly for the audio in this tutorial.  I think it turned out well.

Video: https://youtu.be/55xRZlKFBW4
Notes: https://github.com/wernerware/video-notes/tree/master/obfuscation

Sunday, June 17, 2018

Fernflower Decompiler For Java

Wernerware videos are going to be a regular thing coming soon, starting with a quick summary of the usage of a tool that I have used recently in my professional life: Fernflower, a decompiler for java.  Sometimes you don't get the source for one of your dependencies, even if it's within the same organization.  Maybe you lost it somehow, or someone went on vacation or left the company, or any number of scenarios that might leave you with an artifact but no source.

Fernflower claims to be the "first actually working analytical decompiler for Java."  Seeing as this is not the only tool out there, this language seems slightly on the sassy side, but who am I to judge?  It's clear that decompilation is at least partially an art in addition to being an objectively useful tool, so there's likely ample room for opinion.  Anyway, it worked for me when I needed it.

The video:

IntelliJ Community open source: https://github.com/JetBrains/intellij-community

 

Sunday, October 2, 2016

Still at it

My apps business is pretty much officially done soon because the ad api on most of my apps is no longer supported.  That and the fact that I haven't updated those apps in years now.  I am nonetheless still writing software, just mostly for the government these days, along with some very small projects for fun on the side.  For example:


You'll notice the packages mention fractals, of which there are a few in there, but lately I've been using this project to get into some neural network stuff.  I devised a few programs to train neural networks on some basic geometrical problems.  

The first problem I devised involved trying to see if a simple neural network could tell the difference between a set of circles where there was room for one more and a set where there was not.  I could not get it to train reliably, which I found interesting.

Just to make sure I was doing anything right at all, I created a program to train a neural network to tell me if two circles overlap.  That program had no trouble creating a very high degree of confidence after a dozen rounds or so.  Given this result, I'm left to consider what aspects of the first problem lend themselves less to the particular solution I tried.

Anyway, that's the news from lake Wobegon.

Saturday, September 27, 2014

Simulations?

It's been an awfully long time since I last posted.  I guess technically I graduated from my Master's program a year ago.  I've been working in software development since then.  I'm very happy with the way my career seems to be shaping up, but some small part of me wants to be working full time on crazy little apps.  My job right now does actually revolve around mobile apps, which is nice since I couldn't ask for better experience.

I released an app recently where you drag your finger along the screen to make funny sounds using a wave form fed into the audio systems of the Android device through a raw binary stream.  It's fun, and was quick to make.  I want to do little apps like that in my spare time.

One thing that has captivated me a bit lately is the idea of writing simulations in java.  I watched an evolutionary psychology course on youtube recently and the professor described an exercise where scientists tested multiple strategies for the prisoner's dilemma using a computer simulation.  That really caught my interest.  I'm not sure that I'll do any formal research on it, but I'm definitely capable of writing software that simulates things like that, so I may tinker with some ideas just for fun.

Monday, December 31, 2012

Update

I always get less done than I hope. I took a week off from my co-op at Paychex, went down to visit my family in PA, proceeded to gain five pounds, and basically solved two issues: frame buffer objects and touch interaction, the latter only with the help of my brother.  It's progress though.  Slow and steady wins the race!

Sunday, December 2, 2012

Status Update

So, I've had an opportunity to work on Finger Fireworks again this week end.  I guess that is one benefit to having a job; no reason to worry about your work on weekends.  I met with a friend who will hopefully be helping me with some of the UI stuff, so that I can concentrate more on the graphics stuff.

One notable improvement I have made recently is to load vertex data less frequently, as I found that I was loading the same vertex data repeatedly for every frame for each billboard object.  It actually does seem faster, but that could just be some form of observational bias.

I've also made the physics engine move and control other aspects of the particles more effectively and interestingly.  The different particles now have streams and are colored differently from one another.  I have included screenshots below: