Lego Build! Darth Vader

I made a decision this year, that each year I’ll do at least one extravagant Lego Build. Its my way of affirming:

  • My inner child matters
  • I am affluent and I can afford it

Turns out, the universe was in sync – for Christmas, I received an unasked-for Lego Darth Vader to build. 800 pieces! I set out to build it, but of course I had to timelapse it.

There were 5 stages, and I recorded all of them:

  • #1 excluded because all you see is my back.
  • #2 Nest camera, facing me and the model. I really liked the idea, so I upgraded …
  • #3 GoPro Timelapse at 0.5sec, 1080P. I felt my hand kinda got in the way, so I changed the angle
  • #4 GoPro Timelapse at 0.5sec, 1080P. It felt too slow, so I changed again
  • #5 GoPro TImelapse at 1sec, 4K.

I put them together in this video, which I’ve put on Youtube because that’s where everything else video goes. I’m thinking, the best angle and subject was #1 – you don’t see all the parts, you see the human and the model. But its not the best camera.

I think the next build, I’ll stick the GoPro where its Model + Human centered, and parts not necessarily in sight.

What I loved most about building it:

  • Wondering how the pieces were going to be used
  • Sorting and organizing the pieces
  • Admiring the novel ways they used pieces that I could not predict

Stuff not so great: Seemed there were a bunch of very custom pieces. Meh.

Post Election Jitters

Currently at the 8th? day after the 2020 election. Lots of half thoughts spinning around.

Amongst my more ___ friends/coworkers/community is a sense of relief, “we are back to sanity now!”.

Except that.. there are so many people who did vote the other way. Why was that? What is in their belief system? What are their needs? How are you going to reach out and.. i don’t even know what? How can we live together? What do we believe in common? Where is the divisiveness coming from?

Amongst my more ___ friends/coworkers/community is a sense of “No worries. He will outsmart them after all. He had this planned. He’s 4 steps ahead of the game”.

I personally hope this is not true, because that would make him or his handlers more competent (than I thought). Also, I like my democracy, and I perceive him (his handlers) doing a straight up power grab.

Also, I think this comes down to a more fundamental thing that’s going on, that I can sometimes taste.

One viewpoint: Everything has been fine, Everything used to be good, we need to stick with those ways / work hard / keep your head down / authority is kind and knows what its doing / that’s the way to be / why do these people want to to destroy our country.

Other viewpoint: Things have been broken for a while, please can we fix it, the world is changing and needs different answers than what it has been, please can we fix it, look at all these other systems that could be better, please let us make it better for all. I do fall into this viewpoint; i do believe that automation and climate change are going to make fundamental shifts in so many things.

I think the conspiracy theory stuff comes from something like: Life is already so damned hard, its too hard to take in all the additional brokenness especially when it runs contrary to that-which-we-base-our-security-on, so .. double down, believe the weirdest angle to hang on to sense of reality.

A sad thing (from my viewpoint, there’s always a viewpoint) is that these folks, its like being in an abusive relationship, where you believe the abuser’s viewpoint on things. And there’s enough “others” to shift the blame to, that they get away with it.

So, yeah. This is what is stirring in my heart. I don’t think my little blog post will change anything, but at least I could get the words out. I want to love on my abused community. My heart sinks with the gravity of the stuff coming down the road that it doesn’t feel we are ready for. Covid was wake-up call. I wish we could figure out a way to do better safety nets for all because we’re going to need them, but somehow, that voice is lost on both sides, mostly because its not short term $$$.

Oh, and there’s the other problem that news is now an industry that requires eyeballs, which changes it from “level headed” to “appeal to emotion” the best two of which are anger and fear. I even helped them with that.. one of my work gigs was in the news industry. I got paid and it was a fun little project dealing with scaling elastic beanstalk stuff.

CodeMash 2018

imageWinding down from two days of fun.. putting thoughts in one spot so I can find them later.    In general, to those who are not me (and are developer-types) I’d say:  Codemash is a GREAT conference, you should attend it at least once if nothing else just to see how they run things and optimize things.

How have conference contents changed?

The following is compared to my previous experiences at CodePaLousa and CodeStock – I’m thinking this is “industry and conference changes” more than “different conferences with different focuses”.

Themes that stood out  

Blockchain and Machine Learning were big.     As was Devops, as in the definition “developers doing ops straight to production” / seamless deployments / putting all the things in the pipeline.    

Blockchain was focused more on the math, the intro to the science, and one talk was about .. well, i didn’t go to it, but i’m going to guess it was how blockchain = open source trustable democracy.   There was even one ICO’ed coin vendor present.  They probably gave all the blockchain talks.

Themes that seemed absent

maybe its compared to other conferences, but a lot less of {insert random javascript framework here}, and a lot less of {why agile/scrum etc is good} (I think most folks agree that its better than waterfall).

About the same:

There were still several “Designer and Developers mixing” things, and several UX / UI things present as well.    Soft skills – empathy, leadership, building trust, etc – all present.

Here’s the session list in case you might have a different take: http://www.codemash.org/schedule/   (only valid until next year).

Oh, and they used an excellent conference app – “Attendee Hub”.   Highly Recommend.

If they follow convention, they should put speaker deck stuff here:  https://github.com/TechConf/CodeMash2018 

What did I get out of things? 

This is where this post becomes basically for future me – but hey, its a nice checklist to see if any of these are things you’d want to know about.   I’m going session by session, trying to grab people information and slide deck information for those that I’d want to refer to later.    

AWS Security Essentials

I only crashed the end of this one, but the guy was running through a lot of tools and things to make life easier.    Have not found his slide deck.  Some examples were things like setting up audits for various things (root account login, new user created), and rules like (too many decrypts = auto invalidate key).   @abedra

Getting Started With Deep Learning

I finally understood the reasons for h(X) and bias and a fitness function, and backpropogation (instead of genetic algorithms), and why calculus (and not any old fit function).    Excellent presentation. @sethjuarez.  Asked him for slide deck.  https://github.com/sethjuarez/Digitz/tree/master/presentation  Right at the end got into non-deep vs deep and a lightbulb happened for me.   He said he was going to be doing a channel 9 on this, we were his guinea pigs.

Avoiding Microservice Megadisasters

a) immuntability = key.  Your service’s SLA matters, even if you call others .. can get copies of data as long as you don’t change them.  This, btw, is the same idea in Rust’s concurrency model – you can “borrow” ownership, only the owner can mutate.   So, yes by all means do a microservice that does one thing well, but everybody should cache rather than call and everybody knows who the single point of authority is for some data.    Also, “Order” == too generic, your service might deal with a Sales Order vs a Customer Order vs .. different shapes of models.

b) reiterated that if you have two things which are 99.99% available, then together they are way less than that available.   And localhost is not a valid network layer testing option in microservices world.

Machine Learning at Scale

Once again, I crashed the end of this one and wished I had been there.  Basically, “here’s all the nouns”.   Stuff like “Microsoft Cognitive Toolkit”, “Caffe2”, “Tensorflow”, “Chainer”, “MxNet”, “Torch” (those were all on one slide), and  some edge things – CoreML (apple), Tensorflow Lite, Caffe2Go.  Definitely want to find the slide deck for this because nouns.  @mwinkle.

Project Vienna

I didn’t stay for the full thing, but it gave me the overview of Azure “experimentation account” (building models, workspaces, projects) vs “model management” vs “deployment”.    Inexpensive, mostly just pay for bits to store data.  @jennifermarsman  .. hey she’s giving the keynote at CodePaLousa 2018!

Guy Royce – D&D meets Machine Learning

That’s not the name of it exactly, but hey, its Guy, and Guy does D&D really really well.  Excellent overview of the kinds of questions that ML can solve, put in a fun digestible form.  He’s one of the speakers who it doesn’t matter what they’re doing, I know it will be entertaining (for me).

What I did find out is that Guy is working for a company called Nexosis  who we had just chatted with in the hallway.   Its like this:  Software is eating the world, ML is eating Software, so … enable devs to get into ML easier.  Its by the guys who wrote a counterstrike cheater detector.  

Prod Deployments Easiest part of the day

This guy works for Kroger, and .. Kroger is way cooler on the tech and process side than I knew.   We talked about blue/green and red/black / canary deployments.. we talked about backward compatible state migrations allowing db changes to go in a day early.   we talked about committing dead code, feature toggles, that kind of thing.    The next day, for breakfast, the speaker, @StephenShary happened to sit with us, and there was an awesome conversation that happened.   Very good.

Digging into Devops with Terraform

I went to another talk, left, crashed this one and wished I had started here.   @dustyburwell.  Slides for digging out all the nouns: https://github.com/dustyburwell/DevopsWithTerraform.   We did cover lifecycle strategy create before destroy and how that helps with blue/green deployments (assuming you package down to an AMI, which is apparently what Netflix does)

Public Speaking Without Barfing on your Shoes

Especially relevant as we’re going to be submitting talks for conferences pretty soon as part of work.    @reverentgeek hits it out of the park.   https://github.com/reverentgeek/public-speaking  has a link to a recording done of this talk.

Image Recognition with Convolutional Neural Networks

Excellent talk by a hobbyist.  I now understand “Convolutional” (reduces complexity in dealing with images and more like how our brain does eye stuff).. and he showed all the code in training a model, bringing it into an iPhone app with CodeML, and then having his phone hot-recognize numbers live.  @timle8n1  https://github.com/timle8n1/codemash2018

So You Know How to Code (Group Trivia Challenge)

Sponsored by HMB, who are a totally cool company (been watching them for a few years – I feel they are legit.  All their folks are genuinely happy, and not sales-person-ey).   If you get a chance to do this, definitely participate.  You’re lumped into groups of 10, so no individual pressure – you can stay totally silent if you don’t know and still win.   In fact, our group won. Smile  

Rust

I had forgotten what the language was about .. did this for a quick reminder.  My ex-coworker @joeybratton brings it up every now and again at Skyline, so I did this one for him as it were.   Yeah, basically a same-speed-as-C-but-safer approach to compiling things, and as mentioned above, a better concurrency model.   Apparently since the last time I looked at it, it now has a much better library system, including stuff like diesel to let it talk ORM to databases and stuff.  There’s some crazy benchmarks out there, like 33x faster than C# in some compute intensive cases.

Performance in R

I attended this to get a refresher in R .. and yeah, this guy knows his stuff.  @thoolihan https://github.com/thoolihan/RPerformance

Looking Forward

I’ve cleared it with my wife, that pending other things not getting in the way, I’ll do a few more conferences this year.  They serve to keep my battery charged, and remind me that I’m part of a pretty big ecosystem .. and lets me see for myself the movement in that ecosystem in real people.

I’m also going to keep an eye out on https://substratum.net/  .. they brought blockchain to this conference, and they’re seeking to ensure that the internet / web hosting stays democratic / not central entity controlled / censored.   I support that cause.  I’ll back that up by buying up some SUB when I get home (wish I had known about ICO’s back when it was open .. and yeah, having a hardware wallet sucks when you don’t have it with you).   

Switching from iPhone to Android (Samsung S7)

img_20170903_110354_847I wanted to write a nice detailed blog post with pictures and screenshots. Would take too long to get it “Perfect” so I am punting.  (I did write this using the WordPress app on the phone)  ** I continued this from my laptop later.

Here are crib notes instead.

Summary: it’s good, it’s functional. It’s less pretty on the watch side, and MMS is subpar, but better voice recognition, LastPass integration, wireless charging make up for that. I’m going to stick with it for a year.

Addendum: it’s frustrating to learn a new ecosystem. And because Android has so many variations it’s hard to know what information applies. For example – getting that screenshot in this post – there is probably a better way but I had to use Google voice to take it, send it to WordPress media library, then include it in this post.   (Addendum to the dum:  Turns out there’s a “swipe left with your palm” gesture for my phone, but I still can’t save the screenshot to my camera roll)

Stuff I like:

  • Chat heads – if I use FB messenger for SMS.  They pop open over any app, and let me continue a conversation without switching apps.
  • Voice recognition is better – especially in the car.  It seems to want to use the phone’s microphone, rather than the 3 second delay switching to bluetooth through the car microphone.
  • Can choose default apps – like which Messenger app to use.    Thank you “Intentions”.
  • Widgets – Not going crazy with this, I only have two or three.
  • Not all apps on home screen – I can leave some in the drawer.  I don’t have to force myself to choose a position for EVERY FRICKING APP, just the ones that matter.
  • Always on screen – specific to my Samsung S7 device?   Shows time, date, next calendar appointment, etc before I hit the power button.   Major phone use case.
  • Number row – by default, turned on, on the keyboard.  Also a swipe keyboard, very nice for one hand use.
  • Better large screen shrinking – for single hand use.  Much more usable than Apple’s double-finger-home-button thing that never worked for me.
  • Last pass for apps – incredibly useful, when I’m in an App, Lastpass can integrate in and provide passwords.
  • Wireless charging – Coworker Steve gave me his old wireless charger.  I’m hooked.  No plugging in.  I bought one for the car, and I need to buy one for home.
  • Workout app has better sharing options – Pretty pictures, square format, straight to instagram, YES.
  • S2 watch can control which notifications go to watch and which dont.
  • Way more watch faces – This is also a curse.  I could not find a decent watch face which had battery, calendar, date, time, and actually worked across my multiple calendars.
  • I can put any icon anywhere on the page – I don’t have to plan from the top.   Thank God.  Clusters are easier to cluster.

What I miss:

  • Miss pretty emoji – I’m used to the iPhone and Slack emoji sets.  I don’t know for sure when I send my wife a kiss-with-eyes-closed emoji that its showing up the same.
  • Hue / OK Google integration misses things – I’ll say turn the lights off, and it will say “I got 18 of them, three not responding”, but only 8 will change.
  • Miss overcast podcast player with it’s auto silence trimming – For this reason alone, I have my de-SIM’ed iPhone living in the car, being an iPod for playing podcasts.
  • Group messaging wierdness interacting with iMessage – I won’t get pictures or video.  My entire family is iOS based, so I’m at a disadvantage.
  • Miss sharing position easily (find my friends) – Wife and I used to use this in passive always-on mode.  i can do Glympse for limited engagements.  I think Google has a solution for this somewhere.
  • Text selection wierd no magnifying glass for fine control – it took me a while, but I finally (with writing this post) got a handle on the text select stuff.  I have to take this back – I prefer the Android one.  I can actually drag the little draggers around, and they snap intelligently.   But I do miss the magnifying glass.
  • Miss square Apple Watch – It was smaller, looked better, and seemed more functional – especially the voice command part.
  • Miss scroll to top.
  • S2 battery life not great.   However, if I turn on Airplane mode (the S2 has its own 3G connection that I haven’t activated), its very comparable – down to 50% at the end of the day.

Btw, the screenshot is my second screen, not my home screen.

 


Revisiting the world of Linux and Rescue boot up disks and wiping hard drives

One of my newer roles at work is being the backup systems-admin-fix-your-network-cable-and-coffee-maker-and-upgrade-ram guy.   Whatever you call that role. 

In that role, I needed to wipe clean some machines that are leaving our premises..

It has been fun.  Along the way, this is what I learned:

  • https://www.pendrivelinux.com/  will take care of all the “let me format that USB stick for you and load an ISO on it” needs under Windows.
  • http://www.system-rescue-cd.org/ is a great little rescue disk that has a good set of utilities, including running in a graphical mode with terminals.  That way I could wipe and check cpuinfo / meminfo at the same time.   Has tools for mounting NTFS partitions as well.
  • https://github.com/martijnvanbrummelen/nwipe/  if started without args runs a text based UI that lets you choose which drives to wipe, and what algorithms to use, and is about as fast as dd.  Perhaps faster, as it will wipe multiple drives at the same time, without the need for &.
  • Some motherboards capped hard drive writes at about 34MB/s, others were at 134MB/s.. big difference.   Both were SSD.
  • Smallest USB stick i could get at Walgreens was 8GB. 

This was fun.  Looking forward to other such stuff in my new role.. just let me at that network IP address inventory!!!!  (Not a priority at this time)

WIFI Tools for Windows

I had some trouble with my WIFI network a few days ago – and I got to brush up on some tools I can use in Windows to diagnoze WIFI connections.

Ekahau WIFI Mapper

The coolest one I found was the Ekahau Wifi Mapper.  Its free for personal use, limited to 15 minute mapping sessions – enough for a floor of my house!  Here’s the map I came up with of my upstairs:

image

Compare that ZMG12-24 (the 2.4 Ghz signal) with the 5.0Ghz signal –  I had to resort to my iPhone to get the screenshot, Greenshot didn’t co-operate –

image

Surprising!  It things ZMG-12 is located in the back yard?  Maybe the signal goes out the french door and reflects off the tree.   Or, my little mock-surface doesn’t have a very good 5.0Ghz antenna. 

The other thing this app told me – that I had wondered for a while – is which neighbor has which WIFI. Especially folks like “FBI Surveillance Van” who has an Open connection.  Heh.   Amazingly, in this subdivision of older folks, there were a few hidden wireless networks as well.  Didn’t know that.

Acrylic WIFI

The other tool I found was Acrylic WIFI – It can listen over time and figure out what’s using what channels, and you get a signal-strength-over-time graph:

image

I get a nifty channel spread view as well:

image

Once again, OMG the 5.0Ghz network is sucking boogers.   It might be the router.

Handy information to have.

I really want to do a WIFI heat map of my mom’s house.  She has some fun problems there.

French Press Coffee Grounds Disposal Process Optimization

At work we have a slight problem.  We like our high quality coffee, we use a french press, but we do not have a garbage disposal.

This was my process solution for the problem of how to get the liquids down the drain, but the solids down the garbage.

I guess its not clear – the problem is that if you drain all the liquid down the drain, the solids are very sticky and “stick” to the bottom of the carafe.  Then you have to find the appropriate utensil to try to scoop the stuff out, and its very messy.   This is an attempt to have gravity and air pressure do the work.

Oh, who am I kidding.   I have a solution in need of a problem. 🙂  Live to Geek, Geek to Live, as my wife points out.

[youtube=http://www.youtube.com/watch?v=adH_r9_5fLA]

Kittens

imageFor the last 60 hours or so, we have had to put aside all our normal routines, and adapt to a new routine:  of being foster-parents to squirmy, wormy, squishy, squeeky Kittens.

Our son’s friends found them in a ditch by a highway at an abandoned house.  Initially, the kids thought they would nurse them back to health, but their patience was run down, and so we made a decision and took over as foster parents.

But this is a geek blog! 

Right, so:  I repurposed one of my Dropcam’s, on nighttime mode, watching the kitties.  I have an alert set up for litter box use:

image

Here’s some things we’re learning about them:

  • When we feed them, they will eat a bunch, and then they’ll stop.. but they’re not done yet!   give them a little bit to digest, they might run around like banshees for a bit.. work up a bit more appetite.. then they eat again.. THEN they are done.
  • They know how to use the litter box! thank god.   I had to help some of them with #1 and #2 .. once we got past the initial dehydration and stuff, it was okay.
  • To heck with all the feeding schedules on the internet.  When they get hungry, the two bigger ones start trying to suckle the smaller ones.  Not good for the smaller ones.  That’s when we know for sure to feed them.  Its been about every 4 hours or so, although I think we get a bit of a reprieve when its dark out.
    • Speaking of suckled little ones, they are the first to wake up and the last to go to sleep.   Learned habits.
  • Calories in, Pee & Poop out.  Everything else in the middle is optional.  Their bodies are programmed to grow, and their instincts guide them well. 

Some stuff I’m figuring out personally:

  • I am insanely proud of them every time they figure out something new.  Like, leaping, or climbing up my leg, or batting a ball.
  • I feel very honored whenever any of them decide to use me as a perch, or play in my lap, etc.  I guess I’m one big momma kitten to them.. playing king of the hill, etc.
    • Taking my momma cat job seriously – my wife is dealing with the formula and feeding, and I’m dealing with with the cleaning.   So I’m taking a wet rag to any part of them that seems dirty.  Faces, tails, butts, bellies – its all fair game.  And they cry like little boogers and make bad faces, but when I’m done with them, they’re clean, and they can go back to playing.   I’m proud of what I’ve done so far.  I think my previous cats would be proud…
  • Speaking of, I’ve had my cats. [livejournal link]  Whiskey died at the age of 14, and Samantha died at 19.   I love cats, and I wasn’t planning on getting more cats.  These cats are (hopefully) temporary – there are lots of friends who are expressing (relatively serious) intent in them.   We’ve had to say “no” to any visitations until after 10wks or so and the FEL-V results come in.  Avoid any hopes being dashed.     I don’t want to keep the cats because:
    • OMG the smell of stinky litter.
    • litter under your feet.  litter ending up in your bed.
    • My wife is allergic.
    • I’m a little allergic as well.
    • We want to downsize and be able to travel.
    • Wet cat food smells horrible.
    • Hair hair Hair everywhere.
    • Being strangled by cat-butt at night.
      • So in a way this is the perfect little morsel of “getting the kitty loving” – and hopefully it moves on.

Anyway, enough philosophy and intentions.  My coworker Choma believes I’m doomed, they’re going to be ours forever.  We shall see.   Here’s some stinkin’ cute cat pictures thanks to my wife’s Instagram feed:

image image
image image
image image

God bless those little kitties.

CodePaLousa Day 2 (for me)

There’s a code conference in town, CodePaLousa.  5th year for it; this would be my 2nd? 3rd? 4th? year attending (I skipped a year, I think, and I may not have been to the first one).    For many attendees, this would be their first day, for me it was my second.

I wasn’t sure I could go at first – I had a wedding to attend.   Life happened, and we couldn’t go.. but then, the idea of taking a whole week off – it didn’t feel like I had the vacation time to spend.  So, instead, I asked if I could be of service.  Maybe I could spend a day there… soak in the crowd.

I was taken up on that by @emschw.  So far, I have:

  • Stuffed goodie bags (with the most articulate and well-mannered yet definitely eye-for-detail-and-they-will-let-you-know young ladies, which would be @edcharbeneau ’s oldest two daughters)
    • We had a lot of fun figuring out process!
  • Vacuumed most of the meeting rooms (Styrofoam packing material debris from putting together the projector stands and podiums etc)
    • image With OMG the world’s worst vacuum cleaner.  I had to pull the vacuum off its wheels and angle it to get good suction against the carpet.  It was a good upper body workout.
  • Put up floor-standing banners.. wow those things are cool!
  • Impromptu learned to edit the lighting in one of the conference rooms
  • Bagged and moved T-Shirts and GoodieBags off the tables back to the lock up area.
    • image Deadlifted cases of stuff up onto a cart (I just learned how to deadlift properly, it was fun!)
    • A very nice and friendly lady named Barbara, who is on the cleaning staff at the KICC, really helped me with elevator control.  The cart was too big to fit in the elevator.  She rocks.
  • Been a room monitor. 
  • Attached clips onto lanyards
  • Hung out with so many cool and fun people.  

And I have loved every second of it

I think I put it down in a profile somewhere lately:   I love people.  Especially people who are doing their best, who are being true to their word, who are genuinely excited about what they are about.  I want to help and uphold these people in any way that I can.

Its even better when these are people who are doing technical geeky things that I understand and can relate to.

But, there’s more going on, under the surface.

I want to be a speaker.  There, I said it. 

I want be a speaker about something that I LOVE, where excitement pours out of my pores when I talk about it.    I love my job, don’t get me wrong, but I’m really not that excited about anything going on these days.   EF vs NHibernate vs Dapper vs SqClient;  MVC vs WebForms; angular vs knockout.. these are all tools.  That I use to make people’s lives better.  I can use any of them with enough reference material.  Not what I love.  

No, the code that I love — the last times I felt that, I was actively developing an LPMud.   Think C# syntax, (link is to the main.c of a interactive monopoly game written in LPC) .. but in a ruby-like environment, with hot-swap code, dedicated entirely to monsters and players and rooms and swords and spells and stuff like that.   Think World of Warcraft meets text-only adventure games. 

Stepping back for a bit:

I guess I could do a talk about writing automated tests.  However, its been a while since I’ve done that (for work).   I could talk about how it makes long term maintenance and growing of a project into a breeze.  Being a consultant now, I don’t spend long-term on projects anymore, so its no longer a good fit.

I guess I could do a talk about scale testing, and automating scale testing using Powershell.   Its been almost a decade since I did that. I’d have to re-discover all the tools for driving the tests.

I could do a talk about (non-certified, trenches) project management; tips, tricks and patterns learned over the last decade or two.

I could do a talk about ethics and morality and perspective in the workplace – patterns that works, patterns that don’t.   (Derived from principles in other sources which I will leave anonymous). 

I could do a whirlwind tour of 3D printing using FDM.  That’s pretty recent.

Hey, if you read this, somebody ask me to do a public talk on one of these things.  I may not do it for me, but I’ll do it for you.  And that might launch me somewhere.

Psudeo-Plan

I have an idea brewing in my head.  I’m going to open it up for feeding:

  • Learn me some Erlang.   Because Erlang is so … cool.     Specifically, the multi-node scalability of it, and the hot-swapping of runtime code.
  • Somehow interface Erlang with WebSockets (or something) and a front end thingy to make the start of a mud-like thingy.
  • Test various methods of how I would go about writing a mudlib inside Erlang.  There’s straight message passing, possibly luerl (Lua in Erlang).. ?
    • At this point, Erlang is just the tool.  Right now it looks like a good tool.  There are other tools I know better – C# is one of them.   But, is it the end result, or the journey? In the end, I would have wished I had done it in erlang because of the scalability of it.     
  • Do a simple mud with a simple mudlib.  
    • You are standing in a room. 
    • > North. 
    • You are by a bridge, there is a troll there. 
    • You see: 
    • Troll
    • > Attack troll
    • You attack the troll viciously and Hit!
    • Troll attacks you!
    • > quit
  • Open things up so that folks can write their own mud-like games (again).
    • The “Driver” is the super-hard bit where all the connections are dealt with; it hands off to…
    • The Mudlib is the easier bit that deals with how players, monsters, rooms, etc all interact with each other
    • The Mud is the actual adventure, defining the actual rooms and monsters and stuff that is the story.
      • This is where teaching comes in.  To write a mud, you have to learn how to code (a little bit).
      • Writing code for a mud is MUCH more exciting and satisfying than writing code for the real world.
      • And it conveys the excitement of writing code.   Instead of the $ of it.
  • Revisit the mudlib and instead make inventories 2-D, and make it into a 2-D world with an unlimited size map (in NxN chunks, where each chunk also knows about its immediate 8 neighbors, max effect size = N).
    • This brings in all kinds of other stuff, like calculating paths, and speeds, and true area-of-effect spells, and .. and.. ooooooo fun
    • Work on a javascript client for the above using <whatever technologies are best>.  I’m staying with 2D because 3D is NOT my thing.   I’ll probably default to using pictures of text (font-graphics) rather than actual graphics (because, not my thing).
  • Open things up so folks can write their own 2D world games
    • Hopefully with the same driver and different text vs 2D worlds, some clever folks can write an easy-to-use 3D mudlib.
    • And then people can write their own MMORPG’S easily!?
    • Will it scale?  Hence the Erlang.
  • Give a talk (or talks) on all the stuff that I did.

There are other folks who have done muds; but that doesn’t help me.  I’ve got an itch, its a coding itch, and I keep ignoring it, and it keeps coming back for scratching.  

And I want it Now

One of the hard parts for me is a) breaking this up into smaller pieces, and b) being consistent and working on those pieces till I get somewhere.     I keep postponing, saying, “hey on Christmas break I’ll do this” – and then I don’t.     And I may postpone it again.  But that doesn’t change the fact that I feel it in my bones that I want to do this.   Its been 24 years, and the itch is still there as strong as it was on day one.  I can almost cry, its that deep and it feels so good to contemplate it.

So..  yeah, that’s where I’m at.   I hope that some day I can give a talk on something that I love, and be an example of a person who followed his dream.  

Having possibly said too much, I’m going to post this anyway.