News for hackers. Stuff that matters.

pepper_sauce

Re:Clojure: A Lisp that wants to spread on Wednesday March 04, 2020 @08:54AM (#22483725)
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.

Re:State of Clojure 2020 on Friday February 21, 2020 @07:11AM (#22382535)
It's probably me but I can never seem to get Zulipchat to work for basic things like pulling up the history of #jobs.
Re:The Shifting State of Remote Work on Friday February 21, 2020 @04:23AM (#22381937)
whoosh :-)
Re:The Shifting State of Remote Work on Thursday February 20, 2020 @12:09PM (#22376546)
Salaries being literally dictated by geographical market rates is the opposite of socialism.
Re:Ask HN: How do you handle toxic coworkers? on Wednesday February 19, 2020 @07:27AM (#22364880)
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.
Re:The Myth of the Myth of the 10x Programmer on Tuesday February 18, 2020 @05:17AM (#22354853)
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.

Re:Cloture: Clojure in Common Lisp on Friday February 14, 2020 @10:00AM (#22327079)
Yep, the best advice a software developer can get is to optimise for what interviews are selecting for.
Re:Ask HN: What are you using for backups? on Thursday February 06, 2020 @10:51AM (#22256912)
tarsnap?
Re:Show HN: I Am Pickle Rick on Wednesday February 05, 2020 @10:01AM (#22247215)
haha yeah, nobody before $my_generation had their own internal world
Re:Monoliths Are the Future on Friday January 31, 2020 @04:47AM (#22200356)
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.

Re:Ask HN: How to begin contributing to open source? on Thursday January 30, 2020 @11:39AM (#22192700)
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.
Re:Ask HN: What interesting problems are you working on? on Wednesday January 29, 2020 @12:00PM (#22182832)
Sounds like a dialect of ML!
Re:ADHD, a Lifelong Struggle (2018) on Monday January 27, 2020 @09:24AM (#22159469)
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.
Re:Clojure – Fascinated, Disappointed, Astonished (2016) on Monday January 27, 2020 @06:11AM (#22158307)
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)."

Re:ADHD, a Lifelong Struggle (2018) on Friday January 24, 2020 @06:49AM (#22137278)
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.
Re:DuckDuckGo Traffic on Wednesday January 22, 2020 @10:48AM (#22118508)
Same in the UK. Especially annoying if I search for a book to buy and only .com's appear in the results.
Re:Dynamic type systems are not inherently more open on Monday January 20, 2020 @09:18AM (#22098922)
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.

Re:Homoiconicity isn’t the point (2012) on Friday December 20, 2019 @06:16AM (#21843271)
That's a great suggestion. I'll start the wiki!
Source your quotes
Re:Basecamp Personal Edition on Friday November 15, 2019 @09:20AM (#21544969)
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.
Re:Building a CRUD App with Datomic Cloud Ions on Monday November 11, 2019 @05:22AM (#21503579)
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.
Re:Ask HN: How to learn to clearly express your thoughts on Thursday October 31, 2019 @06:42AM (#21407350)
Came here to recommend this book.
Are they static assets (images/js/css/html)? NGINX.
Re:The Internet Relies on People Working for Free on Wednesday September 18, 2019 @05:03AM (#21003479)
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.

Re:Advice to my younger self: become allergic to the churn on Friday August 09, 2019 @07:13AM (#20653197)
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?

Older »