> People dedicated to working at home haven't worked in a good office.
I agree.
> The main thing was that we together were shaping the product; if you convinced others, you could have an impact. And to convince others, you needed to do your homework (in your office).
This is not. Shaping a product is not a collaborative work. Thus, product is something different, we talk about the real work environment.
> So it's not really the office or the desk but the rhythm of coming up with an idea and seeing it take root in your peers (or not) -- the opportunity to contribute.
This is another not. Office has nothing to do with that topic.
> Nowadays, it's open desks or cubes and product managers, and any collective discussion is shot through with politics. When initiative is squelched and mutual respect is replaced by influence, the only thing to maximize is slack -- which makes working from home the absolute best.
This is office chatting. Product development is done inside the computer. You don't need an office for that.
On one hand, product-development on the computer is a lot better when people actually use the computer to the best of its abilities. A lot of people will just leave shit in people’s heads or request one-offs to be done EOD because, I swear, this was a last second client request and we really need it. On the other, I’ve done a lot of painful product meetings with PM seatwarmers who refuse to type anything at all into their tickets and devs who barely comment on important things like ticket size or whether or not something should be prioritized differently based on technical factors. I’ve met only a handful of good PO/PM types, and whether or not they work in person has had little to do with it.
Obviously you worked in someone elses desktop wallpaper that they call you an "office". Real working places exist, they are different than what you describe.
Maybe you don't need to talk to people all day at work if you could do your work without talking to them all day long during WFH. Work places must be quite, it's not for chatting with others.
If you are bored of office, you take a leave or you quit the work, problem solved. If you are bored of work at home, there's no place you go.
I always felt like work from home is an extension of slacking in an open office plan. Work means a lot more than sending keystrokes to the computer. There are labor laws, information safety guidelines, tons of things you can't do at home alone by yourself. How can you be sure that your neighbor is not creating something competitive to the product you work on?
> That structure is likely to change during the lifetime of your software.
I don't understand this sentence. If the structure is going to change over the time, it means you will need to regenerate the whole system, plus you will apply the changes that you made on the generated code to the newest generated version. So it isn't a valid case for generating code.
* Person A [Marketer who knows html/handlebars] logs into Postmark and makes a new email template.
* Person A tells Person B [node js developer], "Please send the new 'welcome' email template from the app".
* Person B runs the cli script, so the json file now has a template with a key of 'welcome-template-2023-blue'.
* Person B can write/modify any code which calls "sendEmailTemplate" and know exactly what code is valid, wont compile, etc.
They are "generating" the "class/object/type definitions" programmatically - which seems fine to me for the code generation problem they lay out.
Which part is not "a valid case" to you?
Note: the fact that the article is "typescript + json" versus pure "typescript" doesn't seem like a important distinction with respect to it be valid code generation, not sure if others disagree.
Random note: A different way to solve this problem would be with the "cog" python module [1], but that would come with a different set of tradeoffs. :)
Maybe this is a different use case for code generators from what you have in mind? This isn't one-time upfront scaffolding, it's a recurring part of the development process.
When email templates are edited in the external service, you run the generator to pull in the latest structure, and it breaks your build with new type errors.
True, though doing it in CSS does have a couple of interesting aspects, using :hover would filter out bots that didn't use a full-on webdriver (most bots, that is). I would think that using an @import with 'supports' for an empty-ish .css file would be better in some ways (since adblockers are awfully good at spotting 1px transparent tracking pixels, but less likely to block .css files to avoid breaking layouts), but that wouldn't have the clever :hover benefits.
That's the only layer where it makes sense because that's where you know what it is that you are trying to achieve. The overhead in GPU programming is such that if you make one small assumption that doesn't hold true in practice you may end up sinking your performance in a terrible way. So you need a lot of control over where and how things are laid out. For more generic stuff there are libraries, but those too run at the behest of your application. As this technology matures you'll see more and more abstraction and automation of the parts that squeeze out the most performance. But for now that's where you can make the biggest gains, just like any other kind of special purpose co-processor.
Once upon a time an interviewer in a job application that I participated was expressed his disappointment when he see that I didn't use css reset in the challenge they sent to me. I'm glad he is disappointed. I feel irritated when the people in tech so picky about the things that has an answer "hmm, yes, probably we should use", "lets not use, not worth it in this case". There was 2 html tags and an svg graph something like that in the page. I suspect he wasn't a tech person either, he was probably reading a google docs about how to interview fe person.
I personally don't use reset css and my web pages look ok. There are so many web pages that doesn't use reset css, they look ok.
I also don't like when people are being picky about things for fun. This is a job that people take seriously.
It always feels like my router page filled with javascript by my ISP when I visit a domain doesn't end with regular tlds. Is apple domain really belongs to apple? Nobody is questioning that, what a shame for hn users.
I agree.
> The main thing was that we together were shaping the product; if you convinced others, you could have an impact. And to convince others, you needed to do your homework (in your office).
This is not. Shaping a product is not a collaborative work. Thus, product is something different, we talk about the real work environment.
> So it's not really the office or the desk but the rhythm of coming up with an idea and seeing it take root in your peers (or not) -- the opportunity to contribute.
This is another not. Office has nothing to do with that topic.
> Nowadays, it's open desks or cubes and product managers, and any collective discussion is shot through with politics. When initiative is squelched and mutual respect is replaced by influence, the only thing to maximize is slack -- which makes working from home the absolute best.
This is office chatting. Product development is done inside the computer. You don't need an office for that.