HN user

hmwhy

362 karma
Posts0
Comments93
View on HN
No posts found.

If you pay closer attention, you can see that some of the designs rely on very deliberate placements of circles; for example, eyes of the monkey and owl, and the nose of the whale.

Those are just the obvious ones that I can immediately spot — there was probably a lot of careful consideration into the placement of circles in order to facilitate good looking arcs and circles that bring the animals to "life".

I think there is a lot to learn from what you said, but I just want to remind everyone else reading your comment that it is anecdotal.

I have experience with both research in physics and chemistry in multidisciplinary teams, and my experience is the exact opposite to yours in terms of competition and the willingness to help others. Heck, the last time I released some results on arXiv a group that is notoriously unfriendly suddenly reached out and was all friendly. It turns out that after discussing with us about our results they released a half-finished draft on something similar that they have been working on, and presumably tried to stay ahead/dilute the significance of our results by getting it published in a peer-reviewed journal first. Also, during the time we were doing our work, nobody responded when we were asking if we could access data or algorithms. I don't blame anyone and we're definitely not entitled to anyone's help, but that's just a counter example and obviously depends on how well you know the field, everyone else in the field, reputation, etc.

I personally enjoyed using LaTeX for writing manuscripts for physics-oriented topics, but I don't mind Word for chemistry manuscripts. In fact, I would argue that writing chemistry manuscripts in LaTeX sucks for most chemists (maybe except for theoretical and some physical chemists) simply because editing chemical structures, reactions, equipment setup and process diagrams is easy with an embedded chemical editor object in a Word document.

I'm not familiar with how they work internally at publishers when getting manuscripts ready for publishing, but most journals require you to use a Word template with ready-to-use style rules and adhere to certain easy-to-follow formatting rules for everything else. Remembering my early days of using LaTeX (when I was already familiar with using Word for manuscripts), I could say the same about how cumbersome it is to do certain things in LaTeX without even talking about chemical structures. Particularly when it comes to journals that charge subscription fees, I'm not sure why you seem to suggest that it's on the authors to get the manuscript "camera ready". If nothing else, I have seen just as many crap-looking papers formatted with LaTeX than those with Word, and the same can be said about good-looking papers. So... I guess it just depends on the authors themselves and/or the editors.

For much the same reasons as what I have said about competition, I think your last comment is just as biased against your own experience than everything else in my opinion.

Maybe my response was emotional, but if everyone is going to pile on and down vote, it would be nice to at least get an explanation -- even if it's just an emotional disagreement it's still great and appreciated.

I couldn't care less about my karma, it just feels like I am getting punished simply for expressing my point of view here in a way that's not any more or less emotional than the GP.

I second these.

For anyone reading GP's comment, my take is that some expats do hate their home country.

It's insanity that some people think that strict lockdown rules are an invasion of freedom.

I'll tell you what's an invasion of freedeom: selfish, infected people partying and infecting everyone else sticking the the rules and toughing in out.

You can’t automate the creation of software because the requirements are not known.

It seems like the entire article is based on this sentiment. I read the article but I'm not sure what the point it's trying to make is.

Even in this thread everyone appears to have a different idea of what automation is in the first place, and the author is basically suggesting that we will never have something close to the level of a sentient AI identifying requirements to produce a piece of code with no human involvement...?

I'm not well-versed in AI, and I'm not sure anyone on this planet is qualified to make a claim that we will never get even "close" to that point, but it seems reasonable that most of the things listed can be reduced to simple data and automated with well defined functions that transform them along the way:

    * Specific tasks and activities
    * Captures different data
    * Can see or not see certain data
    * Security — What can and can’t specific users do
    * Different goals
    * Individual responsibilities
    * Processes
    * Reports and visuals of data to decide

I second this, especially e-mail or calling.

In retrospect, my urge to post and share something on social media is just an urge to satiate my ego and be noticed. I think the reality is that most people don't really care about the majority of what someone else has to say, so making something personal and intentional is your best bet (and a great litmus test for whether or not future communication on a given topic will be worthwhile).

Edit: typo.

Could you elaborate more on what and why document annotation is in a "sad" state? Even with a regular PDF file there are many ways you can annotate it: highlighting, adding text box, adding comments, drawing shapes, freehand writing -- without resorting to third-party software. So either your need for offline annotation is pretty advanced, or that you are yet to update your OS/software to take advantage of those.

As for the online part you may be conflating your point about offline annotation. Fermat's Library is about annotation sharing: implementing this functionality without any sort of identity management appears to me that it would basically be asking for trouble (imagine you could send e-mails to anyone without logging into anything).

It's easy to casually throw around phrases like "log in to a proprietary service" to criticise something. Perhaps that sentiment is understandable, but it doesn't really move the conversation forward or lead to better solutions. In this case I think it's just simply missing the point: at least at this point in time Fermat's Library's mission doesn't appear to be about grabbing your identity for profit. So unless there is something particularly fishy about what they are doing, that sort of criticism seems unfounded.

Uh, I'm not an economist, but what you said doesn't make much sense to me -- isn't "the market clearing price" effectively the same as "people are paid the value of their work"? If the value that a software engineer can potentially produce is lower, then wouldn't the corresponding market clearing price would simply be lower for that person?

Maybe in a world where every software engineer is genetically engineered to have the same output then what you said about market efficiency would make sense, but this isn't that world.

The thing you said about price discrimination is not even related to what the OP said, and you simplified the problem a lot by reducing the problem simple monetary terms. The example you gave about expats is particularly flawed, because it's not unusual that expats are paid more for other values that they bring outside of the work they perform (for instance, academic institutions think of that as prestige in some Asian countries). We were all born unequal, if the market were so efficient there wouldn't be so many unjust things happening around the world.

I see your point and I agree that there is often room for intuition for most real-world problems, but I'm not sure that you have a valid argument there: not everyone clicking does them mindlessly, and some people see a beautiful world through pixels.

At the end of the day, I guess the two are not mutually exclusive in the current context.

My hypotheses are:

1. Some companies found a way to promote this type of blog articles past a certain threshold to stay on the front page long enough for... profits?

2. The demography of HN has changed substantially in recent times so that copypasta articles that don't add anything new to existing, better sources are actually valuable to them.

Edit: typo.

Maybe I'm joining the large amount of comments at the bottom for once, but this article is not just about someone who ended up being a teacher due to serendipity — he committed crimes to get there.

I'm all for supporting people with disability, and there is no doubt that it requires courage to admit to being a fraud after so many years — but being dyslexic shouldn't be an excuse for anyone to commit crimes and get away with it (please read what he actually did if you haven't — it wasn't a simple case of cheating).

I have personally seen a lot of academic misconducts that went unpunished that makes cheating in exams seem seem mundane. Fake results that academics don't own up to/just blame their students when proven wrong; made-up results so that a thesis would look better; lying about publications to get scholarships, etc. Nobody ever gets punished and some would eventually go on to hold important positions.

Reading the "supportive" comments in this thread is pretty demoralising for me.

I think company founders are often great, idealistic people. People who genuinely want to make the world better.

I used to think like that, but I now think that's a skewed view of the world that I used so that I could feel better about it.

I don't have any doubts that some founders "genuinely want to make the world better", but I now believe that they are just the minority. Most founders are just after the fame and money—some are even adept at putting on a facade so that you would happily give them money. There is nothing wrong with that, it's just not the world that I would like to live in.

I feel that you have something that you feel is important but just stopped short of saying it. If that's the case, would you mind elaborating on it?

I am interested because I am one of those people whose "reaction will probably be the same". I think I do appreciate cultural and historical differences between different groups of people, but I don't understand how having a more interesting story behind [insert injustice] would lead to a better outcome for everyone.

These days I tend to avoid real life discussions about these issues with people because whenever someone pulls out the "you don't understand their culture and history" card it's pretty much the end of a conversation or just an argument between beliefs.

learning something about a group of humanity very different from the Western experience

Just want to note that I think there are lots of people from non-Western backgrounds, or have a very good understand of both Western and non-Western cultures here.

My First CSS 5 years ago

Maybe I am wrong, but I would assume that the most sensible place to start with is the MDN Web Docs[0] in this case instead of looking for blog posts.

Throwing out blanket statements is dangerous for new comers, which seems to be the target audience of this article according to its title. For example, collapsing margin isn't always bad and unpredictable, it just seems that way if you didn't take the time to understand the fundamentals behind and go for "what works".

That's not too different to telling CS students to not worry about learning the memory and time complexities of different algorithms and just use [insert "best" algorithm] because it works most of the time.

[0] https://developer.mozilla.org/en-US/docs/Learn/CSS.

My First CSS 5 years ago

Based on the way the article is written, I assume that software engineering was not new to the author when he first started writing CSS. It seems strange to me to write an article like this because it's just an indication that the author chose to dive in without understanding the fundamentals first.

I'm honestly just trying to understand how articles like this get promoted to the front page of Hacker News more and more often. I imagine that writing an article about [insert related field of mathematics] before diving into [insert field of physics] every week would not land me on the front page of Hacker News every week.

Edit: "basic field" -> "related field".

Maybe an unpopular opinion, but it feels like there is a new trend in celebrating this type of articles that does nothing but repeat already-known concepts without references, adds nothing new, and basically just there to pollute search engine results in the hope of self-promotion. If MDN Web Docs are not enough, there are better sources like YDKJS.

I'm not sure the metal state that you are referring to really makes a difference in terms of deadline estimation. The way I see it is that, in the grand scheme of things, if you are consistently missing the targets then either you get fired or, if the problem is systemic, the company folds.

In other words, if you are not getting fired and the company isn't folding, and that neither is happening anytime soon, then everything is just "business as usual" and missing a deadline here and there is just part of the natural statistical fluctuations that everyone have come to accept according to some unwritten rules.

I would go as far as drawing parallels between "being in the zone" for a software engineer and "meeting sales targets" for a salesperson. In that sense, not being in the zone every now and then is just as reasonable (or unreasonable, depending on your employer) as missing sales targets every now and then.

I set NoScript to disallow all JavaScript by default and whitelist those that I "trust" as I go, I have been doing that for a few years now.

The friction in surfing doesn't get lower over time, not least because my exposure to most non-whitelisted websites are through websites like HN, but it's also not high enough that I would consider not blocking JavaScript by default.

Websites that use a lot of third-party JavaScript are red flags to me; more often than not, they are unrelated to critical functionalities (such as payment), and they add absolutely no value to the client.

Perhaps one thing that is worth noting is that modern frameworks that are SSG-focused or hybrids like Next.js make developing websites for JavaScript-blocking clients a bit easier. I haven't personally looked into this too closely, but at least with the website projects that I have work on with Next.js, you would still get a presentable bare-minimum with little effort when JavaScript is turned off, it's also not difficult to implement a reasonable fallback for JavaScript-blocking clients.

The above of course depends on how much server data need to be fetched dynamically to render a page, which again depends on the nature of the content on a website. If I'm not mistaken, there are functionalities that simply can't be implemented, or very impractical to implement, without JavaScript; in those cases the question of "making it work for that 0.2%" is probably moot.

For me Tailwind CSS solves a cognitive problem: I find that switching between CSS and HTML files reduces my development velocity substantially (maybe I'm getting old).

I was always a bit wary of CSS frameworks, and I preferred writing "actual" CSS and used mostly CSS/SCSS before I discovered Tailwind CSS. Interestingly, even before I discovered Tailwind CSS, I was already getting into the habit of using utility classes like "flex", "flex-wrap", because it made a lot more sense *to me* to see those in the HTML.

I personally find the examples given in the blog post contrived. Take the "hard to read part", for example, this is how I normally format my HTML using Tailwind CSS:

  <div class="
      w-16 h-16
      md:w-32 md:h-32
      lg:w-48 lg:h-48
  "></div>

Even if you are using styled-jsx or any framework that gives you the ability to write "regular" CSS, it still wouldn't beat the example above in terms of readability. As such, the following paragraph just doesn't make sense:

I’m comfortable reading other people’s code, and making sense of their logic and relating their markup to their CSS.

Assuming that we are not talking about component-scoped styling here (otherwise the point made would be moot), with Tailwind CSS you can instantly relate CSS to markup without switching between files and hunting down all relevant class names in the example given above; this is arguably also easier when you are not working with the source and just debugging on the front end.

But if I have to look at ~1000 LOC changes in a PR, and most of that is coming from long strings of class names, I’m not going to be happy. It’s also going to be more difficult for me to make suggestions that could eliminate redundant CSS or simplify your markup.

I have never dealt with ~1000 line of changes in a single PR, but that sounds pretty broken and there is an abstraction problem that is much worse happening elsewhere and irrelevant to the argument.

The last line also sounds like a throwaway without any solid example to prove it: even if switching between markup and CSS files is not taken into account, I can't imagine hunting down redundant CSS would take longer with Tailwind CSS. If the redundant classes are on the same element you can see it instantly; if they are on different elements, it would still take similar amount of work to debug and find them? Assuming that there are no redundant classes, then there isn't much to be simplified because the whole point of Tailwind is to have (managed) complexity in the markup instead of having it in the CSS. I personally would rather have it in the markup, but that's just me and I can't say if it's better or worse.

With Tailwind, you’re forced to interpret semantics on the fly.

I find it easy to just ignore class names and focus on content when I need to with the way I structure my code. Maybe a lot of people don't realise that it's okay to, or feel comfortable with, splitting class names and attributes onto multiple lines.

Just one more point on being bloated, note that on Tailwind CSS's website they say:

Tailwind automatically removes all unused CSS when building for production, which means your final CSS bundle is the smallest it could possibly be. In fact, most Tailwind projects ship less than 10KB of CSS to the client.

For reference, the blog's CSS is 12.12 KB gzipped.

Most of the rest of the post follows a similar pattern that's just out to trash Tailwind CSS. As others have already pointed out, this may end up being a 50/50 thread of personal opinions after all, but it seems that we keep getting more and more of these sensationalised hate posts that are just based on personal preferences...

The apology is well-written, but I'm not sure it "it highlights all of garriott's mistakes, in detail, and places the blame squarely on his own shoulders".

That was the first time I read the apology, and the apology immediately raised red flags for being one that was only half of the whole picture and engineered to put blames on others; the self-criticism is simply there to induce sympathy.

In my opinion, the fact that there is nothing in that apology that directly addresses the departure of Ultima VIII from everything(?) that fans were expecting then is one of those, and the biggest, red flags.

I would have some sympathy for getting a burnt pizza from a pizza kitchen that's under lots of pressure and the staff are being worked to their bones; but I would not have any sympathy for the manager's apology for giving me a burnt toast made with sliced bread.

I have not played the Ultima games and I don't like EA much.

Edit: missing "to".

There are a lot of good advice given to you already and I just thought I'd share some of my personal experience with you since I some of your experience are similar to mine mostly because you appear to be self-taught.

I found out the hard way that "being able to learn fast" is a potentially very dangerous mindset to have when you are looking for an entry-level job for the following reasons:

* You could easily open yourself up for exploitation by "sweatshops" (lack of mentorship, time to learn, and terrible pay) which hinders your career progression (assuming that you don't want to end up in one of those).

* You are very likely overestimating your abilities for "better" jobs that have stricter requirements on non-code-writing skills, including computer science.

* You can easily become a jack of all trades, master of none -- not in the sense that you are a generalist and a capable fullstack engineer, but in the sense that you just knows a little bit of everything and nothing well enough for an actual job. It's not that it can't be fixed and developed upon, but for your first job I personally think that's really not what you want, I hope you don't end up wasting time to get to that point.

freeCodeCamp is great to get started with (I have been through different version of the curriculum a few times for various reasons), but even finishing all of it won't get you even close to job-ready for jobs that have heavier requirements on non-code-writing skills.

That's not to say you won't be able to get a job after finishing freeCodeCamp -- with a bit of luck you may even be able to find a job with very good terms. However, if you want to compete for high-level jobs and/or want to continue to develop your skills properly even after getting a job, I highly recommend doing things that are more difficult than what you are doing immediately, and make that a habit.

Since you are reading Eloquent JavaScript (which probably means you care about more than just getting code written and things put on the screen), here are a few things that you might want to consider/get into immediately:

* As many have already mentioned, solve challenges on LeetCode regularly and perhaps spend time read some of the forum posts. The reason is that there is little hint/guidance in the freeCodeCamp curriculum about what/how you could do for more efficient algorithms -- in fact, in many cases brute-force, naive, solutions would be accepted. You don't want to get into the habit of thinking that solving challenges in O(n^2) time is okay when interviewers expect you to solve them in linear or better time complexity.

* Eloquent JavaScript is a great book (I recommend adding You Don't Know JS to your reading list), but try to read it a few times at different stage of your learning/career -- you will likely learn something new/develop a much deeper understanding of abstract concepts every time.

* Supplement your study with other courses such as those freely available on edX or MITOCW. If you are looking for a structured way to learn outside of freeCodeCamp, perhaps consider something like this: https://github.com/P1xt/p1xt-guides (not affiliated with p1xt in any way, I just came across her things when I first started learning a few years ago and find them super useful).

* Get a personal portfolio up as soon as possible, *and make an effort to refine it to show that you are different* as you go -- otherwise you will regret not having it ready when you need it. This is particularly important for people who are self-taught. Writing blog posts are okay (some companies seem to use it as a hiring metric?), but don't things that are just simply copying/paraphrasing/"distilling" without adding value -- it would just make you look very bad to those who know what they are talking about; talk about the problems you encountered, how you solved them, what you did to get personal projects done, etc. Even if it's not writing intended for interviewers/HR, you will still benefit a lot from writing things down (communicating technical details clearly is an important skill and definitely one of the metrics used by interviewers!).

I don't have much advice on entry-level remote jobs, at times it feels like they don't exist and, if they do, only in large organisations whose openings are usually extremely competitive. A few of my peers who were self-taught landed their first and remote jobs simply by reaching out and asking; I'm not sure about the details, but they're all hard-working people who evidently care about learning more than just writing code, perhaps it's not a bad idea to cold e-mail once you get to the point that you are comfortable with your skills.

I hope it helps! Good luck! :)

I would argue that it helps with more than the other comments suggest.

The difference in writing (which I don't think is simply a matter of simplification when comparing Kanji and Simplified Chinese), is typically not a problem because of the ways characters are made up on Chinese.

Consider (japanese/chinese) 記/记, 設/设, 語/语, 計/计 and 説/说, by learning that single simplification of the 言 part you already recognise a good amount of characters in Mandarin (there are many more of those in the list). In fact, in many cases a learned reader can just guess the meaning of the other without having to learn them in the first place.

Many of the meaning of the single characters are the same/similar between the two languages. Even in cases where meanings have diverged between Japanese and Chinese, having and understanding of the single characters that make up more complex phrases still helps a lot in terms of guessing meaning and context.

Also, 恋人 doesn't necessarily, and usually doesn't, mean wife/husband in Chinese, its meaning is very similar to the one in Japanese.

Edit: Forgot to mention that if you are interested in seeing the difference between Japanese and Chinese for the 777 characters, simply copy-and-pasting the list into Google Translate as Simplified Chinese does the magic. Running them through a `for` loop shows that there are 184 characters that are not the same between the two languages; I estimate that there are roughly 40% of them that's on the level of 麺/面.

Although I can relate, I find the reasoning in the post a bit odd. For example:

Starting a new project? Make sure to write your project idea down because by the time you are finished setting up the vast boilerplate you have probably forgotten it.

If it's a personal project (it doesn't sound like the author is talking about work-related projects), what's stopping the author with writing just good old HTML, CSS and JavaScript?

I said I could relate because a couple of years ago I was in a similar position, but a comment on Hacker News in a thread about JavaScript fatigue says that it doesn't have to be that way (apologies, it's been too long and I was a lurker back then and don't have it bookmarked). That was a liberating moment for me and I now just do whatever it's best on a case-by-case basis.

I haven't had formal qualifications for any of the few jobs I have been hired to do in the past 6–7 years, and my cover letters were almost always the reason I got an interview. I would like to think that my cover letters are not the standard, boring ones -- and I purposefully honest with a bit of humour.

In contrast, the accompanying resumes have been single-page, no-frills resumes -- I don't even bother saying anything about what I have done/achieved in previous roles because it seems pretty pointless when I don't have any certificates or practical experience to show.

I'm sure it's different from industry to industry, from company to company, and depends on the seniority of the role. It's just what worked for me to get interviewed at small-medium businesses and probably doesn't work for everyone.

As a final note, in some way I also treat the way I prepare my cover letters and resumes as an additional indicator for whether or not I really want to work at a company (particularly smaller ones with no HR departments): if they don't get back to me it's most likely that they are only looking for "the piece of paper" and/or they don't like my personality/the way I communicate.

Edit: typos.

Absolutely. :)

The point of noting the existence of the foundation is more that his values are actually not neglected and very much alive today -- those values are actually promoted by the foundation, and those sponsored by the foundation are encouraged to promote those values, too.

His neglect today is unfortunate but instructive.

Yet the science of our time has no place for Humboldt.

It is worth noting that the Alexander von Humboldt Foundation is very well-known in academia due to its prestigious sponsorships and world-class hospitality for exchange scientists.

Edit: missing line break, typo.