Tumgik
blobpost · 4 years
Text
First week of work
Where do I start? I started my first week of work for a small company in a city an hour away from where I live. The people seem relaxed, like they want to build software. The owner has an engineering background.
But for most part in week one, I felt like I was getting in people’s way. I worked on a ticket that had some styling that ‘didn’t follow guidelines’ (although there didn’t seem to be any in place). I followed up with another one that gave birth to questions about code formatting yet again. But there were also good moments where with good conversation about future plans.
Learned
How to push my code to a shared repository with several people working on it. It’s all easy when you code by yourself and don’t have to concern yourself with branches, merges, squashes, responding to comments, or deleting local/remote branches in case something goes wrong;
People have very strong feelings about the way they format their code and whether they use opinionated auto formatters (e.g. Prettier) or not
How to do CSS banners on pages with trigonometry;
Greatest accomplishment last week
Pushed two tickets on a client we’re working on, and got some face time with them. I got something done in CSS that would’ve otherwise been a SVG file.
Struggles
Don’t misunderstand people trying to reach consensus with people criticizing you, personally.
First thing I want to accomplish:
Get a couple more tickets out on client work.
Last Week’s Biggest Waste of Time? Setting up all the environment variables and the local development environment. We have a setup that could benefit from some performance improvement or hot reloading (if possible), so I don’t reload the entire app when making small fixes.
Roadblocks expected: Usually lack of design or clarity. Lack of direction on code formatting.
0 notes
blobpost · 4 years
Link
Google has created an "inclusive documentation guide" that suggests replacing problematic ableist language, unnecessarily gendered or violent language, and more.
Research the ways the people in the communities you're writing about  prefer to be identified and use the terms they prefer. In many cases, avoid  terms that remove personhood, or that define people by their disability. For  example, avoid terms such as: the disabled, a quadriplegic.  Instead, use terms such as: people with disabilities;  a quadriplegic person. However, many members of some communities prefer  "identity-first language"; for example, that preference is common in autistic,  blind, and Deaf communities.  Capitalization of identities also may vary. (For example, visit  Identity First Autistic  and  Self-Identification  in the Deaf Community for some perspectives.) Whenever possible, research  and choose terms that respect the ways people in the communities  identify.
0 notes
blobpost · 4 years
Quote
Whereas someone is effortlessly building a thing in a video screencast in an hour without breaking out in a cold sweat, it takes you ages and lots of effort to implement the same thing on your own. But that's normal. 99% of the video screencasts are prepared to show off the optimal way and shield away all the effort. That's what it makes such a pleasure to watch them.
Robin Wieruch
0 notes
blobpost · 4 years
Text
In Review: March - April 18
Last month has been busy. I’ve done more to boost my knowledge of React than in the past, but ended up exhausted from learning: watching other people code, trying different solutions, being guided a different way and eventually seeing the light. 
Things I did
Created 3 more freeCodeCamp Frontend Frameworks track: a pomodoro timer, a drum machine and a markdown previewer. I am one app short of completing the whole series. 
Read ‘Frontend Architecture for Design Systems: dated by now but acts as a good historic guide for how frontend tools and processes came to be, plus useful pointers for how to setup a frontend team’s way of working. A lot of it consisted of the author’s experience creating a design system for Red Hat, which wasn’t so interesting to me. I did learn a lot about SMACSS, OOCSS, and how frontend teams that want to perform well should think and act.
Things I learned (or refreshed knowledge of)
Algorithmic thinking. This is still one of my weak areas, and I’m trying to learn all I can. My biggest struggle is taking the ‘tools’ I’ve learned (data structures, control flow mechanisms, etc.) and applying them in a methodical order, rather than by the classic “try different things and see what happens” 
MVVN, MVC models: Soon after the quote generator the apps got more complex. I learned about ways to split my code files so the logic is controlled by a controller component, and the view components are only used to display information passed down to them. 
Prop drilling in React. I had to do something the very laborious way before I learned about context, something I haven’t used before.
Thoughts
Looking back at my diary, I was quite dispirited for most of March. My language classes stopped but then resumed on Zoom, not without a few hiccups and an adjustment period for everyone. There was a time when people feared intensive care units in the country would be at capacity since they neared the upper bounds. 
Links
Kent C. Dodds - Prop Drilling 
If you’re feeling uninspired when creating apps, look through Florin Pop’s app suggestions list
Discovered Frontend Mentor, a cool idea: practice your website building skills with ready-made websites that you should deliver as pixel perfect for feedback. For an additional price, there’s the option to get a Sketch file for them too.
0 notes
blobpost · 4 years
Photo
Tumblr media Tumblr media Tumblr media
JetBrains Mono by JetBrains
0 notes
blobpost · 4 years
Link
"The one thing that school trains you for is that being right is what matters. If you get the answers right in your test, then you get a good grade. Get them wrong and you don't. Maybe this frame of mind "sticks on" once you leave school, especially given that most people who post these kinds of comments seem to be from the "smarter" end of the spectrum (personal opinion, not based on any actual research). In the real world being right is not a merit by itself. In any debate being right is important, of course, but the much more important feature is being relevant. That requires understanding the wider context and possibly admitting that something that is the most important thing in the world to you personally, might be completely irrelevant for the issue at hand. 
Being right is easy. Being relevant is extremely difficult."
0 notes
blobpost · 4 years
Text
In Review: March 16-20
I don’t know where this week went, what with the Covid-19 pandemic taking hold of the country and world. 
Things I did
Completed the React part of the freeCodeCamp Frontend Frameworks track
A random quote generator (pictured below) for the same course
Tumblr media
Things I learned (or refreshed knowledge of)
React Hooks: useState and useEffect - via an intro added to the Scrimba course. Then had to go back to class components in freeCodeCamp, since I wasn’t fully aware of how to manage state via functional components yet (and they don’t teach it in that particular module)
Class components: the freeCodeCamp frontend frameworks uses them since it doesn’t teach about hooks
Composing react apps: the first time I had to put something together and break down the logic and the display;
Thoughts
Coronavirus, nCov-19, COVID-19, all the same. It’s hard to concentrate. 
For a while I also felt frustrated with some props.children exercises I worked on. It took me a day or so of reading around to fully understand what it wanted me to do, and even then I needed help. Once past that and building the simple quote generator app, I started to feel enlightened and good about my progress. 
0 notes
blobpost · 4 years
Photo
Tumblr media
0 notes
blobpost · 4 years
Quote
I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.
Alan J. Perlis ( via MIT)
0 notes
blobpost · 4 years
Text
Coronavirus Diaries: March 17
It’s been a few days since the last update, and I’m still keeping busy with React. In other Corona news: 
Control, contain, suppress, pass through, lockdown, herd immunity and other  communication fails
A few countries are pursuing a “controlled” approach to containment and letting it “pass through” some populations as they work to protect the vulnerable. It’s still unclear if you can truly become ‘immune’ from the virus once you get it, but my country is doing the same.
However, both mine and the UK failed at communicating this. People didn’t take “herd immunity” well, and they were left with the notion that the UK government deliberately wants to infect people: 
“People have misinterpreted the phrase herd immunity as meaning that we’re going to have an epidemic to get people infected,” says Graham Medley at the London School of Hygiene and Tropical Medicine. Medley chairs a group of scientists who model the spread of infectious diseases and advise the government on pandemic responses. He says that the actual goal is the same as that of other countries: flatten the curve by staggering the onset of infections. As a consequence, the nation may achieve herd immunity; it’s a side effect, not an aim.
Indeed, yesterday, U.K. Health Secretary Matt Hancock stated, “Herd immunity is not our goal or policy.” The government’s actual coronavirus action plan, available online, doesn’t mention herd immunity at all. “The messaging has been really confusing, and I think that was really unfortunate,” says Petra Klepac, who is also an infectious-disease modeler at the London School of Hygiene and Tropical Medicine. “It’s been a case of how not to communicate during an outbreak,” says Devi Sridhar, a public-health specialist at the University of Edinburgh.
The U.K’s ‘Herd Immunity’ Debacle
Flatten the curve has a much better ring to it, but it does presuppose understanding the curve. A similar thing played out on Twitter in my country, despite an otherwise mature and measured speech from the PM. The head of the local CDC went through the same motions. 
Lockdown
Similarly, the media had wrongly called our restricted freedoms a ‘lockdown’, though we’re nowhere near a lockdown. France and Italy are now in lockdown. The crisis is managed decree by decree. People need permits to travel. Police walk the streets. We have some restrictions: Staying at home for the asymptomatic is encouraged, and mandatory for those with symptoms. No one is enforcing or penalizing. Gatherings over 50 people are banned, so museums, coffee shops, restaurants and schools and universities are closed. The borders are open, yet few are flying in given entire fleets grounded and other countries banning non-essential travel. 
What next
Either way, the UK already backtracked from the so-called controlled approach once a new report came out based on Italy and early UK data instead of previous projections modeled on a form of severe pneumonia. This last report says:  
“Epidemic suppression is the only viable strategy at the current time”.
A suppression strategy, along the lines of the approach adopted by the Chinese authorities, "aims to reverse epidemic growth, reducing case numbers to low levels and maintaining that situation indefinitely".
It requires "a combination of social distancing of the entire population, home isolation of cases and household quarantine of their family members", and "may need to be supplemented by school and university closures".
But where we are now is that we can’t suppress for 18 months. There is no right answer. But people are starting to realize this won’t last two weeks. Or two months. We’re not like China, taking draconian measures. And even if we did, there’s no way to know when and how it will rebound, and whether we can control it once people start socializing again. 
So regardless of what the government does or doesn’t do, here is this warning from Italy: 
Please stop waiting for others to tell you what to do; stop blaming the government for doing too much or too little. We all have actions we can take to slow the spread of the disease — and ensuring that your own household has enough canned goods and cleaning supplies is not enough. You can do a lot more. You should do a lot more. Stay away from restaurants, gyms, libraries, movie theaters, bars and cafes, yes. But also: Don’t invite people over for dinner, don’t let your kids go on playdates, don’t take them to the playground, don’t let your teenagers out of your sight. They will sneak out with their friends, they will hold hands, they will share their drinks and food. If this seems too much, consider the following: We are not allowed to hold weddings or funerals. We can’t gather to bury our dead.
Hello From Italy. Your Future is Grimmer Than You Think.
0 notes
blobpost · 4 years
Text
Coronavirus Diaries: March 14
At the suggestion of someone on Twitter, I figured I’d pepper this blog with Coronavirus updates since it’s taking up a lot of mental bandwidth these days. 
I vaguely remember talking to my grandmother in December, asking if she’d seen the news about it in China. And now here we are. 
Here’s what I’m reading and thinking: 
We need clear-headed, rational, critical thinking
I liked the point Cassie Kozyrkov made, on how to apply sound principles from decision science to your own life:
If you’re not in the habit of investigating your own morality, now is as good a time as ever to face questions like, “Under what circumstances, if ever, am I willing to put a stranger’s life at risk? How much risk?” (If you’ve ever driven a car around others or gone outside when you have the sniffles, I’m sorry to inform you that you’ve already risked strangers’ lives.)
It’s terrifying to face a virus that you can’t see and don’t understand. 
Just because you’re young doesn’t mean it’s fine
I understand people panic buying as much as I understand those brazen in their belief that “they’re young” and won’t suffer and going out. It’s all coming from the same sheer terror. But I can’t help thinking, they’re wrong. 
A (presumably Italian) doctor writing under anonymity for Newsweek said it best: 
Catching the virus can mess up your life in many, many more ways than just straight-up killing you. "We are all young"—okay. "Even if we get the bug, we will survive"—fantastic. How about needing four months of physical therapy before you even feel human again. Or getting scar tissue in your lungs and having your activity level restricted for the rest of your life. Not to mention having every chance of catching another bug in hospital, while you're being treated or waiting to get checked with an immune system distracted even by the false alarm of an ordinary flu. No travel for leisure or business is worth this risk.
Now, odds are, you might catch coronavirus and might not even get symptoms. Great. Good for you. Very bad for everyone else, from your own grandparents to the random older person who got on the subway train a stop or two after you got off. You're fine, you're barely even sneezing or coughing, but you're walking around and you kill a couple of old ladies without even knowing it. Is that fair? You tell me.
“Young and unafraid of Coronavirus? Good for you. Now stop killing people”
It’s even harder to deal with an onslaught of media that you don’t know whether you can or can’t believe. I am here for statisticians trying to help us make sense of data. I am not here for marketers and others becoming virologists overnight. 
There’s a seeming lack of global coordination outside science
It’s perplexing to figure out whether your government is doing the right thing, or over/under-reacting to the situation. And if you get to it, it’s even more puzzling that there isn’t a well-coordinated global response to this outside of researchers making all papers public and working hard to develop vaccines.
Dennis Carroll, virologist (and the former head of a USAID program that sought to identify animal viruses that might infect humans and to head off new pandemics): 
In 2005, during the avian influenza, George W. Bush was on the phone routinely with leaders around the world about how to coordinate a global response. Barack Obama did the same in 2009 for the second H1N1 pandemic and in 2014 for the Ebola epidemic. You saw presidential leadership step up and act as a catalyst for forging a global way forward for a global problem. It has been absolute silence in this White House.
Populism here and across Europe and elsewhere has fragmented the global networks, which had been so instrumental in being able to bring together a global approach to problems like this. I’ve not seen any reports coming out of the White House that showed that as China was struggling to bring the virus under control, our president reached out to President Xi to talk about how to coordinate action. I’m stunned by the absolute absence of global dialogue for what is a global event. In Europe right now, you would never believe that there was a European Union. From where I sit, it looks like every country is making this up as they go along. Italy isn’t coordinating with Brussels. Brussels isn’t coordinating with Germany. There’s no coherent regional approach to this problem in Europe, even though they have a platform for doing it.
The Man Who saw the Pandemic Coming 
0 notes
blobpost · 4 years
Link
The more likely place for the failures to occur is with the tools themselves, if they have not provisioned sufficient compute, storage, or bandwidth resources to deal with the increased traffic. 
Examples of such failures have already been observed in China: servers supporting Baidu’s iQiyi streaming service, an educational application called Xuexitong, popular office applications including video conferencing applications DingTalk and WeChat Work, and online games from Tencent all reportedly crashed due to increased traffic. 
These failures are arguably similar to those seen on e-commerce or gaming platforms on high-traffic days, where backend systems are unable to process the higher than normal volume of orders or account activations.
0 notes
blobpost · 4 years
Text
In Review: March 2 - 13
Things I did
Some exercises from JS30: an exercise to build a clock with CSS and JavaScript, where the clock hands change depending on what time it is. The style of the videos and teaching manner doesn’t quite work for me;
Built a meme generator as part of a Scrimba course. Finished the React introduction altogether.
JS Basics and CodeWars katas, still on my way to 5kyu
Tumblr media
Thoughts
Lot of personal things came up. Taxes, data gathering, tooth/nerve pain and emergency dentist visit. 
Things I learned (or refreshed knowledge of)
Read the Refactoring UI book, which taught me a lot about how to approach design systematically as a front-end developer. 
Read an interesting post from someone who spent five years in energy, on how it’s not at all what people might think -- especially given margins and power dynamics. Some VCs were speculating on Twitter that many people in “big tech” would move on to “big purpose” companies in the few years. Remains to be seen. 
Saw a helpful site with public career progression charts for engineering roles: Progression.FYI
Watched a comprehensive video on the landscape of web development in 2020. 
Read some more on how to work responsibly and improve self confidence.
Things I want to change (or do more of)
Be less anxious about Coronavirus, though hard to figure out how.
0 notes
blobpost · 4 years
Quote
We revert to our six-year-old selves at times when we are frustrated. You won’t get any learning from your steps outside your comfort zone if your response to a roadblock or a scraped knee is to say, “That’s stupid! I felt awkward. I’m never trying that again!” You’ll get learning when you say, “Okay, that was an amazing experience in feeling completely out of my depth. I’m going to think about that and see what I can learn from it. I’m used to feeling totally competent, but that’s not the best way for me to learn. I have to feel in-competent in order to pay enough attention to get better at something new. That’s what I’m doing now!
Liz Ryan, Reinvention Roadmap
0 notes
blobpost · 4 years
Quote
Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
Linus Torvalds
0 notes
blobpost · 4 years
Text
In Review: February 2020
It usually feels as though February goes by so fast. And even though we’re in a leap year with an extra day added to the month (to account for the way we measure time for earth’s orbit), it still didn’t feel that much longer. 
Onwards:
January recap
At the end of January I had several intentions: learn more React and build a project, add more theoretical knowledge of JavaScript and computer science topics, attend a meetup, discover newsletters and research potential career paths. 
I’m reasonably happy to say I did almost all those things, though the theoretical knowledge took a back seat and I didn’t build a project in React. However...
Evolution
At the beginning of the month I didn’t have any projects to show for all the stuff I’d learned. I went back to a freeCodeCamp Responsive Web curriculum that I started, but hadn’t finished. I completed all the projects (a tribute page, a product landing page, a technical documentation page, a survey form) and made a portfolio out of them as the last assignment. I wrote retros for each project other than the portfolio, and learned many useful things along the way about HTML, CSS, accessibility and design in practice. It was gratifying to have something to point family and friends to, as evidence of progress.
Tumblr media
Responsive design - it be like that sometimes. 
I read a couple of books that changed how I think about my own performance: High Performance Habits by Brendon Burchard and Mastery by Robert Greene. Mastery was the mental equivalent of defragmenting my brain and rearranging everything I know about learning and discipline in a totally new way. Mastery lays out a structure for how to apprentice in a new field and (return to) work on something you feel is your true calling, whereas High Performance Habits has practical tips and advice for how to stay motivated and change other aspects of your life and master your own psyche. 
I attended a frontend event in town. Primarily about frameworks and how to choose. One talk stood out for me, and helped rekindle my passion for learning what I set out to learn. I didn’t meet anyone new at the event, but walked away with a better understanding for how companies evaluate frameworks, and what could make me more eligible for hire.
I built several mini-exercises in React, to help practice passing props and adding JS. They’re a fun and challenging way to learn, instead of copying a tutorial in a code-along. 
I applied to a diversity scholarship for a conference. I’m skeptical it will go ahead given COVID-19/Coronavirus scares and cancellations all around. 
I took stock of the skills needed today vs. skills that will be required in the future. One of the other books I read last month explained how to work back from a desire and come up with milestones along the way, much like OKRs. It prompted me to look into skills and knowledge companies in my city expect me to have. Then the High Performance Habits book suggested looking ahead (inasmuch as one can) to skills that will be needed in 10 years from now. That way, the idea is to repeat the exercise yearly and develop new skills and habits early, so you’re not blindsided by new requirements for a future role.
What next?
For March: 
On the learning front :
Continue with React and the freeCodeCamp JS path. I want to have some mini-app built out in either vanilla JS or React. I’m also entertaining the idea 
Plan five projects. This means have an idea of what I’d like to include in my portfolio, and sketch out some basic steps to make them happen. Even better if I can make one or two of them happen, like with HTML&CSS ones. 
On the career dev front: 
Nail the basic skills and knowledge I need to get hired. I want to apply some of the lessons from Mastery, and create a clear path for myself: the first step is to have a list of all the skills I’m supposed to have for entry-level job, and start practicing them. 
Update my landing page and host it somewhere nicer. It’s sitting in GitHub and it could be on a personal domain. 
0 notes
blobpost · 4 years
Text
Mini Project Retro: Building a a Product Landing Page Page With HTML & CSS
One of my last freeCodeCamp Responsive Web Design projects: a product landing page. Like before, there were some user stories to guide it, an already-built example, and simple instructions to avoid using fancy libraries and frameworks so you can learn the ropes with the basics.
The end result is here.
Tumblr media
What I did
I created an imaginary minimalist decluttering service, an idea that came to me in a flash.  It was meant as a parody at first, but I ended up paring back the words and leaving three options for users to choose from.
I researched some pricing table examples on Dribble but took most inspiration from other websites I like, e.g. Aesop. I wanted to find a compromise: what is readable is not usually the most alluring visually, and what is alluring visually isn’t always the most readable or usable. 
Lessons
Creating responsive divs is a challenge
I ended up with three imaginary services to choose from, not knowing this would be a challenges for responsiveness. Given the minimalist design and ample room to breathe between elements, resizing everything inside the box for smaller-than-desktop but bigger-than-mobile displays wasn’t an option. Deleting one wasn’t either ;)
It was stuck with an awkward in-between sizes scenario: for large displays, the 3 items would sit in a flex row. For mobile, they’d be a neat flex column. But in the middle...do I squish the content inside or push the items into a different layout? In a real life scenario, you wouldn’t cut a pricing scheme because the developer couldn’t figure out how to display 3 boxes, would you? Or...would you?
Turns out there aren’t great solutions for the awkward in-between: for example, the Washington Post narrows the boxes ever so slightly on their GDPR consent form and then forces the boxes into a column. 
My solution was to give the individual items a max-width, and push one down with flex-wrap. Given more time, I’d have designed the boxes differently, but at that point I’d already spent a lot of time figuring out their look and didn’t want to invest much further. Lesson learned. 
What I’d do differently
Different designs for multiple screen sizes. This is a recurring theme. I have a mental sketch of how I want things to look, but for these small projects I don’t lay things out in Figma or fancier design tools. It’s more time-consuming but fun to tweak as I go along for now. For something more complex I’d ensure there are appropriate designs for mobile vs. designs for desktop, and the content looks good in all of them. 
Introduce a sizing system. This is the first project that challenged me in terms of CSS, and I read 'Refactoring UI’ after, which made me realize how I could’ve made things more systematic and saved myself time.
Use SVG instead of PNG. I borrowed a PNG for the imaginary company logo, and really wanted to use SVG, but ended up in a rabbit hole trying to figure out how to resize and crop SVGs, which pushed this as a to do for my next project.
0 notes