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:
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.
Thanks to https://responsively.app checking how webpage looks on different screen sizes is waaay faster ๐ Mirrored interactions makes it really useful ๐งจ
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 ๐๐๐
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.
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 ๐น
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 ๐...
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 ๐
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! ๐
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 ...
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!
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 ๐ค?
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 ๐ซ
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>
);
You should not, it's simpler than you may think. In this article, I described 3 ways to test Redux store ๐
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.
I recommend to start form my first article: Chargebee - how to build own subscriptions base product faster๐. Do you want more like that?
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 ๐งโโ๏ธ.
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 ๐โโ๏ธ.
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 ๐
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.
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 โ.
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 ๐ฑโ๐ค
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.
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 ๐ช.
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 ๐ฑโ๐?
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.
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 ๐น.
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 ๐
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 ๐ค
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 ๐.
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 ๐
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 ๐ช๐ช๐ช
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?
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 ...
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 ๐ฑ.
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 ๐?
Headless CMS - we got back full control on our UI and still giving customer control on content ๐ช.
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 ๐ค.
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 ๐.
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 ๐ฅ
.