• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Dion Almaer

Software, Development, Products

  • @dalmaer
  • LinkedIn
  • Medium
  • RSS
  • Show Search
Hide Search

Archives for February 2014

The atomic octocat is out of the bag

February 27, 2014 Leave a Comment

GitHub puts their hat in the ring with a new editor written by Web developers for Web developers, hackable from the get go!

“The atom is a basic unit of matter that consists of a dense central nucleus surrounded by a cloud of negatively charged electrons.”

I am very excited to see Atom, the developer environment from Github, come out into the world. Birthing a new editor is no small feat. It is hard to know when it is “ready” because there is the potential of death due to a thousand paper cuts.

Ben and I choose to build Bespin as we wanted to show that the Web could build something worthy of being your text editor. We got part of the way there, and I am proud of the community that made that happen, as well as other people that have taken it further over the years.

The GitHub crew kindly showed me Atom awhile ago. It was awesome to see, because I always wanted Bespin to have a strong home with GitHub.

It was so obvious:

  • One of the goals of Bespin was to help people build open source software. An editor of the Web could make it trivial to jump into a project and help you get productive much faster than it is possible today
  • The community was at GitHub. You can do so much with that data to help people build software. I can’t wait to see a future where things like “I have seen this code before, need help?” becomes something not as bad as Clippy 😉
  • GitHub’s slogan was “Social Coding” for God’s sake! (I am mad at them that it took this long ;)

In fact, one of our early hack sessions was with the GitHubbers in their “office” on the second floor of an Italian coffee shop. It was fun to show them what we were working on and share some of the vision.

We quickly realized that trying to get a developer to switch from their beloved Emacs, Vim, or now Sublime etc… is truly a religious war. Rather than waiting to build everything out, we wanted to have reasons to use Bespin as well as your main editor. We wanted to focus on what the Web could do for you.

This lead to a vision that consisted of:

  • Totally hackable editor in the Web (all JavaScript). Now, with Node, folks have taken that to the next level (including Atom) where you can use the same Web developer tools on the tool itself. Awesome.
  • Collaboration: Pair programming, or in general just being able to hack with folks was important. How cool would it be if you were editing something and in real-time found out “hey just so you know, Bob just commited something to his branch on that code”. There is more to “collaboration” than inline sharing
  • Layers: Text is great, but what about layering on more? Show me where my hot spots are in the code so I know where to refactor. Tests are failing? show me in the editor where. I should be able to turn on and off layers depending on what I care about. There is much exploration to be done here IMO
  • Forkable: I want to see what Brendan Eich’s environment is like and tweak it. I would love to watch a coding session. I would like to have a timeline and move it back and forth. I would like a chat log to be tied together with coding so you can see what people were talking about as they coded… richer documentation on the “why” than anything in a comment

I think that it is interesting to see this as github.com/atom. I love that they have done a great job and bridging the worlds of native and Web for the true best of both worlds. As with Bespin, I can’t wait to see what other people do with it since it is so hackable and the Web devs can hack on their own tools.

I also know that a first release of an editor is a delicate beast. I don’t want people to have their hopes too high, and for those hopes to be aspirational. It will take time. GitHub will give it that time, and I look forward to seeing what happens.

Congrats to the Atom team (and the other teams working on developer tools such as Brackets!)

ps. As much as I am excited about Atom and how it will actually go on to change how we develop product, I am also very excited at the hybrid stack that has been built and how it performs. If I was to write a native desktop app, I would like to do it with that ☺

pps. A number of people have commented on “is Atom open source?” @mojombo speaks up to say:

Atom won’t be closed source, but it won’t be open source either. It will be somewhere inbetween, making it easy for us to charge for Atom while still making the source available under a restrictive license so you can see how everything works. We haven’t finalized exactly how this will work yet. We will have full details ready for the official launch.

Node vs Rails is to Paleo vs Vegan

February 25, 2014 Leave a Comment

Nuts For Everyone

Don’t get sucked into the wrong details and what separates us

I love the part of the hype cycle of a new technology where the claims come out:

“We switched from X to Y and the new experience was twice as fast to build, and offers double the scalable performance!”

We saw it with the move to Java, and then to Rails, and then to Node, and with the various off shoots (Python, Clojure, Go, you name it).

Whenever you see a “case study” it is fun to get into the details (and see people debunk), to understand the context, and not to make assumptions.

We use node at Walmart Labs, and I have really enjoyed the experience. For our use cases it was a great choice. It wasn’t the only choice. It wasn’t the only choice that would have “worked”, but it was a great choice.

Some of our context here is that:

  • We were building an orchestration layer, where evented systems shine (You can get evented via other platforms, but node does this great and kinda forces it ☺)
  • We had built a conditional tier rendering platform that would allow us to render views on the server or client for performance and SEO reasons
  • We had the opportunity to hire amazing talent who were passionate about solving our problems with this stack. Talent matters ☺

Fads: Diets and Platforms

Interestingly, I see many parallels with the world of nutrition and “diets”. I changed my diet entirely a year and some change ago. I called it “low carb”, “high protein”, even “paleo”, but although naming this made it easy to communicate (vs. listing out what I eat each day 😉 it also constrained it and didn’t recognize how dynamic the system was. At first I went pretty cold turkey (and very low carb) so I could shock the system and then build up from there. My diet today is much more nuanced. I don’t just care about macronutrient compositions, I care about quality and where the food came from, and what all is in the food. I favor whole foods over processed food stuffs. I favor quality beef over chicken. I go for a variety of veggies (all the colors in the rainbow kids!)

If someone asks me “how did you lose over a 100 pounds” is it fair to say “I went paleo and then worked out, got sleep, …..” as though that was the only way to do it? I am sure that if I switched from my standard american diet to being vegetarian or vegan even, I probably would have had a similar outcome.

The key was the opportunity to be mindful and rethink what I was doing.

The same goes for technology. It isn’t that choosing node vs. go is going to be the make or break. The key is that you are getting off of the horrific 12 year Java stack that is baked on Entity EJBs and stored procedures with business logic thrown in each tier. The ability to re-think and get out of the daily hell… that is what counts.

Don’t get stuck in the paradox of choice. Choose a technology that makes sense for you. Only make the Big Switch if it truly makes sense (I have made platform switches that were utter failures and were not for the right reasons!). Don’t kid yourself. Have fun. Build good habits.

And then tell us what worked and didn’t work, don’t just write an article on how X is so much better than Y!

We all have much more in common that what differentiates us. I am glad to have my feet in the camps that care vs. those who don’t.

I slowed time with my central nervous system

February 24, 2014 Leave a Comment

Squaw Valley from the Tram

I had a very strange experience this weekend. At one point, I had the distinct feeling that I had slowed down time, or at least, I had radically changed my perception of time (after all, isn’t that really what we are talking about?)

How did I manage this time warping effect? It involved breathing, and skiing.

I was up on the slopes of Squaw Valley, and one of the chair lifts was broken, which meant that I had to find another way back to the top of the High Camp where I was meeting my family for lunch. The solution was to jump on a different chair lift, which got my above the lunch spot, and the path down was steep for a beginner like myself.

Fortunately, the steep downhill was on a very wide and open area, and I could see that it dipped down and then came up at the bottom. This meant that I could go straight down, and as long as I stayed calm, I would come to a natural stop once I was going back uphill again.

I told myself “you can do this, just don’t flinch”. I prepared myself to lean forward into the ski boots and to *not* lean back at any time. Just stay balanced, leaning forward, and relaxed. And, then I went for it. The steepest part was right at the beginning, and I quickly felt like I was going waaaay too fast. My mind was racing with thoughts such as:

  • “If I fall, this is really going to hurt!”
  • “I am out of control!”
  • “I don’t know how to handle this”

And, I was fighting those demons with “keep calm, lean forward, relax”.

At this point I thought I would try my meditation / heart rate variability practice and I took some deep breaths. That is when it happened. That feeling of break neck speed went away, and it was as though I had instantly slowed down and was in control, even though I know that my velocity was still full pelt (relative to my experience, not to Bodie Miller ;). It was an amazing feeling!

The heart rate variability practice that I mentioned above relates to the Heart Math Inner Balance HRV system that I use. It gives me feedback on my heart rate variability and thus trains me to get into a certain zone. It has been incredibly useful (e.g. if frustrated in a meeting at work, I will do the practice to calm myself down).

The importance of getting the balance right with your two nervous systems seems critical, and is something I never used to think about. Over the years my metabolic syndrome was causing my systems to fire like crazy and I am sure I was in “fight or flight” all the darn time.

I have been wondering how I can use the fact that I have an increasing control of my nervous system through training, and this skiing incident got my thinking again. Can I calm myself (and stop the sympathetic system) to let me take more control?

When I think about freaking out about going at speed when skiing, you can understand why. It isn’t the speed, it is the control. When I was driving home from Tahoe at 70 miles an hour (a lot faster than on skis!) I was very much calm because my subconscious knows how to drive. My system wasn’t worried about it, even though it is still “dangerous” no matter how good a drive you are. You have gotten a perception of your control over a situation and are calm and ready for action. As a beginner, my subconscious hasn’t gotten the habits needed to automatically know how to keep myself safe. my conscious mind is still having to say:

  • “hey mate, I know it seems weird, but put weight on your downhill foot to not fall down the hill!”
  • “lean forward more to slow down!”
  • “put more weight on the left to go right!”

With the ski run, I had worked out that all I needed to do to be safe was to not freak out, so calming myself was all that I needed to a) be safe and b) enjoy the ride. It isn’t that there isn’t a valid reason to have your nervous system kick the fight or flight systems into gear and get alertness to 11, but in this case it wasn’t needed.

I am going to continue to experiment with this. In fact, I did so again on the same trip. I have suffered from vertigo in the past. I hated heights. Once in Park City I made my wife walk down a mountain because I couldn’t handle the cable car. At Squaw Valley you get to take a tram to the lunch spot that I mentioned. Steep. It swings at points. You can fit the Washington Monument under you at the highest point on the ride. This would have made me sweat in the past. But not this time. I accepted the facts:

  • I didn’t have control over anything such as the tram falling to the ground
  • The odds of that happening were incredibly low (the drive to Tahoe was much worse odds for casualty)

And, I enjoyed the ride…. as I plan to do for many other new experiences in the future.

Next Page »

Primary Sidebar

Twitter

My Tweets

Recent Posts

  • I have scissors all over my house
  • GenAI: Lessons working with LLMs
  • Generative AI: It’s Time to Get Into First Gear
  • Developer Docs + GenAI = ❤️
  • We keep confusing efficacy for effectiveness

Follow

  • LinkedIn
  • Medium
  • RSS
  • Twitter

Tags

3d Touch 2016 Active Recall Adaptive Design Agile Amazon Echo Android Android Development Apple Application Apps Artificial Intelligence Autocorrect blog Bots Brain Calendar Career Advice Cloud Computing Coding Cognitive Bias Commerce Communication Companies Conference Consciousness Cooking Cricket Cross Platform Deadline Delivery Design Desktop Developer Advocacy Developer Experience Developer Platform Developer Productivity Developer Relations Developers Developer Tools Development Distributed Teams Documentation DX Ecosystem Education Energy Engineering Engineering Mangement Entrepreneurship Exercise Family Fitness Founders Future GenAI Gender Equality Google Google Developer Google IO Habits Health HR Integrations JavaScript Jobs Jquery Kids Stories Kotlin Language Leadership Learning Lottery Machine Learning Management Messaging Metrics Micro Learning Microservices Microsoft Mobile Mobile App Development Mobile Apps Mobile Web Moving On NPM Open Source Organization Organization Design Pair Programming Paren Parenting Path Performance Platform Platform Thinking Politics Product Design Product Development Productivity Product Management Product Metrics Programming Progress Progressive Enhancement Progressive Web App Project Management Psychology Push Notifications pwa QA Rails React Reactive Remix Remote Working Resilience Ruby on Rails Screentime Self Improvement Service Worker Sharing Economy Shipping Shopify Short Story Silicon Valley Slack Software Software Development Spaced Repetition Speaking Startup Steve Jobs Study Teaching Team Building Tech Tech Ecosystems Technical Writing Technology Tools Transportation TV Series Twitter Typescript Uber UI Unknown User Experience User Testing UX vitals Voice Walmart Web Web Components Web Development Web Extensions Web Frameworks Web Performance Web Platform WWDC Yarn

Subscribe via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Archives

  • February 2023
  • January 2023
  • September 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • November 2021
  • August 2021
  • July 2021
  • February 2021
  • January 2021
  • May 2020
  • April 2020
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • April 2019
  • March 2019
  • January 2019
  • October 2018
  • August 2018
  • July 2018
  • May 2018
  • February 2018
  • December 2017
  • November 2017
  • September 2017
  • August 2017
  • July 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012

Search

Subscribe

RSS feed RSS - Posts

The right thing to do, is the right thing to do.

The right thing to do, is the right thing to do.

Dion Almaer

Copyright © 2023 · Log in

 

Loading Comments...