Was curious how they get such performance with a FUSE based design. It seems that they sort of cheat, FUSE is used to manage metadata but to get high performance you have to link in the C++ client library and do all your reads and writes through that. So it isn't general purpose, you have to modify your application to take advantage of it. Still, that's a clever trick, and makes me wonder if there's a LD_PRELOAD strategy that could generalize.
HN user
tetron
A big fuck you to rssDaemon on Android which came out with a 3.x to 4.0 update that nuked all my feeds (this was a few years ago. I switched to Feedly and it's been great.
There's only one right answer:
Nybble - 4 bits
Byte - 8 bits
Snyack - 16 bits
Lyunch - 32 bits
Dynner - 64 bits
I don't think this has been discussed on Hacker News before, but I wonder if people have any opinions about Arvados?
I've driven between Boston and Montreal in a 2018 Prius Prime and got something like 60 mpg despite a large part of the trip being through the mountains of Vermont. Hybrids are a fantastic technology that, in a rational world, should have completely taken over the mainstream car market 15 years ago. Momentum seems to be slowly going towards PHEVs, which actually benefit even more from ubiquitous charging infrastructure than long-range BEVs. Unfortunately having owned a PHEV for the last 5 years, charger availability does not feel like has expanded at all, despite there being 10x as many EVs on the roads as 5 years ago. So if you can even find a charger, it is probably occupied.
"Manager" is a broad category, but in my case I am deeply involved in product design and technical architecture (with lots of input from my team) so I find that being able to plan a feature together, hand if off to one of my developers to implement it, and then see them successfully execute our vision to be just as exciting as if I had written it myself.
This is possible because I have exhaustive knowledge of the product, having worked on it for many years as an IC (and watched several other people struggle to manage it before I took the wheel). I imagine I'm a scenario where a manager and team are more disconnected, and nobody is really passionate about the product, that milestones would feel a lot more muted.
Yes, my recollection of the books is that it isn't about the need to keep consuming resources, it is about the premise that it is impossible to judge if another civilization is hostile or going to turn hostile
If your civilization can annihilated in a single strike, the only civilizations that survive have the strategy to a) avoid being detected and b) destroy anyone who has detected them (which results in destroying everyone, to eliminate uncertainty).
The idea being that assuming the actual survival of your species is at the top of your moral pyramid, all kinds of atrocities in its defense are justifiable.
Been checking the #roblox hashtag on Twitter and the two main themes are addicts going through withdrawal and devs saying how they wouldn't have their llama appreciation fan site be down this long let alone your core business.
There seem to be some misunderstanding here.
CWL is intended for stringing together other programs. It is useful for reproducibility in that it attempts to provide a fairly specific description of the runtime environment needed to execute a program, and also abstracts site-specific details such as file system layout or batch system in use. CWL platforms such as Arvados also generate comprehensive provenance traces which are vital for going back and reviewing how a data result was produced.
Leibniz seems to be a numerical computing language for describing equations, which is more similar to something like NumPy or R. It seems like an apples-and-oranges comparison.
The original call-out is weird, because CWL did not exist 10 years ago so you can't yet answer the question yet of whether it facilitates running 10 year old workflows.
I use RssDaemon on Android, which had been around forever (8-9 years maybe?) is apparently so dead that the author just released a new version with major UI update.
My most used been apps on my phone are RssDaemon and Twitter. I read Hackers news though RSS. Twitter on the other hand has been getting worse.
The backlash against centralized social media platforms is building, but it is hard to say what comes next.
I was really hoping this would be structured as a set of assertions which would then be used to generate answers in response to queries.
The Pacifica plug-in hybrid is a fantastic minivan that can go up to 30 miles all electric before needing to engage the ICE, and in hybrid mode it still gets significantly better milage than a conventional ICE minivan.
I don't know if I can change your mind, or if anyone else is reading this thread, but CWL was designed to solve a particular set of problems, if you don't have those problems, you might not need it, but it doesn't mean those problems don't exist.
the project doesn’t even provide you a dispatcher component but instead tells everyone to take a spec and write their own.
Close...
Software that supports CWL are SaaS vendors, FOSS projects, and various HPC schedulers that all have their own incompatible data management and dispatch/scheduling systems. If you want to write an analysis that runs on more than one of these platforms, you need some abstraction for it. CWL is one such an abstraction.
This matters because maybe you've developed a research pipeline that integrates a bunch of different tools written in different languages and want to run it on somebody else's data, and you need to run it on their infrastructure because copying 12 terabytes of HIPAA-restricted data from their LSF cluster to your Google cloud instance isn't an option.
"Just use bash" is what people who adopt CWL are trying to get away from. It is nearly impossible to write portable parallel / distributed analysis in bash, and the result is brittle scripts with more coordination code than code that actually does scientific work. Because CWL is declarative, the CWL engine handles all the coordination, scheduling and data staging for your particular infrastructure.
You may not have any of these needs, but suggesting that we're just bored developers creating castles in the sky is really unhelpful.
CWL is a declarative/functional language for describing how to execute command line tools (staging input files, mapping arguments, collecting outputs) and how to connect the outputs of one tool to the inputs of the next. It is HPC and cloud agnostic. The same workflow description can run on a laptop or on 1000 cloud compute nodes. Lots of people are already using it to solve their problems, for some examples see https://github.com/search?q=extension%3Acwl+cwlVersion
Adding conditional execution to the dataflow graph is something being worked on for the next version of CWL.
CWL project co-founder here. It's funny, I have been trying to start a discussion of CWL on HN for years, obviously someone else had to do it.
The goal is to provide a way to describe dataflow processes that is highly portable, auditable, and reproducible. This is incredibly important in research, clinical, and regulatory domains where you need to be able to show how you came up with a result.
It's not a general purpose language on purpose, and operational concerns like notifications are the domain of specific implementations (engines).
I agree the syntax is horrible (and I designed most of it) but it also makes it easy to write programs that read and write CWL, enabling an ecosystem. For example, here is a transpiled languages that emits CWL:
And TypeScript is C++ for the JavaScript ecosystem, with all the good and bad things that implies.
Read the piece waiting for the obvious conclusion that if we can't build EVs we need to massively build out public transportation... Still waiting...
This is my take as well. The unreasonable effectiveness of mathematics to describe physics suggests it is more fundamental than something our monkey brains came up with. If aliens are operating with the same physics, they are going to create a mathematics that is isomorphic to our own.
Software Carpentry would be a good place to start: https://software-carpentry.org/
It's been like 3 years since I worked in a WeWork location but it seemed like they were doing a lot of wheel reinventing, they had their own social network site, their own room reservation system (actually something that makes sense, but it sucked), probably their own printer manager, chat app, mobile app, billing system and who knows what else. I could believe they employed a hundred programmers to just clone popular apps, and thinking they were "providing value" but the actual software was classic shovelware.
Arguably the most important purpose of code review is to ensure the code is maintainable, i.e. the next person to look at it can figure it out. Having standards like naming/formatting conventions and test coverage should exist to support maintainability, rather than be goals in themselves.
One thing that can be really hard is when someone turns in a lousy piece of code and you end up basically telling them how to rewrite it line by line in the review because they don't know how to do it right. These kinds of reviews need to stay positive because they can be super frustrating for both participants.
On our team we review feature branches. When the developer thinks it is ready they have an assigned reviewer. The reviewer makes comments, the developer responds, and they go back and forth until it gets to LGTM. My general rule is that I need to understand what the branch is doing and why, so the review takes as long as it takes. If it takes too long that is often itself a sign that comments or documentation is needed.
For interns, they might not know when to ask for review, so you might need to check in on them once a day.
Pinning the blame on python is misplaced. The real problem is that C dependency management is pure hell, and that makes building native modules for scripting languages (like, say, database drivers) horrible. Dockerfiles are great for providing the right environment for building all your sloppy C stuff.
For TypeScript, Emacs TIDE is very good. Not sure how well it works with vanilla JS.
For another way to do data science workflows, there's the Common Workflow Language (http://commonwl.org)
The codebase at my job is usually complex - Python, Ruby and Go, along with JavaScript/Typescript and a little bit of Java and R. I used to be in the "all programming languages are basically the same" camp but jumping back and forth between technologies has given me more appreciation for the details. Some knowledge I've wished I had at my fingertips: semantics of Go channels including all the edge cases, the scoping semantics of Ruby blocks, anything in the JavaScript standard library, the ecosystem of Java build tool and helper libraries. Having to stop and look up things lowers my development velocity compared to a specialist. In the other hand, as a generalist I can trace a request across component boundaries and go as deep as needed into a system to diagnose issues. So I think it depends on what kind of projects you are working on. A "serial generalist" that goes from one tech to the next is always going to be behind the curve, but that isn't really what I would think of as a full stack developer, either.