Consume less, produce more. Modern culture is driven a lot by consumption. One push I’ve tried to do over the last year is to produce more and consume less. This includes writing, drawing and photographing instead of scrolling, cooking food over eating out, writing code and making projects over passive consumption and more. I’ve found it super valuable, I still consume too much news and twitter but I’ve been doing well to make a conscious effort and I enjoy the results. I encourage you to try the same.
I listened to the How I Built This podcast today about Milk Bar and the founder sounds really cool and the food sounded delicious. Looked up the reviews in Harvard and they’re “meh”. Is it worth money or a lot of hype?
Pair programming, configuring or writing takes a lot of energy for me but it can be super helpful. It’s especially powerful it for complex infrastructure, detailed reports and sharing knowledge of how to interact with or work in a system.
Writing down your steps as you make changes and tweak a procedure is super valuable. Turning steps into a text playbook or a script allows you to pull pieces together and convince yourself you are doing what you need.
On a small team with lots of active projects it’s really easy to get spread thin and have too much work in progress. When you have a chance take a day and burn down the to do list. This clears a lot of mental space and is valuable for moving projects forward long term.
This weekend we are headed to the Cape and it’s so much better than in season. I’m not a huge beach fan but when it’s out of tourist season it’s so much more relaxing.
Hiking, beach towns and more are drastically improved by less crowds if you are comfortable with slightly tweaked activities and prepping for more variable weather.
Exercising, stretching, eating well, putting in focused work can all be painful but in the end are good for you. It can be really hard to remember this. This is where good habits come in. It’s hard when you fall out of the habit. What else is painful but good for you?
When debugging a problem make sure you test your assumptions, especially when stuck. I just spent a while debugging something I “did” not working until I eventually realized I hadn’t done it at all.
Some tips for code reviews! www.agundy.com/2019/10/1…
Come work with me at Skylla Technologies www.linkedin.com/jobs/view…
Using RSS to Keep Up www.agundy.com/2019/10/1…
I got tired of reading lists of tech needed to become a developer and wrote up some thoughts on another way. www.agundy.com/2019/10/1…
I have been sold on developing a personal knowledge base for a long time. If you don’t know what a knowledge base is, the main idea an electronic storage place for all your projects, ideas, notes, etc that makes retrieval and association between topics simple. I first stumbled upon this back in college from the tool github.com/noqqe/cmd…
I used cmddocs for a while and even had a shared folder with Seve and Kiana but I eventually gave up on it. Without easy image and file integration it didn’t fit every need. Evernote has been the closest knowledge base tool I have used with years of notes from college through my time at BookBub. Evernote has a few weaknesses but the main one is it’s more of a note taking application then a knowledge base.
I am still struggling with the medium to do this well. The tool needs to encourage data ingress, have support for rich media files and types, encourage daily use, be easy to modifying, tag, have great search and more. I think there is a tool here that would find a solid niche. DEVONthink may be it but it’s Mac only so no bueno. This tool would hopefully be helpful in making decisions and systematizing my knowledge.
After finishing Ray Dalio’s Principles this week I have a lot to dissemble but one thing they talked about was expert systems for decision making. I am also curious if some personal expert system could fit into a knowledge base too.
Do you have a personal knowledge base, wiki or note taking strategy you think works well? I am interested in hearing about it. Especially if it works well on Ubuntu!
Maintenance is a super interesting topic and I’ve been following @The_Maintainers with great interest.
In software especially maintenance is a constant struggle and shifting base. Things that worked well yesterday often do not work today. I hit this just today with apt packages which was held back causing something to fail to install. Even though it worked previously.
How do we make sure the software that we write lasts? Something I’m not super sure we have a clear path forward in but I think is super important to think about. Minimizing dependencies can help but how far can you take that? How do we update existing systems to be easy to maintain and make sure new systems are being built for the long road ahead.
I’m working at a super small start right now with lots of new code to write and existing code to hone and improve. It’s a constant struggle figuring out some of the balancing points here. How do you make maintenance and upkeep tractable long term?
Whoa I did not break the streak in the first week! Still going strong publishing something every day for 100 days. I didn’t run out of things to say yet either. I have a lot more to cover but tonight is late, since I went climbing after work.
The last few weeks have been busy with demos, integration and other project work and my fitness has been slipping. It felt good to get back on the rock wall though. Hopefully next week I’m back at it on a regular schedule.
How do you get back in the fitness habit? Or do you never have problems?
I am not sure the day I removed Facebook but I deleted it at one point about a year ago and have not regretted it. I am still active on Twitter, mostly professionally, and I download Instagram ocassionally to see what I missed but I have a lot less social media in my life. I found I felt further from my friends at first but long term I think it was healthier.
When catching up with family and friends the conversations are a lot more interesting and lively. It also means having more conversations. To figure out how people have been doing I have to have a conversation and not just like a photo once a month. Social media let me feel connected without having a relationship with the person on the other end.
Do I miss out on some opportunities and connections, absolutely, but I have strengthened the existing ones more. And I’m still a text, email and phone call away. Not far in these modern times.
How do you read your books? I read physical books for tech and science books. Audiobooks for nonfiction business, psychology, science and history. And eReader for fantasy, sci-fi and business.
Gitlab has been growing on me over the past 8 months. Work had previously been using Github but we were evaluating what continuous integration to start using, and Gitlab CI seemed to be just what we needed.
After evaluation I wanted us to switch but switching all your source control endpoints needs a reason. We then had a visiting engineer start and wanted to add them to a group of projects. Digging through Github it seemed like we would have had to create a group and then individually add that group to the repos we wanted access too. Gitlab’s subgroups made a lot more sense, so that day we did the switch and have not looked back. Gitlab is not as popular or stylish as Github and doesn’t provide the social network feel but it kicks butt for managing code and continuous integration.
Over the last few weeks I’ve been exploring Gitlab issues and I am hitting edges I do not like. Issues are great and have everything I need for now but the viewing and managing them is sub-par. We have a few groups for different isolated projects and a few projects that span groups, with this setup the lists and milestones get hard to track. Milestones only show up at one level, you can not see them from a subgroup milestone page even if the projects there are part of the milestones. Lists can be at any level but you can only add milestones from that level. No milestones from projects below yours can be displayed. This hinders making boards across projects.
Milestones are a little click heavy to work with. You click on a milestone and get a slick page with a nice chart and your total issue counts, deadlines etc but seeing the issues involves clicking a tiny link at the bottom of the milestone page. The milestone link on the issues list also drags takes you to a filtered list of issues with that milestone on the repo the issue belongs to, not back to the milestone page, yeah I’m confused too.
Now some of these problems with issue lists and milestones would hopefully be addressed by upgrading to the tier that includes Epics. The problem is we aren’t hooked yet, and Gitlab needs to hook us into their project management tools at the $20/user/month tier before we jump to the next tier at $100/user/month. That’s a lot of money for unproven value, especially if we can not build solid workflows and have bad experiences with lower tiers.
Over all I have really enjoyed using Gitlab. Container registries per repo, deploy tokens, Gitlab runners, the code review tools and branch management are all great, and I really, really want to buy in more to some of their features but the usability is sometimes lackluster especially in more advanced features. They definitely go for the checking all the enterprise feature boxes over sleekness and performance once you get past code and CI. What are your thoughts on Gitlab vs Github?
I have been back on Linux full time for almost a year now and there are a few things I miss.
I love, use and even contribute occasionally to open source software but it does not work well for a lot of tools.
I miss some of the excellent apps on MacOS:
There is also a some software I would like to be able to try for personal use:
Screen tearing, displays disconnecting from my dock and draining battery when it should be sleeping are all issues that I really wish I did not have to deal with.
Gnome window management does not make sense to me. Their is either multiple workspaces on one screen and a single workspace on the other. Or workspaces that span both displays but when you hit the meta the illusion breaks. Instead of seeing just the windows for the open workspaces, one display shows what you expect of only the programs open in that workspace on that display, but the other display shows every single window open on that monitor. This drastically reduces the nicety of having two displays.
Work requires that I have Linux given the tools we rely on, but I really miss some of the polish of the Mac ecosystem. For personal usage I will probably buy a Mac laptop when I can justify a reason to get a new personal computer. For now I have a Linux desktop and an old personal laptop at home.
An addendum to: letterstoanewdeveloper.com/2019/06/2…
If you join a team who has you working alone, do not be afraid to push back. Some groups especially when small have large silos of isolated work that all need being tackled. Putting one person on each thing is a poor strategy for long term team health and velocity. Even as a new developer, you can contribute across the team. Some ideas to get started:
This will be incredibly helpful for you and for your team. As a new developer you can offer new insights and reaching across teams helps others improve by encouraging less overly complex solutions. You will also begin to level up and pick up on where changes need to be made to improve confidence.
Today was a busy day at work, but it didn’t have to be. I fooled myself by doing work but not the important work. When planning your day make sure you do the important tasks first.
Consumption and happiness is a huge discussion that I can’t breakdown completely in a short post, but to summarize consumption does not generate genuine happiness.
Travel is often lauded as a way to find happiness and I want to dissuade you of this opinion. Travel is just another form of consumption. And traveling for the sake of traveling or to create happiness is not a viable strategy. This does not mean you can not get happiness from traveling. It just means it has to come from a second order effect of traveling, mainly challenging yourself or your comfort zone, learning new things and renewing or making personal connections.
Travel is also a form of consumption that is much easier to share and flaunt on social media. When seeing this consumption and getting jealous realize that you can generate similar rewards to them without the same consumption in many other ways, though they may not fit well in a square photo.