Two steps forward, one step backward


All things take time. Progress and the steps that come to define it (in hindsight) are elusive in the present yet painfully obvious in reflection. And now, in this moment, I feel like I've been spinning in circles and all the while shuffling backward.

She's done very, very little to show me she wants to be in my life. All my friends are worried that I keep trying to keep her around, and think her unreliable and only going to cause me pain. I don't disagree. Why am I still here?

Would it go against my being to tell her off straight -- that shes been a shitty partner/date-ner, I need / am-looking-for better, and goodbye? And why haven't I done that yet?

Have I been so busy that I forgot about doing things thoughtfully and deliberately?

Should I try and slow down and find my center, or push harder into the things that I think will improve myself and the things I want to do with my time?

Have I let my foot off the gas as of late? I feel like I should be further along in terms of being bold-er socially & in my romantic life, but lately I havent even enjoyed being out.

Its 2 weeks till Christmas. I'll be at a very chaotic party with Jackie tonight, on a flight for a few days in NYC by Tuesday, and launching a feature at work Wednesday. I hope the following week will bring a slowdown, and, clarity.


Reflections in solitude & lessons of time


There's something magical about re-reading these posts, especially the ones I never published and forgot about. They are like little love letters to myself; a moment in time captured in prayer that it may never be lost, that the grinder of time may not wear it down, that I may not sink into the belief that my future self was always this way. They are a reminder that even as experience fades, lessons do not, and dear God look how far we've all come.

I see now, in a lot of ways I was barking up the wrong tree. For whatever reason, I always had something to prove, and I could only do better by doing. I spent so much time trying to push; and when that didnt work I thought I needed to push harder, then beat myself up about why it was so hard. In truth, it was so hard because I was pushing against the needs of my inner self; to be enough just by being, to relax sometimes, to do something restful but not productive, but mostly for my feelings to be heard. I'm better at that now.

The turning point

For all the terribleness it is, destruction does have a purpose. On the day that I pulled the plug and stepped into unadulterated chaos, I felt pure terror yes, but also a new purpose and power; I had learned a lot of lessons in the hardest way possible, but I also had the resolve that this is not the end of my experience, growth, relationships, happiness. In the quiet that followed, I withdrew, and in that new space I found to be kinder to myself, I learned a new way to relate to the world that wasn't ruled by fearful projections and manifestations of social anxiety.

The person I didn't know I needed

His name is Eric Larson, the coach/therapist that has helped me a lot in the last few years. In the crisis-i-didnt-know-was-crisis-at-the-time, he helped me find my feet and showed me how to choose which direction to point them.

He taught me to unravel the unseen web of feelings which rise and fall deep inside me, to process them, to let them be heard but not overwhelm me. By giving them voice I could let them be heard and then settle back into their homes within me. I could finally ... get a handle on life without it overwhelming me. Have the space to plan what is fulfilling for me, and build the experience and life that is a living memory of what I want to achieve.

(nb: I feel comfortable writing his name because its a sufficiently generic name and there are multiple such therapists, and I have nothing but good things to say).

Where I am now

I think its been 9 or 10 years since I first built this blog, and I feel very different. I've conquered what I only hope is the hardest moment of my life, moved countries, started to build an awesome group of people and friends, picked up a ton of new hobbies (including some athletic in nature - how unusual!), and have had the opportunity to work on amazing things with amazing people (and more to come soon :).

I'll concede theres a new girl and I'm still as much of a hopeless romantic as I've always been, but I guess some things never change XD Her name is Jackie <3 Its early days, but I'm hopeful.

Here's to the next little while, till I next find myself in content reflection and find myself back to this site. I can't wait to see you and hear about what you've done, future self.


Drunk plans


Here's to all the things Im considering now I'm drunk, absent anxiety, and full of energy.

  1. Learn to shuffle!
  2. Take a course in digital signal processing
  3. Build (either using PCBs or vinyl) a graphical map of San Francisco
  4. Trick out my bike with LEDs and a speaker system
  5. Actually fuckin start Reclaim The Streets here in San Francisco

Posted on June 13, 2020 by twitchyliquid64 | Tagged: #drunk  #life 


Determination


Somewhere within, an unvocalized, intense desire for change springs forth. Marked by sheer intensity of will, the burning impulse rouses all faculties to action, unwilling to consider pacifism in pursuit of its ultimate goal.

With engines revving hard and the Doing Brain kicking into gear, there is no time for even a passing acknowledgement that the status quo is unsatisfactory. Every uncertainty quickly takes its leave, as you laser focus towards your target. There can only be strength, and a direct hit is certain.

These moments are rare, but damn are they powerful.


Do it for you


If you're:

  • Doing it out of fear or perceived social pressure
  • Doing it in reaction to aggression or to minimize your anxiety
  • Doing it to in pursuit of some outcome (excluding goals)

There's something up. Stop, feel, understand. Listen to your core, and find your center.

If you're:

  • Doing it because its important to you, regardless of outcome
  • Doing it because its for someone important to you, regardless of the traditionality of the relationship
  • Doing it because it brings you closer to your goals

then God's speed.

Posted on June 8, 2020 by twitchyliquid64 | Tagged:


This feeling


Oh how I missed this feeling. I haven't felt it in a while.

The hopeful anxiety, the intensity of the moment, the future rushing forward bursting with incredible possibilities. Feeling the cold wind through your fingers as you hold them up to the world, as if you are the master of the very air. The knot in your stomach that brings you soaring to an incredible natural ecstacy, drunk indulgences of making plans.

Alas I know, this is just a moment. Sometime soon, my hopes may turn to worries, probabilities to possibilities, and my unnatural grin may fade to indifference. But hey, this it what it means to be alive.


Paradigm Shifts


This has been a draft since 2015. Time to see the light of day.

From depression and sadness comes self evaluation and the openness to change things. From this, spawns the opportunity to shift your thinking and improve yourself. I hope this post is a way for me to document these thoughts that I have, right now, to keep me moving forward.

Sometimes, I feel like what I am doing is moving backward, particularly with the development of my social self. These last few months have seen my outgoing self supplicate in congruence towards a certain special individual, unsurprisingly (in retrospect) leading to my ultimate rejection. I know full well the saying be yourself, everything else is tragedy, yet seem to have difficulty putting it into practice. No more.


Paradigm Shifts

Predictive sociality

  • I used to approach all problems with the same reasoning - understand - predict - calibrate. In other words, look ahead, reason the potential outcomes, and work my actions towards promising opportunities.

  • But, If I am honest, this approach is less than effective- even retarding, in social circumstances. In a social setting, outcomes and specifics are entirely unpredictable, and attempting to reason them sets you up with expectations which play with your head. Worse still, continually having expectations broken and being put on the spot engineers an anxiety complex, further damning hope for improvement.

  • Instead, it took a previous mentee (I) - now turned mentor - to realise that this approach is far from reality. Whilst no action should be entirely devoid of reasoning, you cannot attempt to predict social interation or outcomes. Instead smile at how unpredictable it is, throw yourself headfirst into every opportunity you get and take pride in not knowing how it will turn out. Goes well? kek. Badly? Epic banter. You cannot let yourself think about all the things that can go wrong, or you will never be surprised by all the things that will go right.

  • In terms of challenging habits, that means:

    • No more playing out conversations in my head ahead of time ... It throws you off in the moment.
    • No more fantasizing about potential outcomes ... It messes with your head when they inevitably dont occur.

Shia LaBeouf style Motivation

  • If the whole world had no fear and no anxiety, what a world it would be.
  • Finding the inner strength to do what you really want to do is still a major challenge. Fortunately, there are a couple of things you can do to help you across the line.
    • Technique one: Baby stepping
      • Start by taking little steps towards your ultimate goal (the one that gives you the anxiety). Remind yourself that this is just one step, still innocent, you are still in control. For example. if you wanted to get a girls number, you would start by taking your phone out of your pocket.
      • Step by step, you get closer to the goal, till there is only one thing left to do - in our example that would be to ask for the number.
      • In this moment, remind yourself of all the steps you did to get here - and that taking all those steps before, you meant to do it and they were easy, this one will be no different.
    • Technique two: Taking control of your legs
      • The instant when you are aware of an action you could take, a war - a mind war sparks inside you. On one side, your ego drives you towards what your truely want. On the other side, our emotions attempt to maintain the status quo, and generate fear and anxiety to attempt to keep you in stasis. Reader, whatever you do, it is your job to make sure the ego wins, because otherwise, you are not yourself, just another shell following the whims of an invisible force attempted to stunt your development.
      • You know what you want. You know what you feel. In this instant, you push your emotions down in a wave, gaining control of all the muscles above the wave. Push it down to your toes.
      • You know what you want. Your emotions are going to make sure it's not easy. But you are in control of your legs now, so you walk towards your decision even though your emotions make sure your not comfortable. Baby step it.

I want this to be a living document, so I expect to add to it over the coming months.

... its not quite about thinking and reasoning, but a lack thereof. It's about being able to just... let go and trust yourself. You don't feel like you need to deal with it, it just happens.

- Taylor Ian

Br,

-twitchyliquid64


Superhuman


A few years ago, I knew what I wanted to do with all the certainty and energy of a teenager coming of age, discovering what it means to be alive.

I wanted to travel the world- to drift with ease wherever my heart takes me. I wanted to meet people at the drop of a hat, and find my way; fearless, unapologetic. I wanted to see the world through a lens that was not coloured by anxiety, by regret, or any shade of grey, and i wanted to leave my mark before i fade to credits.

But I'm no superman. Instead, I discovered a world that is not friendly to enthusiasm or diversity. Even harder to deal with, I discovered that I could not move through the world with the grace and emotional resilience my youthful self envisioned. I felt myself falling into the same emotional anti-patterns that plagued my early teenage years; the self-conscious, the helpless introspection, the walls closing in that grow harder and harder to break free of.

But I've done this a few times now. I see my young expectations are rather unrealistic; It takes time to settle, to meet people, and you don't have to be happy all the time. I realise that the things that matter to me take time to build, and I don't need to make myself worry if I have made no progress in a few weeks. The timeline of my life is measured in years not months.

I know I wanted it all and that was foolish, but thats okay. I'm not superhuman.


Travellers


Vulnerability is a beautiful thing. It empowers us to share, to feel freely, and find parts of ourselves in the mingling of others. Vulnerability keeps us open, provides as purpose.

But for weary travellers chasing the opportunity of The Unknown, we leave parts of ourselves behind every time we depart for the lonely road. Our new home is always temporary, one stop on a long journey of experience and sonder. Its beautiful, but also bittersweet.

Somewhere in my heart, I carry pieces of the people i crossed paths with; the essence of souls mingling, possibilities that could have been.


Destructive Tendencies


Humans are social creatures by nature, so it not surprising that too much of the opposite can send some of us into darker days. What should manifest as fleeting moments of loneliness instead spirals into serious depressive or anxious states, which can take some time to climb out of. Seems a tad counter-productive from an evolutionary perspective- a defect if you ask me.

I've always prided myself on being able to detect and avoid downward spirals of thoughts and emotions. But truth be told, pride is both foolish and a sin- pride clouds ones own vision with a smug smog that hides the inevitable imperfections in your perspective. Needless to say, I'm realising I'm not as good as I thought I was at stopping destructive thoughts.

Whole schools of thought have been built up around preventing these negative thought spirals. My favorite authors on the subject, M. Williams and D. Penmen, have written Mindfulness: A guide to finding peace in a frantic world, which guides the reader to understand these patterns and learn/practice techniques to overcome them.

“Overthinking ruins you. Ruins the situation, twists it around, makes you worry and just makes everything much worse than it actually is.” - Unknown

Following the mindfulness school of thought, I would like to think I am slowly observing my own destructive patterns, in the hope of avoiding them in the future.

So heres mine, in some rought chronological order:

  1. "Oh, I haven't spoke to anyone for a while, and there is nothing exciting planned for the near future". Cues mellow music
  2. Hmm something feels wrong. Why do I feel wrong?
  3. I feel wrong because of {Insert insecurity here}. SOMETHING IS MISSING.
  4. Omg im so lonely/sad/isolated
  5. Cue anxiety about meeting people, general gloominess, depeleting thoughts and negative re-enforcement
  6. Doesn't get out there to fix it due to pt. 5

The ramblings of an weary but optimistic twenty-something


It's my birthday in a few days. Wierd.

Queue the passage of time. Enter moment of introspection and reflection. Blog post? check.

Learnt heaps of new things at work and in my own projects. Felt lonely at some times, estatic at others. Met some new girls and said goodbye to others. Sure.

Its funny how familiar this gig is. In some ways, nothing has changed. From another perspective, everything has. Memories fading and feelings changing.

Me changing. How quaint.

I feel like I'm more mature this time round. Like my experiences of the last year, and my social successes over the last three months have taught me some unseeable truth. Like I finally feel comfortable with the lulls as much as the highs. Like I've finally tried enough and learned enough to settle into some stoic frame, the essence that I will be happy calling Tom.

I thought that last year too. Quaint, once again.

Despite this fallibility, the endless repetition, the moving goalposts ever out of reach, there is a peace. The peace is in looking back and watching yourself struggle on through, up and down, again and again.

The peace is knowing yourself, learning the hard way what you always knew but never felt; you will make it, it will be worth it, you will find happiness.


Lets try something a little bit different


Its really hard to stay in a happy state, whilst also having the emotional / physical energy to be social, be productive, get the girl etc.

I've heard from quite a few people now an interesting concept: setting your life on an upward spiral. Great read here, a summary of a good book here, and a more systems-oriented piece here.

An upward spiral is about continuously re-enforcing patterns, thoughts and emotions which are beneficial and help us grow. Whilst being a very agreeable concept, the challenge is bringing positivity to every facet of your present living, rather than keeping a balance or simply relying on blind optimism.

How am I going to do it? I'm going to go out and spend meaningful time with friends and family. I'm going to work towards tangible Things That Matter in my spare hours (fitness, exploring the world, persuit of love & happiness) and try and exclude a lot of my hobbies which, for the time being, are simply distractions.


Araitz


Burned into my memory, the sight of green eyes smiling at me in the moonlight streaming through her window. Her intoxicating smell filling my nostrils with sweetness. Her soft, tanned skin beneath my hands and face.

There is something about lying with your woman in her pyjamas that mellows the soul and puts everything into perspective. Those magical moments spent pressed up against another human being with nothing separating you. In the rising light of the morning, it is us against the world.

We talked about everything and nothing that mattered, and went from enthusiastic strangers to teary-eyed lovers saying goodbye.

Her memory continues to fill my mind. Its little things; her gorgeous Spanish accent, Affectionate phrases, along with the way she plays with my hair or touches my face.

I like to think that everything happens for a reason- every little moment or person I meet has a part to play in my journey as I play a part in theirs.

For us lonely souls, there are reminders that there is love coming but just out of arms reach. Its a teaser, a signal to not give up hope. To fight with all the strength we can muster as we ride - broken and scarred but with high spirits - through the rapids of life.

Araitz, thank you for the gifts you have given me. Thank you for your sweetness and gentle touch. Thank you for those 11 hours that were arguably the best 11 hours of my life.

Long lost nights

And an ache of lust

I can feel your touch

I will feed on us


Low tide sighs

And it's not enough

I would lace you up

I could taste your love


Echoes burn me in the night

My silence you're stealing

Since you taught me how to do it right

My heart has been bleeding


Begging to return the light (You taught me babe)

In the silence i'm kneeling (Now I crave someone)

You taught me how to do it right (Who feels the same)

My heart has been bleeding

-- Bigger than Love - Ian Bluestone


Sadness.


I lost all my riches, The diamonds in the mind.

It turns out that this was the best thing to ever happen to me.

Errors and glitches, What a way to find,

That such hurt could bring you greater peace of mind.


If you've ever lost every part of yourself,

If you've left your heart on a lonely avenue,

It will be only a matter of time,

Before your life comes through for you.

:))))


The End of Sonder


Sonder

n. the realization that each random passerby is living a life as vivid and complex as your own—populated with their own ambitions, friends, routines, worries and inherited craziness—an epic story that continues invisibly around you like an anthill sprawling deep underground, with elaborate passageways to thousands of other lives that you’ll never know existed, in which you might appear only once, as an extra sipping coffee in the background, as a blur of traffic passing on the highway, as a lighted window at dusk.

- jkcreative

Why is it that every single decision or action I make, every fucking one, is tainted by the silent motive of my longings. A demon of silent desire and envy, {REDACTED}, hangs over me like eternal baggage, and brings a fading edge of hope everytime it shifts uncomfortably in its ride.

I don't remember when it started, it wasn't always like this. But at such stretches of memory closure escapes me. Somewhere, my essence decided that my life was given colour by something eternally out of reach.

I've been trapped ever since. My decisions are no longer truly mine, even on the days when I'm feeling too proud or happy to admit it. Instead, any possibility of satisfying my longings shifts my desires, and temporarily rewrites whole parts of my behavior. So much for be yourself.

I've done the internet searches. I've read the books. And yes - I seem to adore all those songs. But how can I {REDACTED}

Ironically, the perpetrator of all of this is me. Whilst the object of my decisions and desires is clearly driven in a single direction, I sabotage myself with my hobbies, music, youtube videos, and innane gaming. Why can't I dedicate as much effort towards happiness as I can towards my distractions?

So this is my contract with myself. If I have not made substantial improvements, by the 20th November 2016, I must aggressively pursue personal change to these ends to the detriment of other pursuits. This is not the start of something, it is merely a safety net - to avoid an end.

I need to change how I do things. I need to remember in every moment that I need to do something DIFFERENT to what I have always done.

No more can I stare idly at the world and admire its potential without adding to its possibilities. This is the end of sonder. Should I fail, I die.

Retrospective edit: This was a ... hard time in my life. I'm better now.


An update.


Its been a while.

My wonderful time at uni is coming to a close. The things I have learnt, the memories I've made and the people I've met are all fantastic. Now that I face my final semester, the remaining 6 months are colored with a tinge of finality and nostalgia. I'm going to miss it.

Career wise, things are going well too. While I am studying I.T, I have always had a keen interest in electronics and engineering. While interning at a software company, I saw an opportunity to move into a team developing new products - working on both the software and hardware sides. As this is something that interests me greatly, I took it. It is immensely challenging, but the work is very interesting and I am learning so much. Even better, I was offered a very flexible casual contract to continue my work following the internship, so I will continue working at this company. Exciting times.

I have long held the idea of moving out to be important next stage in my personal development. Working two days a week over an hour from home, AND juggling full time uni is no easy feat, so I am considering renting an apartment/studio somewhere in the city to reduce the complexity of some things. This is by no means a small mental barrier - but it would be a big step forward for me.

In terms of keeping myself organised, I have a number of things on my event horizon. As usual, this consists of a combination of self-development/organisational/work-related and personal projects:

  • Recycle old shirts that no longer fit me to reduce clutter in the amount of clothing I have
  • Throw out old socks / jackets
  • Find a rental property for the next 6 months - either on my own or with a flatmate (M.M)
  • Clean/consolidate my room, preferably putting the things worth keeping into boxes
  • Get all important toolchains working on my laptop - so I can work anywhere

Projects:

  • Panel creator cad program - for creating DXFs for laser cutting
  • PIC Web IDE - to make programming PIC micro controllers as easy as arduino
  • 145MHz Oscillator circuit and custom PCB - my first entry into the world of RF electronics
  • ESP8266 mesh network node - Building a mesh network using the popular wifi SoC. Each node will have a large battery and a solar panel.
  • Access Control System (ACS) for the BioFoundry bio-hackerspace - built using ESP8266s, electric door strikes, and relays.

Project wish list:

  • Generalised communications system (probably based off IRC) for a chat network or signalling in a distributed system.

  • Generalised plugin architecture for running code and gathering data in the field - for general infosec research.

  • RTL-SDR tool for finding and decoding data bursts in the 433Mhz range (for finding and decoding transmissions from arbitrary devices automatically).

As always, stay frosty.

-Tom


Dear Tom


Its funny how the words can find you in the nosiest of moments, as drunk uni-students brush past you like the crisp winter air, with the lights of the city filling the shadows of your footsteps. Each step connects itself in solidarity to every other lonely walk, every twilight city stroll, reviving old memories and feelings lost to all but the mellowest parts of my being.

Goals are, for the most part, eternal. You're never finished with them. You never stop reaching for them. And in the darkness and solitude, your dreams, achievements, and goals lay themselves out across the streets and intersections of the city. Some of those streets you have already tread, illuminated by the moonlight, intimately familiar. Others are marked at the crossroads - their names foreign and the path bumpy - the ones which are yet to be faced at some undetermined time in the future. In this lonely journey, you are faced with crossroads every day, but turning down them remains the hardest choice of your life.

Each crossroad offers a unique challenge, and forms a new characteristic or skill, through which you can find and define yourself. The hobby and curiousity driven ones are the easiest, easily travelled with reading and thought, and you often take these in lieu of the harder paths that lay before you. You have to pick your battles.

But the night sky reveals all, and the roads ignored are as obvious as the nights in which they were discovered. Every time, the night fades a little with the realisation.

This is you, Tom. This is me, every broken self promise and dream and wish almost forgotten about and every time you moved on. Every girl you ever liked where they never knew it, every first-year night rampaging the city with friends, every time you knew what you needed to do to push yourself - just say something, just call someone - but in your mind you had already confined it to a thought almost as soon as it manifested. This is us.

And once in a while, just like every once in a while, something happens. A force from within, a drive, a mighty bulldozer smashes through the walls in your mind and frees you from the containment of self conditioning. You find the space within you to do what you always imagined yourself doing, without a hope for redemption or failure either way. The dark roads light up, the crossroads align. Through this grace, we find the means to break into a new district of our journey.

--twitchyliquid64


Moments Pt. 3 - Time


An ecstasy of waves gently lapping the bow of the ship. The sunset casts shadows across the Brisbane cityscape, giving colour to the wind as it spirals across the deck, beckoning passengers closer. We lean away from it's edge, edging towards each other.

The boat docks. Strangers take their seats at the bow. Enter a traveler, run away to Australia to meet the world. Half a world away, she lands sitting next to us. The specifics are a fantastic blur as I snuggle into you.

A euphoria of laughter in the biting wind. Our mysterious traveller, a German, meets two misfits who unceremoniously collided on a casual night in a cold place.

Despite the moment, I couldn't help but savour the feeling.

A rapture of possibility,

us travellers drifting, tumbling,

through a chasm of entropy

yet settling perfectly for the happiness of two young souls.


Pizzawise - Never run out of meat lovers again


How many times have you found yourself in an incredibly large group with the insatiable desire for fresh pizza? But before you can satisfy your watering tastebuds, you must work out the most optimum selection of pizza types so that everyone gets what they want for the lowest price!

A friend of mine came up with the solution - to build a web system that allows all your friends to effortlessly vote for their desired pizza, and display how many of each pizza to order at the end.

While I worked on the backend, two other mates worked on the front end. 10 hours later, PizzaWise was live.

Take a look for yourself here.


Building an IR beacon


Infrared is an incredibly underrated communication medium, used almost exclusively in television remotes these days. Despite its poor range (<10m) it is incredibly useful for short range communication (particularly in robots), and its extremely low component cost, energy usage, and complexity make it a candidate for inclusion in any makers arsenal.

Knowing this, and wanting to develop my circuit board design skills, I resolved to create a circuit that could continuously send out a continuous IR signal, a beacon if you will. This has a number of applications:

  • It can be used as a beacon for robots (or appropriately-tooled humans!) to geolocate or otherwise orient themselves.
  • It can be used to transmit the state of a mechanism (such as a traffic light) for a robot to understand (ie: stop before you get run over, or the door is locked)
  • It can be used for short range communication between a fixed and a mobile peripheral.

Board Layout Board Schematic

I settled on using a PIC microprocessor (a 12F683) as the core of the beacon, due to its extremely low power consumption, low cost and simple pinout. I also used a BC548 general purpose NPN transistor to drive the IR emitter (which was a high power IR LED I picked up from element14), as the IR needed to be driven with several hundred mA when the PIC can only provide 20mA.

I did all my calcuations for max current at 3.3V, and hence choose current-limiting resistors at that value. As such, the board can run at 3-3.5V no problem, though anything over 4V you run the risk of killing the indicator LED or reducing the life of the IR LED. The PIC itself will burn out at 5.5V.

After waiting 4 weeks for the boards to arrive fabricated from china, I put together 5 of them. They work a charm, with ranges of up to 10m or so, and run for about a week on 2 AA batteries. All in all, I'm really happy with this project.

PIC Code PCB Ordering link

A fully assembled IRBeacon

Now to put it to actual use ...


Moments Pt. 2 - Memories


Up the lift, take a left. Cross at the lights, pass the old abandoned house with graffiti on the walls and roof collapsing, duck under the branch from the red-brick-house-that-never-does-their-gardening, and take another left.

Over the hill, the road leans home to a comfy bed and phone charger, winding past a mosaic of memories in the distant city lights.

Sydney Lights

I don't stop walking as memories of freedom, late nights, and flashing lights swirl around me, each step as rhythmic as each night that preceded it. Some memories, almost magical, euphoric, colour the road before me as they do my early adult life. They contrast the calmer nights, a fresh sponge soaking up the nights and heights of the people and places around me. Freedom in sight, never alone.

So every evening on the way home, I walk down memory lane- filled with the scenery of summer nights. Without fail, I cannot help but to smile, remembering the memory of what those lights mean to me.


Moments Pt. 1 - Place


A never-ending wave of water crashing - the music of the deep ocean embracing the ships bow. The vessel barely rocks at all, the tenderness of its movements made up of the same steel which composes the hull. In the distance, the navy blue colour of the water fades to black, broken only by the reflection of the bright, full moon.

Schematic

The lights on the deck are dim now, casting warm shadows upon pool spaces and lonely eating places. Noise has departed - young children and shoulder-to-shoulder sunbathers replaced with quiet old couples drifting in the sounds of the sea. Below my feet, a thousand smiles line the dining rooms and cinema aisles, jokes are passed and friends laugh to one another, long lost lovers fall in love again for the first time.

And just for an instant, the moment lingers - bright eyes caught and reflected back by the sea around me, beaming, fading. But like wind it passes on, destined to float a lifetime lost, hoping to be rescued - even just for a fleeting moment - by a ponder soul, searching through their sea of memories.


Making the ESP8266 sane


When it first came out, the ESP8266 chip was a game changer. For $5, any electronics hobbyist could get a functional WiFi chip to integrate into their next internet-of-things project. There were only a few problems. Well, a fair few problems.

  • All the documentation is in Chinese. Translated by the community! Yay!
  • All logic is 3.3V, whilst the arduino and other popular platforms use 5V.
  • Peak current consumption at 240mA, far greater than the capacity of most built-in regulators on an arduino or similar board.
  • CH_PD pin needs to be pulled high for the device to function (It took me forever to work this out - most of the tutorials I read seemed to omit this detail)
  • Firmware bugs - occasionally the chip stops responding completely and needs a power cycle.

So I set out to build a circuit that would solve some of these issues - particularly the ones that plagued me. I built a circuit that would translate the voltage level on the receive side, would regulate the current, and provide a jumper for the CH_PD pin.

After a fair few hours fiddling with KiCad, I think I've done it.

Schematic

The circuit uses only cheap components. A AMS1117 (you can get a pack of 10 for $1 on ebay) is used as the regulator, and it supports up to 1A of current so no worries there. The resistors used in the voltage divider are 0805 SMDs, so no worries there. The LED is once again an 0805 and can be omitted if you don't like color.

render

I eventually figured out how to add text to the silkscreen, at which point I promptly went overboard and labelled everything relevant, even the direction the ESP8266-01 should be inserted.

render

Yay! Now to wait a few weeks for the boards to ship from DirtyPCBs so I can assemble and test them. Very suspense, especially since this is only the second ever PCB I have designed (hopefully it works).

If your interested, you can order your own set at dirtyPCBs.

Design files are available here.


The red pill


Its like standing at the edge of a chasm, looking down at the void which waits below. You know what you want to do - what you need to do - but you are afraid to upset the balance of the status quo; to step outside of your comfort zone. Somehow, you take the first step across the fragile bridge, aware that every and any misplaced step would be your last. It has begun; and now only moving forward is an option - fearful that the mere action of turning back would misbalance you and throw you into the void, lost forever.

You have taken The Step into the unknown, leaving your past self, its moments, and its infinity of possibilities to live on only in your memories. All that remains is the hope of a brighter infinity shining out your eyes.

“We cross our bridges when we come to them and burn them behind us, with nothing to show for our progress except a memory of the smell of smoke, and a presumption that once our eyes watered."

-- Tom Motherfucking Stoppard


Cheatsheet for self-run private git repos


This is a personal cheatsheet I made for getting started with git using a private remote repository. I use this to host my respositories on linux machines on the internet (such as VPSes, or other linux boxes with sshd).

Further reading: Here

To setup git on a machine for the first time:
  1. Download git somehow. apt-get install git on ubuntu, and googling for binaries on windows.
  2. Run 'git config --global user.email "emailaddress"
  3. Run 'git config --global user.name "name"
Setting up a new repo (both server and locally):

Can be done on any machine with git and a shell prompt.

The next few steps is to setup a new repo. This only needs to be done once at the beginning.

  1. Appended dev private keys to ~/.ssh/authorized_keys on the server(IF you want key auth)
  2. created new folder in home directory called projectname.git on the server
  3. cd projectname.git on the server
  4. git --bare init on the server
  5. Create local repo with: 'git init' (inside project folder, run on your local machine)
  6. do: git add somefile (run on your local machine)
  7. git commit -m 'initial commit'" (run on your local machine)
  8. setup remote push for that repo: git remote add origin username@hostname:~/projectname.git (run on your local machine)
  9. do git push origin master to push the new repo. May be prompted for password. (run on your local machine)
Committing versions to the repository

There are three logical steps to making a change of your files reflect on your git repository: These are all done locally.

  1. Staging (marking for commit) git add -a - adds all untracked files to staging git add somepath - adds a specific file to staging (you can also do (git add -A_ which addes all changes/files to staging)
  2. Commit (adding them to local repository) git commit -m "Commit message goes here" - commits all changes which were staged earlier
  3. Push (sending to remote repository) git push origin master - to do if git push doesnt work'
Cloning / Downloading a copy

Downloading the repo can be done with: 'git clone username@hostname:~/projectname.git


Who we are


We are creatures of emotion; living to maximize positive energy, hits of dopamine.

We know we have the capacity to do better; to do what we want to or aught to do. But, almost simultaneously, we are slaves to a system we cannot control, a system which drains that capacity without diminishing our free will.

We are living out of anticipation; craving the future but not appreciating the present.

We are slaves to a sense of belonging; willing to compromise huge parts of ourselves just to fall in line.

Our whole selves are slaves to a system which we cannot ever hope to understand.

What does that make us?


Reminiscence


Everyone remembers the good times.

But there are times when I spend so much time thinking chasing these memories that it's just depressing.

Lets return to the past in the present tense. Picture you're there; having the time of your life at whatever place it is. IE: at some event/party chillin with good people. If your default is an introvert like me, you feel fine, even good; but not amazing. Only afterwards, when you start missing the company, or when its almost over, do you realise how much you enjoyed it in contrast to your immediate future or a pending monotonous lifestyle.

At this stage, missed opportunities and fantasies of what could have been expand to fill your mind. At times, you might imagine what you wish could have happened in extreme detail. And every time you do, its like you back there, literally living the dream, a side of you that could have been if only you were a different person.

You end up missing the times you had, but also the times you could have had, if you did something or circumstances were different.

This reminiscence can be extremely crushing; if you have nothing to look forward to. You explore every turn of events and possibility in your mind, as if somehow you could discover a way to return to that bliss; a bliss you didn't realise was bliss at the time.


Red pill or blue pill?


Its fairly easy to idle through life. You simply live; go with the flow, and let circumstance take you in interesting directions. You end up at various places, normally out of your control (ie: At university because your parents/social-norms etc have taught you that's the next step). You let surface interactions, and routine dictate your life.

Then you tell me, are you satisfied? Where is your sense of direction?

Simple answer is no.

The problem is that we as humans naturally (and often subconsciously) build up buffers to challenging situations, rejection and awkward/unusual circumstance. This occurs both mentally - through subtle control of habit and thought - and also physically; though subconscious manipulation of circumstance - taking chances, places we go, people we interact with. To put it simply, we tend to live in our comfort zone - the blue pill.

So what does that make us? It makes us self-conscious, forcing us to conform our outward appearance and personality to align with that of which society expects. Moreover, we condition our behavior to minimise the possibility of an uncomfortable situation (by sticking to ourselves, or people we trust, highly unwilling to venture outside that safe little bubble we have created for ourselves).

So, without a personal goal to work towards or achieve, we sink into a self-reinforced monotonous routine. What's more, is that a lot of people don't even realise that its themselves that are doing it, and instead feel like their trapped inside someone else.s master plan. All in all, they are not satisfied.

There is only really one long-term solution to this kind of problem. The solution is to finally take risks; and break down the prison of a existence we have trapped ourselves in. You need to have a sense/pride of-self which is greater than the opinion of others. You need to step outside your comfort zone and take the steps towards doing what we want and being who we want to be. You need to take the red pill.

From there, you will take control of your own life.


Past


I know, caught up in the middle. I cry, just a little, when I think of letting go. I know, gave up on the riddle. I cry, just a little, when I think of letting go.

- Cry (Just a little) by Bingo Players

Sometimes I miss my memories. This is understandable, and thoughts of nostalgia are common. But nostalgia only applies to memories which we enjoy and miss. What about memories which we did not nessesarily enjoy? or don't miss? What are we to call them? Or, more importantly, why do I find myself thinking about it?


Project ideas


Floating around in my head are a heap of project ideas that I want to do at some stage. I'm going to write them down now so I don't forget them.

TCPforward - This is a small program that listens for connections on a certain port, then, when it recieves a connection, it opens a connection to a remote host and forwards all traffic between them, essentially acting as a proxy. This is intended for medium-sized networks that only have a DMZ, to forward data away from the DMZ to a server. I could also make this into a primitive load balancer by allowing multiple destinations.

UPDATE: DONE

Backuptrans - This is a simple command-line utility that takes in a file, then opens an SSH connection to another machine in order to upload the file there. Then, it will verify the integrity of the transfer with hashes. Unlike 'ssh', this utility is non-interactive, allowing even the SSH password to be passed in to the utility, hence allowing automated transfers. Additionally, I could make it generate a folder structure and naming system for backups on the remote host.

UPDATE: DONE

Twitch - This project is about 60%. complete at time of writing. Twitch is a minimalist instruction set, virtual CPU, and assembler. It is intended to allow untrusted parties to write code that is executed under very controlled conditions, with the minimum of resources used. The state of a running twitch binary can be frozen at any time and sent over the wire.

UPDATE: 99% done, but havent written the code to serialize it's state.

p2p - This is a simple p2p. networking library written in go, that is about 70%. complete at the time of writing. This library is designed to allow the creation of secure, large-world packet-switched networks.

android-ex - This is an idea to build an assembler for the dalvik cpu, along with a packager for .apk. Ideally, I would like to produce an alternative to using the Android SDK for building apps, and this library would allow anyone to make a compiler targeting that platform. That said, its a massive project, and I will probably never do it.

LinSum - This utility will connect to a linux host via SSH and generate a summary of its configuration. It is intended to simplify management of linux systems. Such a project could be expanded with an interactive summary, which includes the ability to change the configuration.

Securityd - In the deployment of an IPS, IDS, or universal security policy, there remains issues for getting network/security policies across machines in real time; effectively meaning any action from an IPS or IDS is limited to a specific machine. Securityd not only acts as an IPS, but remains in contact with other instances of the daemon in your network, meaning that security policies are implemented across an entire network in real time.

3Projection - A library to render 3d. objects to a 2d. image file. Written in go, conceptually designed but not yet implemented.

UPDATE: Attempted, however I failed due to the unforseen complexity in projecting objects from 2d to 3d.

go-phys - Basical particle physics engine for Go. Implementing euler integration, gravity, collisions, (rigid) particle objects, (rigid) plane objects.


Incapacity


I learnt to think and reason from a very early age. I learnt to look at my problems at face value, identify the root cause, and commence action to solve them. From this, I learnt nearly all the skills I have now; from general knowledge, programming, I.T skills, dealing with stress, and introspection. This helped me a great deal, and in some ways created the person who I am.

I got so used to this kind of thinking - a form of boolean logic and reasoning - that I felt it was the only way to think. Everything in my life at the time could be reasoned and solved with that system.

The truth is, I embellished those things that I could reason using this logic - maths, sciences, I.T, intellectualism, cadets - whilst shunning things that I couldnt explain; without considering that I was actually pushing those things into the corner - english, sociology, emotion. And now, as I try and build up my skills in these areas that I shunned, I am finding that nothing works.

The efforts I make don't seem make a dent in my incapacity. Whatever dent it do make in the short term doesnt last. Fundementally, I presently incapable of operating using a different level of logic; fuzzy logic, or even non-logic.

And this leaves me feeling sidelined, and alone.

Its like I have been working on something all my life - logical intellectualism and all those skills - but now that I stop and look at all parts of living, I feel like I have been barking up the wrong tree and all that really matters now lies in the dust. And now, what I really have, what I really have been doing all these years, is now nothing.

Its the feeling of trying to join in time and time again to something you want to know, but left unengaged, sidelined. Helpless, and depressed.

How can I ever hope to be who I want to be?


An introduction to server security


In this post, I will go through the basics of internet security, through the lens of hardening a VPS or dedicated server. Unlike other guides, I will not simply tell you a bunch of things to do to make your server more secure. Rather, I will walk your through the principles and the process of hardening, so you can secure the server to your needs and understand what you are doing.

Foremost, its important to understand that security is not absolute. There is no way you can garrantee your server cannot be comprimised. In order to be 100. secure you have to have everything right, whereas to be comprimised you only need to have one mistake.

So then, good practice is to ensure the amount of effort spent securing your server should balance the damage that will occur in the event of a breach.

There are three main attack vectors that need to be accounted for, for an internet-facing server:

  1. Kernel network-handling exploits
  2. Network service exploits
  3. Authentication guess/brueforce

Kernel network-handling exploits: These attacks make use of a vulnerability in the network-handling code (of the OS) or drivers of your machine. Fortunately, network hardware (and the kernel code) has matured alot, to the point where there arent really any known exploits except for really out-of-date kernels. Regardless, you deal with this kind of attack by keeping your kernel(OS) up to date, and being on the lookout for any security notices. These kind of attacks only really happen on people who havent updated their server for a decade, so really, you dont need to worry much about them. That said; don't be lulled into a false sense of security; always be on the lookout for kernel security notices.

Network service exploits: These attacks make use of a vulnerability in a network service/process/daemon running on your server. Generally, such an attack allows an attacker to do things they wouldnt normally be able to do, or in the event of a serious vulnerability, inject code into the server and take over the machine.

With the exception of guesswork/social engineering, this is where 90. of attacks happen. There are a number of things you can do to reduce your risk of an attack by this vector:

  1. Shutdown unnecessary services, and prevent services which do not need to be accessed from the internet, from being accessed from the internet. This reduces the number of services capable of being exploited, which in turn reduces the likelihood of an accessible vulnerability.
  2. Consider sand-boxing services such that if they are breached, it is difficult to take over the server and cause more damage.
  • Running the service as a less-privileged user is a good practice.
  • Running the service in a chroot (jail) is also a good idea, if possible. That said, a chroot jail is NOT a sandbox; its another line of defense. (btw, do NOT use BSD jails)
  1. Subscribe to the security or announce mailing lists for the services you are running. That way, you will find out very quickly if there is a security issue in one of your services, so you can either: a) shutdown the service, or b)patch/update.
  2. Keeping the service up-to-date is not only considered good practice; its a must.

Authentication guess/brute-force: This attack simply attempts to gain access to your server by guessing your credentials. With most servers, SSH is the means of configuration, so a lot of attacks simply bombard your sshd service with lots of login requests.

The easiest way to prevent this kind of attack is to have a strong password. In the case of SSH, you can use keys to authenticate yourself, however such a method is not very convenient, and if you are sure of the strength and that only you know your password, password auth is fine.

So lets look at these kinds of attacks in a little more detail so we can understand the characteristics our password should have.

The first kind of credential-attack is referred to as a dictionary attack. This is where the attacker repeatedly tries common passwords till they get in. So, avoid passwords that consist of up to three words joined together. Also avoid anything which you think someone else would have already thought up; it will be on a password list somewhere.

The second kind of credential-attack is referred to a brute-force attack. This is where the attacker tries every single combination of letters, numbers etc untill the system grants access.

Defending against this attack is done by simply having a password which is so strong, that bruteforcing it would take years. This is achieved by length and by using a variety of letters, numbers, and even symbols. Please see an excellent post about passwords here for more information.

Also, CHANGE your default passwords for everything, and do not use obvious passwords like 'admin', 'password' or '123456'. Such passwords are among the first things attempted in a dictionary attack.

I would like to note that having a random password like dafe3#j2@a is not nessessarily the best solution. Consider a password like mycatwasfluffehandfelldown41bushes. This password is so long that a bruteforce attack is not gonna happen, so wierd and unique that it wont be guessed in a dictionary attack, and, unlike the previous one, I will actually remember it. Dont think that random is the best option; passwords like this are far better for every reason.

Alot of services have configurable settings for allowing logins, such as blocking people who fail to login too many times. Using such settings allow you to prevent bruteforcing and limit dictionary attacks. In the case of SSH, the sshd service does not offer this, so instead consider installing Fail2ban to block repeated credential attackers.