Hacker Newsnew | comments | show | ask | jobs | submit | Arjuna's comments login

1. "That means if my project sucks then I go into a slump, and if my project turned out to be great then I am elated."

In my estimation, the only way to break this cycle, to really exit this emotional roller-coaster that you are riding is to:

Let go of the results and focus on the quality of your effort.

For example, check yourself against this question:

"Am I giving 100% to the quality of my effort, in this moment?"

To elaborate: when you build your wall, are you focusing on the wall, or are you focusing on laying a single, individual brick, with the best quality, ability and focus that you can muster?

If you focus on the wall, then you are focusing on the end result. I recommend shifting your focus on laying each individual brick, which is a focus on effort, on process... a focus on execution.

2. "Basically I have pretty bad self esteem and I feel like I compensate for it by trying to do more and more projects."

Your self-worth should be based on your entire "package", if you will. It is complex, but it includes how you treat others, the light that you bring to the world, the light that you bring to your friendships and relationships, your helpfulness and respect toward your family, what you bring to your work... I'm fond of saying, "It's how you bring it." You want to be someone that "brings it." You want to be firing on all cylinders.

And so, this feeling of self-worth is tied to every single moment, not to results, which are ultimately ephemeral, and are only a small piece of the equation. Ultimately, results will fade, and may not always be what you expected anyway. But, if you focus on execution and process, you will be better-served to end the emotional roller-coaster of self-doubt, because you will know that you are bringing it, you will know that, "No matter what the results are, I delivered to the best of my ability. I strive to bring it in every moment, and I strive to better the process, and to serve and help those around me."

Judge yourself (and others) in this manner, and I think it will serve to change your life, to change your perspective.

Wishing you all the best.


> "Am I giving 100% to the quality of my effort, in this moment?"


Stephen Mitchell's translation of the Tao Te Ching (buy here: http://www.powells.com/biblio/1-9780061142666-0; full text here: http://acc6.its.brooklyn.cuny.edu/~phalsall/texts/taote-v3.h...) is one of my favorite books. It has some things to say on this subject:

   Express yourself completely,
   then keep quiet.
   Be like the forces of nature:
   when it blows, there is only wind;
   when it rains, there is only rain;
   when the clouds pass, the sun shines through...

   He who stands on tiptoe
   doesn't stand firm.
   He who rushes ahead
   doesn't go far.
   He who tries to shine
   dims his own light.
   He who defines himself
   can't know who he really is.
   He who has power over others
   can't empower himself.
   He who clings to his work
   will create nothing that endures.

   If you want to accord with the Tao,
   just do your job, then let go.


I really like this answer. Thank you for articulating it so well.

My one hesitation is that I think a lot of people get satisfied with trying their best within a crappy system. And sometimes you really need to be stubborn and say "no, this isn't good enough. We need to aim for a better end result.

It's not a healthy way to measure yourself, but it makes you desperate to try things that you wouldn't normally. And some of those things will work. And we all benefit from the discovery of a new "ceiling".


First off, a massive congratulations to you on your first web developer role! OUTSTANDING! There are dreamers, and there are doers... and clearly, you are a DOER. BRING IT... I'm getting motivated just thinking about how hard you've already worked in the lab to GET TO WHERE YOU ARE NOW!

I'll try to hit most of your key points:

1. "[...] at the age of 33."

I would encourage you to forget about age. It's just a number. In reality, the clock is ticking for all of us, so I think it's more important to focus on right now. Work to live in the moment. Some started early, some started late. I'm older than you, and I just published my first game for iOS in January, in Swift, which was an entirely new language when I started with Xcode 6 Beta 1. So, again, it's just a number. You are bringing the thunder RIGHT NOW, and that's what matters. I can't stress this enough. Sure, wouldn't it be grand if you had started on a Commodore 64 when you were 12? Well, that's not the case, so you do what it takes, you do the work [1], you build that wall of knowledge brick by brick, and you make it happen for yourself.

2. "I now spend my days feeling overwhelmed and struggling [...]"

To be honest, you're not alone. When you are learning something new, this is the nature of the learning curve. You just have to keep building that wall, one brick at a time. Do the work. It's the only way to move forward, the only way to hone your craft. You have to keep driving through.

3. "I annoy everyone else (who are all about 10 years younger than me) with my constant questions."

There is nothing wrong with asking questions. However, you have to know how to ask the right questions and work within the schedules of your colleagues. That is to say, the right questions are, for example, questions about the project, the architecture of the system, etc. For these, work to carve out time with the colleague(s) that can answer these questions, so that you aren't hitting them up in a way that breaks everyone's flow. The "wrong" questions, if you will, could be, "How do I do X in language Y?" Those types of questions are best answered by you doing your due-diligence and off-hours study.

4. "I find myself filled with regret that I didn't start this career earlier [...]"

See point 1 above. We've all played this game. We all have regrets. I wish I would have had kids earlier than I did, for example. But, guess what? I can't change the past... I can only drive forward and GAIN GROUND. So, you'll never win the "Regret Game." You can't win against yourself. Dr. Seuss said it best in, "Oh, The Places You'll Go!" (Please read it if you haven't; it's absolutely wonderful.) Here's the quote: "I'm afraid that sometimes you'll play lonely games too. Games you can't win 'cause you'll play against you." You are striving to evolve and striving to do the best that you can, and any decision that you make will ipso facto be made with the most up to date and diligent decision-making faculties that you can muster at the time. Therefore, you were right for what you believed to be right, in the moment that you made the decision, and that is all that will ever matter; strive to let go of the anchor of regret.

5. "I'd seriously consider quitting if I had anywhere else to go."

I would encourage you to keep grinding, keep learning. You have to embrace the grind. I know it's rough. I've been there; I think we've all been there at some point, to be perfectly honest. But, in some sense, if you do leave, you may find yourself at exactly the same place, in the sense that... yes, you may be in a new job, with new people, new surroundings and perhaps new geography, but you will still be the same technically, that is, struggling to get your grounding and learning the craft. So, it may feel like changing will help, but I would encourage you to carefully evaluate that decision before taking any action.

I wish you all the best.

[1] https://news.ycombinator.com/item?id=7076143


This is awesome, thank you. It's weird how good it feels having a complete stranger pay me a compliment. Thanks for all the advice.


The honor is mine. Thank you for posting and allowing me to be a small part of a much greater conversation.

Keep hanging in there. Remember how hard you have worked, but also know that there is more work to be done; it's the same for all of us, no matter where we are on the path.

I love this quote from Carlos Castaneda. It reminds me that it's a life-long process:

"To be a warrior is not a simple matter of wishing to be one. It is rather an endless struggle that will go on to the very last moment of our lives. Nobody is born a warrior, in exactly the same way that nobody is born an average man. We make ourselves into one or the other."


That's a great quote, and so are all the other ones on your profile!


I'll chime in...

I developed my first game, Rocket Renegade [1], for iOS. Although I think that it was well-received (based on the reviews and emails I've received), it's made under $100 US since launching in January 2015. But, I did finish, and I taught myself Swift in the process, so I'm proud of that.

I'm a classic example of a technical person that's learning the marketing side, so I have a lot to learn in that area. I think the game is a solid offering for its genre (80s/90s inspired shmup).

For stories of much greater success than myself:

1. There was a user here (kreci) that used to post financial reports regarding his Android development efforts, but it doesn't appear that he has been active on HN for quite some time. However, you may still find his reports a useful/interesting resource [2].

2. Nathan Barry (nathanbarry) has written about his experience developing his "OneVoice" app and the financials surrounding it [3].

3. The greatest financial success story that I am aware of in terms of sales in the mobile space is Allen Wong. He really hit it big with "5-0 Radio Police Scanner". He did an AMA [4], which you may find interesting.

[1] https://itunes.apple.com/us/app/rocket-renegade/id955229059?...

[2] https://hn.algolia.com/?query=author:kreci%20%22Income%20Rep...

[3] http://nathanbarry.com/how-i-made-19000-on-the-app-store-whi...

[4] https://www.reddit.com/r/IAmA/comments/17lwcs/iama_a_person_...


Looks cool, nice work! Before you get discouraged, remember that Angry Birds was Rovio's 52nd game [1] -- consumer products and pop art are a hit-based crapshoot. As much as you want to learn about marketing stuff, make sure to keep producing new work.

[1]: http://en.wikipedia.org/wiki/Rovio_Entertainment


"[...] make sure to keep producing new work."

Thank you. Yes, this is solid advice... to keep moving. I'm working on figuring out what's next.


The fact that you managed to learn Swift while developing a new game just by yourself it's a great accomplishment already. Hope you'll manage to increase the revenue on your game - it looks like a really nice game.

Keep up the good work.


Thanks for the kind words.

You know, looking back, I sometimes think I was a bit insane to go with Swift, mostly because it was so new. I'd almost dread when a new Xcode beta would be released, because Swift was in such a state of flux; working code would end up breaking and I'd have to get everything working again, but in the end, it was exciting to go with a new language.

I wrote about my development experience here [1]. Warning, though: it's a long post!

[1] https://news.ycombinator.com/item?id=8888107


What are the resources you used for learning Game Development with Swift?


Hi, thanks for asking...

At the time, I didn't have any game-specific tutorials for Swift when I started. That's largely because I started with the first Xcode beta (Xcode 6 Beta 1) that was released with Swift support in 2014. It was so new, that there just wasn't much out there.

That said, I used the Swift documentation that Apple released as a guide to the language. I also used the Objective-C (There wasn't a Swift version at the time) SpriteKit Guide [1] as a way to get a handle on SpriteKit. If you aren't familiar with it, it's essentially an Apple framework for working with sprites, physics, collision detection, etc. It's similar in spirit to Cocos2d, if you are familiar with that.

Then, I just brute-forced my way through a Swift equivalent of the syntax. It was a slow process. My first version of the game was just displaying the player's ship on the screen, and then I iteratively built the game up from there.

On a related note, I'm really proud of the way the enemy drones fly in the 3rd level. If you go to this link [2], it's the 4th screen-shot from the left. I implemented a Catmull-Rom spline generator that creates flight patterns for the enemy drones.

Fast-forward.... now, I think more game-specific Swift tutorials are available. I would definitely check out http://www.raywenderlich.com , for example.

Good luck!

[1] https://developer.apple.com/library/ios/documentation/Graphi...

[2] https://itunes.apple.com/us/app/rocket-renegade/id955229059?...


I can completely empathize. I have a family, and so it takes even more effort to create the time and find the space to make things happen.

I just launched a game into the App Store. The journey was incredible, and filled with joy, sweat, and tears.

I've written about what I've gone through. It might be helpful for you. A small caution... these are relatively long posts, but hopefully they are enjoyable, insightful, and personally beneficial for you.

My experiences with what I felt while developing the game:


An older post that I wrote about work, embracing the grind, and driving through.


I wish you every success.

P.S. I figured I should do a TL;DR since those posts are even more epic in length than I realized, so I snagged some salient points:

1. You may look at your project and think, "I'm never going to make it. I'll never finish." Please, I urge you to set these thoughts aside and push through. Think about the analogy of building a wall. A wall is built one brick at a time. Watch a mason build a wall one day. You will observe that he or she lays one brick at a time.

This is how you have to view your project. Sure, it would be amazing to have an entire day, every day to devote to your project. However, the reality is that most of us simply do not have that luxury. So, strive to think of it as a mason: lay one brick at a time, and eventually the wall will be built. Every character that you type into Xcode, Visual Studio, etc. turns into a keyword, a variable name, etc... that subsequently turns into a line. Those lines build up, day by day, and before you know it, you have a program, and you look back and think, "Wow, why did I ever think I could not finish?"

2. You have to fight. This is paramount. I will say it again... you have to fight! What I mean here is fighting by engaging your Will. Engage your will to get up, to get moving. Engage your will to eat right, to exercise and go to bed on time so that you have the energy to get up and bring it.

3. You never know where your work will take you. Do not forget that, you have to dream it first in your mind before you can see it in your life. And to see it in your life, you must work. You may not be able to see things clearly now, but you never know what doors could open for you that you did not even know existed.

4. I find that I read this story at least once a month; it's just incredibly encouraging to me:



Thank you Arjuna! Congratulations on publishing your game.

From your linked post:

> Even the people around you won't understand the mental suffering that you are silently muscling through; you, torn between two worlds as the aforementioned autonomic function pushes and strains you to your personal limits. You measure the day's progress in centimeters rather than meters. You will either summit, or freeze to death on the mountain in your boots; the summit in sight, but just out of reach. Which-ever event happens, you feel alone, either way, because no one is carrying the sheer weight of The Vision than you. It is all you. It has only ever been you. There is no one to save you.

I snapped and yelled at my girlfriend the other day because I felt like she didn't understand the work I was putting into the project and the stress it caused me. That was definitely a low point for me.



I understand. From my experience, the most important items here are:

1. Keep the lines of communication open in your relationship. Sometimes, these feelings and lack-of-understanding that she is expressing may be because you are out of sync with her needs (i.e., she may feel like your work is taking precedence over your relationship and her). I know that finding balance is easier said than done, but, I feel the secret may be in:

2. Strive to carve out time to work in the early-morning or late-evening, whichever works best for your relationship. That way, you can attempt to perform a, "separation of concerns", if you will, in your life. This will serve to reduce the impact of your side project on your relationship. You may find that she is more understanding if you have a set schedule of working that is balanced and low-impact on your quality time together. Plus, with a set-schedule, your focus, stress-levels, and output will be better, because you will be working in a more balanced way.

Hope that helps. I know it's tough for creatives like us to find balance, as we work during the day at the mine, then try to create time for our side projects while juggling exercise, relationships, family, etc.


I launched Rocket Renegade. Developed in Swift.



Very cool. Looks like it performs great from the comments.

How was developing a game in Swift?


Thank you.

I've been working with Swift since it was launched in the Xcode 6 betas. It has been challenging. Working through all of the betas and going with Swift was probably an insane choice given that Swift was in such a state of evolution. Every beta would cause a sea of red flags. I'd dread having to level-up when a new beta was dropped, but I figured, might as well get it over with than wait until the GM hits and have things really be in a terrible state! My vote for the "best" error that I received during development was in some computational matrix code that calculates flight paths: "Expression was too complex to be solved in reasonable time." Of course, I read that as, "The math is making the room spin up in here."

However, I dig the language, and things have stabilized significantly now.


> Every beta would cause a sea of red flags. I'd dread having to level-up when a new beta was dropped, but I figured, might as well get it over with than wait until the GM hits and have things really be in a terrible state!

Hah, sounds like my experience with Rust over the past year or two. But like Swift, Rust is a really cool and innovative language, so I've put up with it (although looking forward to things calming down soon).

Actually, it's my interest in Rust that's propelled my interest in Swift, to the point where I'm considering developing an iOS app in Swift as an experiment. I've done Android development before, but never iOS.

I may even do a game, so I was curious how your app went.

You didn't happen to open source the code, did you? I'm curious what a codebase for a well-received game in Swift looks like.


To add to your comment...

My first game was approved and released on Apple's App Store 2 days ago. It's currently displaying in the "Featured" section of its category. As a fledgling game developer who is learning to fly, trying to make a dream come true, I can say that I simply do not have the financial resources or marketing muscle to reach the audience that my game is reaching on my own. I just would not have this exposure available to me as a solo coder, and for that I am grateful. Also, I'm not saying that I'm special in any way; actually, I suspect that my story isn't much different from the stories of other game developers who are just getting started.

Up until the point that I started developing the game, I'd never owned an Apple product. I figured that I might as well try something new, and get some exposure with OS X, Xcode, etc. So, I ordered a Macbook Pro, an iPhone 5S... and then I lit the fuse.

And that is why the game ended up on iOS. Yes, I know that I've sort of locked myself in with a single platform, rocking Swift over cross-platform options, embracing that beautiful, "Walled Garden", etc., but, I had to start somewhere.

In the final analysis, I own the code. I can convert the code and create versions of the game on the platforms of my choice.

I can certainly understand if people have issues with Apple, and of course they have every right to voice and discuss their concerns. However, the restrictions outlined in the petition have not prevented me from delivering on my dream.


Interesting coincidence... I developed a game [1] in Swift and posted it as a "Show HN" about an hour ago [2].

Initially, I admit that I did have some rough times as I worked through all of the Xcode 6 betas, and that was quite challenging. However, things have definitely gotten better with production releases of Xcode.

I know that it's a game and not a traditional app like you are developing, but I think my game shows that you can achieve a quality result with Swift.

[1] https://itunes.apple.com/us/app/rocket-renegade/id955229059?...

[2] Show HN: Rocket Renegade, a Space Shooter for iOS in Swift



Boys and girls, I present my first game, Rocket Renegade.

"Don't you want a little taste of the glory, see what it tastes like?" [1]

I rocked all of the code and the music [2], so you can run and tell that.

The sprite-based graphics appear courtesy of Daniel Cook [3]. Thank you, Daniel, for the graphics that you lovingly created nearly 20 years ago on the Amiga 1200. I hope that my game makes you feel proud and nostalgic.

Thank you, John Dunbar [4]. John created Plasma Sky. He was kind enough to answer a number of development-related questions that I had. I'll add that you really need Plasma Sky in your line-up if you love you some shmups.

I wanted to talk about a feeling I've been experiencing. I think that you may be able to relate, but the most notable experience that I had during development was working to get comfortable with hardcore, radical, relentless persistence. What I mean here is, I worked incredibly hard to make this game a reality. I hit many roadblocks with Swift in the early betas, and it was tough. Near launch, I hit a bug where things ran flawlessly on hardware, but would have a yard-sale on some, but not all, simulators. Beyond a single hardware unit, I had to rely on simulators due to budget constraints. I've logged millions of points playing this game so that it could be the very best that I could deliver. Millions of points. I've broken down in tears, for a complex reason that's hard to explain, but I'll try, because I feel like it's important to talk about this; I can't be the only one:

It's this feeling that, overall, you just want to be a success. You know you want to finish, but at the same time, you want to rest, but the reality is you can't stop. Actually, you feel like you have the mental capacity and power to stop, you feel like you have complete control to sit back and relax a bit, but when you lift your foot off the accelerator, you find that the F1 vehicle keeps traveling at ~322 km/h (~200 mph) because you can't fight your very DNA; it turns out that you're wired that way. Or, at least the perception that you're wired that way is so strong that you might as well be, even if it's actually all mental. It's as if you know you need to rest, and you want to rest; you want to rein in elements of your life that you've let spiral out of control because of your game, but, simultaneously, while you are cognizant of this fact, there is a higher-order, autonomic function that is axiomatically in control, and overrides any of your attempts to stop working, to stop perfecting, to stop bringing it with everything that you have within you.

You retire to bed at a reasonable hour, but you are "eyes wide open" at 2:00am or 3:00am, literally waking up from a dream that's an answer to a problem in the code. The urgency kicks in... you try to fall back asleep, but it's futile, so you throw yourself in the shower, get dressed and light the fuse.

Unfortunately, too many nights like this cause your immune system to be compromised.

Being trapped between those two worlds (i.e., being driven to deliver and trying to rest) is absolutely heart-breaking. This feeling is exacerbated near launch, because you're literally a few hundred meters from the summit, but you're exhausted, delirious, hungry, thirsty, sleep-deprived, and everything else. The wind and the cold is cutting through your gear, making it feel as if you are wearing nothing but your small-clothes. Your visor is completely frozen over, and nightfall is looming, but you still have to summon everything from within you to bring it, because there is no one who can bring it but you. No one is going to summit for you. No one is going to slide their stacks "all in" but you.

Even the people around you won't understand the mental suffering that you are silently muscling through; you, torn between two worlds as the aforementioned autonomic function pushes and strains you to your personal limits. You measure the day's progress in centimeters rather than meters. You will either summit, or freeze to death on the mountain in your boots; the summit in sight, but just out of reach. Which-ever event happens, you feel alone, either way, because no one is carrying the sheer weight of The Vision than you. It is all you. It has only ever been you. There is no one to save you.

I'm starting to tear up just trying to put this feeling into words. Has anyone experienced this?

So, this really is the story (perhaps not unlike yours) of grinding at the mine during the day, returning home, spending time with and cooking for the family... then, quietly donning the white coat and slipping into The Lab and clocking back in after dark to bring it for the next several, precious hours, working to make the dream real... then, catching some sleep, waking up, turning around and dropping the hammer all over again. It would be absolutely romantic for me to be able to headline this as a, "move-fast-and-break-things-built-in-N-hours-MVP", but I've no such lock and load glam-story to recount for you here.

I share all of this because I know that you are the type of people that can appreciate what goes into creating, developing and shipping a commercially-viable game; not just the technical aspects, but the personal aspects: the sweat, the tears, the schedule juggling, the grinding, etc.

Through it all, I've learned even more to embrace the grind.

In closing, I have two items that I wanted to ask you:

1. Have you bootstrapped game development to the point that you were able to launch out on your own? I'd enjoy hearing your thoughts and your story. I'm so far away from those shores that I can't see land at this point, but I hold hope, no matter how implausible it may seem. From my time here on HN, I know that some of you are stacking from a taste of that sweet SaaS, but have any of you rolled a knot in games?

2. Have you "gone functional" in your game development? I would like to travel this path eventually. As you likely know, Swift does offer functional elements. Plus, I've listened to John Carmack talk about his experiments with Haskell [5], and it sounds interesting. However, I'm simply not there yet. My simple, first-step was to be as immutable as possible where I could, and start becoming more aware of immutability as I developed, overall. A small start, but admittedly, a far cry from, "Warp speed, Mr. Sulu!" functional.

Finally, I would certainly field your questions, if you are so gracious enough to have any. I enjoy answering questions, so AMA and you'll likely find yourself diving delightfully deep into a quite heavily-frosted TIL.

Thank you for reading this far, and for checking out the game. Here's wishing you a wonderful and productive 2015!

[1] https://www.youtube.com/watch?v=tkRvLFdrbTU#t=63

[2] Slip on your headphones, FTW!

[3] http://www.lostgarden.com

[4] http://plasma-sky.com

[5] https://www.youtube.com/watch?v=Uooh0Y9fC_M#t=4876


There's a lot at play here.

Here are just a few notes that come to mind, based on what I've extracted from your comment. They are designed to try to get you to ask yourself, "What is the root cause of my lack of motivation?" They may or may not be on point or specifically applicable, but again, take them as potential "candidate questions", if you will, to get you thinking toward solving the problem.

1. You have a child on the way. As a parent myself, that's an absolute game-changer, and you could be subtly stressed about this. Becoming a parent affects different people in different ways. It's possible that you are mentally focusing more on that upcoming area of your life, and so the motivation to stay connected at work is subtly fading.

2. In conjunction with #1, you mentioned that you live in a high-cost city. That, coupled with the fact that you are going to become a parent, could be causing stress. You may feel that there isn't enough money, and this could be subtly impacting your motivation.

3. I take it that you are a software engineer that worked up through the ranks and are now leading a project. Is it possible that you miss being a developer? That is, are the stresses of managing the project, "talking to mangers and product people" pulling you away from your love of the code, such that it's absolutely draining your motivation?

4. Alternatively, if you're in a "mixed role", where you both code and manage, maybe you are suffering from the fact that all of the product meetings and discussions are killing your productivity, so your backlog just keeps getting larger and larger. If so, that of course can be a deep cause of stress, despite having full control of your schedule, and having all other aspects of your position be copacetic.

5. Are you just flat-out burned-out? Do you need a vacation? It could be that you need to step away and recharge.

6. Is it possible that you have become unmotivated because of your comparisons to your colleagues who have went on to become millionaires? Admittedly, this is of course a very difficult comparison, but if this is affecting you, you will need to work at letting it go. This will poison your Will. There is no other way except to keep fighting, and to keep working on what you define to be important for you.

7. Are you taking time out to exercise and eat right? I'm talking about lifting heavy weights, cardio, yoga, etc. In my experience, this is vital to reconditioning the mind, revitalizing the soul and improving your outlook.

8. Finally, do you still love what you do? This is an important, but potentially tough question to ask yourself in an honest way. That is, if none of the above are factors, it could be that you need a change of season in your life. I've written about this before, but in my personal experience, motivation is secondary (but closely related) to passion.

Generally, when one has an issue with motivation, then he or she may not have discovered his or her true passion in life.

You have to find your passion.

If you do not find it, then it is likely that you will never be truly motivated.

However, once you have found your passion, then you will find that it is literally game on in your life. You will wake up earlier, because you have engaged passion in your life, which will bring motivation to your actions. You will be bringing the thunder. You will be firing on all 12 cylinders. You will not want to sleep more than is necessary, because you will know from deep within you, that you want to bring what is inside of you to others, and to the world.

Ask yourself:

1. "What am I truly passionate about?"

2. "How can I deliver what I am passionate about to others?"

Answer these questions, back the answers up with action, and you will see motivation unfold in your life.

I wish you every success.


I'd echo many of the things that Arjuna stated. I'd also like to offer some additional thoughts...

Please believe me when I say that your entire world view/focus is going to change over night when your child is born. Your ambitions are going to take a back seat to your child's welfare and stability. But, at the same time, your personal happiness is going to be deeply rooted in your child's.

Are you no longer finding yourself in a "creative" role and instead find yourself in a "support" one? I know when that happens to me initially I have a short period of time where I feel very accomplished and relaxed (i.e. completed project), but then quickly fall into a kind of depression until the next "creative" thing comes up. Before my daughter was born, this was when I would begin looking at other jobs. It wasn't because my current one was bad, but rather because I wasn't being challenged and my skills applied meaningfully. Something new had the potential for learning, creating, and adventure. Years have taught me that very rarely was the problem my environment; it was me not understanding how to pull myself up and start setting goals and being constructive without someone telling me to.

Stop and ask yourself, "if I owned $LARGE_SOFTWARE_CO, and I had a great employee, what would I want him/her to do if they were feeling depressed, unmotivated, and/or bored?" I'd hope your answers would be:

Tell me; I want to do all I can to increase their happiness at work. Maybe there's something I can do to help.... And be pro-active; find where we're falling short and solve it!

After 10 years with a company I have to believe that you've earned some respect. What could be improved? Don't limit your field of view to your own domain. What steps would you take? Go talk to your superiors, tell them how you feel, and give them suggestions on what you (not they) could be doing that would be beneficial to you and the company. Any good manager would be absolutely ecstatic to get this feedback from a valued employee.

Best of luck!


What a truly inspiring human being. I can only dream of aspiring to her levels of contribution.

Check out some of the Apollo 11 code for the Lunar Module's (LM) Apollo Guidance Computer (AGC). It's just awesome browsing through it, reading the comments, and thinking about the zeitgeist of being on a team that was working on something of that world-altering magnitude.

Code Library:












- - -

Incredible quote:

"There was no second chance. We all knew that. We took our work very seriously, but we were young, many of us in our 20s. Coming up with new ideas was an adventure. Dedication and commitment were a given. Mutual respect was across the board. Because software was a mystery, a black box, upper management gave us total freedom and trust. We had to find a way and we did. Looking back, we were the luckiest people in the world; there was no choice but to be pioneers; no time to be beginners." - Margaret Hamilton

- - -

Edit: OK, this is interesting. Note the filename. The filename and comments suggest that it was for driving keyboard and information display...




A few of the code modules that mention Hamilton:








An overview of the code:



I'm having a hard time believing that's a working kalman filter implementation in assembly in 70 odd lines!


Check this out... here are the two source code pages (digitized from original printouts) for the Kalman filter, dated July 14, 1969!






According to wikipedia "The onboard guidance software used a Kalman filter to merge new data with past position measurements to produce an optimal position estimate for the spacecraft." https://en.wikipedia.org/wiki/Apollo_PGNCS

In turn the main source of navigation information came from mission control using least squares. A source on that would be nice too!


A lot of people will find it hard believing how smaller code can be in assembly than in our supposedly higher level languages, e.g, look at this example of quicksort, http://en.wikibooks.org/wiki/Algorithm_Implementation/Sortin... go down to the C example below and note that it's longer.


after having worked on a kalman implementation in processing, I had the same gut reaction.


The scalar case is not so bad; typically the filter is taught using the vector-input/vector-state case, which is more complex.

I can't make heads or tails of the assembler listing either. The specific thing I would look for in the assembler code is the division operation which is required to find the Kalman gain. I don't see it.

But, the anecdote about the Kalman filters use in this setting is well-known. (E.g., search for "Apollo" in http://ieeecss.org/CSM/library/2010/june10/11-HistoricalPers...)

The amazing thing from my point of view is not the implementation. It is rather that the theory, which was quite novel at the time, was only understood and published in 1960/61. To have it used in a flight system, and indeed a manned flight system, only 8 years later is really incredible.


indeed, its the kind of thing where you hope to see such epic code comments like this:

// and the following section is where we attempt to land on the Moon



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact