skysight-inc/HackerNews huggingface dataset:
> Still, there's nothing fundamental about XMPP that prevents emoji reactions, and work is currently underway to add support for them.

> The protocol is designed to be eXtensible (hence the X in XMPP) and new features are continuously being added.

I would like to see an alternate history where Slack is built entirely on XMPP, with plenty of extensions to support all the customisations for every feature they have now.

My theory is that people would complain about how many extensions are required for third party clients to implement before you get a passable experience.
I agree, no idea why you are downvoted.
At my job the Slack was forced on us by boss, probably because of the hype, we were using Skype before and we still use it because the team was used to Skype, it worked good enough, slack just added for us extra distractions.

I think that even a good alternative appears if the hype is not enough it won't catch, also before Slack we used Hipchat for a short time, same story, it was imposed to the team because of the hype, in the end Slack got a bigger hype I assume.
If only I could write code without having memories of using Borland C++ 2.0 macro based containers or Turbo Vision containers for Turbo Pascal on MS-DOS....
No need to settle on one language. There is in fact room for 2 main languages (prolly some will simple come along like JS and Bash).

Python you already have, I'd not ditch it, it can live. Main thing it lacks, imho, is a type system which relates to 1 & 2.

I'd personally not care for 3 too much. You find less Haskellers, but also less competition, and according to many they are better.

I'd say all 3 langs you named allow point 1 "well enough". Point 2, I'd say: Haskell > Go > Python, with significant margins in between.
Ok, my mistake. I saw you tried to install NDB several years ago, without any luck.
Nowadays, there's mysql cluster mgr, severalnines installer, and we wrote some chef code to automate it. So it's pretty straightforward.
It doesn't seem like the parent wants to build an open source alternative. I remember reading about it over half a year ago (back then it was supposedly written in Go rather than C if I remember correctly) where there was also promise of open sourcing it.. His website also seems to indicate he now wants to go the route of SublimeText, so the open source promise should probably be interpreted as "I'll release the source code after I abandon the project, whether it takes one or ten years"..

FYI, I have nothing against closed source projects, but every discussion about eul.im seems to include the promise of open sourcing the project, which I'm sure is a great marketing ploy.
I did that for about 6 months in my early 20s. Keep bugging him, reminding him that he has friends. But be patient. He isn't going to come out until he's damn well good and ready to come out.
I've been in a similar situation (choice between Scala / Python / Go), the first person I hired was a Go guy so that became the default. We ended up using Go for APIs / web stuff and Python for data science and modelling.
To quote myself regarding micro-services: "I REALLY REALLY REALLY like that micro-services make your boundaries explicit and enforce you to write contractual APIs aka Interfaces. Much more than all the promises of scalability etc."

With huge applications, I mean 10s of thousands of lines of code with features added on a daily basis by multiple developers.

What both have in common is that they started us as seemingly small 'throwaway tools' but grew into business scale applications that serve now a core purpose.

Btw, who said I didn't use MySQL and PHP ? :D
This Week in Bitcoin: Black Swan
This may bring it to more-less Go's level, but is nothing close to what Haskell can do for you type-wise.
Same approach here.

Server side rendering with Java and .NET web stacks, with vanila JS.
Amazing. Don't forgot to try the webcam option !
I am more concerned about Mattermost long term future than Slack. If/when slack gets obsoloted and abandonned for the next big thing then what of Mattermost ? Will it have enough developpers's mindshare to ensure its existence considering if slack is gone then there's no need to provide an alternative ?

I suppose it'd be better to build a slack clone based on xmpp.
What are some highly recommended XMPP servers? I've only ever used one that would always crash on me. I'm looking for something that I can run on DO for $5 a month without issues.

Edit:

Also for anyone who wants a simple to setup IRCd I highly recommend ngIRCd. Setup is as simple as: sudo apt install ngircd

See:

https://ngircd.barton.de/
"any suggestions for a low-maintenance first ballpoint"?

A bic crystal? Or did you mean first fountain pen?
The more I think about it, the legal distinction between editing author and co-author seems very dangerous. With more than 15.000 developers, having one case for each developer and establishing exactly what lines and changes they personally added and from there how the defendant used those lines and what damages the plaintiff should get seems like a unrealistic amount of work and weight put on the legal system. It would force every copyright case involving large project to be made into class action law suits, which is not an option in Germany.

A lot of recent (last 10 years) in FOSS legal discussion seems to have concluded that personal copyright is the best practice. Every developer with substantially contribution can defend the project in their local legal system. This case seems to imply that we should abandon this practice and return to copyright assignment so that a single legal entity can claim in court to be the legal owner of the complete work.
Making your UI so that it doesn't break is the very definition of supporting it.
*450mm, not nm. Referring to the wafer size.

Not trying to be pedantic, just so that no one gets confused.

Jim Keller, who's been on both sides of the table, x86 with AMD and ARM with Apple, expects that a fully developed ARM CPU will be 15-30% more efficient than their x86 counterparts.
A bunch of people I know run Prosody for that.
It depends a lot on what you are building. I'd recommend Python in general as it has more support but don't limit yourself to it as there might be some parts of your project were Go or Haskell can be more powerful.
Upvoted despite the tone, because this argument is the perfect answer to all those questioning why the mainstream open source community does not agree with McHardy's style of enforcement.
> Nearly everyone recognizes that MOOCs are by and large a failure with ~2% completion rates

I don't see how that is a failure? MOOCs are a platform for "just in time" learning. If you run into a problem at work you're not going to sign up for a four year university degree program to figure it out, but there is a good chance you will sign up for a MOOC and drill down into the specific parts that you need to close the gap to solve the specific problem you have. And when the next problem arises, you may continue further into the course. There is no reason to cover everything at once. This flawed opinion about failure may be directly related to #3.

> Economically we vastly undervalue education.

Because it hasn't shown economic value. The percentage of the working age population who have attained a postsecondary education has skyrocketed over the past 50 years, but incomes have remained stagnant. If the more and more people attaining a postsecondary education really were adding $10k to their yearly income like the article suggests, incomes would be rising substantially.

Those who have a degree, on average, make $10k more than those who don't. But since this simply measures high-achieving people against low-achieving people, income conclusions cannot be meaningfully drawn from it. It is important to remember that universities and colleges reject the lowest-achieving people at enrolment time, preventing them from signing up for class entirely. Medium-achievers who make it past the initial filter are put through academic rigour that sees them drop or fail out. That leaves only the highest achieving people able to graduate.

Nobody should be surprised that high-achieving people are able to make more money than low-achiving people. This would remain true even if colleges and universities never existed. Finding something that correlates with high-achievers does not tell us anything other than this group of people is more likely to be high achieving.

Allowing more and more medium-achievers to graduate from university still leaves them as medium-achievers in life and they will still end up in the medium-achiever work that they always would have (after all, someone has to do it). All while incomes remain stagnant.
”Is any B2C mainstream bank using client certificates?”

I doubt it. AFAIK the web browsers’ UI for handling client certificates is way too cumbersome for mainstream usage.
Actually, Python is a strongly typed language. What you mean in your comment is a statically typed language, which it's not.
Financial (some banks), crypto (HKIO), Facebook (spam fighting iirc), SaaS apps (JanRain, Wagon, etc.) ...

Haskell is a general purpose lang (unlike Go), and compiles to native code (unlike Python) which makes it quite fast running.

There's a list here:

https://wiki.haskell.org/Haskell_in_industry
If you infrequently use a language and you are not planning on writing write-once/throw-away code. Then don't use any library/framework. The overhead of development today as I see it is not just the languages, but the cognitive overhead of having to learn gigantic libraries and frameworks. I'm seeing libraries/frameworks that are 20x-100x times as complex as the language. Shed those bloat and free your mind. If the language is also fairly large, constraint yourself and restrict yourself to a subset of the language. It's not a must that one must use every feature of a language. The suffering of developers that use an infrequent language is self inflicted. Hell, don't use a language that you don't plan to use often unless it truly offers something that other languages don't, which is rarely so.
Do you have a citation for this? I do security reviews for companies with strong HIPAA requirements and I’m nearly certain this is incorrect.
Why you’re losing the battle for high-quality software
For me, cameras have become good enough in around 2014, before then, smartphones cameras tended to turn low light pictures into a blurry mess.

Things will always improve, but for cameras, we are getting to the point where if your smartphone camera isn't good enough for you, you are probably at least an enthusiast and you probably want to get a real camera.

Since then, I've seen absolutely no game changing improvement.
Do these hip young companies realize how much historians are gonna be pissed at them?

"Paste"

"53" or is it "fifthythree"?

What happened to being unique?

Or even searchable FFS!
These ‘protections’ do not provide a ‘trusted context’ and cannot defend you from another user on the same computer.

Now your next mistake will be saying ‘but typically there’s only one user’ which is irrelevant because the system runs services as different users for isolation purposes and this vulnerability ignores this isolation.
It's perfectly fine to make money, nobody argues that. The point is that Open Source and making money don't contradict each other.

Examples:

- Conversations, the Android XMPP client, is GPL and sold on Google Play: https://play.google.com/store/apps/details?id=eu.siacs.conve... - There is also a paid hosted XMPP service on conversations.im.

- I have a paid+OSS app for amateur radio geolocation on Google Play myself. You can download the APK from the homepage or just directly buy it for some bucks.

- X-Chat, the OSS IRC client has a paid Windows version: http://xchat.org/windows/

You could OSS your app under whatever license you want, and still provide paid builds for any platform you want.
The Welcome to the Macintosh podcast has fascinating multi-part series on emoji, and why they are such a big deal.
Every VC in AI/Robotics Space – 2018
most non-compute intensive programs still are compiled for 32-bit, or have 32 bit versions available. also, visual studio still defaults to 32 bit when creating a new c++ project.
I really like Kotlin too. Not very well established in data science though (maybe through Java interop, but Java is also not know for that application)
Gassée has his own reality distortion field, of course. His punditry is entirely focused on closed-source, proprietary technology and the big corporations that own it. He never writes about RISC-V or Linux, perhaps because they aren't generating big sums of cash and therefore aren't worthy of his attention.
And a citation.

https://www.privateinternetaccess.com/blog/2018/01/private-i...

No timeline yet though but given the early state of WireGuard and the platform support that is understandable.
Was in a similar position for about 5 years. Had a really good salary, but was doing fairly basic PHP+MySQL stuff.

I knew given my skills it was going to be difficult to find a better paying job, and remote jobs are also harder to come by in the UK and I really liked that aspect of it.

In the end the company had a difficult few months and I had to find a new position anyway. I took my time and found a new job I knew I would learn a lot from instead of just looking at salary alone. I'm in a much better place now and feel a lot more comfortable with my career moving forward. Honestly, I think you may regret more not just taking the risk. Being to comfortable isn't a good thing typically.
Are the WordPress Hosts Becoming the Next Wix?
> Singularity for apps has always hinged on write-once-run-everywhere.

From app developer perspective, processor architecture is low on the list of the problems you have to solve to run anywhere. User-facing apps aren't written in C or anything that close to metal anymore; I suspect that most of the Java, Kotlin and Swift code is completely architecture agnostic: add new capability to the compiler, change the build command and your ARM app becomes x86 app.
With all the (appropriate) smugness of "I told you so" surrounding this issue, I think that many people's attitude around sticking to IRC and mail is a reason why something like slack could even take off so quickly.

I regularly speak to people like that, who just plain refuse (are unable?) to even see the difference between a chat like slack (or telegram, or mattermost, or or or...) where I can post images/videos inline, use proper markup etc, and a combination of IRC and email.
"But you can just send images by mail!" they shout. Yes, you can. But the user experience will be a different one. And it doesn't even matter that I personally prefer the slack-like UX.
Many other people seem to prefer it too, that's what matters.
For anyone who's only mildly technical, setting up IRC is only a small hurdle, but it's one of many.

IMHO, if you want people to use anything else but slack, sticking your head in the sand and screaming "you can do all of that in IRC" won't get you anywhere and is equivalent to complaining about the very nature of humanity. It might feel good to scream out your weltschmerz, but it won't change anything.
This is exactly my approach to bioinformatics. Python for scripting. Go for speed. Find it fairly easy to switch between the two. Really hope Go catches on more in data science. Go equivalents of numpy and matplotlib, and it would me massive.
As others have mentioned: It depends on what you are going to build, so pick the tools which fits the job best. In the end, you can build good products with all three of those languages, but not every product can be built well with any of them.

Long-term supportability: As long as you are not choosing a proprietary tech like Microsoft Access, you should be just fine. There are a lot more code bases which suffer from bad quality than from abandoned base technologies. So its much more important that you know exactly how you want to use a language and let your team create rules (bottom up) on what they want to allow themselves to do and what they don't want to (like a semantic style guide), than to pick the golden language in the first place.

My advise would be: Start by building a team. The technologies will be the result of what your team is able and likes to use. One condition: Only allow technologies they have positive personal experience with (no "I always wanted to try XYZ").
You do realize that David Patterson is heading up Google's hardware efforts, right? Hardly clueless and inexperienced...

And what Chinese fabless was that?
If I was using Qt, it'd be at least 25 MB, not 100 KB :)

It's all native.

Pinning is supported, just temporarily disabled. File support is not great right now. Only inline images are supported.

But the goal is of course to have full feature parity and more, so follow the development :)

A lot is going to be done by the end of March.
https://gitter.im/ was acquired by GitLab and thus likely to remain for quite a while. Also, it might even suit the needs of such a project better than Slack, as apparently it's aimed more at communities rather than teams, but I'm not sure what that means in practice.
I see both:

> I believe individual developers who have contributed to the Linux kernel should have the right to enforce the license, if needed.

and then..

> On the other hand, such activities must always be oriented to compliance, and compliance only. Collecting huge amounts of contractual penalties is questionable.

To wit, isn't this a dichotomy? Either you make compliance mandatory, or optional. Can you have both of the above? How can you enforce without a threat of penalty?
Would you have a link? If you're thinking of the Tennis Racket theorem, I don't think it's the same thing as chirality, is it? The special tippy-top would erect itself only when spun in one direction but not the other.

> The tennis racket theorem asserts that when rotating a rigid body with three distinct moments of inertia, the rotation around the axes with the largest or smallest moments of inertia is stable, but the rotation around the axis with the intermediate moment of inertia is unstable.

src: https://plus.google.com/+TerenceTao27/posts/e3GLg4Ki4dj
What makes ARM fundamentally better than Intel? The instruction set? I just don’t see it. Intel has an incomprehensibly massive installed base of compatible software. All other things being equal, why does ARM catch up?
Use the right tools for the job. If you are running your Python models in containers anyway, a suitable API will work with any backend language. Go and even the JVM (Java / Scala / Kotlin) ecosystem are great candidates.
Our stack uses Python (models deployed as dockerized WSGI applications) for machine learning and web services written in Java for the backend. It is relatively easy to get developers who are comfortable in the JVM ecosystem and the tooling available makes it easier to build robust systems.
Your link [1] has a link to a page with the Actiontec firmware downloads that includes Busybox. They clearly are still distributing it and are following the complience agreement. This appears to be an example that is the direct opposite of what you were trying to show.
This thread is full of well-written arguments that don't offend anyone. I understand that these points may be wrong, but these comments sure as hell shouldn't be downvoted.
Something you keep in your pocket along with your keys, that will be dropped ten times, and on which you will regularly sit will inevitably have a shorter life than a laptop. And for the rare people who take good care of their smartphone, there is the matter of non replaceable batteries on a non fixable device.
Technology manipulating videos raise concerns
Note that I said "nice UI" and not "nice UX" ;-)
We've been using Go at work for 2.5 years now and it has become my primary language of use at this point in time. I hate it. I hate it like hell. It's like they decided to take all the things that make other languages good - such as safety, brevity, intuitiveness, versioning and proper project structuring - and threw them out the window. As far as I'm concerned the good things about Go (large community, fairly efficient generated executables) do not outweigh the bad.

We've spent so much time fixing obscure bugs and behaviors that betray everything we've learned in the languages we used previously in our careers that it was really not worth it. And we still do. Finding developers is also an issue, as most developers do not really want to learn a new language, and Go is still not that common in enterprises (I used to be like that myself, but I've learned long ago that this shouldn't be such a big factor when thinking about a new job).

You can make the case that we're simply not good enough developers or Go is just not a good fit for the type of developers we are. Maybe. But the choices made in designing this language, and its popularity, absolutely baffle me.
The Buzzer – A Russian enigma (2013)
AFAIK this doesn't imply static type checking though. The types are at best checked at runtime, aren't they? If so, it doesn't really help much.
Those are very nice error messages.
A regular (non-transparent) HTTP proxy like Squid will process HTTP requests internally, but clients use CONNECT to forward their raw connection to the remote site for HTTPS. This is good: it means the client establishes a TLS connection with the origin.

It would be really helpful, though, if there were an operating mode wherein one could instruct the proxy to talk to an HTTPS server without using CONNECT. So the browser talks to the proxy over TLS, and displays the proxy's certificate details, possibly with a big red warning, and the proxy terminates that TLS connection, decides what to do based on the request, makes a new onwards connection and gets the response plaintext too.

The user obviously loses some privacy guarantees here, but no more than with an intercepting "transparent" proxy, and it's much clearer what's actually happening and which devices the user needs to trust. I'm much happier with an explicit proxy than any attempts at a transparent proxy that I've encountered, not least because it makes it possible for the browser to be clear to the user about what's happening.
The entire population of California is rolling their eyes when a developer uses "roll your own".

And don't get me started on actual developers and engineers.
Secret-management design decisions. This is one of those phrases where the lost art of punctuation would actually help!
Ejabberd and Prosody. Ejabberd has the most features and massive scalability (millions of concurrent connections), but it's not trivial to set up. Prosody is usually a five minute set up to get up and running and scales pretty well with luaevent installed.
Mining guy here. It 95% cost. TBM is great if you have money and are going through residential type areas, can get through most rock, not as nimble though.

Drill and blast are the most common by far, especially in mining industry where they are lots of twists and turns, and no-one cares about noise etc.
Python for all of the above.

To be more specific: Python 3.6, with type annotations and unit tests, and good libraries (pandas and others for the data, Tornado for Web, SQLAlchemy for databases etc).

But it's much more important to get your architecture right, to know exactly what is the data flow and what is supposed to happen when and where. No single language will give you answers to that, while the architecture might decide the choice of language(s).
Noodlers xfeather black, haven't had any issues, but I also haven't compared it to other inks. It's just been good enough and one bottle has lasted me years (since I first got a fountain pen).
GET OFF MY LAWN!
Uhhh.

NovuMind only does 3x3 convolutions. Literally a hard burnt ASIC. Also, the TPU's efficiency is close. (Btw both their "FLOPs/watt " numbers are useless, they don't account for utilization)

And Cambricon... well, I'll just leave it at that...