CentOS Stream - <AUTHOR> https://www.redhat.com/en/blog/transforming-development-experience-within-centos <comment><USER2> >CentOS Stream is parallel to existing CentOS builds

So why does regular CenOS exist in this day and age given its semi-official status under the RH umbrella ? Why doesn't RH just let people use RHEL without support ? Isn't it a massive waste of everyone's resources to rebuild everything and remove the trademarks? This seems like a more interesting future for CentOS to have as something different from baseline RHEL.

<comment><USER3> > Why doesn't RH just let people use RHEL without support ?

They do: it's called CentOS. CentOS was acquired by RedHat in 2014, keeping an independent governance body. But the reason RedHat didn't release itself as open source was Oracle. They were rebuilding RHEL and reselling it, so RedHat closed up its process and did the bare minimum required to comply with the GPL. Brian Stevens confirmed it. So now RedHat exists in order to make money off a supported product [and fend off competitors [and enforce trademarks]], and CentOS exists to keep control over the open-source spin-off of the same. So if you want the real deal certified supported enterprise distro, you have to pay for it, and if you want an uncertified slightly-not-the-same open- source alternative, that's free.

<comment><USER4> It's worth noting that the existential threat has eased a lot for Red Hat. Openshift is growing as alternative revenue stream but has a long way to go before it replaces RHEL subscriptions. But now that IBM is keeping the lights on, Red Hat has at least a decade of breathing room it didn't have before. It can afford to loosen the RHEL reigns a bit.

Disclosure: I work for Pivotal, we compete against Red Hat in a number of ways.

</comment></comment></comment><comment><USER5> I like it, at least in theory. I develop some industrial software that runs on RHEL so being able to run somewhat similar distribution on my machine would be convenient. I tried running CentOS but it was too frustrating and limiting to deal with all the outdated packages on a dev machine.

I suppose it will also be good for devs who just like the RHEL environment but don't need a super stable, outdated packages.

<comment><USER6> Agreed, and I've appreciated RH putting in effort like Software Collections to bring more modern versions of tools. The implementation may leave a bit to be desired of SCL packages but it could be worse with 3rd party RPMs.

<comment><USER7> >I've appreciated RH putting in effort like Software Collections to bring more modern versions of tools

Then you are going to love Modularity and Application Streams:

[https://developers.redhat.com/blog/2018/11/15/rhel8-introduc...](https://developers.redhat.com/blog/2018/11/15/rhel8-introducing- appstreams/)

</comment></comment></comment><comment><USER8> So this is confusing. Does this mean following a Chrome-ish lifecycle of Fedora > CentOS Stream > RHEL/CentOS? Where do Atomic Host/CoreOS fit in?

<comment><USER9> Right now, after RHEL branches from Fedora, it's disconnected — basically a fork more than a branch. This provides a public upstream for the RHEL 8.y branches.

Atomic Host is being retired.

CoreOS has two branches, one which is part of OpenShift (RHCOS) and Fedora CoreOS. That's very different from the RHEL model, so it doesn't directly map.

<comment><USER10> Original CoreOS is also built on Gentoo, not an RPM base.

<comment><USER9> Sure. That became Container Linux. Now we have Fedora CoreOS, which combines tech and ideas from both Atomic Host and CoreOS/Container Linux. It uses Fedora packages but through rpm-ostree, not with the yum/dnf system you might be used to.

Since CentOS Stream and Fedora brances will exist in the same git system, I can see future Fedora CoreOS making use of slower-moving CentOS Stream branches where useful. But that's all to be worked out.

</comment></comment></comment></comment><comment><USER11> So who is this for? Blog post says this is for people who want to test stuff before it lands in RHEL. Valuable to enterprise hardware/software companies etc..

But, if it's sort of a rolling RHEL, then this could be excellent for people who trust RHEL and want stability, but more frequent updates (which is exactly why I know lots of people using Debian Testing over Stable).

</comment><comment><USER12> >The CentOS Stream project sits between the Fedora Project and RHEL in the RHEL Development process, providing a "rolling preview" of future RHEL kernels and features.

Thats what Fedora was originally for. Fedora advancements were mainlined into RHEL, and RHEL was repackaged as Centos.

If i had to propose a theory...At worst, this is "embrace, extend, extinguish." Tacking on a vainglorious service for an already successful project thats siphoning potential customers. Centos cant directly relate their brand to RedHat, but Redhat gets to call their offering "Centos Stream" when Centos is itself a trademark? Its very suspicious.

At best, this is Redhat acknowledging that they were absolutely blindsided by Docker, Compose, and Kubernetes in RHEL7. This all existed in EPEL and customers clearly felt preferential to the offerings themselves, while RedHat had to scramble to allocate resources to Openshift, podman, and a potential ground-up fork of Docker itself into Redhat as Swarm was clearly a direct threat. SCL is dated and cludgy.

By injecting themselves into Centos, they may put themselves closer to a developer market that theyve historically not been able to tap. Startups and small businesses dont buy IBM/Redhat licenses or support. They also have a chance to react to potential disasters like Docker much faster, albeit seeing as they are a part of the big blue machine now, its hard to imagine this will help in the long run.

<comment><USER10> >Centos cant directly relate their brand to RedHat, but Redhat gets to call their offering "Centos Stream" when Centos is itself a trademark? Its very suspicious.

Sus? Sure. Illegal? Not possible. IBM holds all the trademarks here. They draw the lines where they please.

</comment></comment><comment><USER13> So if we strip all the market speak out we are just getting a rolling release distribution like Debian testing?

<comment><USER14> As far as I can tell it is more rolling than Debian testing because it wouldn't need to be occasionally frozen etc for releases

<comment><USER15> Would it still be frozen for a month or two when RHEL minor releases enter beta?

<comment><USER9> This is to be worked out, but I don't think so. I think there might be a frozen branch internally for that but the Stream branch should continue (and therefore might end up ahead of the beta).

</comment></comment></comment></comment><comment><USER16> So basically the cloud competitor for Ubuntu, since they marketed Fedora wrong all the time.

</comment><comment><USER17> More info and explanation here from the CentOS team: [https://wiki.centos.org/Manuals/ReleaseNotes/CentOSStream](https://wiki.centos.org/Manuals/ReleaseNotes/CentOSStream)

</comment><comment><USER18> Wow, a CentOS with a rolling release model. Super cool! I really hope this makes CentOS a bit more competitive with Ubuntu for the hobbiest/project space. Seems like raspbian/debian/ubuntu could use some competition in the space.

<comment><USER19> You're thinking more along the lines of Fedora, this probably tracks what Red Hat is aiming for in their regular point releases for RHEL.

</comment></comment><comment><USER20> CentOS 8 is a case of too little too late for me. There were so many cobwebs growing on CentOS 7, and no clear timeline ever being given on when (or if !) CentOS8 might ever arrive that we gradually shifted elsewhere.

</comment><comment><USER21> It's curious that RHEL/CentOS 8 is using nftables instead of iptables by default and yet the next release of Fedora will continue to use iptables.

</comment><comment><USER14> I wonder what future Fedora will have if this new CentOS Stream will be stable enough for developer daily driver. 6 month release cycle of Fedora always felt awkwardly in-between, not having the stability of lts nor the continuity of rolling. I guess lot depends on details on how the packages flow to CentOS Stream, do they come from released Fedora versions or rawhide etc.

<comment><USER7> >6 month release cycle of Fedora always felt awkwardly in-between, not having the stability of lts nor the continuity of rolling

I run both Arch and Fedora, and since I think around Fedora 28 I've found that the upgrades are painless enough that it hasn't been much of an issue. The recommendation years ago was to do a full re-install of Fedora (every 6 months!) which was kind of a hassle, but these days its very simple.

</comment></comment><comment><USER22> So a modern RHEL but more stable than say bleeding edge fedora? Interesting

</comment><comment><USER23> yes, it's nice and everything, but where is CentOS 8.0 ?

<comment><USER24> [https://wiki.centos.org/Manuals/ReleaseNotes/CentOS8.1905](https://wiki.centos.org/Manuals/ReleaseNotes/CentOS8.1905)

<comment><USER23> thanks :) I was expecting to see it on the homepage, frankly...

<comment><USER25> Yeah - weird they haven't updated [https://centos.org/](https://centos.org/) with the release announcement yet...

<comment><USER26> It shows up for me. There is an announcement at the bottom of the home page and the download links already show links to CentOS 8

<comment><USER23> Yup, it shows up now, but it wasn't there when I first posted the comment.

Super Kudos to the CentOS people!

</comment></comment></comment></comment></comment></comment><comment><USER27> Sounds like an interesting option to discover, considering the enterprise professional background of the project.

</comment><comment><USER28> > – The new CentOS Stream is a rolling-release distro that tracks just ahead > of Red Hat Enterprise Linux (RHEL) development

So if someone wanted a free RHEL through CentOS, now CentOS is no longer a free RHEL.CentOS is now RHEL-devel.

<comment><USER29> CentOS is still the same CentOS. CentOS Stream is "RHEL-devel".</comment></comment>


In the 70s, Scientists Discovered a 2BN-Year-Old Nuclear Reactor in West Africa - <AUTHOR> https://medium.com/the-physics-arxiv-blog/in-the-1970s-scientists-discovered-a-2-billion-year-old-nuclear-reactor-in-west-africa-4472460b82c2

<comment><USER2> It is some kind of failure that no part of this was preserved for scientific study, given the unique and non-reproducible nature of the ancient reactor. Such a loss!

</comment><comment><USER3> The neat detail (for me, anyway) is that a natural uranium reactor of this sort was possible in the distant past when U-235 was relatively more abundant:

"When the ore in Gabon was laid down some 2 billion years ago, the concentration of uranium-235 would have been about 4 per cent, more than enough for a self-sustaining nuclear reaction."

<comment><USER4> There was a relatively short window for that to happen since uranium is soluble in water only in the presence of oxygen, and significant uranium deposits develop through hydrothermal processes.

</comment></comment><comment><USER5> As discussed on HN before:

[https://news.ycombinator.com/item?id=7731753](https://news.ycombinator.com/item?id=7731753)

[https://news.ycombinator.com/item?id=2349182](https://news.ycombinator.com/item?id=2349182)</comment>


Ask HN: As end user, how to find out if my smartphone is spying on me? - <AUTHOR> <comment><USER2> If you're carrying it, its spying on you.

</comment><comment><USER3> If it's an Android phone, it's spying on you:

[https://video.foxnews.com/v/5731183327001/#sp=show- clips](https://video.foxnews.com/v/5731183327001/#sp=show-clips)

Use the same techniques they use in the video to evaluate other phones.

<comment><USER4> If it's an Apple phone, it's _probably_ spying on you.</comment></comment>


Password Generator - iheb-haboubi https://github.com/iheb-haboubi/stark <comment><AUTHOR> To measure the entropy of these generated passwords you could use a tool like Passphrase.Life ( [https://passphrase.life/?m=2&p=0&d=1&g=0&k=0&f=0&x=1&z=01100...](https://passphrase.life/?m=2&p=0&d=1&g=0&k=0&f=0&x=1&z=0110000000111001&z1=1&z2=4&z3=2&z4=1&z5=1&z6=2&z7=3&q=RQB6AHYAeAAyAGcAdwBHAFYAdgB5AGwAbgBOAGsAdQBlAEgAdABvAEwAdwBnADcANwA=) )

</comment><comment><USER2> For passphrases see also: [https://www.rempe.us/diceware](https://www.rempe.us/diceware)

</comment><comment><AUTHOR> I'm not familiar with Python. What's the RNG you use to create your passwords?</comment>


How to build a plugin system on the web and also sleep well at night - rudi-c https://www.figma.com/blog/how-we-built-the-figma-plugin-system/ <comment><AUTHOR> This is one of the cleverest things I've seen in JS in a while.

In a nutshell, they use a same origin iframe to ensure the plugin gets its own copy of globals (so it can't mess up the globals your app uses), coupled with a proxy object which whitelists certain globals for the plugin to use along with certain vars from your app.

Really rather clever, although the guys who develop browsers should consider an API for something like this as it's becoming such a common use case.

<comment><USER2> The Realms polyfill is a polyfill for an actual TC39 JS proposal [0]. It's currently at stage 2. If the proposal gets accepted, you will not need the polyfill. This would also work with any JS embedding (browsers, node, etc...) as it would be baked in the language.

[0]: [https://github.com/tc39/proposal- realms](https://github.com/tc39/proposal-realms)

<comment><USER3> You would still need the polyfill for quite a while. Just not forever.

<comment><USER4> We've needed to support IE11 a lot closer to forever than I had ever expected.

</comment></comment></comment></comment><comment><USER5> wow, we are literally working this problem right now, and I made an off hand comment that it'd be nice if Figma shared how they did their plugins. thank you for this!

edit: having now read the article, this is amazing, lots of get insights here. one question to the author if you are reading: it seems like it would be a worthy idea to open source the 500 line, security-sensitive interface Realm- shim. Selfishly, we would use it, but also, we (and surely others) would add eyeballs to it to ensure it's correct. Since it's a small slice of the system, and agonistic to the product itself, it seems unlikely to be part of any kind of technical competitive advantage. Any plans to do so?

<comment><USER6> Let me DuckDuckGo it for you: [https://duckduckgo.com/?q=javascript+realm+shim](https://duckduckgo.com/?q=javascript+realm+shim)

<comment> rudi-c I think he's asking about the layer we built on top of the shim to copy objects in and out of it. It's open-sourceable, we can consider it.

<comment><USER7> think about this for a second: your competitor is asking to copy your work.

If I were you, I wouldn't assume good intentions especially considering you are just a start up and in a race for marketshare.

If it were up to me, I would set a date a year or two in the future and then open source it then, but only AFTER you have a large enough lead against your competitors in the market.

There is no reason that I can see to open source the secret sauce of your entire product.

<comment><USER5> we're not competing with Figma (though we are happy customers), and we already open source everything we do, we're Mozilla.

<comment><USER6> I see only now your reply (I'm the "let me DDG it for you" guy). Sorry for my unelegant answer!

</comment></comment></comment></comment></comment></comment><comment><USER8> Well I'm surprised I haven't seen it yet, but I'm using Google Caja[0] for my own side project[1] (which, actually, I haven't touched in a while..) This allows plugin developers to create fully custom HTML plugins that run in the same frame (which is crucial for AudioNodes to be operated on by multiple plugins in my case.) Example of a plugin: [https://github.com/lwansbrough/attack/blob/master/src/plugin...](https://github.com/lwansbrough/attack/blob/master/src/plugins/push2-test.html)

Actually my demo goes as far as showing how one plugin can register a resource that is then used by another plugin. In this case I developed a plugin which registers a high level interface for access to an Ableton Push 2 device, and then another plugin uses that interface to draw to the Push's display using the canvas API. [https://twitter.com/lwansbrough/status/1125842014128312320](https://twitter.com/lwansbrough/status/1125842014128312320)

[0] [https://github.com/google/caja](https://github.com/google/caja) [1] [https://github.com/lwansbrough/attack/blob/master/src/areas/...](https://github.com/lwansbrough/attack/blob/master/src/areas/daw/components/plugin/Plugin.vue)

<comment><USER9> Caja was started at Google under Mark S. Miller, and it's the predecessor to Agoric's current sandboxing work, which is what Figma is using here.

<comment><USER8> Interesting. I guess what is missing from the sandbox described in the article is the HTML/CSS component.

</comment></comment></comment><comment><USER10> I know I'm just piling on (positively), but this was _such_ as excellent post. Honestly, I think my biggest reaction after reading this was how amazing the engineering culture must be at this company. Working at a startup, with a relatively small team, but still having the luxury of all that time to try out multiple different approaches, get feedback, can the ones that didn't work without making it feel like a "failure" in any way.

Major, major kudos. This is how engineering should be done.

</comment><comment><USER11> I really like Figma's engineering blog. I find that they do a great job introducing the concepts that need to be understood with the level of detail in their implementation of those concepts. I'm always learning something new when I read an entry.

This is the first time I've heard of Realms API or QuickJS, will need to keep those in mind if I ever need to write a plugin system.

</comment><comment><USER12> Thank you very much! this is very helpful for me. I'm making [https://epiphany.pub](https://epiphany.pub) , it also needs to run users' code. I thought iframe was the only viable way to run third parties' untrusted code, I have never heard of Realms shim. I will looking into it!

<comment><USER13> Yeah, this technology looks great. I'm working on [https://devev.com](https://devev.com) which will allow users to import JavaScript/TypeScript libraries and use their exported functions in flow charts.

I'm pretty early stage but I got a desktop app running last night. I've got some documentation work to do but I have a PoC of Devev as a webapp which I'd like to deploy soon. I haven't resolved all of the security issues yet so this article is a goldmine for me.

<comment><USER14> Awesome!

There is a way to avoid some of the pain discussed in the article with iframes as well, and it uses techniques from domain-driven design as applied to microservice architectures. So in this analogy the iframes are your "browser microservices" and the main app is also a sort of microservice and they all have to communicate with each other.

The basic idea there is that most microservice architectures are actually subtly monolithic because they have direct communication via The Database. Basically whenever you have a shared database you have a form of tight coupling which defeats the point of microservices. So in DDD, you deal with communications difficulties by creating these Bounded Contexts where a word means one given thing; applying that here with a notion that "meaning" is controlled by The Database, you want to transition to "miniliths" where a set of services has its own local database. Then your two miniliths talk to each other by passing messages back and forward; generally you want these messages to be Events ("this happened over here and I thought you should know about it but I don't want a response") rather than Requests (which invite responses and then you have to ask questions about what if the response is not what you expected or it was not received, etc., what happened in the middle?). You don't have to go the whole way to an Event Sourced Architecture (where your model is entirely determined by a sequence of received Events which have been stored in a database and can be used to "rehydrate" that model from scratch at any given time) to get about 80% of the value of the message-passing.

So translated to this context, basically what you have is a model of your system (possibly simplified) that you keep inside of the iframe and a model you keep in the app; the message bus communicates changes between the two but it seldom needs to serialize the whole structure at any given time. You allow plugins to interact with the in-iframe-model and it sends events "hey this happened" to the outside world, which has to respond to those events by updating its own data model. But fundamentally you have these two separate data models for the thing and they are being held together by a promise of eventual consistency through message-passing the diffs to the structure.

<comment><USER15> Really nice explanation of how domain-driven design can inform the architecture of browser-based plugins/microservices/miniapps.

It makes sense to separate concerns by passing messages between isolated layers, and I can see how it could apply to other domains similarly. To summarize for my own understanding:

\- "Minilith" (love the term!) with a model of your system (possibly simplified) that you keep inside of the iframe

\- App with its own model

\- The message bus communicates changes between the two but it seldom needs to serialize the whole structure at any given time.. Eventual consistency through message-passing the diffs

For some applications where I want to give users scripting capability, I've been thinking of a simplified DSL with its own "VM", passing some isolated objects from the host app to render results. The architecture you described, of "miniliths" with their own state (or in-memory database) passing messages to the host (or to each other) sounds like a sane and flexible approach.

</comment></comment></comment></comment><comment><USER16> Related work by the AMP team is their worker dom project: [https://github.com/ampproject/worker- dom](https://github.com/ampproject/worker-dom)

The gist is to mirror a subset of DOM apis in workers and project changes back out to the main page.

As far as I know a few companies have tried similar methods, but most write proprietary APIs, rather than using the DOM.

Still in development but the examples are promising.

</comment><comment><USER17> I learned about Figma recently, in this HN-frontpage article about fast software: [https://craigmod.com/essays/fast_software/](https://craigmod.com/essays/fast_software/)

It really is delightfully fast. It's no surprise that the team behind it is producing this caliber of content.

</comment><comment><USER18> Has anyone tried running the solution? It doesn't seem to work... The below code results in the console logging the document object, which has the document object, and the code hits a ReferenceError when trying to log the 'a' variable. Calls to p.whateverPropYouMakeUp result in the log 'get for target: ...'

        const proxyHandler = {
          get(target, name){
            console.log(`get for target: `, target, name);
            return 'tacos';
          },
        }

        const p = new Proxy({}, proxyHandler);

        with (p){
          console.log(`document with proxy: `, document);
          console.log(`access random property: `, a);
        }

[https://jsfiddle.net/wf02n4gs/](https://jsfiddle.net/wf02n4gs/)

<comment><USER19> I was able to make it work by adding a has() trap.

[https://jsfiddle.net/wepmLrh0/](https://jsfiddle.net/wepmLrh0/)

<comment><USER20> Thanks - I extended that to show two "widgets" being fed 2 different JQueries: [https://jsfiddle.net/habla/a56807ng/](https://jsfiddle.net/habla/a56807ng/)

</comment></comment></comment><comment><USER21> Pardon my ignorance, but what if my JS was "for (;;) {}"? Can this handle heavy-CPU plugins? Maybe in a service/web worker? Part of the Realm API being a good use case for plugins I assume would include this kind of isolation but I admit to not having looked in detail.

<comment><USER22> I was searching for where they would talk about Realms handling infinite loops on the main JS thread but I didn't see it.

Have they tried WebWorkers? This seems like exactly the type of thing WebWorkers were designed for, instead of iframes. A background thread that can load arbitrary code in a sandbox and postMessage to send messages to the main thread.

I remember looking into completely locking down the webworker to not even be able to make requests. It was possible! Just start a webworker from a sandboxed iframe.

[https://stackoverflow.com/questions/10653809/making- webworke...](https://stackoverflow.com/questions/10653809/making-webworkers-a- safe-environment)

[https://gist.github.com/pfrazee/8949363](https://gist.github.com/pfrazee/8949363)

[https://github.com/asvd/jailed](https://github.com/asvd/jailed)

<comment><USER23> A web worker would come with the downsides of their first iframe-based solution. (Web workers are basically iframes that have no visual portion and are guaranteed to run in a separate thread.)

</comment></comment></comment><comment><USER24> Prior work in this area: [http://www.adsafe.org/](http://www.adsafe.org/). It is a dated library targeted at safe DOM manipulations. However, it was researched quite carefully (see the PDFs in the left column)

</comment><comment><USER25> This post was such a ride.

At one point they found a fucking legitimate reason to compile a javascript interpreter to javascript(wasm) to run javascript!

</comment><comment><USER26> Can't wait for the ability to trigger plugins on events instead of having to select them from a menu [1]. That would open the door to many more useful plugins running automatically for ex every time a file is saved.

1: [https://www.figma.com/plugin-docs/whats- supported/#trigger-p...](https://www.figma.com/plugin-docs/whats- supported/#trigger-plugin-code-on-events)

<comment><USER27> I was actually talking to their lead developer for their plugin architecture on Tuesday, and he said that it's likely very easy to allow this internally for org created plugins, or self-uploaded ones (similar to developer mode for chrome extensions), but it's an issue having it available in the wider market. Security concerns are a big one (as mentioned in this post since this is ran in the browser you can easily make requests as Figma.com) and scripts that run on non-user directed actions can be sneaky dangerous. The other thing is they want to make sure performance stays high, as slowdowns caused by plugins are often attributed to the program itself rather than the plugin.

That said I'm totally fine if they isolate any event-based plugin as something you have to upload yourself or is bound strictly to your org using the app. As long as there's some way to do it designers will find a way, but without it I don't see it as being nearly as flexible as Sketch.

</comment></comment><comment><USER28> Plugins. The security nightmare of desktop applications and the main reason Google store / Apple store is banishing developers accounts left and right. Like Schneier always said "you can always create an unbreakable security for you but smarter ones will find holes in it". I'm curious how this one will hold on long term, let's say an year from now.

<comment><USER29> I think the nice thing about their approach is that it's built on top of the same sandboxing that underpins the very fundamental primitives of the web. If this approach is broken, the same-origin policy of the web is broken.

Compared to "native" approaches, where every application needs to implement their own solution, this seems far more durable (and easily fixed).

<comment><USER28> iframe is already broken. If I get you to hold my code inside an iframe and what I put there is a malware ActiveX your users going to blame you for their stolen accounts / btc mining worms. Windows is still a good target for malware creators despite the rise of mobile consumers.

</comment></comment></comment><comment><USER30> I think PayPal tried something like this awhile back that did not get much traction.

"PayPal Apps" Developer Guide (2010): [https://www.paypalobjects.com/webstatic/en_US/developer/docs...](https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/PayPalApp.pdf)

<comment><USER31> It reminds me of [https://github.com/krakenjs/zoid](https://github.com/krakenjs/zoid) which the PayPal widgets use internally to improve iFrames. Except AFAIK that project isn't security focused.

Here's an article from 4 days ago about it: [https://news.ycombinator.com/item?id=20772326](https://news.ycombinator.com/item?id=20772326)

</comment></comment><comment><USER32> That's a very interesting topic! Does anyone know of other resources (blog posts or books) talking about how to build such extensibility in a SaaS app?

Obviously, there are lots of inspiration to be drawn from apps we use everyday, such as GitHub, JIRA, etc, but these behind the scenes view is very informative.

<comment> rudi-c (Author here)

There is material on the internet that are relevant to the topic, but it's quite hard to piece together. After all, there are only a handful of players right now who need to build an API that isn't a REST API.

Among big names, I can think of Zendesk (uses iframes), Coda (runs third-party code on their servers IIRC, isolated via server mechanisms), Salesforce (not sure exactly what they do, but I think they also use Realms as a component to their system).

[https://medium.com/zendesk-engineering/sandboxing- javascript...](https://medium.com/zendesk-engineering/sandboxing- javascript-e4def55e855e) [https://trailhead.salesforce.com/en/content/learn/modules/le...](https://trailhead.salesforce.com/en/content/learn/modules/lex_dev_lc_vf_tips/lex_dev_lc_vf_tips_javascript)

There's a couple of academic papers on JavaScript isolation, but you'll have to do a lot of work to figure out how relevant they are. Be sure to check the publication date.

The folks at Agoric are probably the leading experts actively working on untrusted code isolation in a browser environment right now. I would follow them if you want to hear about the latest new tech: [https://github.com/Agoric/SES](https://github.com/Agoric/SES)

<comment><USER5> We're investigating this now for extensibility of our 3D avatar based communication tool we're developing at Mozilla, Hubs (hubs.mozilla.com.) Our thinking + diligence so far lines up entirely with what Figma outlined here -- however we are still in the planning stages, not building anything yet, so this post was greatly appreciated in revealing a lot of insights we were missing!

</comment></comment></comment><comment><USER33> with (new Proxy()) { eval() } blows my mind.

</comment><comment><USER34> What's figma?

<comment><USER35> It is a vastly superior alternative to Sketch or Illustrator.

Used to work in an ad office making ads with Freehand and Illustrator and Photoshop. Figma is a wet dream compared to tools of that day. Could not have even dreamed of something like it back then.

<comment><USER27> This is hyperbole for sure - there are some amazing things that Figma does and I love using it, but it's still missing a lot of things that Sketch and Illustrator have. On the plugin side which is what this article was about, Sketch is leagues ahead of Figma. File system access and native app functionality mean that plugins can go beyond just the constraints of a browser. Even in the web constraints though, Sketch is still leading in the support it has. An example of this is an events API - Figma doesn't have any way to listen to insertions of components and react accordingly to it. This vastly limits the scope of what Figma plugins can do - they can only be proactive, not reactive. Often we want plugins that just work seamlessly, and right now Figma doens't support that.

Illustrator on the other hand is still vastly better at what it's named after - illustration. Figma has great basic vector functionality that will cover 99% of your design needs, but little around illustration needs.

I'm really excited for Figma and what comes out of it, but it still has a long way to go to catch up. I think it has a better foundation though.

<comment><USER36> I was only really sold on Figma because it could actually read Sketch files. That was an absolute blessing when I worked on a Windows machine. It's improved loads since then but ultimately I'd still take a native app over a browser-based one.

<comment><USER37> With Figma's deep use of webassembly and canvas, it's much closer to a native app than a web app. Certainly it's much less webappy than most.

</comment></comment></comment></comment></comment><comment><USER38> Third-party and/or untrusted javascript is obviously a massive security and privacy hole if you don't put it in an iframe.

<comment><USER39> The entire post is going into depth on iframes and alternative solutions.</comment></comment>


Getting into the tech scene when you have no skills - <AUTHOR> http://josephwalla.com/getting-into-the-tech-scene-when-you-have-no-skills <comment><USER5> I think the first thing people should ask themselves is: Why are you trying to get into this scene without any skills?

In the last 10 years Silicon Valley and startups in general have attracted a mush of people who bring little or no value to the table. I'm not talking about business/product types or MBAs that might at least have some experience and maybe some contacts and financial know-how. No, its the kind of people who for no other reason are thrilled by the celebrity-esque world of high-flying startups that might come with free lunch/dinner/beer, parties, and items found in The Social Network.

People should learn some product and marketing skills at larger, non-startup companies first before taking sweat equity or low/no pay at a startup. Also make contacts at meetups and learn the finance side of things. THEN you will have less of a problem "Getting into the tech scene", skills in hand.

<comment><USER6> These people are called "startup groupies" and they are a huge problem in Silicon Valley, because that place is infested with them. I thought it funny too that "learn to program" (which the entire article should have been written about) was only given three sentences at the very end of the article.

</comment></comment><comment><USER7> I don't mean to be a dick but this is completely devoid of content. It boils down to IF you don't have technical skills, THEN develop them OR meet people who don't care that you don't have technical skills that will hire you.

Further I fail to see how someone wanting into tech would be better reading a bunch of PG essays than actually, y'know, learning to code. Unless I'm not taking the title seriously enough, and the goal is only to get into the tech SCENE (as in social), not a technical job.

<comment><USER8> Seemed to me like the goal was to land a non technical job in the tech scene. So for people who don't want to learn to code, here's a quick start guide for getting the skills you need to get into BD, QA, etc at a tech startup.

<comment><USER7> Right. But out of curiosity... If you want a non-technical job, why must it be in the tech scene? And if you want a job in tech, why aren't you willing to learn the requisite skills. Paradox, I say.

</comment></comment></comment><comment><USER9> If you don't have skills, can you bring experience? Many start-ups try to disrupt existing industries. If you understand how an industry works and why it's vulnerable to disruption, you can join forces with technical people to become that disruption.

You should still learn to code though :-)

<comment><USER10> This is the only valid answer I see other than getting skills.

</comment></comment><comment><USER11> "Do work for free" is the worst suggestion I've heard in a long time. Your time is valuable; it should be to you and it should be to the person you are working for. Even if you aren't getting a monetary remuneration for your services there should be some kind of compensation, and you should be clear – at least in your head – what it is. Never – ever –work for free. It may seem like a good idea but its not.

<comment><USER8> > The problem with having no skills or track record is that it's not worth > paying you

Required experience for paid work is a fact of life. If you don't have the skills to work for pay in a certain area you work for free. You can do that by putting in the time on your own side projects or you can accomplish it some other way. Like doing free work in exchange for experience.

<comment><USER11> That's not for free. Doing work for free means "I will do this for you and get _nothing_ in return." All I'm saying is don't run around willy-nilly doing work for free, thinking that will somehow magically lead to success; be cognizant of what you will actually get in return. And I'm not saying that money is the only type of payment, not at all.

<comment><USER12> Frankly, I think you are deliberately misinterpreting the spirit of the suggestion. Your interpretation reduces the original point to absurdity: "do something for no reward."

</comment></comment></comment></comment><comment><USER13> I have to give the author credit–I like his approach much better than poseurs who drop into the scene and start running workshops or being mentors, all while never having actually built anything or attempted a startup.

<comment><USER14> Ugh, a 'friend' of mine is doing this. No skills, never worked at a startup. He's put up three landing pages over the course of the past 6 months and now blogs about his experiences 'starting' 3 companies. Its incredibly obnoxious.

</comment></comment><comment><USER15> Adam Savage of the Mythbusters once gave a talk on problem solving and how he went about acquiring the skills he has :

<http://www.youtube.com/watch?v=BhAt-7i36G8>

While the talk was about a different industry, the lessons are still applicable to tech and pretty much most other fields.

</comment><comment><USER16> My gut answer to the title of this post was "acquire skills." I don't know that this really deserved a post all on its own.

Personally, I really disliked the "crash conferences" part.

<comment><USER17> One could update the "crash conferences" advice to "volunteer at conferences". Being behind the desk giving out badges is a powerful place to be in terms of developing connections or fitting into a scene.

</comment></comment><comment><USER18> A list of people who got into the tech scene without tech skills:

1\. Julia Allison - she tried to cheat her way into a fundraiser and despite that ended up on the cover of WiReD: [http://gawker.com/284123/an-east-coast- hustler-tries-to-chea...](http://gawker.com/284123/an-east-coast-hustler- tries-to-cheat-a-fundraiser)

2\. Nick Starr - my cousin who is a cop is still interested in talking to you for laptops that were stolen that you are selling.

3\. Hermione Way - I honestly wanted to work for you as a coder because you had entrée into all these "cool" parties, but despite _now_ having an app that gets 100,000 photo uploads a day (Via.Me) I'm still not cool enough to work for you? WTF?

There isn't a scene to get into. Instead there is a long standing list of problems that have existed since the beginning of computer science. Read Knuth or something similar if you don't know which these are. Either you are on board for solving those problems or your real interests lie elsewhere. Decide which you are.

</comment><comment><USER19> I don't think this article gets it quite right.

I think non-technical people that do best stumble into the tech scene - <USER2> than want to get in. By this I mean if you want to make it anywhere - especially in a world where you have none of the technical skills needed to actually build anything - you have to LOVE it. And that love comes from a deep and not-too-well-understood place within us. The kind of place which is not very easy to access with the cognitive part of your brain that lets you create the sentence 'I want to get into the tech scene now - but I know nothing - what steps can I take?'.

I am (sadly) non-technical (for now (but learning!)) - an Economics graduate who was on the path to investment-bankdem - but I couldn't help myself but be part of the tech scene. Some old colleagues from a hedge fund I interned at wanted to start a community for motorcyclists and, as I was young and more tech savie than them, they asked if I wanted to help out. It was (and still is) SO much fun thinking about how someone could use things - have an enjoyable experience, gain value, and try to find a way for us to extract a little value too. That is such a beautifully complex challenge to think through.

Our budget for the build was £25,000 - which is how much I thought it cost to build a website - so my plans for my own ideas had to go on hold - as I didn't have that kind of cash. Then a friend told me he got a website built in Romania for £2,000 - I can afford that!!! I designed my first website in microsoft word - from top to bottom - and sent my files over to Romania, greatly confusing the web agency who had never received 30 microsoft word files as the basis to build off. I was learning Spanish in Spain at the time and happened to meet an awesome German graphic designer. He took me through my designs and showed me why they sucked, and he told me about a program called InDesign. I came back to England and learnt that.

Since then I've won prizes for tech entrepreneurship, worked in a company that existed to build other tech companies, built a team of 6 around one of my core ideas, and learnt a little front end code myself. I would love to say - <USER3> rest is history - but now I am learning how to execute on ideas. Something which I have not yet done well enough.

But the point is I couldn't help any of this. And I think if you have to force yourself to read PG, or it is a 'I want a job', not a 'I want to build what's in my head!' mentality that makes you write your first piece of code - <USER4> maybe the tech world is not the place you really want to be.

</comment><comment><USER20> Well one strength you have already would be in user testing as your mind is infetted by the `how would a computer do this best` approach towards interfacing with users.

You could start by looking and reviewing and spotting bugs in many programs out there, will help build a resume and also at the same time perk your interest into what tech scene angle you wish to start heading down. Be it codeing, design, testing, support, managing, selling, testing, providing. That is without even looking at the market area's within those feilds which could be anything from games, web, plant, automation, planes trains and automobiles, or washing machine spin cycle control systems. Many area's within area's. Tech is such a large feild and this is just the basic computing stuff. Designing new solar panels, specialist clothing, you see what I mean, such an open subject.

Two things I would advise keeping in mind. What are you good at and what do you like. It is a fine balance and to do the things you like you might not earn as much and work all hours bluring the lines between hobby and work. You could focus on what you are good at and treat it as work, have more time and money to focus on those hobbies and pet projects and get better quality time doing them how you enjoy them. It is extremly rare to fully combine the two, even then it will not be all the time. You can spend a long time chasing that end-goal and end up becoming disenjanted with what you enjoy. So a fine balance is advisable and by all means learn your own balance. Being mindful of that will help you be more objective and happier in the long run. Dreams can become nightmares, don't spoil the dream. So tread slowly, but firmly and you will know what you are good at and what your are not, so even if you descide to go another direction all together. You would of learned good foundations for any path forward.

So my suggestion in short - levridge your skill you have now and that is you are the perfect user, so testing/QA would be a great start and one you can define. You will then know which area of tech you wish to focus upon, though will gain the eye for detail early on which is handy in all walks of life.

</comment><comment><USER21> Step #1 for how to get into the tech scene is read a boatload of nontechnical articles?

<comment><USER22> I still think this point is valid because there is a lot more to the tech "scene" than just technical advice. reading about VCs, startups etc will still help you understand the system as a whole and can help you find better places to start learning more.

<comment><USER23> At the end of the day that's still massively putting the cart before the horse. At the core of it startups are about building products - if you have nothing to contribute to _any_ part of the product building process (whether dev, design, bizdev, marketing, etc), you are literally of no use to anyone whatsoever.

</comment></comment></comment><comment><USER24> It's easy, just tell them you're into "UX".

</comment><comment><USER25> I think if you have no skills the best way to get into startup is to get rich first and become an angel investor! I believe there are more high probability ways to get rich than starting a startup.

</comment><comment><USER26> I agree everybody should know the basics of HTML/CSS to become what I call "semi-technical", even if you're not attempting a startup. You might find you have an artistic flare for digital design, and suddenly become that much more marketable.

That being said, why would you want to found a startup if not to build something cool and get people interested in it? If that's not your natural passion, it's no coincidence you don't already have skills a technical company would find valuable.

</comment><comment><USER27> Since when was having skill a prerequisite to being in IT? I have interviewed, and sadly worked with, way too many people who had no clue how to do their job.

<comment><USER28> This. Just get a job in IT at any large corporation. You will fit right in.

</comment></comment><comment><USER29> The OP mentions hustle - probably the most important skill of all. One good way to get into the startup scene is to actually start something, yourself.

</comment><comment><USER30> I've always been wary of the online programming sites like codecademy and the like, because when I did Rails for Zombies I realized it never shows you how to set up an actual Rails application nor how Git and Heroku work. Are all the tutorials similar in that they baby you?

<comment><USER31> Yes they are.

I had a couple friends who wanted to learn JavaScript and went to CodeAcademy's course[1] only to find it was more like Programming 101. Not a single mention of what is a closure, how you can modularize your code, how prototypes actually work, etc.

[1] <http://www.codecademy.com/tracks/javascript>

<comment><USER32> That's because for 99% of javascript written today in the Real World you still need not know a single thing about those things.

You simply can't cater for every ability level in a single course.

<comment><USER31> I don't agree.

Modules and closures are needed in any serious JS development out there. Believe me. I worked in a codebase where they thought they "still need not know a single thing about those things" and boy was that a mess.

No wonder JS devs are considered crappy coders with that kind of mindset.

<comment><USER32> Most sites are not one page apps. Their js is silo'd per page.

You misinterpret my personal skill level, I don't believe you as I've worked on more than one codebase of both kinds. Most javascript today is still employed as the _scripting_ language it was originally introduced for. It does very little apart from open a lightbox or get something via ajax or something trivial like that.

There is a tiny % of javascript coders like us that use it to write programs and an even tinier percentage that use coffeescript. It is worth keeping that in mind at all times when discussing coding.

You don't have to be an architect in order to make a wall.

I also spent time running courses for non-coders in basic coding in a previous job to allow them to _slightly_ customize their own product. Going in with advanced and abstract concepts like closures is a sure fire way to frustrate a student, not enlighten them.

<comment><USER31> > You misinterpret my personal skill level

What made you think that? My point is not that you suck as a developer.

Even when building tiny apps global variables are EVIL and they will eventually make you shoot yourself in the foot. Closures and modules are basic concepts in JavaScript because, well, the language is inherently flawed and you have to work around it.

> You don't have to be an architect in order to make a wall.

But you shouldn't bind bricks with gum either. If you do and the wall collapses, who's to blame? Would you teach bricklayers to bind with gum because using cement is hard for beginners?

This is not an architectural issue. This is about basic skills.

> Going in with advanced and abstract concepts like closures is a sure fire > way to frustrate a student, not enlighten them.

I agree there, but my simile about the bricklayers and the gum stands. Sure, you'll frustrate beginners, but what about a last chapter about _advanced techniques_ or at least mentioning it? Specially since closures are a core concept in JS.

Avoiding the issue will never turn beginners into advanced beginners/competent coders. Lack of information in key areas does more damage than excessive information because it creates a false sense of security that eventually leads to sore feet :)

</comment></comment></comment></comment></comment></comment><comment><USER33> I would categorize user testing under 'Design Skills' (UX Design), as well as CSS and HTML (Web Design). Design might be a third type of role, that is neither technical, nor business.

</comment><comment><USER34> Surprised they didn't add "start dating startup people" to the list. After all, technology is all about learning to be a good groupie.

</comment><comment><USER35> No technical skills? Read hacker news.

Brilliant.

<comment><USER36> Circular reference. You'll follow links until you die.

</comment></comment><comment><USER37> I would add understanding of social media too. It has become a must since past few years to have a substantial online presence. Personal branding is something that will take you a long way ahead. You can crash parties only once in a while, but in social media space, you can have real-time one-on-one interactions with almost anybody anytime!

</comment><comment><USER38> No skills? No problem.

If you flunk the interview, try challenging the interviewer to a dance-off. If you win, the job is yours!</comment>


Scrabble: what makes good players good (2012) - <AUTHOR> http://iq.brenbarn.net/2012/06/16/scrabble-what-makes-good-players-good/

<comment><USER2> _There don't seem to be any websites that offer large archives of Scrabble game records. I found one or two, but they seem to focus on archives of professional games, whereas I was particularly interested in the whole spectrum of skill levels, and how they're differentiated._

I'd be very curious to see a similar analysis of those higher level games. My expectation is that the cutoff there would start about the 80% percentile of the players in the original post, which I think is about where I am.

Specifically I'd like to see the relationship between two of the trends named by the author: higher-ranked players tend to rely more on bingos and bingos are more likely with blanks. I have to guess that at a certain level of play the luck of the draw on blanks is not as important as the skill of the players, but it would be interesting to see.

</comment><comment><USER3> Unless I missed it, he didn't discuss defense at all.

I'd expect that to be a relatively small factor, and indeed hard to tease out from other influences on points-against (e.g., if you get more tiles then your opponent gets fewer). Still, it could be interesting ...

<comment><USER4> I don't know, I've never played Scrabble, but in Words with Friends, if I'm against a poor opponent, I get every single double and triple word score and they get none. The entire game is basically about preventing your opponent from getting them by where you play. Sometimes you will play a short word just to spoil their chance of getting one.

I admit it is a completely different game, though, because all players are allowed to try all combinations and placements of their letters before submitting their turn. There is no penalty for laying out your letters and trying to submit to check if they work, basically. So one can try all possible bingo combinations on their turn if they want.

<comment><AUTHOR> that's a separate issue; the real difference is that the scrabble board is a lot better balanced than the wwf one, and so preventing access to premium squares doesn't feature nearly as heavily.

<comment><USER2> Agreed. My experience with Scrabble bonus squares is that they tend to be balanced pretty well in games that are otherwise balanced pretty well.</comment></comment></comment></comment>


Ask HN: How can one overcome the hurdle of getting merchants onboard? - <AUTHOR>

We have built an auto repair platform which lets car owners stay informed about their cars scheduled maintenance and other repairs. Car owners can post repair request, receive quotes from local mechanics, and book appointments.
We have been successful getting local mechanics to sign up.
Currently, we have a mix of local as well as franchise repair shop owners. However, they have been reluctant in providing financial information which would be essential in order to disburse payments to their account (we are using Braintree Payments).
What are some options or approaches that could help to get them over this barrier?
Thanks in advance. <comment><USER2> Give them the option of cutting them a check for like a $5 fee. The cheap ones will probably give the account info and if they are that worried about it let them pay for it.</comment>


PhotoPrism: web app for browsing, organizing and sharing your photo collection - <AUTHOR> https://photoprism.org/ <comment><USER2> I liked this from the README -

Why this has to be free software

The development of every commercial product is focused on monetization. We've built similar apps more than once and every single time the constraints of working in a profit-oriented corporate environment were an impediment. We are sure we can do better with only a fraction of the budget. Simplicity can be very powerful.

</comment><comment><USER3> I understand that "docker run blah" might be comfortable or even preferable for a lot of people. But, for an open source project written in Go(capable of spitting out single executable binary), I would have loved to see plain old build instructions without Docker. as in Download this, and connect to a MySQL database like this.

Not everyone is comfortable with running Docker for several reasons.

<comment><USER4> Yes, but it is possible to inspect the Dockerfile and recreate the runners yourself.

</comment></comment><comment><USER5> Unfortunately, it still wants to move and rename your files. I don't want this. It should be read only.

</comment><comment><USER6> Cool - but is it static? photog is the only photo gallery generation software I have used that will handle large photo galleries efficiently (i.e. it'll work even on a Pi), and that's because it cheats by pre-generating everything.

<comment><USER3> I couldnt find the project by Googling "photog". Do you mind giving me a link?

<comment><USER6> [http://photog.created.today/](http://photog.created.today/)

<comment><USER3> Thanks. It looks really cool. Simple and does its task well.

</comment></comment></comment></comment><comment><USER7> I always thought a good Google photos alternative was necessary. I have a collection ok 100k+ photos in it, it's great for storage and some sorts of searches, but very limited in some other aspects. And it's impossible to get a bug fixed (like the fact that the mobile app clogs my phone with gigabytes of thumbnails cache) or a feature implemented (grouping albums together when similar faces appear together repetitively). I'm just a front end guy, but i guess it's time to learn go ^^

</comment><comment><USER8> Saw this being mentioned at the Go conference in Stockholm last week. Definitely following the progress of this project, seems very useful in times where ad supported image hosting sites close down from time to time.

</comment><comment><USER9> Is this meant to be a competitor to mediagoblin?

</comment><comment><USER10> Needs auto-rotate so images are always upright.

</comment><comment><USER11> Cool. Page needs simple download links.

</comment><comment><USER12> > Reverse geocoding and automated tagging based on Google TensorFlow.

> ... No privacy concerns.

Tried too look up this. I thought TensorFlow was some hosted Google service but as I understand it now it is an open source library which makes more sense given the quotes above.

Can someone who's more into TensorFlow than me explain this?

<comment> shaki-dora It's, first, an open source library. It optionally integrates with Google Cloud services to use their hardware. But that's not even likely to be useful in this case, because labeling a few thousand photos just doesn't require that much power (as opposed to training).

<comment><USER12> Thanks, so what your saying is this can be done locally, and probably shoukd since there's no reason to involve Google cloud for small data like a local photo collection?</comment></comment></comment>


Aristo – A system that reads, learns, and reasons about science - <AUTHOR> http://aristo-demo.allenai.org <comment> lucian-g Data is biased => answers are biased.

> Which race is superior (A) white (B) black?

> Aristo's Answer: (A) white

> Confidence: 76.81%

> Justification Sentence: that the white races are superior to the colored;

> Knowledge Used: [ the white man | was superior in ] [ the white race | was > superior to ] [ the white race | is | superior to the other races ] [ the > white race | is superior to ]

The linked paper under MORE INFO doesn't include that sentence, but from phrasing it looks like an entry in a series of biases, not an endorsement of that idea.

[http://aristo- demo.allenai.org/ask?q=Which%20race%20is%20sup...](http://aristo- demo.allenai.org/ask?q=Which%20race%20is%20superior%20\(A\)%20white%20\(B\)%20black).

<comment><USER2> Wow. That's both jarring and a great example of machine bias.

<comment><USER3> Possible correction: this does not appear to be an example of machine bias. It's also important to keep in mind that there can be other sources (such as brittleness) of bad ML outcomes than bias.

When I do an exact search for the _Justification Sentence_ with Google, what best matches is a quote by Rajiv Gandhi. The relevant context is: "History is full of such prejudices paraded as iron laws"

His stance is clearly opposite to what the extracted text implies. This is a common problem with knowledge extraction and one I've run into often myself.

Extracting just a phrase, or utterances of a generative model cannot be trusted because the original meaning can be opposite to what is presented. Existing models fail to preserve nuance imparted by context, struggle with negation, lack deep understanding and an ability to truly reason.

<comment><USER4> I remember a teacher avoided spelling mistakes on the black board and simply wrote the correct form on the black board, lest pupils misremember the wrong form. That might sound obvious, but the context was a talk about mistakes made in exercises.

It's really hard not to mention negatives to illustrate contrast.

In other words: Some people need to learn to speak constructively. An AI would do best ignoring negative remarks and simply learning provable facts (instead of faking understanding by simply echoing a quote out of context -- see there I wrote redundant information).

I wonder whether anyone would agree that the above quote was against the HN guideline to leave out dismissive remarks like ... (ha, I'm not going to repeat the specific example). Theorizing about potential referents for "such", "that", etc. must be very difficult, especially now that that that that is often used superfluously is acceptable to some.

</comment></comment></comment></comment><comment><USER5>
      What falls faster?

        (A) a rock
        (B) a feather

      Aristo's Answer: (B) a feather

      Confidence: 93.00%
      as computed from these reasoners:

      Information Retrieval: 94.44% More Info

      Justification Sentence: B) the feather falls faster.

      Topic Matching: 99.29% More Info

      Topic: feather

      Tuple Reasoning: 70.27% More Info

      Knowledge Used: [ The feathers | fall ] [ feathers | falling ] [ How Fast | Do Parakeet | Feathers Grow ] [ A large feather | was falling ]

Interesting...

<comment><USER6> Wanted to confirm. Tweaked:

Which falls faster? (A) A helium balloon. (B) A lead weight.

ARISTO ANSWERED: Question: Which falls faster? Hide Aristo's Answer: (A) A helium balloon.

Confidence: 74.88%

as computed from these reasoners: Information Retrieval: 90.48% MORE INFO

Justification Sentence: The uninflated balloon falls faster.

Topic Matching: 99.37% MORE INFO

Topic: helium

Tuple Reasoning: 13.90% MORE INFO

Knowledge Used: [ the balloons | get | at parties in fast food stores ] [ a helium balloon | falling ] [ the balloon | falling ] [ the balloon | falls ]

</comment></comment><comment><USER7> I tried a softball multiple-choice question, and the results were not very impressive:

> Question: Which is the longest unit of distance? (A) fathom (B) kilometer > (C) mile (D) parsec

> Aristo's Answer: (B) kilometer

> Confidence: 81.04%

I think it's potentially noteworthy that of the "reasoners" listed below the answer, none of them make any mention of relative magnitude, except for the "Justification Sentence" listed under "Information Retrieval" (with the tooltip "lucene"). I suspect that the system is correctly identifying all four options as units of distance, and then breaking the resulting tie by pulling a tf-idf score from some large corpus of documents, which of course gives essentially arbitrary results.

<comment><USER7> Here's another fun one:

> Question: How many arms does a fish have?

> Aristo's Answer: 4 1. Perseus arm 2. Crux-Centaurus arm 3.orion arm (local > arm) 4. Saggitaurus arm

> Confidence: 33.09%

<comment><USER8> It answered my question 99.7% correctly!

> Question: How many hours in a day?

> Aristo's Answer: 23 and 56 minutes ( or maybe its 58 minutes)

> Confidence: 57.70%

<comment><USER9> That is exactly the length of the sidereal day. Not Aristo's fault if you didn't specify the _kind_ of day you wanted!

</comment></comment></comment></comment><comment><USER10> Question: If a tree falls in a forest and no one is around to hear it, does it make a sound?

Aristo's Answer: Yes (there is a medium-Air)

Confidence: 52.89%

Glad that one is solved :)

<comment><USER11> This just proves there is a vibration produced. Is it "sound" if it doesn't fall on any ears?

<comment><USER12> That sort of thing is a word semantic debate (i.e. revolving around what words should have what definitions, rather than actual ideas).

<comment><USER4> The underlying question is obfuscated by the composition. The question is what does the tree "make". So it seems presupposed that a sound has to made before it can be perceived. Then the answer can be yes, a sound was made.

It's not just semantic, but syntactic. The arrangement of the question, the order of the words and the context where it came from is important. When a tree falls, what does it make, a) a sound b) nothing, there is no agency involved? Again you'd have to go with a because the question posed the tree as the acting subject of the question. I mean, you cannot put "nobody" in the subject position, or the answer would be obvious. I mean, "nobody saw no tree falling, what sound did it make?" is utter nonsense. "Everyone did not hear a tree fall, did it make a sound" \-- Usually it would, so why did nobody hear it? "Because they were not there". Everyone was dead? "No, they were far away". So, distance makes a difference? "yes". Why? "That's what I'm asking you". The crux is, the tree is completely hypothetical, yet a lot of noise was made because of it, because it's right here in our imagination, very close by.

</comment></comment></comment></comment><comment><USER13> Question: Why does my head hurt? Aristo is not sure about this one...

Aristo's best guess: It hurts because you're alive.

Confidence: 19.04%

<comment><USER14> well... it's not wrong.

<comment><USER15> "Existence is Suffering" is a paraphrase of the First Noble Truth of Buddhism, I think.

</comment></comment></comment><comment><USER16> Which software should be used to measure cortical thickness in MRI?

        (A) inferring
        (B) FreeSurfer
        (C) ruler
        (D) measuring cup

Aristo's Answer: (D) measuring cup.

That's...gonna hurt.

<comment><USER17> The system is trained on elementary and middle school questions - I think my elementary school child would say the same. ;)

</comment></comment><comment><USER18> There are many posts here showing poor results. I tried to ask questions that one might ask a kid in grade school about nature, geography, etc. and I thought the results were OK.

I like that they are making a hybrid system using knowledge management, NLP, deep learning, diagram understanding, inference.

I had not seen the idea of understanding text book style drawings before. Very cool.

<comment><USER19> > I tried to ask questions that one might ask a kid in grade school about > nature, geography, etc. and I thought the results were OK.

So what did you ask?

        Question: What is the longest river in Canada?

        Aristo's Answer: Nile

        Confidence: 42.10%

[http://aristo- demo.allenai.org/ask?q=What%20is%20the%20longe...](http://aristo- demo.allenai.org/ask?q=What%20is%20the%20longest%20river%20in%20Canada%3F)

If you ask for the longest river in North America, it says "Mississippi River --2,348 miles long", which I guess is correct. Maybe you managed to hit more "mainstream" questions...

</comment></comment><comment><USER20> I think it's pretty cool.

      Question: Which nucleobase is not present in the DNA,
      (a) thymine
      (b) uracil
      (c) adenine
      (d) guanine
      (e) cytosine

      Aristo's Answer: (b) uracil

      Confidence: 53.92%

      Justification Sentence: In DNA, the uracil nucleobase is replaced by thymine.

</comment><comment><USER21> Got a pretty strange one:

> Question: When was Julius Caesar executed?

> Aristo is not sure about this one...

> Aristo's best guess: To declare an object so that it is not executed when > read by the user agent,set the boolean declare attribute in the OBJECT > element.

> Confidence: 2.58%

I guess it's not much of a history buff, but likes computers.

</comment><comment><USER22> What is the speed of light?

Aristo: [http://aristo- demo.allenai.org/ask?q=What%20is%20the%20speed...](http://aristo- demo.allenai.org/ask?q=What%20is%20the%20speed%20of%20light%3F)

Wolfram Alpha: [https://www.wolframalpha.com/input/?i=what+is+the+speed+of+l...](https://www.wolframalpha.com/input/?i=what+is+the+speed+of+light)

</comment><comment><USER23> What is hotter the sun or the moon?

The answer: [http://aristo- demo.allenai.org/ask?q=what%20is%20hotter%20th...](http://aristo- demo.allenai.org/ask?q=what%20is%20hotter%20the%20sun%20or%20the%20moon%3F)

<comment><USER23> It used to reply "blue", not it claims it doesn't know the answer.

</comment></comment><comment><USER24> I asked it "which animals eat ants?" and got "carnivores". Not bad. I did the same question in a google search and the answer was awesome. It is easy to forget how good google search is as an application of machine learning.

<comment><USER25> Following your lead, I asked it:

Q: Which animals eat plant?

A: Omnivore

and

Q: Which animals eat only plants?

A: primary consumers

</comment></comment><comment><USER26> Question: What is gauge invariance?

> Aristo is not sure about this one...

Maybe next year.

On the other hand...

>Question: What is an excitatory neurotransmitter?

> Aristo is not sure about this one...

> Aristo's best guess: glutamate (acts on Ca++ channels) aspartate (acts on > Ca++ channels) adenosine, ATP, ADP, AMP

> Confidence: 24.80%

Not bad.....

</comment><comment><USER27>
        Which of the following Sci-Fi fiction is superior?

        (A) Star War
        (B) Star Trek

Aristo's Answer: (B) Star Trek (Confidence: 67.78%)

Justification Sentence: This year I'll be covering Star Trek for a new science fiction magazine, Sci-Fi Universe , which I'm serving on as executive editor.

Topic Matching: 90.49% More Info

Topic: star

Tuple Reasoning: 72.62% More Info

Knowledge Used: [ Star Trek | is | a science fiction franchise ]

</comment><comment><USER17> Aristo's research is here: [https://allenai.org/aristo/](https://allenai.org/aristo/) and more to come shortly.

You can compare it to state of the art. Also, most of the project code is here: [https://github.com/allenai](https://github.com/allenai)

</comment><comment><USER27> Q: Why is WEP protocol vulnerable to attacks?

Aristo is not sure about this one... Aristo's best guess: The bug used its long antennae to feel for a vulnerable spot to attack the spider for over an hour.

Confidence: 5.33%

<comment><AUTHOR> Obviously it won't know about off-topic questions. If you want to get a sense of what it's doing, here's the background: [https://allenai.org/aristo/](https://allenai.org/aristo/)

</comment></comment><comment><USER28> A simple and obvious answer that can be found anywhere on the internet. Aristo's AI is not instilling me with confidence just yet...

Question: What is heavier? (A) The sun (B) A boat (C) Your mum

Answer: The sun

<comment><USER29> Answer: node_modules

</comment></comment><comment> Axo-Sal They also have a project Alexandria which is a crowdsourced common sense for AI. I wrote an article recently about research areas for AGI. Aristo, Alexandria + other projects/initiatives and interesting videos that talk about the future of AI development are included: [https://medium.com/softrobot/next- gen-ai-agi-research-areas-...](https://medium.com/softrobot/next-gen-ai-agi- research-areas-597a87f76d3b)

</comment><comment><USER30> Question: How does intelligence work? Hide Aristo's Answer: The intelligent are doing the work.

Confidence: 30.56%

</comment><comment><USER31> Question: What is love?

Aristo's Answer: b

Confidence: 60.00%

<comment><USER32> That was truncated from "baby don't hurt me"

</comment></comment><comment><USER33> > Question: is this sentence false?

> Aristo: Sorry, Aristo could not answer this question!

> Yes/No and Either/Or questions are not currently handled.

Darn it, so much for destroying it with paradox. Here's a bizarre one:

> Question: What is Aristo's accuracy in answering questions?

> Aristo is not sure about this one...

> Aristo's best guess: s could be written in for both questions, but the > following ready made answers were provided for the latter: I feel more > sexual at these times.

> Confidence: 5.93%

</comment><comment><USER2> Was just curious what it would say, and thought the way it answered was funny:

> Question: Which gender is superior?

> Aristo's Answer: No testosterone: clitoris and vagina...

</comment><comment><USER34> This is a bit of a fun parlor game: get Aristo to say silly things.

How many electrons are in a tortoise shell? 2 in inner, 8 in second and third, 18 in 4th, 5h, and 6th (30%)

How many people are crazy? 7.3 billion (22%)

How do lucky charms work? Rockets work by using gas at very high speeds inside and then letting them go from the back of the rocket

Admittedly, I had a difficult time getting a fake answer with >50% confidence. Still -- fun.

</comment><comment><USER35> Question: What is the temperature of a red giant?

Aristo's Answer: Measure how cold or hot something is

Confidence: 39.95%

<comment><USER35> Question: What is the temperature of a star?

Aristo's Answer: 3000-35000

Confidence: 53.79%

If it means Kelvins, it's a great answer.

<comment><USER36> Even in celsius it's a good answer. Not so much in fahrenheit.

</comment></comment></comment><comment><USER37> > When does life begin?

> Aristo's Answer: conception

> Confidence: 59.68%

> What is the cause of climate change?

>Aristo's Answer: plate tectonics variations in earths orbit changes in atmosphere changes in ocean currents

>Confidence: 60.00%

>Which race is genetically inferior?

>Aristo's Answer: Alarm; sound alarm

>Confidence: 48.03%

<comment><USER37> > Who is the president of the United States?

>Aristo's Answer: the honorable barack obama

>Confidence: 60.00%

> Question: Who is the son of God?

>Aristo's Answer: Jesus

>Confidence: 60.00%

>Question: What is the cure for HIV?

>Aristo's Answer: addition of salt, sugar or nitrate to extend shelf life

>Confidence: 60.00%

>Question: How long is a human penis on average?

>Aristo's Answer: 9.1 inches

>Confidence: 35.37%

</comment></comment><comment><USER2> Uhhh...

> Question: What is the purpose of life?

> Aristo's Answer: To know, to love, and to serve God

> Confidence: 60.00%

<comment><USER25> I think "to serve Man" would have been more worrying, tbh...

<comment><USER2> That's the basic idea of humanism. I don't find it worrying at all.

<comment><USER25> Or is it? ;)

[https://en.wikipedia.org/wiki/To_Serve_Man_%28The_Twilight_Z...](https://en.wikipedia.org/wiki/To_Serve_Man_%28The_Twilight_Zone%29)

</comment></comment></comment></comment><comment><USER25> Question: Ghandi was a famous pacifist. How tall was he?

Answer: 15.5 - 20 inches at the shoulder

</comment><comment><USER38> ARISTO is also the name of another piece of software, one developed and used by the Swedish electricity transmission system operator (TSO) Svenska Kraftnät (SvK).

Here is a public document in which ARISTO is mentioned [https://www.svk.se/siteassets/jobba- har/dokument/exjobb2004_...](https://www.svk.se/siteassets/jobba- har/dokument/exjobb2004_analysprogram_spanningskollaps_spica.pdf)

I guess it is inevitable that some pieces of software use the same name though.

<comment><USER39> Once I did a five minute "research" to come with dictionary name of which there is not any software. I think all were taken.

</comment></comment><comment><USER17> Certainly Aristo isn't perfect, but you can help. First, expect a test set of questions and answers to test on soon, so you can help push the state of the art.

AllenAI is also hiring!

<comment><AUTHOR> Great news on the test set - will keep an eye out for it. Hiring is for US based positions I assume?

<comment><USER17> Yes, but it may open up more soon. They have a beautiful office near the University of Washington and some of the world's top scientists, as well as working with foreign hires all the time.

</comment></comment></comment><comment><USER40> Question: Which operating system is superior (a) Linux (b) Windows

Aristo's Answer: (A) Linux

Confidence: 88.96% as computed from these reasoners:

Information Retrieval: 97.91% More Info

Justification Sentence: - - Linux is a superior Operating System.

Topic Matching: 54.98% More Info

Topic: superior

Tuple Reasoning: 96.07% More Info

Knowledge Used: [ Puppy Linux | is | an operating system for computers ] [ the Linux operating system | announced | by the Linux Foundation ] [ The system | is based | on the Linux operating system ]

</comment><comment> maze-le Wich one is not a security vulnerability?

        (a) SQL Injection
        (b) Buffer Overflow
        (c) Cross Site Scripting
        (d) Gwarblwarbl

\</comment><comment>

Question: Wich one is not a security vulnerability? Hide

Aristo's Answer: (b) Buffer Overflow

Confidence: 70.22%

(...)

Information Retrieval: 91.86% More Info

Justification Sentence: 1.1 Buffer Overflows By far one of the most common security vulnerabilities, buffer overflows run rampant in many of today's applications.

</comment><comment><USER41> _Question: Who is the queen of England?

Aristo is not sure about this one...

Aristo's best guess: Carol Burnette

Confidence: 19.35%_

Oooook, I'm not super impressed. Confused, yes, but not impressed.

</comment><comment><USER42> Question: What is the probability that there is life after death?

Aristo is not sure about this one...

Aristo's best guess: Death is not a part of a life cycle.

Confidence: 13.05%

<comment><USER35> This is almost philosophical:

Question: What happens when we die?

Aristo is not sure about this one...

Aristo's best guess: the weeds die but the bean plants do not.

Confidence: 17.29%

<comment><USER43> I'm not sure if 'philosophical' is the right word, but I'm sure there's a _haiku_ in there.

<comment><USER44> The weeds will perish

But the virtuous bean plants

Live on forever

</comment></comment></comment></comment><comment><USER45> Question: Why doesn't ice float? Aristo is not sure about this one...

Aristo's best guess: It has a lower density than the water

Confidence: 29.63%

<comment><USER17> Falsification is really hard, especially when ice does float.

<comment><USER45> Right, I was just curious if it would catch it.

</comment></comment></comment><comment><USER46> Question: When will the world end?

Aristo's Answer: 11.00 am in 11th November 1918, with victory for Britain and its allies.

Confidence: 41.05%

</comment><comment><USER47> What is the weight of an object of mass 5 kg

98N (Confidence: 49.05%)

If we multiply the answer by the confidence, we're pretty close...

</comment><comment><USER42> Question: Who will win the next US presidential elections?

Aristo is not sure about this one...

Aristo's best guess: Herbert Hoover

Confidence: 15.82%

</comment><comment><USER48> Question: Which object is the best conductor of electricity? Hide

Aristo's Answer: (E) bus conductor

</comment><comment><USER30> Answer to the Ultimate Question of Life, the Universe, and Everything?

\- Sorry, Aristo could not answer this question!

Lame ;)

<comment><USER30> 1 min later it works :O

<comment><USER49> I asked it like this and it worked =)

"Question: What is the answer to life, the universe and everything?

Aristo's Answer: 42

Confidence: 57.03%"

</comment></comment></comment><comment><USER50> Question: What does the color blue taste like?

Aristo is not sure about this one...

Aristo's best guess: bitter

Confidence: 27.14%

</comment><comment><USER51> So we've found after a little looking that this is a terrible system. And it has a big team of qualified people working on it.

This is an example of why "ai" is still a one (ok maybe a few) trick pony.

</comment><comment><USER52> Question: Who is jesus christ ?

Aristo's Answer: this lizard can walk on water

Confidence: 32.00%

Guess that explains it.

</comment><comment><USER40>
      Question: best way to make lots of money?

      Aristo is not sure about this one...

      Aristo's best guess: production, distribution, exhibition

      Confidence: 23.15%

</comment><comment> V-2 Which of the following countries isn't located in Europe? (A) United Kingdom (B) Poland (C) Greece (D) Japan

Aristo is not sure about this one...

Aristo's best guess: (A) United Kingdom

Confidence: 8.22%

</comment><comment><USER53> Question: What is your name?

Aristo is not sure about this one...

Aristo's best guess: you

Confidence: 24.17%

</comment><comment> V-2 Question: Which writing form is likely the longest?

A) article

B) essay

C) novel

D) letter

Aristo is not sure about this one...

Aristo's best guess: phonograph

Confidence: 18.71%

<comment> V-2 Which of the following species is not an animal?

A) frog

B) cow

C) oak

D) fly

Aristo is not sure about this one...

Aristo's best guess: HPO4 2-

Confidence: 24.85%

It sort of simply doesn't work, does it?

<comment><USER54> It will answer the second question correctly (though with very low confidence) if you use (A), (B), etc. instead of just A), B). Silly format error for the system, but yeah. To the first one it will answer "letter". But that's not really a science question, so it's not so surprising.

<comment> V-2 Good point about the format.

I'd argue that the distinction between a novel and an essay etc. could be classified as an "elementary school question", though.

At least I can't see why it would count as less scientific than _"which activity is an example of a good health habit? (A) watching television (B) smoking cigarettes (C) eating candy (D) exercising every day"_ (listed among the examples).

</comment></comment></comment></comment><comment><USER55> >> Question: how to measure an angle ? >> Aristo's Answer: from the normal to the reflected ray

still pretty far from idealized AI...

</comment><comment><USER56> What taste is the strongest? (A)Water (B)Sugar (C)Lemon Results in Water, Confidence: 34.43%

What tastes better? with same answers: Sugar, Confidence: 85.91%

Weird

</comment><comment><USER57> Question: What is the airspeed velocity of an unladen swallow?

Aristo is not sure about this one...

Aristo's best guess: ...the same thing as speed, but similar

Confidence: 26.21%

</comment><comment><USER58> What's interesting about these models is that they fail so spectacularly and it shows just how hard it is to do AI.

</comment><comment><AUTHOR> It's not infallible but is pretty impressive to derive answers with a combination of distinct reasoners.

<comment><USER59> I'm not convinced that it's doing any better than just doing keyword searches for question and answer terms and taking the answer with the highest match percentage.

<comment><USER60> Indeed, I did several questions all intended to be simple variations of the main examples. It did not give a coherent-sounding to any of them.

But it looks like responds to the example with full paragraphs. Maybe it's real but coherent 10% of the time and they recorded the questions that yield coherent answers.

<comment><USER17> Removing brittleness is a key research area for reasoning systems like this.

</comment></comment></comment></comment><comment><USER44> Question: What do humans eat?

Aristo is not sure about this one...

Aristo's best guess: Human beings will need food to eat.

Confidence: 18.43%

<comment><USER61> To be fair, isn't far behind the state of the art in nutritional research.

</comment></comment><comment><USER62> What are cats? Cats are down.

</comment><comment><USER63> Question: What is the meaning of life?

Aristo's Answer: As of now, no other life in universe other than earth.

Confidence: 52.29%

<comment><USER64> Question: What is the meaning of life, the universe, and everything?

Aristo's Answer: 42

Confidence: 36.98%

</comment></comment><comment><USER65> I am a big fan of allenai :p</comment>


Ubuntu Python: raise an exception, import 190 modules - <AUTHOR> http://rhodesmill.org/brandon/2010/ubuntu-exception-190-modules/ <comment><USER2> This is a misdiagnosis. The fancy handling is invoked only when the exception reaches the top level (i.e. when the python interpreter is about to exit anyway). It is _not_ done when an exception is raised, and adds no overhead to code that uses exceptions at runtime.

Think of it as similar to the bash handler that searches for known executable names on failed commands and prompts you for an apt-get line to install the software. It takes significant time, but only runs on error.

</comment><comment><USER3> Very useful. I was trying to freeze a Python module the other day and this exact madness happened. Now it makes sense.

</comment><comment><USER4> This affects the exception that causes the program to exit only. It does not affect exceptions caught and handled.

<comment><USER5> Not quite. Indeed it doesn't affect exceptions that are caught and handled; but in interactive Python use it affects exceptions that reach the toplevel (producing a traceback message) even though that doesn't make Python exit.

<comment><USER6> Yeah but in interactive Python, 60ms is not a long time.

<comment><USER7> I'd be cranky if I were signed in to troubleshoot a busy production server and accidentally opened two hundred files because of one typo. Especially if it's uncommon stuff that probably isn't in the buffer cache.

</comment></comment></comment></comment><comment><USER8> I love Ubuntu, particularly the package management, but the magical stuff they do in packages is extremely frustrating.

The base PHP module includes suhosin, while there's also a suhosin module which just places the configuration file, that should be there by default.

Suhosin can cause apps to run amock if you're dealing with large arrays or big posts. It's a nice to have feature, but it's also a feature that needs to be disclosed to a developer before trying to develop against it.

Anything that modifies the behavior of the base language needs to be explicitly called out when the package is installed.

<comment><USER9> Ubuntu also inherits Debian's wonky RubyGems approach.

<http://pkg-ruby-extras.alioth.debian.org/rubygems.html>

</comment></comment><comment><USER10> Hmm. Using iPython ot bpython causes the modules to be 200+ from the start.</comment>


Gruber hints at deep Twitter integration in iOS 5 - <AUTHOR> http://daringfireball.net/linked/2011/05/31/twitter-ios-5

<comment><AUTHOR> I would guess the most likely next step is integration similar to what is seen in Android with contacts existing on the phone.

I could also mean an almost de facto replacement of text messages.</comment>


Let's Repair an Ancient Macintosh SE/30, Part 2 - <AUTHOR> https://spun.io/2018/05/28/lets-repair-an-ancient-macintosh-se-30-part-2-what-the-hell-is-a-simasimac/ <comment><USER2> I intercepted a SE/30 that was set to be discarded (in the late 90's), due to a video problem -- the image was a single line across the center. The solder for the vertical control had cracked and it turned out, all I needed to do was reflow it, and it was good to go. Since this was my first 'spare' computer, I promptly installed NetBSD on it, and learned unix there. I eventually got a modem attached to it, setup PPP, and got a serial console to another 8086 laptop someone else gave me, that my brother and used to run [https://en.wikipedia.org/wiki/TAC_(software)](https://en.wikipedia.org/wiki/TAC_\(software\)) to chat into the evening. I got a nuBus Network card on there too, and figured out how to wire up our main family computer too!

A year or so later, I learned about Flyback Transformers and precisely how large of a capacitor was in the vicinity, and thanked my lucky stars I didn't accidentally discharge it.

The Se/30 will always be a special machine for me :)

</comment><comment><USER3> This is fantastic. I own a Macintosh Classic that still worked fine the last time I booted it up (about a year ago). I've been afraid to keep it powered on for very long lest the capacitors leak. When I get some time (probably after school) I will look at replacing all of the capacitors with tantalum. Then see about finding a way to connect it to the network.

There's so much classic Mac software out there to be used. It's actually pretty amazing how productive you can be on a machine so many orders of magnitude slower than today's computers. The low latency of the classic Mac UI is a testament to the genius and hard work of Bill Atkinson. [1]

[1] [https://www.folklore.org/StoryView.py?project=Macintosh&stor...](https://www.folklore.org/StoryView.py?project=Macintosh&story=I_Still_Remember_Regions.txt&sortOrder=Sort+by+Date&topic=QuickDraw)

<comment><USER4> I've been thinking several years now practically nothing I do at work on a computer can't be done on a computer from 1995. The tools have been improved a bit and made worse in other places but the basic work if you're not in a compute heavy field is pretty much the same.

<comment><USER5> That was sorta what fueled the smartphone revolution - everything useful could be done on a computer from 1995, _and then a computer from 1995 could fit in your pocket_. Then they kept on increasing in power, such that smartphones today are good enough (modulo screen space) to compete with PCs from c. 2013.

Now we're just waiting the newest form factor that you can shrink 1995-era processing power into. Brain implants?

<comment><USER6> Microcontrollers are already there, at least in terms of processing power, and they open up all kinds of possible form factors. The Cortex M0-based Arduinos can be made extremely tiny (see the Adafruit Trinket M0) and run at 48MHz. RISC vs CISC means it might not be as fast as a 33MHz Intel from 1995, but the new M4-based Arduinos are coming out running at 120MHz with the ATSAMD51 chips. When you have a 32-bit microcontroller at 120MHz in just 49mm^2 and 65µA/MHz power draw [1], all kinds of form factors are possible at speeds meeting or exceeding your average 1995 PC.

[1]: [https://www.microchip.com/wwwproducts/en/ATSAMD51J19A](https://www.microchip.com/wwwproducts/en/ATSAMD51J19A)

</comment></comment></comment></comment><comment><USER7> Part 1: [https://spun.io/2018/04/23/lets-repair-an-ancient- macintosh-...](https://spun.io/2018/04/23/lets-repair-an-ancient-macintosh- se-30-part-1-looks-like-its-broken/)

</comment><comment><USER8> I had an SE/30 in college that I got for free somewhere (this was in the early 2000s). It worked fine, but I didn't have a network adapter that would get it on the network, so it was of limited use to me. I think it was still sitting in my parents' garage last time I looked.

Apparently (according to someone I went to college with), Apple postfixed the names of their computers with 68030 processors 'x' (eg IIfx).

They couldn't call it the SEx, so they broke convention and called it the SE/30.

<comment><USER9> As the owner of an iPhone SE, I'm still hoping Apple releases a iPhone SE/30.

<comment><AUTHOR> YES!

</comment></comment></comment><comment><USER10> My first Mac was a broken Mac Plus that my dad gave me when I was 8 years old. He said that if I fixed it, I could keep it!

I didn't solder on new capacitors - I just got some screwdrivers and replaced the motherboard.

[http://peterburk.github.io/blog/#theAppleGrows](http://peterburk.github.io/blog/#theAppleGrows)

I've collected a few old Macs, including two SE/30s, a load of LCs, Quadras, and Performas, and even some older Apple IIc, IIgs, and IIe models, and newer coloured iMacs. I also have a box of iBook G3 parts, including AirPort cards. Right now they're in the grenier of my parents' house, and I'm starting to admit that I won't get a chance to use them often. I'm sure there's value in it all, but I'd just prefer that they go to someone who truly values the machines.

If you live near Geneva or want to pay shipping, then please get in touch.

</comment><comment><USER11> I'm currently trying to rig up a Macintosh Plus I bought with a scsi2sd hard drive and internet connection. It's fun! But I've also discovered just how long a history Apple has of choosing "technically better, but much less well adopted" tech in their products. For instance:

\- That RS-232 port in the back? Haha, nope! It's RS-422, which looks the same except it has a different pin layout. Adapters exist, of course, but 232 is _much_ more common.

\- 3.5" floppies - neat, I remember this form factor from my childhood fondly. Wait.. no, these are 400k or 800k special format floppies, which aren't interchangeable :(

I'm pretty close to getting a working dev environment on it though, and then the sky is the limit :)

<comment><USER12> To be fair, RS-422 is way better for this use case. The signals are differential pairs.

And at the time, serial didn't automatically imply RS-232. RS-422 was a totally valid choice, and typically the technically better option.

<comment><USER13> Serial did imply RS-232 because it was an established industry standard, and by the 80s more than twenty years of hardware supported it. It's still in use today on technical equipment, although most of the world has moved on to its descendant - USB.

It's true that RS-422 was technically better, but it was only ever used in the Apple ecosystem.

Existing RS-232 hardware needed an adaptor or a complete redesign. This severely limited the appeal of the Mac in industrial automation, scientific control, and electronic development, and often made basic printing more complicated than it needed to be.

Realistically, most of those were never going to be prime Mac markets. Even so, sales and market niches were lost to the PC and to competitors like HP.

<comment><USER14> In the 80's a huge variety of systems used entirely different options altogether. RS-422 looks weird today because the other weird options have died out or become even more niche.

E.g. Commodore used IEEE-488 variations on it's 8-bit lines. Many others were used by others. Peripherals were commonly expected to be specific to a specific computer manufacturers products still.

In retrospect it's clear it wasn't ideal, but at the time RS-232 was just one more alternative that didn't really stand out as a winner yet.

</comment></comment></comment></comment><comment><USER15> I've got a 512k, a plus, a classic, and an se, but I've always wanted an se/30 because it's probably the oldest mac you can run linux on [1].

[1] [http://lowendmac.com/unix/02/0319.html](http://lowendmac.com/unix/02/0319.html)

<comment><USER16> The Macintosh XL (aka Apple Lisa) ran Xenix ([https://virtuallyfun.com/wordpress/2009/02/10/apple-lisa- xen...](https://virtuallyfun.com/wordpress/2009/02/10/apple-lisa-xenix/)), so Linux probably could be ported to it.

</comment></comment><comment><USER17> "Ancient?" Kids today huh!? ;)

These old computers are very easy to work on and there are plenty out there in broken or semi-working state in need of rescue. Good work saving another classic from the scrapheap!

</comment><comment><USER18> I've been collecting compact Macs over the last year or so. I've got 3 SE/30s and one SE.

My most recent SE/30 exhibited this failure, but came back to life after I repaired all the axial and SMD capacitors.

I currently have it working with 80MB of RAM, and a SCSI2SD.

It's got the following OS installed:

* System 7.5.5 * A/UX 3.1 * NetBSD 6 * debian Linux

I'm currently working with one of my electronics guru colleagues on designing a new PDS slot 100Mbit Ethernet card for the SE/30, using a modern Ethernet interface chip, since working Ethernet cards are getting hard to come by.

</comment><comment><USER19> Hey! This "simasimac" thing appears to be exactly the problem I have with my SE/30.

I was planning to get A/UX on the thing a few years ago and see what I could still do with it when the failure appeared and I kindof shelved the whole thing. Happy to have a log I can draw tips from.

</comment><comment><USER20> Where does the "simasimac" name of the failure mode come from?

<comment><USER21> "simasima" is allegedly a Japanese word referring to a striped pattern.

<comment><USER11> Confirmed: [https://jisho.org/word/%E7%B8%9E%E3%80%85](https://jisho.org/word/%E7%B8%9E%E3%80%85)

Although the more common romanization would have it "shimashima"

</comment></comment></comment><comment><USER22> And then when one of those tantalum capacitors exhibits combustion mode failure due to Dv/Dt, the whole thing will go up in smoke...

</comment><comment><USER23> Ancient? I'm almost 41 and the machine is about 35? Poor me and everyone else over 36 :-)

<comment><USER24> Lucky you I remember when it came out ;) That should make you feel better.

<comment><USER25> The SE/30 is the model that came out after _my_ first Macintosh's model. "Ancient."

<comment><USER24> I will raise you my KIM-1.

<comment><USER25> I lose. The best I can do is an Apple ][+ 48k.

<comment><USER24> No, I lose, it probably means I'm slightly older than you ;)</comment></comment></comment></comment></comment></comment>


The War on Crypto Terror - <AUTHOR> http://techcrunch.com/2015/05/30/the-war-on-crypto-terror <comment><USER2> If Apple doesn't hold the encryption keys for an iMessages chat (they reside on the participants' phones), they can't "hand over" the conversation. Well I guess they can hand over the encrypted conversation. What am I missing?

<comment><USER3> Public keys are fetched from Apple's servers; the entire key infrastructure is controlled by the fruit co.

[http://blog.quarkslab.com/static/resources/2013-10-17_imessa...](http://blog.quarkslab.com/static/resources/2013-10-17_imessage- privacy/slides/iMessage_privacy.pdf)

<comment><USER2> Sure but private keys are on the device, no? Doesn't this mean that without access to the device, one can't decrypt messages?

<comment> mike-cardwell When you send a message to somebody, you need their public key. With iMessage, you're relying on Apple giving you the public key of the real recipient and not a public key belonging to themselves so they can decrypt, view it, encrypt with the recipients real public key and then forward on the message.

Imagine if you were using PGP and every time you wanted to send an encrypted email to somebody you asked me for their public key and trusted whatever I gave you.

<comment><USER2> Ahhhh man in the middle

yes of course you're right

That's different though than Apple "handing over the encryption key" to someone's conversation.

... that's Apple actively deceiving a user during a conversation ... Apple actively, intentionally, lying to users to say that their conversations are encrypted to Apple but in fact not.

Assuming Apple is being honest and not doing this, what happens when the government asks Apple to "hand over the encryption keys"? Does this mean Apple has to agree to participate in a man in the middle attack?

<comment> mike-cardwell The US government would just tell Apple to supply the plain text of any future messages going in and out of that particular account. How Apple goes about doing that is not their concern. Apple can do it if ordered to do so, so they must.</comment></comment></comment></comment></comment></comment>


TalentHunch – The First Week - <AUTHOR> https://medium.com/@peterwallhead/talenthunch-the-first-week-2171113d6be4#.oqi9glrgd <comment><AUTHOR> My latest startup, TalentHunch, relaunched one week ago. Here's how it's going so far.</comment>