Mess in team/department documentation?


do not panic ๐Ÿ˜จ

The most important question is: why you need documentation? Do you want to secure knowledge that can be taken with leavers? Is that a tool to share knowledge better? Do you want to make new employees onboarding process much easier? Maybe it's required by stakeholders? Documentation generates costs and before you will decide to make documentation ensure that it's pragmatic. The biggest challenge is to keep documentation up to date. There is nothing more annoying than thousands of outdated documents. Few tips that can be useful:

  • secure time/resources to review documentation (i wish to have it obvious everywhere)
  • build company habit to tag documents that seem to be outdated or should be archived - you will quickly collect a list of documents that need to be reviewed, it also gives a hint for other employees to be careful before the document will be reviewed
  • find out how often specific documents are used (it can be retrieved e.g. from Google Docs API), prioritize review process for documents that are most often used and archive those that are not used at all. You will find out that some of the documents are not used but should be ๐Ÿ˜Ž
  • make a contribution to the documentation review process as a part of employee assessments
  • verify each new document by a person who will need to use that (e.g. if you describe a production update process - ask the developer who never did that to follow documentation)

Need more beatiful (vector) graphic for designs?


here are next two extremly popular sources

A picture is worth a thousand words ๐Ÿ“ท. So here you have really nice source of free (vector) pictures: drawkit.io and undraw.co ๐ŸŽ. It helped me to build landing page for Gruv Traning side project from scratch in a matter of 2 hours.

Responsively โค๏ธ


awesome tool for web development

Thanks to https://responsively.app checking how webpage looks on different screen sizes is waaay faster ๐Ÿš€ Mirrored interactions makes it really useful ๐Ÿงจ

responsively app displaying Mailchimp website

Gruv Traning after pivot - POC ready to collect first feedback from users ๐Ÿ˜ฑ


Finally, 48 days after Gruv Training pivot, Proof Of Concept is ready for first validation with users ๐ŸŽ‰. It's time to leave keyboard for a while โŒจ๏ธ, meet people who may using Gruv and ๐Ÿ‘‚๐Ÿ‘‚๐Ÿ‘‚

Chrome and HTML5 video seekbar issue


What is not clearly described in the documentation, to use html5 video seekbar functionality in Chrome or possibility to mutating currentTime property your server needs to support HTTP Range Requests. Here simple explanation how to handle that using nodeJs with streams.

Page that everyone should know


Unsplash - a countless number of beautiful โค๏ธ high resolutions photos ๐Ÿ“ท with a copyright license to download, copy, modify, distribute, perform, and use including commercial purposes ๐ŸŽ‰That's what i needed for next landing page design ๐Ÿ‘น

Does Redux and state managment need to be so complicated? ๐Ÿ˜•


Redux settled down in many software developers toolset but does state management need to be soo complicated? Well, looking at Recoil I think that it may be a much better way ๐Ÿ˜ฒ. Time to test it in next POC project ๐Ÿ˜...

Retrospective meeting online? Why not!


How we could organize online retrospective meetings without https://metroretro.io/ ๐Ÿค”? Tested in real life and looks like it will join our toolset for much longer ๐Ÿ˜

POC/MVP and mobile appliaction


Lesson learned ๐Ÿ‘ฉโ€๐ŸŽ“ - if possible, try to avoid building native mobile application for POC (Proof of Concept) or MVP(Minimum Valuable Product). React native or Kotlin are fancy to play with but at the end building/testing/deploying loop is much slower than just a web application or even PWA (Progressive Web App). Remember, the speed of idea validation is the king! ๐Ÿš€

Corona Pivot


Because of coronavirus, all group events are shut down so...it's not a good time to develop early-stage startup Gruv Training that target trainers who lead group exercise classes ๐Ÿ˜’. Eight months of work need to wait for better times ... I'm much more confident in React Native at least. Officially: first official pivot ... we will try support trainers in online activities ๐ŸŽ‰ Stay tuned ...

Finally, "todo" app that works for me


After 10 years and many tries with Todoist, Trello, Google Keep, Evernote and dozen of physical paper notes I found a "todo" app that is perfect for me ๐ŸŽ‰ Notion ๐ŸŽ‰ Well, it's not only a "todo" app ... anyway, it made my life much easier. Good job!

Don't make this mistake ๐Ÿ˜–


Think twice before you decide to make some of your features in mobile app working offline. Sync complexity (e.g. merge two changes made offline) is not something you want to deal with at the early startup stage. Question for the evening: complete what started or simplify ๐Ÿค”?

Dark side of TypeScript ๐ŸŒ—


Remember, before you will decide to add TypeScript to an existing project - it's an additional layer on top of JavaScript. Sometimes it may be not so straight forward as you expect. I have 3 projects in a configuration expressjs + nextjs (SSR) and in one of them ts-node made our application 6 times slower and still have not to figure out why ๐Ÿ˜ข. You can compile a project for production (tsc) once in a while but you still want to have quick development hot reload environment ๐Ÿ˜ซ

Android app - refresh on scroll to top


Thanks to RefreshControl it was easier than i thought ๐Ÿ˜„

  import { ScrollView, RefreshControl } from 'react-native';
  // ...
  const refreshing = props.sessions.apiCallStatus === INBUILT_SESSIONS_REQUEST.IN_PROGRESS;
  const onRefresh = useCallback(() => {
    actions.refresh();
  }, [refreshing]);
  return (
      <ScrollView
        refreshControl={
          <RefreshControl 
            refreshing={refreshing} 
            onRefresh={onRefresh} 
          />
        }
      >
      // ...
      </ScrollView>
  );

animation showing RefreshControl in action

Are you afraid that Redux testing is difficult? ๐Ÿ˜–


You should not, it's simpler than you may think. In this article, I described 3 ways to test Redux store ๐ŸŽ‰

Write technical documentation which you would like to read yourself ๐Ÿ“•โค


Usually, no one like writing technical documentation ๐Ÿ˜ช but sometimes we have to. If we do, instead of treating it as a punishment, we can make it awesome. How? Let's start with Technical Writing course by Google.

Preparing for your first product in a subscription model?


I recommend to start form my first article: Chargebee - how to build own subscriptions base product faster๐ŸŽ‰. Do you want more like that?

Deploy via FTP


It doesn't need to be boring ๐Ÿฅฑ and time consuming process, ftp-deploy can help you automate this process in 10 minutes. I'm using that to deploy static generated pages to dumb server and works really nice. Agile & frequent delivery ๐Ÿง˜โ€โ™‚๏ธ.

Next.js was awesome, now even better


React using Server Side Rendering or as Static Site Generator? No problem! You can start in a few minutes using Next.js ๐ŸŽ‰. Now even better as they clean up API (getStatic(Props|Paths), getServerSideProps) and documentation ๐Ÿ™‡โ€โ™‚๏ธ.

Democracy in startup?


Your biggest adventage can be speed and flexibility ๐Ÿฑโ€๐Ÿ‘ค. If you always have to convince a majority to approve ideas/make experiment/take decision ๐Ÿคฆโ€โ™‚๏ธ ... well, for early startup stage strong leader is priceless ๐Ÿ˜Ž

Puppeter, Selenium webdriver killer?


If you want to you use NodeJs and it's fine for you to be limited to Chrome/Chromium - choose puppeteer โค. Puppeteer is much more stable than selenium webdriver with NodeJs, API is more consitent and documentation 10 times more useful.

Unit testing banned? ๐Ÿคทโ€โ™‚๏ธ


I'm not going to convince you that unit tests will resolve all your issues and you should always target 95% test coverage. But the hell - sometimes it's really handy tool๐Ÿ”ง! If someone banned that in your company - do everything to convience him that it was a mistake. If you can't change that ... you know what to do โœˆ.

Pomodoro โฐ as productivity hack?


For me is just a tool ๐Ÿ”ง - need to be used wisely. Pomoro helps me to motivate myself when I have a bunch of boring tickets on the board but from other side it can distract me easly when i'm in the middle of the mission ๐Ÿฑโ€๐Ÿ‘ค

๐ŸŽน Is mechanical keyboard must have for a programmer?


After 6 months with Kailh Blue switches i clearly see that mechanical keyboard is not a game changer. I almost don't see typing speed or accuracy difference between mechanical and good membrane keyboard. Over all, most of us do not type soo much. ๐Ÿ”ฌ Just choose most comfortable for you.

Inmature Expo.io?


I started develop mobile application using React Native and Expo library and still wonder when i will find limitations that will force me to eject application from expo stack ๐Ÿค”. Single sing on with Google? Expo expo-google-app-auth package is not too popular ๐Ÿ˜ฑ? Surprisingly, works perfectly fine, stable so far and simple in configuration. Good job Expo ๐Ÿ’ช.

Conflict-free Replicated Data Type (CRDT)


I recommend to listen Full Stack Radio episod ๐Ÿ“ป with James Long about distributed approach to database ๐Ÿš€. Just wonder how often CRDT will be overenginering for MVP ๐Ÿค”?

"๐Ÿ“• Blood, Sweat, and Pixels"


by Jason Schreier

You will not find any technical details - for me it's just good set of bedtime ๐Ÿ› stories for people interested into software/game development. Well... maybe some pixel art just for relax ๐Ÿฑโ€๐Ÿ‰?

Hidden dragons everywhere ๐Ÿคฆโ€โ™‚๏ธ


The darkest place is under the candle ... how often we dream about awesome techniques and tools but fail with basic name convection ๐Ÿ˜ฅ. Now i know why it's one of the first "Clean Code" chapter.

"๐Ÿ“•The Power Of Your Subconscious Mind"


by Joseph Murphy

I expected so much (over one million copies sold worldwide ๐ŸŒ) and so huge disappointment ๐Ÿคฆโ€. Really low meat to babble ratio and pseudoscience crap. Worst book i ever read ๐Ÿ‘น.

React Native + Storybook = โค


developing UI components in isolation

When i started journey with React Native i struggled with styles ๐Ÿ˜– - it was really annoying and time consuming to work on components that are not so quickly accesible ๐Ÿข or could have many different states. What i found out is that Storybook that i know as great tool for Web Applications is also available for React Native! Simple tool that makes work much faster ๐Ÿš€

Selenium webdriver on AWS EC2


For one project i wanted to run selenium tests after each application update. I had not dedicated server or CI setup so i tried to run that on heroku using https://github.com/heroku/heroku-buildpack-google-chrome and unfortunatelly it was not stable for me - could not connect to chrome randomly ๐Ÿ˜ฅ. I run that on AWS EC2 using Xvfb and surprisingly works awesome ๐ŸŽ‰. By the way: t2.micro instance ๐Ÿค‘! Maybe it was lame and i should try to use AWS Lambda ๐Ÿค”

App design


You are software developer and your apps looks really bad ๐Ÿ˜ฑ? Try to create mockups before first line of code - even if you don't have any sense of beauty (like me ๐Ÿ™ˆ) outcome will be much, much better. You don't need advance skills to do that - i believe that everyone can master bascis in few hours โŒš. I work with Adobe Xd - it is doing it's job and is free to download ๐ŸŽ‰.

"๐Ÿ“• The one thing"


by Gary Keller with Jay Papasan

What i found valuable in this book (at least to page where i stop reading that ๐Ÿคญ)? Reminded me that we are mortal, our willpower is limited and maybe we should focus on stuff that matters. That sounds little bit like a "lean", doesn't it ๐Ÿค”? What i'm pretty sure - if it works for software development then definitely it's good lifehack ๐Ÿ˜‚

Poland Independence Day


In 1946 ENIAC, first digital computer was completed โŒจ. In the same year, just after World War II destroyed Poland ๐Ÿ”ฅ struggle with democracy standards when Three Times Yes referendum was manipulated by communist. 73 years later in rankings Software Developers from Poland have 3rd place on the World ๐Ÿš€๐Ÿš€๐Ÿš€. I'm proud of you guys ๐Ÿ’ช๐Ÿ’ช๐Ÿ’ช

Bug of a day


JS, baby - why you make my cry ๐Ÿ˜ฅ. Because of typeof null === 'object', code like typeof something === 'object' always should be followed by something !== null or !!something. Do we have to use heavy lodash _.isObject(something) to make our code neat and concise?

Redux-presist & migrations


Seriously, no one is using redux-persist for React Native ๐Ÿค”? If yes how it's possible that documetation is silent about fact that downgrades are not supported and pull request open since May 2018 ๐Ÿ˜ค. So more pull request has some errors. Time to create new one ...

New side project


Gruv Training

I'm really happy to announce that together with Arek Stachoล„ we start new side project - Gruv Training ๐Ÿฅณ๐ŸŽ‰ Our plan is to help trainers conduct fitness classes ๐Ÿคธโ€โ™€๏ธ๐Ÿƒโ€โ™‚๏ธ๐Ÿ‹๏ธโ€๐Ÿ‹๏ธโ€๐Ÿ’ช. Great opprotunity to learn little more about fitness industry and play around mobile development ๐Ÿ“ฑ.

Payment industry fail


Customer want to pay for a servise so you initialize payment process and you are waiting 10 days โฐ for confirmation from a Bank that transaction was succesful - 21th century! Watch out for that - almost 2 weeks was not enough to verify transaction and after few days you still can get this trasaction canceled because account has insufficient funds๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ! Sound like old Soviet Union technology ๐Ÿ”จ? SEPA Direct Debit fully implemented in 2014 ๐Ÿค. Just wonder if they still using paper and pen as database ๐Ÿ˜?

I'm in heaven


And I seem to find the happiness I seek

Headless CMS - we got back full control on our UI and still giving customer control on content ๐Ÿ’ช.

Subscription model and operations hell


I have good news for everyone who want's to build application/business that use subscription model. You don't need to waste houndrends of hours on building operations stuff like: user managment, offer configuration, subscriptions, payments, invoices, financial reports etc ๐Ÿ˜ฑ๐Ÿคข๐Ÿคฎ. On the market exists few tools that handle all that boring & necessery tasks very well. My choose: Chargebee (great API and free for startups). Now you can focus on core of your business/application ๐Ÿค‘.

NodeJs callback hell


Are you working with NodeJs? Experienced callback hell ๐Ÿ‘ฟ? Writing promise wrappers for extrnal modules to be able use it in async/await functions๐Ÿ‘? Respect your time and don't do that manually - util.promisify. If doesn't work for you use promisify with bind to keep this working ๐Ÿ˜Ž.

How to fail in Javascript


In JavaScript you can throw anything; strings, numbers, booleans, objects, even other functions. You can does not mean that you should ๐Ÿ‘น. You have to throw Error object throw new Error("Some error message") to have access to error trace wneh you catch that ๐Ÿฅ….

ยฉ Marcin ลšlฤ™zak - made with โค