Hacker Newsnew | past | comments | ask | show | jobs | submit | sic1's commentslogin

I envy you for never having issues with VS Code. I have to restart it far, far too often for it grinding to a halt. I'll lose my auto-complete menus completely. Forget auto-completing any paths (like for imports) when it gets to this state. I have to restart my whole computer sometimes.

I have minimal plugins, but have once again removed some more that I thought were helpful, performance got a little bit better again. But we shall see how long it holds up, as I've done this a couple times now in an attempt to gain reliable performance. This is on basically a brand new 15" i9 Intel MBP.

I'm not the only one I've talked to that has random slow-downs like this. I've literally contemplated going back to Sublime Text 2 for my sanity - I just want things to work reliably. Oh, and if you accidentally click on one of your build files, enjoy the system lock-up!

I don't need new features every month in VS Code that I won't use. I just want better performance on the basics so I can get back to being in flow, writing code, solving problems.


You are to the point where you know what CSS can do, and can work your way through building out UIs. From here it's about adopting a system, and a system that will work well with your needs.

Are you building in a react environment? Are you building WordPress websites? Are you just building simple landing pages? Are you building in a team environment? These could all have different solutions, they could also use similar solutions.

But you need to decide how you want to think about CSS. Which to me, is atomic vs component driven.

Atomic is building small reusable classes, then use those classes everywhere in your HTML. It keeps things consistent. [Tailwind CSS](https://tailwindcss.com/) is the winner of this race at the moment. Lots of people are moving to it. There are solutions for standard CSS, SCSS, or even working with it in React type environments.

Component driven is how I think of BEM, "Block Element Modifier". Break things into reusable components, keep your naming structure consistent according to BEM specs.

I personally prefer BEM type of process (break your pieces into components), but with usage of utility classes also, these can be thought of as atomic (one use, like text-align: center;).

I'm going to try Tailwind on a project soon (I've been following it for years), but I will still think of it in a BEM type structure. Things get messy in atomic when you have complex UIs that have different needs across device sizes. I personally have a hard time looking at HTML when one element could have 10+ classes on it if you go pure atomic.

I've kept things consistent without Tailwind with my own set of config (for things like colors, units, font stacks, z-index stack, etc), then various helper functions for things like keeping breakpoints consistent.

There are lots of great resources (look up atomic css and BEM css), you should browse through many of them to get a well rounded picture of how people work with CSS.

But figuring out how you want to think about CSS and putting a system around it seems like where you are. I recommend trying various methods out, and see what works best for you. Just be flexible if you are in a team environment. A team sticking to a defined standard (even if it isn't your favorite) is better than lots of competing standards.


I'm over here confused about how so many people are using Whatsapp. Is this is the United States or other countries? No one I know uses Whatsapp over here.

I did however do what others are suggesting. I installed Signal, and told my close family and friends to install it to communicate with me - and to not use standard SMS anymore.

While I did get a bit of grief over it initially, we are all happily using Signal now, and more people I know are moving to it all the time.

It's also a great middle ground for iPhone and Android users to communicate.


This looks great, and could be a great tool to help some front-end developers.

However, I must say, it's 2019, if you call yourself a front-end developer, and you do not know flexbox and grid - you are greatly missing out on an amazing radical change in how you think about and design your layouts. There really is no excuse for not knowing this stuff, especially with all the great resources out there to help you learn.

Flexbox Zombies basically changed my life. It taught me the possibilities, and now I know them by hand. https://mastery.games/p/flexbox-zombies

The same company has a paid game to learn about the grid (https://gridcritters.com/), but I came across the resources below and did not buy it.

Flexbox Froggy and Grid Garden are both free, not gated by an email signup, and very high quality. You and everyone on your team should do them, even if you think you know them well. It will help with reinforcement.

- https://flexboxfroggy.com/ - https://cssgridgarden.com/

I think Gimli is an amazing tool, and I might even buy it when it comes out. But please, do yourself and your team a favor - learn the tools by hand first. If you wrote a float at all this year, this post goes out to you.


I don't think learning something necessarily mean knowing lots of names/properties by heart. You should however have a good idea of what grid and flexbox can do for you and when to use them I think.

I personally have a hard time differentiating between properties such as justify-content / align-content / align-items / justify-items / justify-self and so on. To me those are just random words. Perhaps because English is not my first language, I don't know.

I really think it makes a huge difference to see a small icon describing what properties have been set and to see the difference by hover instead of just reading/editing raw CSS.

I've visited https://css-tricks.com/snippets/css/complete-guide-grid/ and https://css-tricks.com/snippets/css/a-guide-to-flexbox/ countless of times. Some of the stuff just does not seem to stick tbh, especially if you have been working on something not-CSS related for some time.

I'm sure some people just remembers everything, but i'm not one of them :)


Agree with all of this, except that float still has a place. when you want text to flow around an element, float is great. I'm so glad that we don't need it for layout anymore, and I'm sure that's probably what you meant.


Agreed, although these days I find more new developers who know flexbox, but not traditional layout method like inline-block and position:absolute. IMO it's key to know both.


Flexbox and grid might not be compatible with your customers browsers


It's unlikely that's the case unless you're in a weird niche where people use ancient tech though. Both flexbox and grid have been available since IE10, albeit in a slightly different form prior to Edge.

I happily write flexbox layout code in particular that works everywhere without any changes necessary for old browsers.


Grid isn't supported on some web view's in Elo Android devices we deploy to...


Polyfills probably are.


Flexbox and grid are very hard to polyfill since they are deeply embedded in the layout engine.

The only flexbox polyfills are Javascript based and really slow.

AFAIK there is no up to date / usable Grid polyfill.


I map caplocks to control, I find the default control button in a weird spot to always be moving my pinky to (and I hardly have a use for caplocks, like yourself). However, after you said this, it reminded me of the comment I caught once where someone had their caplocks setup to be esc on click, or control on hold... no idea how he had it setup, though I'm curious once again.


> someone had their caplocks setup to be esc on click, or control on hold

I have this setup, and it is great. After you switch capslock to be Ctrl, just run (at startup):

    xcape -e 'Control_L=Escape'


Karabiner Elements can do that.


> The aha moment for me was when I worked with a 26 yo trombone major who took a 3 month coding bootcamp who was showing nearly the same level of programming proficiency as me. And I wasn't a schmuck programmer.

Programming proficiency and programming/development/software knowledge are two different things. He may have _proficiency_, but does he have real world experience of working in a dev team? Handling nasty bugs? Working on legacy code bases? And so on..

People may be able to get up to speed quickly with all the resources at their fingertips these days (which is great), but if you only had a team of those people... Well, I wouldn't bet a business on it.

Full disclosure, we just hired a 40+ dev and could not be happier with the experience he brings to the team. Yes, we could have saved $20K+ and got someone younger in their career, but he's already shown his value in getting up to speed quickly and tackling large tasks/issues right away.

There will always be shops on both sides of the hiring fence (I've seen both), I call them farm teams vs the big leagues.


I'm really not trying to be dismissive here...but I think you're pointing out exceptions and not the rule. The vast majority of software jobs don't need 20 years of experience. 5-10 years is plenty.

> Programming proficiency and programming/development/software knowledge are two different things. He may have _proficiency_, but does he have real world experience of working in a dev team? Handling nasty bugs? Working on legacy code bases? And so on..

He had everything needed to do the job.

> I call them farm teams vs the big leagues.

This was at a startup in SF acquired by a giant software firm.


Whoa, whoa... explain your magic wizard. I've had caps lock mapped to control for years (i don't use the actual control keys for anything, don't like the weird pinky motion), but having a quick esc like that sounds great.


First, I use OS X Keyboard preferences to map caps > ctrl.

Then, I use Karabiner like so: https://cl.ly/3W2X1A2j3y3l (screenshot of my settings).

I don't go too crazy with things. But I have the caps > ctrl+esc, shifts > parens when pressed alone, and I have my backtick/underscore key swapped so a single backtick press gives me an underscore, and I do shift+hyphen to get a backtick (which I need far less frequently than I need underscores). Sometimes, when I feel like going really crazy, I swap my numbers and symbols so I get symbols as unshifted keypresses and numbers with shifted keypresses. But that sometimes gets confusing to years of muscle memory.

EDIT: You can find Karabiner here: https://pqrs.org/osx/karabiner/

EDIT2: I also have my pipe symbol & backslash swapped (mostly for Elixir, where pipes are more common than in, say, Python). You can setup your own private.xml with Karabiner to do that like so: https://gist.github.com/bobwaycott/d3a52718927519f3a11fbff8b...


$1 per user, per month? Ouch.

That's a lot to bite off honestly. We have 80+ people in our slack account, but i'd maybe wanna use this for ~20 of them. Doesn't seem to support that type of deal though.


Also, on this note, we're in a similar situation. We have ~250 people in our Slack, but would only want this for 3-4 of them (the full time staff).


Thanks for your interest! Please contact me at hi@standupjack.com to chat further.


this guy gets it, well said, sir. "darn kids and their forward hats"


It's lovely to assume this, but I see no mention of sourcemaps anywhere. This was my immediate gripe, debugging.

Yea, the class name should point you to the file you want to look at, but that is still manual legwork. And the whole atomic css-like pitch he has with the over-the-top `composes` functionality looks like its own nightmare.

I'll watch from over here and see if this pans out for ya'll.


I can't speak from experience with regards to this particular approach, but I've worked with css-modules with webpack (css-loader), and debugging the class names is no problem at all, CSS source-maps point to the source, you can view the source code within your developer tools. It shouldn't really be any different than debugging Sass generated CSS, for example.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: