Hacker Newsnew | past | comments | ask | show | jobs | submit | JoshM33k's commentslogin

Agreed, entirely. I adored my original Zune, as far as a piece of hardware, it was amazing. Cool look, big color screen, heck even an FM tuner. It was ahead of its time. The software on the other hand still gives me nightmares. It crashed all the time, would constantly lose large chunks of metadata I had meticulously entered, would randomly freeze while loading music... it was the weak link in the Zune chain.


I'm unclear, is this professional wrestling (staged and heavily choreographed) or is this more akin to MMA, where the bouts are not predetermined and the fighting is "for real"?


Those types of fragmentation issues never went away, they just changed focus. Whether it is Slack vs. Hipchat vs. Zulip, or WhatsApp vs. iMessage vs. text vs. Hangouts... more options means more (and easier!) ways to contact friends, family, and coworkers, but also means that you have to memorize a "best way to reach me" chart for each individual person.


Every week I have to use a Cisco jabber client, Hipchat, Slack, and Hangouts within the same company.

I know it's got less of a "cool" factor because it wasn't invented last week, but I soooo wish everyone would just use IRC. Use irccloud if you want some nice apps and picture embedding.


Is it possible to get what Slack provides using IRC? I mean the whole package, not just the text chat. Consider enterprise-friendliness, excellent mobile clients, zero-setup required (no separate keep-you-online relays), really easy integrations, etc.? We are adopting Slack because it's great and I'd have loved to make a case for IRC but I wouldn't know what server to recommend (we don't really want to install it, but we don't want to use a public server), where I can get commercial support, if there's a nice client (like irccloud is) for mobiles - there's a long list, unfortunately.


Also in-client searchable archives, media handling, history editing. All require going outside the IRC protocols.

IRC was designed by hackers, for hackers and it shows. Twenty years ago, IRC was my talk destination of choice and I operated a server within a major IRC network; these days my startup uses Slack which I determined to be the "least irritating" of the 21st century options.

I had high hopes for Google Wave but it was sadly stillborn.


Much of that can be had with a IRC bot. That doesn't include media handling, but you could do search via 1-on-1 /msg (query) with a bot. Then it'd truly be "in client" search.

Most would probably prefer a web ui, with search -- but recording chat could still be done via a bot.

I wouldn't say you could get most of the whole slack experience with just IRC, and you'd probably have to do some work (if only configuring channels/bots/find a web ui etc).


This doesn't resolve the multifarious issues with identity, reliability, scalability, federation, standardisation &c &c that further rule IRC out from being the universal panacea.


It doesn't have to be. Go help with IRCv3 - http://ircv3.net/. Almost everything that's in Slack and Zulip would just be a capability extension.


I stopped reading when the charter said "we are not working on the server protocol". The server protocol is the limiting factor in IRC's architecture.

My interest is in federated, reliable, ad-hoc messaging and IRC's acyclic forwarding graph and lack of any inherent identity model make that impossible.


It depends on the context. You can't federate with Google, Microsoft, Facebook anyway -- and you won't convert the world to use your favourite new protocol (most likely).

So that just leaves you with an easier problem: how can I host conversations etc for my team/org/my friends? And I think a single, isolated irc server should work fine for that use case, and work fine with many different irc clients?

So no, it's not a universial solution -- I just think it's strange when people bring up slack as somehow "better". Sure it's "better" in that it's a product with backing from some fine people -- but if you wanted a solution based on open standard, Free code that you could self-host without worrying about license costs etc ... then a battle-tested IRC server still seems like a half-decent option?

Or put it a different way: if you have 100s of users, could you get many of the features with IRC, and some bots? (Or maybe a slightly tweaked IRC server etc etc)?

[ed: Not that I claim there aren't problems with IRC -- and I've yet to run a personal ircd, so I don't know a) how much work it is to force TLS+SASL[1] and disable plain IRC, or b) if there are other solutions that might be better, that are available right now.

[1] https://freenode.net/sasl/ ]


That is not an "easier problem" - that is repeating the problem: yet another venue/client/service we all have to be logged into to find one another.

Moreover, I'm really not interested in spending any time whatsoever on configuring and maintaining an IRC server and a fleet of bots, nor on teaching non-technical users in how to use the resulting heath-robinson system. Really, no. A world of no. I have run both a private IRC service and a public node of a very large network. It's a huge time sink. I've moved on.

As I see it, the only problem in this domain worth burning hours on is developing a protocol (and interoperable implementations thereof) that achieves everything the likes of Slack and Hipchat can do, only in a decentralized and federated manner.


> that is repeating the problem: yet another venue/client/service we all have to be logged into to find one another.

I'm not sure how you can create a new venue without creating a new venue? Perhaps have Google/Facebook/Microsoft/BigCorp create one for you, and the use that? But none of the big players appear to care a whit about facilitating a distributed, self-hosted, open Internet, so that is not going to happen?

> As I see it, the only problem in this domain worth burning hours on is developing a protocol (and interoperable implementations thereof) that achieves everything the likes of Slack and Hipchat can do, only in a decentralized and federated manner.

Any particular reason why you think IRC is inherently not a good building block for such a set of protocols/implementations? I'm not talking about IRC with legacy client support, I'm talking about a system that explicitly breaks comparability with legacy IRC, but still try to build on the years of experience and battle-testing IRC has.

You might be right that it's better to burn IRC to the ground, of course. My takeaway (as an observer, not a server operator in the trenches) is that one takeaway from XMPP/IRC is that:

1) We need authentication of users

2) We need authentication of servers

3) Today, we have no need of plain-text; encrypt and authenticate, or go home.

It appears that 1+3 leaves us with TLS-only, SASL auth if we go the IRC route. For 2) I suppose manual mediation of some kind (eg: server certs with Trust-on-first-Use, possibly a community blacklist?). I'm not sure if this would work, but on the surface it would appear to enable less spam and better security than email currently does.

And it should be much easier to strip down/adapt existing clients and servers than to build an entire new stack?

All that said, it might very well be that IRC server-server federation is hopelessly broken, and there's no hope.

Perhaps some kind of server-auth/community-web-of-trust framework on top of XMPP federation would make more sense?


Matrix.org is heavily inspired by Wave, albeit using HTTP rather than XMPp, for those searching a more alive option :)


> I had high hopes for Google Wave but it was sadly stillborn.

Yeah me too. Google really effed that one up. RIP


The closest you can get is a foss slack alternative such as Mattermost, and push for an IRC bridge (Mattermost is working on it it seems: https://github.com/mattermost/platform/issues/650).

But it's not possible to get what you're asking without breaking the IRC protocol - it's not easily extended and the formatting rules are icky mIRC crap.


Go help with IRCv3 - you're talking about capabilities, which are part of the v3 protocol.

http://ircv3.net/specs/core/capability-negotiation-3.2.html


The trick with capabilities is you need them to be reasonably standard. Which means the go to IRCv3 server should ship with them turned on, and the reference client should be capable of using them.


Slack's IRC bridge is actually pretty good. I know that's not quite what you're asking, but at least you personally could still interface using IRC.


Any reason you rejected IRCCloud? (disclosure: my company). We host private servers for teams and do the majority of what you're asking for.


I didn't make the decision. Slack started to appear and I didn't know that IRCCloud had apps (which seem to have great reviews). If I had known, I would have suggested it as an alternative. As it was, I just kept quiet as Slack seemed great - even better than HipChat, which I used to use for the same purpose.

Perhaps IRCCloud could be sold as a rebranded Enterprise app as an alternative to Slack? I'd love to see some competition as it looks like only HipChat and Slack are getting talked about.


I don't use it because I want to use my own irc client and not a web interface. I want ZNC as a service.


That sounds like a problem with the company. I can understand Slack and Hangouts (at least until Slack adds voice chat), but all that other stuff sounds like poor organization on the company's part.


What I posted in another thread still stands - https://news.ycombinator.com/item?id=10256943. Things were better when everything was brought under one client. I know iMessage is almost impossible to reverse-engineer (due to Apple kicking non-iClients off) but I wish there was more effort going into reversing Hangouts. Someone's emulated the JS client from GMail but that's about as far as it's got


IRC's lack of scrollback alone kills it for these considerations, unfortunately. If there's an incident or discussion in progress and you only join the room partway through you have no way of catching up to speed.


That's what bouncers are for.


you wish everyone would use the worse option?


They were on their way out as some services were federating via XMPP. Then some stopped supporting it.


Sad as it may be, it's pretty clear at this point that XMPP won't be the communication protocol of the future. Everyone who ever seriously worked on it seem to have come out of the experience a broken man. Setting it up requires pretty deep knowledge and the promises of compatibility with most XMPP servers break down pretty fast unless you know which extensions to support.

All these problems are fixable but I don't see the tide ever actually changing direction and "hey suddenly XMPP is cool again, we should all use it".

One thing is for certain... humanity needs standard, open and widely-used protocols for communication. And there's a lot of ground to cover: Text, audio, video; single and multiuser; topical (IRC-like); social (invite-based/people I know); Synchronous (IM) and asynchronous (email/offline messaging)...

XMPP tried to do a lot of that. Maybe it tried to do too much. Maybe you just can't do all that in one protocol. I don't know, I just hope we'll get there soon - if nothing else, I'm tired of maintaining those "best way to reach me" charts JoshM33k is talking about.


>Setting it up requires pretty deep knowledge

Not even remotely true! Prosody on Debian works out of the box, including federation. You just have to configure the domain name.

It's not hard to set up an XMPP server. It's hard to set up Ejabberd. Ejabberd is not the only XMPP server. Prosody is very easy to set up.

Honestly, people, think before you speak...


> Honestly, people, think before you speak...

I didn't just make this up on the spot, I've been dealing with these issues for years. So yes, I've thought about them a lot.

I used to run a prosody server on my home box. It is great software and a fantastic daemon compared to ejabberd (edit: Configuration-wise that is) but fat lot of good that does if you don't know what XEPs to set up when dealing with other servers. I shut it down because it was pretty much useless and I wasn't able to talk to my gtalk buddies from it anymore.


> fat lot of good that does if you don't know what XEPs to set up when dealing with other servers.

I have no idea what XEPs to set up when dealing with other servers. I did not have to set up any such thing. Like I said, federation (server to server communication) works out of the box, at least on Debian.


Your comment is informative, but the last sentence is unnecessary and inflammatory.


You're right. I would delete it, but it's past the edit deadline.


> Honestly, people, think before you speak...

Was that really necessary?


I've been using OpenFire, no problem there either.

I had never heard of Prosody, any major difference cons/pros between the two?


Yap. Agreed. XMPP looked good on paper, if you read just the mission statement. Thinking back, I tried to dive into it once and nope-d out of it quickly. I guess I just blocked that experience out of my mind for some reason.


Who might be the right entity to take on creating a replacement for XMPP?


¯\_(ツ)_/¯

One of the best things that could happen today I think is Google open sourcing the Hangouts protocol. It's a reasonable alternative to XMPP and has a massive userbase. The clients are pretty horrible but that might be completely unrelated to how good the protocol is (Note: I have no idea how good it is. Because it's closed source.).

I was hopeful for a while but I don't really see it happening anymore :( Oh well...

Edit: Oh and the worst part: Communication is just one side of that coin. The other side is identity and it's one hell of a side. OpenID was a disaster. Mozilla got it mostly right with Persona but completely botched the marketing and has all but given up on it now. There is no decent foss protocol for identity/authentication today other than Persona, and nobody is working on one. There was a time indeed where I could've pictured Google working on solving this just for the hell of it. Just because it would improve the world. That Google is gone, and there's nobody with the appropriate reach that seems willing to do it now.


I will forever mourn and be angered by Mozilla giving up on Persona so easily.


Why is Persona dead? Visiting the site doesn't seem to give any indication it's dead...


What notatoad said, plus I don't think they're maintaining things very well any more. Last time I tried to use the ecosystem, various non-core things were breaking. Huge pity, it's a very well-designed protocol.


It's been "given to the community" or something like that. They didn't kill it, but they aren't paying any staff to work on it anymore.


Persona was great and it's a bit sad to see it dead after investing a lot of time in it but - one big architectural problem was there was no way to support delegation (the problem OAuth was originally designed to solve).


Has anyone got experience with both XMPP and SIP/H.323? From what I've been able to figure out, H.323 looks like it's one of the better candidates of protocols that exist today and is "reasonably" simple... while SIP... well, SIP smells a lot like it came from big TelCos. And not in a good way.

See eg: https://www.packetizer.com/ipmc/h323_vs_sip/


> Has anyone got experience with both XMPP and SIP/H.323?

I've worked with all three. The H.323 vs SIP battle was fought a long time ago... for better or worse, SIP won. Any H.323 systems still in the wild can probably be considered "legacy."

That being said, while H.323 has more "batteries included," its call flow is accordingly more complex. SIP is not too bad, there is some subtlety to it, but the main issue is that you have to piece together dozens of RFCs for an interoperable system, not to speak of implementation-specific quirks.

XMPP is the more appropriate protocol in this context -- IM and group chat -- because it has had presence and ad-hoc messaging baked in from the start, including reasonably supported MUC. Ultimately, XMPP's issues are similar to SIP's -- the patchwork of XEPs is too unwieldy to work with. For an example, compare the multimedia bits (eg, Jingle) and the corresponding SIP session setup flow. The stigma of being a XML-based protocol designed in the 90's doesn't help, either.

The biggest reason SIP is sticking around, however, is that it has major buy-in from the telcos with IMS/4G. However, SIP is also a more appropriate protocol for traditional telephony. In that respect, comparing SIP and XMPP is a bit like comparing apples to oranges. With the appropriate extensions, one could behave like the other, but it wouldn't be their strength.


What are some of the reasons it's hard to design a good messaging protocol?


If you know your requirements up front, then it's not hard. In fact, it's a good exercise to do so -- probably one reason why messaging systems are a dime a dozen nowadays. What's hard is making a messaging system that is everything for everybody. If SIP or XMPP has taught us anything, it's that "extensibility" is a killer. Requirements evolve, and often it is perceived as easier or "cleaner" to start from scratch, rather than work around the idiosyncrasies of existing systems.

On the other hand, if you are trying to design a protocol to solve a domain specific problem (eg, in cryptography, multimedia, distributed systems, etc) then it becomes more of a research endeavor with all the associated pitfalls. In that case, there will always be the "shoulders of giants" to build off of. Unfortunately though, for every pioneering TextSecure, there are a dozen CryptoCats repeating the same mistakes of years past...


Sigh, sorry to hear that. I was hoping h.323 might work well for a personal call system with the option of ditching regular cell service. And just try and brute force most communication through h.323 :-/

It seems obvious multimedia calls is part of our future, and I refuse to let that be dictated by corporate lock-in -- be that Skype/Lync, Hangouts or whatever Facebook will launch when they enable videochat. And any videochat/conference needs text messaging/conversations too, so it seems like it would be nice to run everything through one server/service.

Which I had hoped made sense would be a h.323 server (along with open source clients+maybe a websocket/web-client bridge).

Guess it'll have to be SIP for phone (so I can ditch my regular cell service), maybe SIP for videochat (but I'm sceptical about the videoconferencing bit)... and XMPP for messaging.

As neither Facebook, Google nor Microsoft support either XMPP in general (making it feasible to set up a bridge server) anymore, nor federation (which would actually be useful), I suppose I'll just have to give up on the idea that there'll appear a chat network where I'll be able to reach most of my contacts with a Free/Open client that isn't forced to play catchup to corporate whims.

For a while, Facebook via XMPP worked (but not group chat), now it's back to sms. Which is annoying because sms is gated by the telcos, although it should be easy enough to make a xmpp<>sms gateway (eg: [s]) with a spare android phone. For personal use that wouldn't have to incur any sms fees (but would mean keeping a non-free cellular plan).

For others frustrated by the same, there's at least a "traditional" project to reverse-engineer working with FBs current chat: https://github.com/jgeboski/bitlbee-facebook

[s] http://projectmaxs.org/homepage/

[ed: Forgot to commend duckduckgo and fastmail on hosting proper XMPP with federation and registration (at least ddg[d]) enabled. That's one reason why XMPP is nice -- you can actually point non-technical users at a suitable client, and add a couple of screenshots how how to set it up with ddg -- and they can then federate/talk away (that is assuming you don't/can't/won't support registration on your own server -- in my case the main reason not to recommend people wanting to talk to me to register on my server, is that I wouldn't know what kind of "SLA" my own server would have -- so if they used XMPP for other things than talking to me, having an account with someone a little more dedicated to keeping a server open to the general public might be better. But the main point is that that just works with XMPP today. And it should've just worked with both Facebook chat and Google talk/hangouts/newnamehere. And it probably also should've worked with Microsoft accounts/skype/hotmail.

[d] https://duck.co/blog/post/2/using-pidgin-with-xmpp-jabber

]


> I was hoping h.323 might work well for a personal call system with the option of ditching regular cell service. And just try and brute force most communication through h.323

I guess you could try to run H.323 through a $protocol bridge, but I don't know why you would want to. Retrofitting modern features onto H.323 does not seem like fun. Because if SIP suffers from being too general, H.323 suffers from being way too specific in its architecture and technology requirements -- read through some of the associated specs, eg H.245, and it's not hard to see why SIP won. For the longest time, there was not even the notion of URI addressing...

> SIP for phone ... maybe SIP for videochat (but I'm sceptical

In SIP (and most well-designed protocols), there is no fundamental difference between an audio and a video call. It's just capability negotiation and RTP. Actual interoperability is the problem... and that is one of the reasons vendors like to create closed networks, so they can guarantee the experience end-to-end.

Regarding gating and lock-in: Part of it may be a desire for a proprietary walled garden [1], but a big reason is logistical as well -- one of the reasons Google disabled XMPP federation was because of abuse. This is the same reason you can't dial directly into the PSTN without going through a trusted trunk, and why unlicensed use of cellular frequencies (or any RF, really) is illegal.

[1] Actually, the reason the PSTN is federated is probably more an accident of history than anything else. If not for the AT&T monopoly (and subsequent breakup), people would have been complaining about siloed telephone services 50 years ago! See Tim Wu's The Master Switch for a nice treatment of this.


Right. Interesting that XMPP in many ways reimplemented some of the problems of both IRC and USENET wrt. federation.

> Retrofitting modern features onto H.323 does not seem like fun. Because if SIP suffers from being too general, H.323 suffers from being way too specific in its architecture and technology requirements -- read through some of the associated specs, eg H.245, and it's not hard to see why SIP won. For the longest time, there was not even the notion of URI addressing...

Sorry to hear that. My general thought was that for a personal system, it would be way lower barrier to use existing h.323 server/clients, than to make a whole new protocol -- and that's probably true.

But if it has been effectively abandoned for a while, SIP might be better -- even if what one might effectively end up with is "proprietary" SIP, as one picks a subset that works for a particular use-case.

Personally I have to complementary goals: The first, and most important, is to build something that allows group chat with archiving, hopefully integrated with optional audio/video and some kind of media sharing (be that wiki, or something more traditional like straight up sharing of files/documents) [But it it should be obvious that by uploading to a wiki with shared authentication/authorization, one would only need to share an url over chat].

The second goal would be to enable federation, at least among those with the know-how/interest in running their own nodes.

Oh, and goal zero would be to retain control, so self-host (although option to get it "on tap" as a service would be nice), and Free/Open software/protocols.

In the end, perhaps XMPP along with just video/audio via WebRTC turns out to be the least worst option. I'm a little worried that the "web-centric" solutions like Mozilla Hello/together.js etc is difficult to pair up with command line clients, bots and/or make accessible for those that need it (eg: braille terminals). I guess audio might be preferred to braille in the general case, even for asynchronous messages, but text is very flexible (eg: text-to-speech system exists).


I was the editor of the H.323 spec years ago. Funny you would say that SIP looks like it comes from the telcos, when the whole aim with SIP was to create just the opposite. H.323 has often been accused of being created by telcos, too. Truth is, folks from the traditional enterprise voice equipment makers shaped both.

SIP was adopted by 3GPP in 1999 to be used in the mobile networks. Of course, that trickled throughout the telcos, so it now is widely used in the telco space. H.323 was widely used for PSTN backhauling to reduce tolls. However, SIP is more prevalent there, I'd guess.

Enterprise networks still use both H.323 and SIP, with more desk phones using SIP and videoconferencing equipment split, but moving to SIP.

That said, any move to SIP these days is only because there is nothing better. WebRTC is the next big thing. It borrows SDP from SIP, but no signaling protocol is defined.

Personally, I'd like to realize the vision behind what was intended to be H.325, which was to be a JSON-based signalling protocol that is fully distributed. Each application could implement whatever protocol it wanted, and they would all be associated through H.325, giving the user the feeling that these different applications work closely together. That would be possible, even when applications run on different devices.

Alas, there seems to be no financial motivator for those that control the market to explore that concept, so we're stuck with H.323, SIP, and WebRTC (and various proprietary glue pieces). The trend these days seems to be toward proprietary solutions, providing limited interop with others through SIP. Limited, as in nothing but basic voice and video.


I recently discovered DTLS and QUIC, of which DTLS appear to be most interesting as a "general use" thing. We do of course not actually have a shortage of protocols, but it'd be nice to have something that was a little more suited for the "new" Internet. Full authentication/encryption, something lighter than TCP for multimedia -- and something that actually has a hope of crossing cheap DSL routers.

QUIC looks interesting, but a) is very concentrated on being a transport for http/2, b) is in flux, and c) Google apparently haven't donated any code that makes sense for production (excepting client-side in Chromium).

DTLS is closely connected with WebRTC, has several implementations (though, apparently no support in Erlang/Elixir yet?) and given the current push behind WebRTC appears to be here to stay.

Honestly, I don't know how interesting "hardware phones" are anymore. As long as one can get something to work over wlan with android, things "should" be real-world deployable. And I don't have 100s of SIP devices, so I don't need to care ;-).

It may turn out that wlan+android+WebRTC+DTLS never achieves the kind of latency needed for good live video/audio... I haven't experimented that much, but hopefully it's "good enough".

At any rate, appears that SIP really is the only interop that currently works. At first glance it does seem a little complex for the use-case of text messages, inconvenient in terms of addressing -- but maybe a core focused on WebRTC/IPv6 with gateways for SIP the way to go.

Either way, I guess as long as no big players want interop, it doesn't really matter. One'll just have to make a solution that works for inter-org/inter-friends communication, with the option to federate with those interesting in joining/building a new network. Doesn't look like it'll be easy to take a bite out of FB Messenger/Google Hangouts/WhatsApp etc.

https://webrtcglossary.com/dtls-srtp/


Identity is a separate problem. So far, https://www.accountchooser.com and OpenID is winning -- if by winning you mean maintaining a list of very popular email providers and using their APIs. ;-)


Yeah, I can't see Google ever either open sourcing Hangouts, or making it possible to federate it. Google's opinion seems to be that everything that is a service or protocol should be a Google API.


https://matrix.org is a promising candidate.


I remember reading about matrix when they first announced. Was pretty excited about it, haven't heard anything since. I It's just tech though; even if it's mind-blowingly great, won't do much good if no large-scale userbase picks it up somehow.


We're still alive and going strong - currently supporting glossy client development like Vector.im and building out bridges to as many other networks as possible (IRC, Slack, HipChat etc) using http://github.com/matrix-org/matrix-appservice-bridge and similar. In terms of being picked up by a large user base... yes, we need it if we are to be really relevant. And that means relying on folks like those commenting on this thread to try using it, contributing to it, and help us make it better.


Well I'll do my part on mindshare, I do like what I see :)

Maybe you guys should do another Show HN.


Whilst we're not trying to replace XMPP, Matrix.org does provide an entirely different architecture (decentralised and evetually-consistent history, high baseline feature set, HTTP-based, etc) that can be used for group chat/VoIP/etc.


I don't know who will do it, but it will be in-band, meaning inside http and using html5.


I did some research on XMPP interop and its demise (ignore the title) - https://sameroom.io/blog/announcing-support-for-google-hango...


At some point it did fade a bit. About 2-3 years ago enough people were using XMPP/Gtalk so that I could reach about 80% of my acquaintances thought it.

Now, there's no single network that holds over 25% of them. Except facebook, but most of them don't actively use facebook every day, nor pay attention to it's IM.


Best ask them first via email.


I don't even know my girlfriend's email address. I'm 30, and she's only a few years younger. The world is strange now.

I miss Google Wave. Not the messy implementation, but the promise of a big influential company throwing its weight behind a modern, open communication protocol.


This. This was how I learned that the whole "don't be evil" thing was a load of bovine manure.

Google Wave, as an XMPP-based protocol, held enormous promise as a federated rich discussion standard. Sadly their first implementation was clunky and had a confused approach to standards and integration; it was effectively stillborn.

Then Google killed Google Talk by strongly favouring their closed "Hangouts" product which is practically inaccessible from chat clients. They went further, making it impossible to federate Google Talk to other XMPP services. Facebook and Microsoft followed suit, either ending XMPP support or closing their federation capability.

All three are therefore complicit in the worst abrogation of Internet interoperability since the early days of MSIE. And Google, in a land grab for consumer eyeballs, was the cheerleader.


Weird. I'm 30 too and I know all of my acquaintances' email addresses. How do you not know your girlfriend's email address? You can't even do something as simple as forwarding her your travel tickets so she knows your itinerary, or a receipt for concert tickets so she knows when it is, or send out a group email with details of the time and location of your party, etc.

Email was drifting off for me a handful of years back, but ever since smartphones ascended email has experienced a huge resurgence. I'm likely to use it in preference to SMS for (a) longer messages and (b) messages with multiple recipients (e.g. your standard activity planning emails).


It would be nice if the iOS and Android built-in Contacts apps had better support/integration for all the various messaging apps that work on their respective platforms. Rather than trying to remember who uses which services, their contact card could simply contain the entire roster of their services and usernames, and you could initiate a conversation in that service from within the contact card. I know you can do this with the baked in messaging services for each platform (SMS/MMS and iMessage for iOS, SMS/MMS and Hangouts for Android), but I'm talking about a one-stop-contacts-shop for every major messaging platform. Maybe that would require too much cooperation between messaging app authors and the big OS vendors, but I think it would be possible.

An alternative solution would be a cross platform third party Contacts app that offers that kind of integration. I've seen multi-messenger apps (Trillian, IM+) for both platforms, but that's not quite the same thing and it inevitably leaves out important functionality from the official apps.


That they don't on Android is due to the app, not the platform - if the client adds contact integration, it gets listed in the contact's card. Lync, of all things, is a good example of this. I'm pretty sure Skype does too.


I wasn't aware of that, thank you. I haven't used an Android phone in a while.


I wonder what kind of entry level positions you could score with a bought-and-paid-for honorary degree?


If I were the kind to actually enact this plan, I'd be the kind to forget my degree was honorary on my resume.


A smaller ISP near me (Bright House) does a similar thing with their hotspots. There are no ad injections, but they inject a little popup with their logo, that says something along the lines of "hotspot provided by Bright House networks".

The funny thing is, this network requires you to log in with your Bright House username and password, so anyone seeing that little "provided by" intrusion is already a paying customer.


Both games were very cool from my memory of them!

What led you to using No$, and not having an official dev kit? I have no idea what the relationship would have been like with Nintendo...but did they wonder how you'd written the game if they'd never issued an official dev kit?


I used no$ because it was simply the best emulator available back then (circa 1999), plus the company didn't feel a need to actually buy a dev kit since I was fully capable of building my own, and actually preferred to use, using open source tools (assembler, linker, make, etc) and no$gba.

We were publishing through Mattel for those games as a 3rd party developer, so they handled all the dealings with Nintendo and I assume they had an in house dev kit or two, or at least it was just a 2 gorrila relationship.


It would be interesting for the author to get a flashcart, load his rom on it, and add some video of it playing on physical GBA hardware. Then you can really find out if any quirks of the system would prevent it from running, or add any slowdown.


One of the easiest ways to get code running on the GBA is via the multiboot protocol over the link port. This was the primary way I ran code on the GBA circa 2003ish using a link cable spliced into a parallel port plug.

Unfortunately, parallel ports are exceedingly uncommon these days. However, it looks like this can be done easyly enough using something like a Teensy [0] or Arduino [1].

[0] https://github.com/tangrs/usb-gba-multiboot

[1] http://web.archive.org/web/20100815071014/http://blog.evildr...


Oh, interesting! For those of you not versed in the intricacies of playground GBA link cable gaming, this protocol was used to link multiple GBAs, where one would have a cartridge and the others would not, and they would receive the game over the link cable. These single-cart multiplayer experiences were almost always very rudimentary, because as Torgo says, you're loading the entire payload in memory.


Definitely works, although you are limited to a very small payload that must be loaded completely into memory.


Apparently most bootleg GBA cartridges (usually Pokemon titles) ship with the "write enable" pin connected, so they can be re-flashed. I haven't done it myself though.


Any advice for how to get past that filter? Things to put on the resume, specific things to say in a cover letter, etc.?


Networking helps here. I've never gotten a job where my resume had to be filtered through HR first. You need to know someone who is or knows a hiring manager. Get out there and make friends!


echoing what mlitchard said. Networking is a big help. Besides that, look at what is on the job posting. Try to use the same key words in your resume/cover letter. Not sure how well it would work, but addressing differences in the cover letter could work to get it past the HR and into the manger's hands.


(The terminal would be the only place it would display correctly it seems, but it would be nice to see the chaos it may or may not cause in Github and other tools.)

Finding someone who can write very technically while also being funny and charismatic is pretty rare (We computer types aren't always the biggest hits at parties). I also really appreciate his "last time on" opening paragraphs... it gives some context to the blog post and where's coming from in his headspace. Neat.


I'll second the use of Liquibase. Writing changeSets is simple, and it's very easy to bring a developer's fresh database up to speed by simply letting Liquibase apply all the changeSets in order.

We've found that maintaining a separate "changelog" file for each major release that collects the history of changes for that release and subsequent minor releases is easiest. We also use the Jira ticket # associated with a schema change as the ID of a changeSet, so we can tie changes to feature requests, bug reports, etc.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: