pepper_sauce
pepper_sauce on Hacker News
You model your logic/domain as data using immutable values, and write functions that act on that data. There are a few good things that come from this design decision.
It means you can avoid getting into the situation where half your logic is encoded in the type system and enforced at compile time, and the other half as values at run-time. It's all values at run-time.
And for the same reason, you don't fall into the trap of "puzzle-solving" with a type system. Between run-time values and the compiler there is a world of infinite possibilities that some type systems (and I would also include some macro systems!) seem to encourage adding more and more layers to. Clojure tries to speak the language of data, which is a lot more grounded.
Something about putting business logic in a type system irks me more than someone building another compiler or database in Haskell.
Business logic relies so much on run-time values that (IMO) using data and predicates is a better fit.
It's probably me but I can never seem to get Zulipchat to work for basic things like pulling up the history of #jobs.
Salaries being literally dictated by geographical market rates is the opposite of socialism.
The behaviour as described doesn't sound toxic unless they're using it to bully and are persisting after having discussed it. Your communication styles don't match and you need to handle it like any other inter-personal problem: talk to them about it. If you don't feel up to doing it 1 on 1 then ask your manager to help. If you've done all that then I'd say there's a problem and you need to escalate your response.
The modern workplace for an employee is really not designed to incentivize above average productivity. I don't claim to be an anything-X developer but I find my productivity runs in cycles. In the circumstances I've turned out high value work in a matter of hours or days, I've literally been told by colleagues to slow down because I was making them look bad, while management assume that's just how long the task takes. At the other end of the spectrum when I'm (relatively) under-performing nobody cares: that's just how long a task takes, and nobody feels threatened.
The damping effect is real.
Yep, the best advice a software developer can get is to optimise for what interviews are selecting for.
haha yeah, nobody before $my_generation had their own internal world
Maybe they don't want to force their users to download several MB of framework libraries in order to use their website.
DOM manipulation is perfectly fine for interacting with styled documents, the web's forté. If your website amounts to a set of configuration forms and a blog then you probably don't need React.
List all the open source dependencies you use at work or at home. Start by checking out the one that turns up the most often and work your way down from there.
Sounds like a dialect of ML!
The earliest use of the term in the DSM is "Attention Deficit Disorder (with and without Hyperactivity)". You're clearly working from your own colloquial definitions and applying the contents of a single blog post to an anecdotal data point of your hyperactive friend.
It does exactly what the documentation says it does:
"Creates and interns or locates a global var with the name of symbol and a
namespace of the value of the current namespace (ns)."
Your comment is inaccurate in the extreme. You don't understand the basics of the diagnosis, so please don't attempt to apply them across the internet.
Same in the UK. Especially annoying if I search for a book to buy and only .com's appear in the results.
Static types enforced by a compiler catch more bugs in logic
that can be encoded in the type system at build time. How costly are these bugs? It probably depends on context. For a business app/SaaS, is the compiler going to prevent your broken business rules from allowing -100 items to be added to a basket, crediting the "buyer"? I would say a developer who knows how to interpret requirements is more important here. On the other hand, a compiler is probably an amazing place for static types, but I don't write compilers and I'd wager most jobbing devs don't either.
Predicate assertions instrumented to run during development catch an equivalent amount and more, since they can evaluate data at run-time.
Dynamic types combined with argument destructuring allows for very loosely coupled modules. I can see it being similar to row polymorphism, but then you have to ask whether it's worth the extra time? In many business apps a significant portion of LoC is mapping JSON/XML to DTOs to Entities to SQL and back. If everything starts and ends with JSON coming from an unverified source, forcing it into a "safe space" statically typed business program is almost ignoring the forest for the trees, possibly even giving a false sense of security. It's (over) optimising one segment of the system; it's not necessarily a waste but it's probably time which can be better spent elsewhere.
During my university studies, a few classmates decided to edit a Wikipedia page for a niche technique in our field - changing the article to state it was invented by a rather boisterous member of our group.
The year following our graduation, my classmate heard from the tutor who runs the related course -- asking why the hell his students were claiming he invented such-and-such technique! Several students had cited Wikipedia without checking sources.
To answer your question, Wikipedia is a lower quality source than scientific journals for the same reason direct democracy isn't usually as good as representative democracy. We delegate trust in matters to an authority. Sometimes there are problems with the quality of the authority but at least there is a framework to work within.
That's a great suggestion. I'll start the wiki!
How could a business think about charging money for a service?! I won't be falling for it again.
Designing Data-Intensive Applications by Martin Kleppman. It's the other half of software engineering as far as I'm concerned.
Seeing as Amazon are now Embrace, Extend, Extinguishing profitable open-source service providers that are the primary contributors to the projects, I think it's a good thing Datomic isn't open source, and that it's worth paying $30/mo for.
Came here to recommend this book.
Are they static assets (images/js/css/html)? NGINX.
According to the Stack Overflow Developer Survey[0] your intuition is wrong. C, C++, Java devs are paid less than average and F#, Clojure, Elixir devs above average. COBOL and Haskell didn't rank in the survey.
I 100% agree most engineers are severely underpaid. A lot of my colleagues get paid more than anyone in their family ever has (sometimes whole family put together) and just like to ride it out.
[0] https://insights.stackoverflow.com/survey/2019#salary
The UK already has a well known system of coordinates called the British National Grid (BNG). You'd be hard pressed to find a map printed in the last ~80 years that doesn't have BNG coordinates in it.
Replacing it with a new proprietary, closed system that can only be accessed from app is a terrible idea.
What properties do you think make modern JavaScript a good language, rather than a (now, finally) barely passable language being actively ruined by its own ecosystem?