HN user

DanTheDuck

16 karma

Some random guy in Austin, TX with a penchant for doing silly things. I've been labeled an "odd duck" so many times that I've adopted it as my name. I enjoy distributed systems, long days swinging a hammer and helping people to hear beautiful constructive interference known as music.

Posts0
Comments12
View on HN
No posts found.

Location: Orlando, FL, USA Remote: Yes Willing to relocate: No Technologies: Go, PostgreSQL, networking Résumé/CV: https://www.3geeks.org/~dan/Resume.pdf Email: resume@3geeks.org

I am an old school Sysadmin that made the jump to full time software engineering work. Most of my career has been large scale systems or HPC type environments. As an engineer, I've worked mostly with Go and Python. I have also done a bit of Java, C, Perl and am learning Rust now.

My expertise is in extracting performance at various levels, from the hardware to multi-threading and databases. My last decade has been spent on the anti-spam front of major ESPs.

I am looking for something new and interesting that can utilize my deep knowledge of OS internals, networking, hardware, etc and advance my software engineering skills.

That depends entirely on how you think about "turtles all the way down!" Primitives have to be built from something, our CPUs don't speak HTML natively.

We'll use jQuery as an example. People use jQuery bits to build widget sets for their own web UIs. Widget set libraries built on top of lower level libraries (primitives) that are themselves built on HTML/CS/JS. Companies like Microsoft are taking this to a whole new level with their Metro efforts.

These kinds of things are where browsers fall down and go boom. As other people have said here, the world is trying to turn documents (unmarked up content) into applications. It was a good first crack at the idea of marking up documents with application code, but ultimately its warts are starting to show.

The power of the web isn't any one technology, but a combination of two very powerful things: the ability to present arbitrary content with an arbitrary look and feel, and the ability to trivially point a user at someone else's content.

We have a (HUGELY successful) first crack at a platform (HTML, CSS, JS) that enables completely custom UI, presentation and generation of content.

Hyperlinks form the other half of this in that my content can send you over to someone else's content (with their own customized UI and presentation) with a single click of a mouse.

The problem is that people are using the first half of the web as a basis for delivering traditional (thick client, local) applications, and that does indeed suck.

We've become focused far more on the experience than the content. I think that focus is misplaced. We've spent a decade now trying and failing to perfectly implement our content for our UI paradigm and now we're paying the price as that paradigm shifts. I expect that paradigm to shift again before we perfect our new implementations.

> The inherent tension between the speed and efficiency of closed platforms and the decentralized power of open standards based platforms seems insurmountable.

Isn't this where open source platforms like Linux come in? Linux has been fighting for desktop adoption for decades, but the surrounding projects (Cairo, Pango, etc) that support that effort have evolved a tremendously powerful platform. An open source project could easily build and popularize an alternative to HTML and the like.

The problem I see is the entrenched HTML output (both static and from dynamic generation) of billions of websites. The longer HTML is entrenched, the bigger the leverage it has. And that entrenchment isn't wholly without merit either. Resolution and viewport independent UIs, especially over such a broad range, are incredibly difficult.

That said, I fully expect things like onmouseover scripts to disappear as we try to learn new UI ideas for multitouch devices.

Peer to Peer social networking suffers from a massive chicken and egg problem. Something like this isn't going to be built on the backs of Facebook users seeking privacy or freedom from UI updates.

The key to solving this will be to find the killer app for always-on peer to peer home systems that won't get you in legal troubles.

We're not getting away from SaaS without an underlying infrastructure for something along the lines of Software as a Peer to Peer Network. PaaS and IaaS have the potential to exhibit some of the same problems as SaaS. Look at the AWS/Wikileaks thing. There may not be privacy issues in the same way, but Daddy can still take the car keys away.

Also, bandwidth is only as good as the size of the total pipe between communicating entities. The cheap bandwidth has to go all the way to the end-user or it doesn't help too much. Think about backing up personal data. The initial upload takes forever in cloud backup systems.

From my point of view, full-access pipes are the problem. Asymmetric connections, bandwidth caps, incoming port filtering, etc are all de rigueur for large fixed line ISPs these days. This is especially true in North America. The mobile connectivity picture here is even worse.

Demand can be generated, if you do it correctly. The hardware is less of a challenge if you do the distributed computing on several layers at once. Apple has shown us the way on UI/UX, as has science fiction literature for decades now.

We'll never get completely away from client-server (especially with mobile computing), and that needs to be part of the design. But we have seen the power of peer to peer networks, and even some kind of proxy network between the p2p base and mobile clients could be done in a non-evil way.

The original article is much more about end-user SaaS type cloud experiences than the IaaS or PaaS services you're mentioning. The nature of SaaS is that it is directly facing the end-user. IaaS or PaaS services are more B2B style and so the customer and the end-user are not the same.

The different nature of the SaaS beast doesn't mean that IaaS or PaaS systems are any less vulnerable to things going wrong (see the EBS outage earlier this year). But Iaas and PaaS providers are more vulnerable to customer loss if APIs change (due to the instantaneous breakage) than SaaS providers are if UIs change.

The pendulum may be swinging, but I'm not sure I see it. Mobile computing isn't really different from the PC/web of the 90s. The shift is in the access pattern, not the access paradigm. Napster/Kazaa/BitTorrent is an example of the pendulum swinging. The Web was originally envisioned as an open access community, but we have yet to move it beyond the client-server (centralized) paradigm. Home servers preserve this paradigm. Many of us here run home servers because we're geeks, but that doesn't apply to most people on Facebook. Look at Diaspora: great idea (wrest control of our data from Facebook), but still the centralized (seed/server) paradigm.

Distributed computing at the level we want is still WAY too hard for the end user. The goal should be to make it as simple as using Facebook today, but retaining control in a much better way than Facebook or Google let us do now.

My question is how does this relate to market maturity? Look at the Linux server market. That market is very much at the peak of the curve or perhaps into the "Late Majority" phase. Does a company targeting that market necessarily have to start at 0? If I come out with a linux distribution tomorrow that gives large players some whizbang feature to simplify their lives, how far up the curve do I get to start?

Cloud Computing is definitely at the "Early Adopters" stage, and we are all rightfully starting at 0 when it comes to building new products in that space. It seems to me that the chasm in this case is the mindshift required to play in the new space. Thinking about all the different failures and redesigning entire architectures around failures is a lot of hard work.

Wouldn't a company get faster growth if someone came up with a transition technology: something that still fit the principles of the new mode, but still "felt" like the old way of doing things?

Butts in Seats 15 years ago

It seems like the conflict between #1 and #2 is the big challenge (and opportunity) here.

#2 posits that people (and thus their companies) get great benefit from being close to each other and able to exchange ideas rapidly as the mood/need/opportunity strikes.

#1 posits that telecommuting will take over the world because people tend to prefer flexibility and simplicity over artificially synchronized schedules and forced face-to-face appearances.

Hacker spaces (and the collection-of-lean-startup-labs type places) are great for small scale things, but could "telecommuting centers" work out just as well as commuter/carpool parking lots in the DC area? Combine Internet access, power, and (maybe?) mid-scale video conference + smart whiteboard facilities. Large companies can spread their workforce out around the country and pay into these spaces based on the employee-hours worked there.