skysight-inc/HackerNews huggingface dataset:
My current team is estimating up the to one hour and afterwards reporting the work with an hour resolution. It's low cost center squeezing the last cent form the engineering workforce. We are not asked for opinion or for a decision but to implement the tasks distributed by architects and Scrum masters. I'm quitting this place with the first opportunity possible and before taking all holidays until the end of the notice period. I will not even say goodbye.
> Haskell functions are not Lisp functions. Lisp functions take a list of arguments, so `apply` should apply to a list of argument.

I understand how currying works, thanks, but that doesn't change the fact that $ is not equivalent to apply. A version of apply that dealt with curried functions would just have to fold over a list, and I don't think it could be properly generalised in Haskell's type system (but I"m not an expert at Haskell).

For your definition of apply, Lisp-1's don't have it, because as you said, you'd just call the damn function. Lisp-2's sort of have it, but it's called funcall. Regardless, your definition of apply is not what apply is in Lisp.
I honestly read 2 paragraphs before deciding that a large part of the problem is the author's inability to work through adversity. Maybe even an industry culture of avoiding adversity rather than dealing with it (aka laziness).
The truth about social media and “influence”: it’s a scam we're all in on
Yeah, that’s really weird. They mention streaming parsers, then immediately say “ignore them.” Why? They apparently think this solution is better somehow, but it would be nice if they’d explain why.

Also, if you’re going to reinvent the wheel and make a custom framing format, why would you choose a delimeter that can legally appear in your content? Separating your JSON with newlines is complete madness. If you’re sending UTF-8 then you can trivially use a byte that cannot appear in the data, like 0xff, as the divider.
That is so much fun. And my eyes thank you for the years of fine hues!
Mass Shooting – The Film
In no-developer-experience-manager's worldview, this is actually a good idea.

If development was so easy that a manager who doesn't understand programming can break developer tasks down into small chunks - we'd live in a completely different universe!

In reality, management breaking anything down into smaller tasks, instead of people who will actually do the work, breaking things down, is going to lead to ZERO architecture and a shit codebase, 100% of the time.

That's if you're lucky and the project is a clean slate.

Existing codebases are full of code smells that'd take days to comprehend, days to chase down and comprehend what the actual requirements were/are because those are never properly documented, and then re-write that 'micro-task' so that the next developer doesn't have to spend their days in hell.

Oh, this'd need to now be tested, there'd be new bugs, and those would need to be fixed also.

So instead, in the real world - your micro-task gets handed down, the developer doesn't bother understanding what the existing codebase is doing, they just patch it until it works, contributing to the unmaintainable piece of garbage that all developers with any self respect left in the world hate.

Since only the brave/crazy ones will say 'this micro task will take 2 weeks instead of 2 days because the existing code is garbage', those brave ones will get replaced by those who will say 'yes, 2 days'. Your project will need more and more time per task, and more and more developers doing maintenance, but the managers will continue reporting successful micro-tasks completed on time!

I've just described corporate programming and how you're directly contributing to the hell that it is.
>I agree that a streaming response is cool, but why the dismissal of returning valid JSON, streamed?

JSON hasn't been designed for chunked interpretation. How would the client know when to start interpreting the received message? How could you tell the difference between a valid chunk or malformed response?

>With this new-line-delimited JSON format all your clients HAVE to know about your new protocol

Yes. It's probably not a good option for public. It should be a complement to a more general API. I would put this in the bucket of micro-optimization for very specific use-cases. Regardless, if you publish your API and document it, other developers should be able to consume it just fine. It's not rocket science.
Embedding newlines..... hmmmmm \nI’m not sure how one would do that
The Hidden Social Genetics Affecting Your Friends and Education
Sadly i dont think it will take a film to move the needle...as movies these days are already at copious levels of violence where it just numbs people.

Ironically - what may only work is what actually happened in Norway.
Where the children of the top ruling political family's were all massacred on an island during summer camp.

https://en.wikipedia.org/wiki/2011_Norway_attacks
perhaps bringing those carcasses onto their doorsteps ....
Homeschool Regrets-Prevent Future Homeschool Concerns
Honestly I would second the idea of just joining a company as an FTE (full time employee). Find a place you really like, interview them at least as much as they interview you, and probably say "no" to 5-10 companies before signing on with one of them. Or maybe just join your favorite client full-time if there's one that would work.

Give it a shot for a year, you might like it. (source: have freelanced/founded, never thought I'd like working for others).
sorry. I don't have that link.. the main post was either about usefulness of internet or about secret behind most successful people in tech - not sure which one precisely.
Smaller tasks have less accurate estimates. If you say something takes 1h and it actually takes two days that's ~16x as long or a week long task taking 4 months. All it takes as a small corner case or odd bug that you did not consider and suddenly your estimates are worthless.

The only thing that makes small estimates seem better is the worst case tends to be less time, but overall they don't help.
I like this idea. Also as soon as you commit cash it's going to be easier to follow through. Make the sunk costs fallacy work in your favor!
I'd like to see this streaming JSON parser incorporated into GraphQL clients: http://oboejs.com
Here's something to try: 20m chunks and breaks. And patience. Sometimes it takes a few empty cycles of 20m before breakthroughs begin. Once begun, they self-motivate.

You don't have to crank through until something starts. And it might even be okay to let your mind wander during the 20 minutes.

Then break. Take a few minutes, step away, go outside, pace around, glance at HN, anything.

Back to the 20m.

It's similar to a warmup at the gym when you're starting to do heavy sets. Here you're priming your mind.

My philosophy is, the second you have to fight yourself / your mind (motivation), you've already lost.
It's not dead, but it's dying. For instance, the alt.ascii-art newsgroup I've noticed just in the past year has gone down in terms of postings.
Thank you, meteor is probably the closest to what I'm looking for I came across so far.
Regular is a very vague term.

After all, "optional one pint of beer after work, once a month" is regular.

"Two or three pints a day, starting at 3pm" is also regular - but sixty times as much.
Destructuring is a feature of pattern matching, so yeah, this is slightly more specific. I don't think "pattern matching" is incorrect, though.
Streaming JSON is troublesome because the base object is unbounded. It's true that there are workhorses that handle this, but when debugging responses, ad hoc tooling is very useful. If you can't examine a response without using a streaming parser, the cost of maintenance goes up significantly.

It's important to remember why we use JSON. It's not because it's well suited to transmission. It's because it's easy to reason about. If you want to move to a streaming format that is not easy to reason about, you may as well move to a binary format.
My money's on a SpaceX grab-it-and-land-it-on-Earth-or-Mars stunt somewhere out in the future.
The best Rails forums engine ever
That's very interesting. Thanks for the explanation.

I guess it's not happened to me.

Related question, how come sometimes comments can be downvoted or upvoted and sometimes they can only be upvoted, even though they aren't greyed? I thought it was whether I'd already contributed to the thread, then I thought it was a relative karma thing, but I see later it's neither of those things.
This might be a controversial answer, but one of the symptoms of adult ADD is the inability to focus on things that don't interest you, even though you may hyperfocus on a specific task or project that you are interested in "like WoW".

The currently available prescriptions for add are extremely effective and even help you take pride and get focus in even menial tasks that previously were nearly impossible.

If it's affecting your work, it's probably worth talking to a psychiatrist.
Citation needed. Also, you are being downvoted because you are making baseless claims and accusations; you are not being "silenced" or "censored".
> In no-developer-experience-manager's worldview, this is actually a good idea.

More precisely, a no-development-management-knowledge manager’s worldview.

While obviously development experience can be a source of development management knowledge, there's no reason it should be the only source, and development managers ought to be screened for job skills as much as developers are.
Are you sure it's impossible to get time estimates right for building software? What do you even mean by that? What methods have you tried and in what context(s)? How much data substantiates your claim? I'm not trying to be a dick, but there's a lot of shit that passes for wisdom online which boils down to, "I tried it once and it didn't work for me." Most software engineers I've spoken to, when challenged, admit they don't know shit about software estimation techniques and haven't even heard of PERT, Wideband Delphi, work breakdown structures, etc, etc. At least read the book Software Estimation: Demystifying the Black Art before you go around saying that it's impossible to get time estimates right for building software. I think if you did, you would be a lot less cavalier about it.
> I hate JavaScript so much that I'm going to include JavaScript complaining about you running my JavaScript.

Or just don't include any JavaScript.
I've had similar problems. After trying to overcome the problem myself for much too long, embarrassed to even reveal it to others, I found a great therapist and they helped immensely.

Probably the most important thing I learned is that there are healthy, very human needs behind bad behaviors. Stop fighting yourself and doing tricks and workarounds (hacks, etc.), and start caring about and helping yourself. When you can't focus on work, what do you really need, on an emotional level? What does the video game provide? What are you avoiding?

If you don't understand your subconscious drives and emotions, you will be a slave to them.
Autism: Scientists take 'first steps' towards biological test
Really interesting stuff! What about simply opening a Websocket connection and using that to for all requests if connection latency is such an issue?
CNCF member company employee here. The working groups I've paid close attention to are very collaborative and open, they even preface their slide decks with a strict antitrust notice. Redpoint has an investment in and obviously some level of interest in one of their portfolio company's FaaS offering. It's kind of surprising that you prefice your comment on being "left out" while mentioning the aid of Redpoint. Has the CNCF or one of its working groups not been receptive when you or a team member has looked to contribute? How does your "censensus building" differ from what they are doing?

In any case, this thread might be a good place to call out specific differences between StdLib and those other, more established CNCF members.
Exactly.
Asynchronous programming + promises + some unhandled failure case somewhere and you end up with timeouts instead of error responses.
I wish companies understood this. Part of my boring non-startup job consists of occasional weeklong sprees of 20+ hours/day, staying on the jobsite the entire week, with no additional compensation.

I'm definitely dead inside by the weekend, and noticeably affected after the first day. The logistics of what I do probably really does make it somewhat of a necessity, but I wish there was at least provisions for comp time afterwards or at least some kind of bonus pay.
Charge more and take more time off. Lately when I find myself struggling to work I just don’t. The amount of progress I make in my sprints is often enough to keep the rest of the team busy for weeks. Just embrace that you might be a sprinter and that that’s ok.
Yeah, most people who make it over the hump describe it as "once you learn the rules and develop intuition for them, you start designing your code in a way that works well first rather than fighting with the borrow checker all the time."

> It seems like learning these ways to avoid the Rust compilers errors related to lifetimes in any complex program takes longer than in other languages.

Opinion is split here. Some people prefer that C and C++ let you "get it slightly wrong" for a while, so you learn more incrementally. Others prefer that the Rust compiler tells you exactly what you've gotten wrong, so it can help you figure out what to learn about. I suspect which works better for you depends on you.
How does it work? How does it know what I like? Or not like? It's a web app, Android, osx?

I like Spotify because it has the discover playlist that I always seem to find one of two songs I like in it.
16,000 m/s is the speed of the argon as it exits the ion thruster.
I feel like I'm missing something here. Isn't that the point of using a JSON SAX parser instead of a DOM parser?
I found the first point on unit-testing of C odd, I always treat static functions as implementation details and test only the public interface. CUnit is nice enough (if a bit long in the tooth).
There is a different philosophy of DRM, maybe less well-known because it doesn't tend to produce newsworthy examples, that says that the goal is to provide just enough of a nudge toward paying for the product that you're not operating completely on the honor system.

Under this approach, you really only want to make pirating the software just a little bit less convenient than paying for the software for most users. Because most potential pirates aren't determined attackers, they're just regular folks who are every bit as lazy and strapped for time as everyone else, and therefore won't bother to spend a few minutes keying in credit card information if they don't have to.

It's sort of analogous to turnstiles at train stations. Virtually anyone can go around or under them if they want to, but that's not the point. The point is that hopping a turnstile is just a bit more of a hassle than fishing your transit card out of your purse. Just enough more that most people would rather do that.
Unfortunately most phone owners are unaware of technical details, security, and privacy implications. I'd argue Apple has the right approach with their heavy handed reviews and security model.
Replies to you and comments that are older than 24 hours can't be downvoted.
Whenever I would publish my app (or an update) on the Android Play Store, it seemed like it would be available almost immediately, which hints at the absence of review process.

Also, I've never had to have a discussion with any "reviewer" about my app on Android. For iOS, I've always had to do quite a few back and forth interactions with the "Resolution Center".

Android seems to be a pass through, perhaps after some automated checks are passing.

As mentioned by others, you don't necessarily have to publish to the Play Store: apps can be side-loaded on Android.
Seeing an old account being downvoted for being unhappy is sad.
F*CK YOU – I Like Guns
> it does not allow proper versioning, repo management, total garbage.

This reads like you're trying to pass a stylistic objection off as a functional objection. If that's not the case, feel free to add substance.

> And how is making packages is a problem? You jast add opam file and that is all. You can do versioning, pin any opam or git repo, or even some fs resource.

Ignoring the one-off syntax choice, opam files require you to bring your own installation and build scripts.

> Yes ocaml compiler is light years ahead Go’s one in terms of optimizations and code analysis (and even correctness [1]). It is still not as great as haskell’s one, but very good, especially with new lambda middle end. Go compiler is straightforward as hell and can’t do much inlining or optimizations that ocaml can.

I don't care about "light-years of optimizations" if the end result is still slower than Go.

> lol no math for ints, no data structures beyond map, but crappy http and Json serialization.

This is an enumeration fallacy. I can rattle off a laundry list of OCaml standard library problems as well. This isn't constructive discussion.

> As for libraries opam now have thousands of these and ocaml libraries’ quality is often much higher than the quality of libs of this other imperative language due to quality of language.

I find this not to be true, at least in the case of OCaml vs Go. OCaml libraries are typically overly-abstract or they prefer unintuitive operators and identifiers and generally take much longer to grok than the time they save to use.

Again, I agree that Go the language needs work, but the ecosystem is fantastic. Of course, improvements to the language could benefit the ecosystem (for example, sum types would bring sanity to JSON), but I can still be far more productive in Go than in OCaml.
> This kind of interaction does not fit my description for a friendship.

It depends on your age. A huge chunk of my friends are in University right now, so they have very little time to dedicate to social interactions, and when they do, there is pressure for it to be physical interaction.

In addition, many of my friends are suffering with various forms of illnesses and depression, and a lot of them are makers, that delve into projects headfirst. All of which can sometimes create long gaps in contact.
Seven years at docker
Tangential, but if you're looking for a project to do as you learn Rust, there's an ongoing Operating Systems class being taught at Stanford in Rust right now[1]. The "Ferris Wheel" portion of assignment #1 was particularly useful for language knowledge; 25 source files which you must make compile/not compile/pass tests (along the lines of the Ruby/Kotlin Koans), along with a test harness you can run locally.

[1]: https://web.stanford.edu/class/cs140e/syllabus/
Discipline is key. I coded in college to avoid competing for a retail job. You get in grooves and forget to eat or go out and next thing you know you're nocturnal.

After cramming 2 decades of work in the next one, I burnt out and worked remotely from a cabin in NC. I was a network engineer so fast net hours from a major city and I was king
Really? I saw a bunch of things that happen when management doesn't want to be held accountable. I saw a bunch of things that end up coming back to the developer to bite them in the ass. I saw a bunch of things that make for long hours and late nights for no valid reason.

Basically, I did see a bunch of adversity, but artificial adversity. Adversity that doesn't make anyone stronger, or better, or even feeling accomplished. Just a bunch of bullshit that one had to wade through. And if you're in the position in your career where you have alternatives, why on earth would you decide to stay in that environment?
I have nothing but praise to this service. It's fast and efficient, and does the job without bloat.

For instance, their iOS app weighs 888.8 KB! When it's common for simple apps to be 50 MB monsters, it's very refreshing to use something that has been developed with proper care.
Excellent! Congratulations, it looks like you have a very nice mix of elements there.
You should a blog post about it, even in French. It's really nice to put clear names on all those different patterns that people are using without knowing them.
Bookmarks aren’t enough. You lose old material when the URL changes or the site gets taken down. And you can’t search the content of bookmarked pages.

Text files don’t allow you to embed images, video. Structuring of data is too one-dimensional.

Other document files take too much time and energy to search and maintain.

Online services like Evernote cost money and have too many annoying quirks.

Mediawiki is too slow and bloated. It’s editor sucks and it takes too much work to upload and embed images.

BookStack is the way to go:

https://www.bookstackapp.com

It’s a wiki. It’s fast. It’s searchable. It’s got a great WYSIWYG/Markdown editor with code highlighting.

You can manually upload images or upload them by pasting then directly into the page.

It’s Book-Chapter-Page organization is easy and intuitive.

It’s also free, open source, and easy to self-host.
Please don't see Fiddler as a Wireshark replacement. If Fiddler doesn't show a network request, the tool might simply not use the Fiddler proxy...
Throwing that shade at Apple I see
In this case I think it's a flex muscles illustration. Either way, it works!
I'm shocked by this price. In Serbia you can buy prepared 0.9% NaCl solution for $1 for 18oz.
Blind reliance on ACLs/MAC is dangerous itself. I've had the benefit of working on all of the above and ACLs aren't something people get right the first time. Most don't even get it right the 10th time.

We use SELinux in my current place and while it's fine, things break/fail in odd ways and we're always tweaking it.

In the 6-7 years I did Windows administration, I trained a couple hundred people on ACLs and specifically how the SubInACL tool should be used -- for all but about a dozen of them who truly grokked it, that training was an ongoing process over the course of those years...

OpenBSD's advantage is in its simplicity, which ultimately is the best security. If you have a system that you can clearly reason about and design for where it might fail, you are better prepared for "when" shit happens -- because it's not "if". If your entire system is properly architected, this isn't actually an issue.
[random internet parenting advice]

To me, the important features of a laptop for an 11 year old (whether they are interested in programming or not) are:

1. That you won't be angry if it gets broken or lost.

2. It plays games.

The most important part of your child's laptop is that it is your child's and not yours. Between now and the time your child reaches your age, they will have periods of more interest in programming, periods of less interest in programming, and probably periods of no interest in programming.

I'd put it this way, my (bit older) child has had seven computers. Two were my old laptops. One was school issued. One was a cheap refurbished Dell. Another was a used Dell tower. One was one of my RPi's. Only the seventh and most recent was new -- my child needed something compact for Advanced Debate at the High School because competing is a academic requirement...

Good luck.
The Japanese space agency did something similar a few years ago. They sent a probe to an asteroid that was passing near our planet, and collected some samples back to Earth: https://en.wikipedia.org/wiki/Hayabusa
Selectors in Redux are a MUST
It depends on a lot of factors, I imagine. I stayed with a man in Iceland who had moved a family house across town when it became his new home for himself and his family.

When materials to build a new house are phenomenally expensive, and perhaps labor expensive as well, it becomes cheaper to deal with the logistics of moving an entire dwelling intact.