Coding on an iPad Pro in 2019 - <AUTHOR> https://andrewbrookins.com/technology/coding-on-ipad-pro-2019/ <comment> a-ve This seems like an exercise in masochism. Why would you want to code on an OS targeted for smartphones and without any native compiler support?

To those who want LTE connectivity, I don't think you know there's a device called the Thinkpad X1 with this functionality built in.

Or is it that coding on tablets is considered "hip" these days?

<comment><USER2> I dislike Apple, but one thing I'll say in their favour is that I can wander into any Apple store and get a replacement device when it breaks (or maybe even a repair if I'm lucky). Lenovo, on the other hand took weeks to get back to me and then quoted $400AUD to replace the display backlight - with someone else's name on the quote.

If I've got LTE connectivity, I'm probably going to remote in to some other box with a lot more processing power, rather than code on a limited laptop/mobile processor.

<comment><USER3> Have you actually brought a device to be repaired within the last few years?

They take it in the back to diagnose it, come back with a sad expression and tell you they need to send it in, and you can pick it up in a week. (And that's not even mentioning the fact that most Apple stores are a zoo, and you can easily spend an hour waiting for your 'Genius' appointment)

<comment><USER4> They wanted to take my 2017 MBP for a week to replace the faulty keyboard. I was forced to buy a new machine because I can't afford to be unproductive for a week. Having a $3000 machine sidelined for a week by a design flaw that oringinates from Apple's obsession with making pretty and thin devices over any practical considerations means I will be taking a very serious look at a windows laptop for the first time in over ten years when this MBP is due for replacement.

<comment><USER5> If your laptop is that critical you should have a spare on hand. My advice would be to get that windows laptop now, so you can dip a toe in without the pressure of switching completely.

If it's a secondary device it also doesn't need to be as expensive, just good enough to get the basics done. E.g. you're probably fine with i5, 8gb ram, 256 gb ssd, which in windows land means you can get an ultrabook form factor for around $1000. If you haven't used windows in a while, get a 2-in-1 touch screen model to get the full difference in experience windows has on offer. It's interesting to have a machine that can switch from full windowed development environment to ipad and back again with a flip of the lid. (Note that I said interesting, not flawless.)

<comment><USER6> So basically buy a second Macbook Air or something that costs the same as a Macbook Air. Got it.

</comment></comment></comment></comment></comment></comment><comment><USER7> This is the reason I ditched the iPad for a Surface. Windows isn't my preferred environment but the ability to run my normal tools (IDEs, command line tools, etc) really was a game changer.

iPad Pro is great for creative workflows, but it's a shame it leaves programmers in the dust. It would be really great even to see something like XCode come to iOS

<comment><USER8> I own a Surface device, an iPad Pro, and a Macbook Pro. While I write code on all of them, macOS is still the king of development environments.

On macOS, you can just work. That's what the end goal should be in other platforms. I doubt iOS will ever get there. I mean, how are you supposed to copy and paste code from Vim running in tmux inside of Blink? With your finger? Hell's bells!

Windows is just too weird. If you compare them strictly from the perspective of using Vim, Windows is better than iOS. You can use Vim from WSL or a VM in a nice Linux terminal like Tilix running on a Windows-native X server. Boom, Vim is running right alongside your Python interpreter, $GOPATH, etc., and copy and paste works. (Let's set aside the fact that WSL is crawling with problems.) But if you use Windows, you'd kind of expect to be able to use more than Vim, right?

That ends up being a pit of snakes... multiple Windows-native X servers I've tried have problems rendering Intellij, and I've tried to get native Windows editors like VS Code to work smoothly with interpreters hosted in WSL or VMs. Only Intellij can really do it properly, and even then it depends on the language. It ends up being just another distraction.

Then there's running Linux desktop on a VM in Windows 10. I don't know how other people do this. Even with a beefy machine with two GPUs, no modern Linux window manager is performant enough to use. If you can find one like xfce that is fast enough, you end up having to manage the scaling on individual programs when you switch between high DPI and lower DPI displays. It's bananas!

So purely from the perspective of access to any tool you want to use and limiting distractions, macOS is still the best. I'm rooting for Windows, but only because I have a 2017 MBP and the new keyboards are painful to type on.

<comment><USER9> I don't find OS X any easier than windows or linux. It all just works. And never had any issue running linux in a vm on windows.

I think at the end of the day it's all personal preference. I prefer windows. But have no problems in linux or OS X. Granted I won't be buying another MacBook anytime soon. Just switched to Lenovo.

</comment></comment></comment><comment><USER10> Programming is not just about programming tools, it is about the OS environment.

I prefer being able to arrange things _anywhere_ , and the iPad has always bugged me by rationing shared-app screen space as if I'm a child (you get _up to this fraction_ of the screen but it must be arranged only _"here"_ ; or, you can picture-in-picture but only the specified way; etc.). My first iPad was wonderful for web browsing until web sites started doing exactly the same rationing, "locking in" some arrangement that they deemed appropriate, to hell with my preferences. Even the iOS launch screen is irritating, with icons wastefully arranged in a specific way that looks like no desktop I have ever had; and the Files app is not much more useful for navigating. The OS is about 5 years overdue for a "put stuff wherever the hell I want" capability.

And unfortunately, basic editing is _also_ nowhere near where it needs to be on iOS. No matter how many hacks they add, cursor movement is still simply bad: it is way too hard to do the kind of precise changes I need to do. Pop-up menus are overloaded. The keyboard layout is asinine: unlike a physical keyboard, there is no room between the Delete and Return keys so I am constantly committing things early that I am still editing. (In cloud-sync apps like Notes, I occasionally _permanently destroy text_ because I accidentally do something that is then screwed up on all other devices instantaneously for my convenience. When entering something like a URL, I regularly start "loading" an incompletely-typed address accidentally because the keyboard thinks I said Go.)

Therefore, there is no way I would use a tablet until they essentially recreate proper window, file and cursor management with full arbitrary resize and effortless dragging and plenty of keyboard short-cuts. This feels like a consequence of Apple perhaps splitting up the iOS and Mac teams too much: the Mac did have quite a bit and it's almost like they're being told to consider _none_ of it and just invent everything anew, no matter how long that takes.

<comment><USER11> I don't have any trouble with cursor movement, but text selection is really awful a lot of the time

<comment><USER12> Have you used this two finger method?

[https://mobile.twitter.com/stroughtonsmith/status/1061198300...](https://mobile.twitter.com/stroughtonsmith/status/1061198300878135296)

I find apple has gotten bad at ui discoverability. There's a ton of ios features I learned only through forums.

<comment><USER11> That way is fine, just like the cursor movement, but unfortunately only works on editable text. Copying text from web pages is where it gets really bad.

Some blame for this may belong to websites playing layout games with strange arrangements of nested tags, but when it comes down to it the browser needs to deal with that.

<comment><USER12> Oh right. Yes, text selection in safari is excruciatingly bad. I have no idea how apple hasn't fixed this. Especially since the apple pencil, a precise pointing device, _should_ be able to make precise selections.

</comment></comment></comment></comment></comment><comment><USER13> I'm struggling to work out why anyone would want to do this. Leaving aside the other concerns, I personally find input via touchscreen pretty painful and can't imagine being able to program at any real speed. It's entirely possible I'm missing something though!

<comment><USER14> I'd say coding using just a touchscreen would be terrible, but keep in mind that tablets aren't limited to just the touchscreen. In fact, you can plug a full-sized mechanical keyboard into an iPad (though the more common keyboard is likely the smartcover.

<comment><USER15> > I'd say coding using just a touchscreen would be terrible

Text-based coding, sure. But the jury is still out for visual programming systems, of either the Scratch (syntax expressed via custom "puzzle pieces") or the LabVIEW (flow-based semantics) kind.

<comment><USER16> > But the jury is still out for visual programming systems

How many more decades of failure do we need before we decide the jury is in and visual programming is a dead end?

<comment><USER17> There are actually a number of highly successful visual programming tools. They are just hidden underneath the veneer of something else.

[https://www.alteryx.com/products/alteryx-platform/alteryx- de...](https://www.alteryx.com/products/alteryx-platform/alteryx-designer)

</comment></comment></comment></comment></comment><comment><USER18> I've crossed Europe and Russia by train while receiving emails and calls from work (from Brazil) during 50 days and the only machine I had was a 2017 10'5 iPad Pro. I've ditched the laptop because of how light it was and also the fact that it could connect to cellular networks with a SIM card. So I had a browser, Slack, Fortinet VPN, ProtonMail client, Shelly SSH client, Textastic and Working copy (git), TeamViewer, RealVNC and the Microsoft RDP client along with some network debugging tools (ping, whois, traceroute etc). I didn't needed any more than that.

Negative points about this experience:

My keyboard (logicool) didn't had an escape key having a home button on the place of esc. I consider this beyond retarded. Also for some retarded reason cellular functions like sending and receiving SMS is disabled even while using a SIM card.

<comment><USER19> > and also the fact that it could connect to cellular networks with a SIM card

I never actually understood that. Everyone carries a cellphone, can't you just do tethering? that's what I do anyways. I guess the only advantage of an iPad with SIM is that is 'always connected' as opposed to click and connect to your mobile hotspot?

<comment><USER20> Tethering drains the phone battery very fast, and your phone is usually the one thing that you want to die last on you.

But there are plenty of laptops with integrated SIM card slot and modem, and the rest of them can be extended with the same via USB.

<comment><USER21> For cellular on laptops and tablets to become standard, the networks should stop charging us extra for another device. I wish I could just be charged for each gigabyte of data without regard to which device is using it, just like Google Drive storage is available to all your devices without a per-device fee. As long as there's a separate fee, most people wouldn't want it.

<comment><USER22> Google Fi gives you a second SIM for free which is nice.

Doesn't help me at the moment though, every carrier in Canada seems to add an extra fee for a second SIM even when I just want it to share the same plan.

<comment><USER20> It's even better - Fi gives up to 5 extra data sims for free. This made all the difference for me, personally - they go everywhere there is a slot for one.

</comment></comment></comment></comment></comment></comment><comment><USER23> I will take the "inconvenience" of having to bring a "bulky" MacOS device anyday over having to recreate my coding workflow just to accomodate the iPad Pro.

I chalk up trying to code on the iPad Pro as one of those exercises akin to tinkering/customizing on Linux. Interesting and fun but not really something you want when you want your tools to get out of your way and just get things done.

<comment><USER24> > akin to tinkering/customizing on Linux. Interesting and fun but not really > something you want when you want your tools to get out of your way and just > get things done.

That's rich. I use MacOS for development out of mere inertia but my god does it require a lot of tweaking work and pricey paid apps to become a useable environment.

* Finder is the worst file manager I've ever seen. Gotta replace it with Path Finder.

* The command+tab/command+` distinction is ridiculous. Gotta buy Contexts so that you can switch between windows.

* The dock is a horrid workflow for launching apps and Spotlight is terrible. Gotta buy Launchbar.

* No on-screen window switcher without the Dock so I've set up dedicated hotkeys for all my apps. This requires jumping through some absurd hoops to do with Automator, or installing Apptivate.

* Windows move all over the place when I connect and disconnect my monitors. Gotta buy Stay.

* There's _no way_ to turn off mouse acceleration for USB mice. Gotta buy a third-party USB driver.

* The built-in firewall has no way to control outgoing connections. Gotta buy Little Snitch.

* How do you live without a clickable calendar on the menubar? Need to install Itsycal.

Etc etc etc, just to make it useable as a modern operating system.

<comment><USER25> It sounds more like you wanted OS X to be some totally different operating system and refuse to learn the "OS X" way of doing things.

>* How do you live without a clickable calendar on the menubar? Need to install Itsycal.

By moving the pointer to the right sidebar and clicking my calendar (or, more often, typing calendar in spotlight). You can also swipe left from the right edge of the trackpad with two fingers.

* Finder is the worst file manager I've ever seen. Gotta replace it with Path Finder.

Path Finder looks nice, but from my experience windows file manager is from a prehistoric era, while some linux file managers are decent and some aren't.

* The command+tab/command+` distinction is ridiculous. Gotta buy Contexts so that you can switch between windows.

Why is it ridiculous? And contexts just sounds like a subset of what spotlight already does. There are also gestures if you need to see the window overview. Ie bottom-left hot zone for me is for seeing windows+recent docs of the current application (it's called App Expose, also set to four-finger swipe down), top left is Mission Control which is the global window switcher (also set to four-finger swipe up). I mostly use cmd+tab/` or spotlight though.

* The dock is a horrid workflow for launching apps and Spotlight is terrible. Gotta buy Launchbar.

Again, how is spotlight terrible? I've never had a better experience in either Linux or Windows launchers. I don't use the dock either, but there is Launchpad as a visual+text way of launching and searching for apps. For me its a gesture of pinching with thumb and three fingers.

* No on-screen window switcher without the Dock

Mission Control does that. I've set it up with the four-finger swipe up gesture and also a hot zone in the top-left corner.

Also if you want a nice free OSS app for window tiling and arranging, I recommend Spectacle.

</comment></comment></comment><comment><USER26> For those of us married to emacs: I would love to know if anyone has succeeded in using SSH on an iPadPro with a sensible mapping of the keyboard. Every SSH I tried had some intercept of control sequences, which was fatal as far as I was concerned. This was at least couple of years ago, so perhaps there's been progress.

So far, the only usable iPadPro emacs is via uVNC to a graphical remote machine, which does seem to provide unhindered transmission of control/meta combination key events when using an external keyboard.

Pointers/corrections/tips/advice welcome.

Edit: Any reviews on ssh with Blink to a remote machine to run emacs?

<comment><USER27> Why is everyone in this thread ignoring Android tablets? There are ports for most command line apps, including Emacs. Try Termux.

<comment><USER28> I had the same thought.

To give an example and add some context: just last week I thought of a possible bug and gap in the test coverage for a personal project. Within a Zsh prompt, I pulled the latest revision from Bitbucket using Mercurial, used Emacs (via the Hacker's Keyboard [1] soft keyboard) to edit the test suite and add a couple of lines, then used CMake to generate a makefile for GNU Make to build the project using Clang, and finally ran the test suite and confirmed the expected segfault.

All of this was done locally (except for the pull, obviously) from within a Termux [2] session on a sub-$300 Android phone. Granted, the full test suite takes about 14x longer to run on my phone compared to my aging desktop and it's tedious to type very much, but as the old saying goes: "The marvel is not that the bear dances well, but that the bear dances at all."

[1] [https://github.com/klausw/hackerskeyboard](https://github.com/klausw/hackerskeyboard)

[2] [https://wiki.termux.com/wiki/Main_Page](https://wiki.termux.com/wiki/Main_Page), [http://termux.net/dists/stable/main/binary- arm/](http://termux.net/dists/stable/main/binary-arm/)

</comment></comment></comment><comment><USER29> I haven't looked into it beyond typing a couple of lines into the terminal but I'm wondering how useful iSh will be for people trying to go down this road.

From [https://ish.app](https://ish.app) \- "iSH is a project to get a Linux shell environment running locally on your iOS device, using a usermode x86 emulator."

<comment><USER30> I've been using this for the past few days on an iPad, and so far, it's been great. There are plenty of syscalls that aren't working, but it's far more functional that I anticipated. In fact, playing with iSH on my phone for a month or so is what convinced me to get the iPad at all.

I haven't been able to try too much coding in iSH as opposed to SSHing out to a server, but that's one use-case that's on their radar.

</comment></comment><comment><USER31> Codea [0] provides a nice Lua development sandbox and will export projects that can be turned into standalone apps via Xcode.

It is geared towards game development and is currently somewhat locked down with respect to importing/exporting, compared to Pythonista. It does play well with Working Copy [1] though.

[0] [https://codea.io](https://codea.io)

[1] [https://workingcopyapp.com](https://workingcopyapp.com)

<comment><USER32> Codea is awesome. It has so many features and a ton of great examples. You can build the app entirely using an iPad and then export it as an Xcode project when you're ready to distribute it.

</comment></comment><comment><USER14> I actually just recently tried to use an iPad Pro for coding (more specifically, I tried to not use my laptop at all for several days, fully replacing it with an iPad).

My experience was that coding was definitely not as smooth as on my laptop, but I took an approach several folks here have called out: using a cloud-based VM and connecting to it remotely. I used the Termius app, which was pretty solid.

I got my initial inspiration from [http://yieldthought.com/post/12239282034/swapped-my- macbook-...](http://yieldthought.com/post/12239282034/swapped-my-macbook-for- an-ipad) (and the followup [http://yieldthought.com/post/31857050698/ipad- linode-1-year-...](http://yieldthought.com/post/31857050698/ipad- linode-1-year-later) )

<comment><USER4> It seems like in this case you're not really coding "on" an iPad and it's really just more of a dumb terminal. Wouldn't any device with a browser be just as good in this case?

<comment><USER11> It's a very lightweight device with an excellent screen, impressive battery life, and the option for built-in LTE. But yeah, in terms of functional capability to connect to a server and type stuff, other devices would work as well.

Also an excellent tablet when you're doing non-coding stuff.

<comment><USER4> Yeah I get the upsides but if the debate is really around whether or not an iOS device can be used for real work I'm not sure this really makes the case. It's also massive overkill to use such a powerful device as a web terminal.

I guess another way to state what I'm saying is that when the iPad first launched there was a lot of speculation about what new kinds of productivity apps would be enabled by a big, fast touchscreen device like this. So far the answer seems to be "not many".

<comment><USER14> I don't know that I can agree here. I use an SSH app to do programming, which is largely "I type a bunch and run shell commands". I never expected that touchscreens would take over my coding workflows.

By contrast, the iPad has been pure joy for basically everything else. They've finally gotten multitasking support to what (for me) is an excellent balance between allowing multitasking and helping me avoid context-switching that was killing my productivity with my laptop. The support for diagramming / note- taking is amazing, which is a big part of my daily computer usage.

</comment></comment></comment></comment></comment><comment><USER33> Better idea: coding on a Microsoft Go in 2019

Pros:

\- hardware: the keyboard is good, no connection issues, fast NVMe if you get the 128Gb model, LTE option to be always on

\- windows: WSL, stable, good experience

\- linux: great support if you are using the linux-surface kernel branch (only the webcams are not working - everything else works)

<comment><USER15> > linux: great support if you are using the linux-surface kernel branch

Meh, whatever. Is there any ETA for hardware support when using the Linux mainline kernel?

<comment><USER33> IDK. Ask around. Apparently the main kernel is also OK:

[https://www.reddit.com/r/SurfaceLinux/comments/94hjxv/surfac...](https://www.reddit.com/r/SurfaceLinux/comments/94hjxv/surface_go_first_impressions)

</comment></comment></comment><comment><USER34> If I could code on an iPad Pro, I'd finally get rid of my MacBook Pro.

I think that's exactly why apple doesn't allow this at all...

<comment><USER35> Can you explain the appeal?

As a long time iPhone and iPad owner, I find iOS intolerable and it gets worse with every release.

Coding on an iPad would be like trying to prepare a 5 course dinner on a kid's Fisher Price kitchen or building an intricate model with Duplo Lego bricks. Maybe possible, but a terrible experience.

So what am I missing?

<comment><USER36> I am genuinely baffled by "iOS gets worse with every release." If you wanted to argue that iOS's approach to multi-pane displays, application switching, and file management, should be _better_ than it is now, sure, absolutely. But when I consider the improvements in the past few years -- the dock, split view, drag and drop, file providers, Shortcuts -- I confess I'm not thinking, "Man, I long for all the power and utility we had in iOS 6 that's lost to us now."

I mean, yes, iOS is still by and large a terrible coding environment, there are a host of long-standing complaints I have with other things both large and small, and I don't doubt I could find a few weird little annoying regressions, but I absolutely wouldn't want to run an earlier version of iOS on my iPad.

<comment><USER35> I don't write mobile apps, so I have no idea about the coding environment, but the last several upgrades have consistently annoyed me. It seems there's a lot of change for the sake of change; more things tied into iCloud and other Apple services; upgrade prompts that prompt over and over and over and over again; etc..

And then there are several annoying bugs they don't fix, like having to reboot my phone after tethering my laptop (a Macbook) before I can tether again.

</comment></comment></comment></comment><comment><USER37> Why not use a Surface? It's built with a physical keyboard as a first class experience, and you're not limited in what you can run. The only limitation is the lack of a polished POSIX environment, but that will of course be missing on iOS too.

<comment><USER38> Because that 'first class' keyboard experience doesn't actually let it work as a laptop. You still need a stable surface to work on.

</comment></comment><comment><USER39> I've had some luck using [http://continuous.codes](http://continuous.codes) to write small C# and F# apps/games. I wish it were more actively developed because there is so much potential there.

</comment><comment><USER40> I'm doing the second setup mentioned a little bit. I have an iMac at home, and my router has a VPN option that I use to SSH from the iPad.

I open all files remotely off the iMac, so Git and tools are not a problem.

The apps I work on hot reload in Safari in a side window. But the lack of JS debug tools is a problem.

Basically it works fine for writing copy, project planning, code review, JS, Ruby, but not so much for static languages (none of the editors use autocomplete servers).

Keyboard is a problem, but because I use a mechanical keyboard on the Mac I can carry around the Mac keyboard in my bag.

This works great if you have a dedicated machine at home, and want to carry around a tablet for doing tablet things (books, Netflix, reading the web, copywriting, UI sketches and some basic dynamic languages).

</comment><comment> v-yadli > Other than Python, I haven't found any generally useful interpreter or > compiler apps on iOS.

Haven't tried myself, but this looks very interesting:

(A lighttable-ish .NET IDE for iOS) [http://continuous.codes/](http://continuous.codes/)

<comment><USER8> Ah, ha! I KNEW I had read about this, but couldn't find my notes on it, so I didn't include it. Thank you!

</comment></comment><comment><USER41> I go through the minor pain of using my iPad Pro with Working Copy, Textastic, etc. when travelling light, but my MacBook is the same weight and size as my iPad Pro so sometimes I take that.

I tend to do all creative (writing) workflow, reading books, and almost all web browsing on my iPad and just do development on a laptop. This makes me want to travel with both.

For iPad native hacking, the Haskell Raskell app is very nice, but I only use that for short bits of new code. Pythonista is a very good product, and I appreciate it, but I don't much like Python.

</comment><comment><USER42> Blink (mentioned in the post) is a fantastic app. It's open source [1], or you can buy it from the App Store.

Not mentioned in the post, Blink can do port forwarding with the usual ssh tool (ssh -L 5000:localhost:5000 myhost.com). It also provides a shell-like mode of interaction with the local file system and iCloud, so you can `scp` files around between the iPad and your server.

[1]: [https://github.com/blinksh/blink](https://github.com/blinksh/blink)

</comment><comment><USER43> The iPad Pro will become a viable "pro" device when they finally stop artificially holding it back by not allowing a full version of Safari.

Edit: and of course mouse/trackpad support

<comment><USER44> What's missing?

<comment><USER43> It is the iOS version of Safari instead of the desktop version. Sites often opt for showing the mobile version.

<comment><USER45> This is fairly easily worked around for sites that look at the user agent — just build a browser app around WKWebView and set its user agent to that of desktop Safari, and boom, you've got desktop versions of most sites. There are a few that judge which version to deliver based on screen resolution + OS, but this can sometimes be worked around by injecting some JS to force use of desktop stylesheets. There's probably some kind of trickery you could use to spoof screen resolution if needed, too.

<comment><USER12> Icab mobile does this. It's good.

The problem is, safari is better for a lot of things, and also has native adblocker integration. Would be better to be able to designate a desktop user agent in safari as well.

<comment><USER45> WKWebViews support the same JSON content blocking lists that Safari uses for its content blocking extensions, so while you can't support the same extensions as Safari you could at least bundle block lists with the app.

<comment><USER12> By "you" you're referring to icab's developer and not me, right?

Firefox focus is the only third party browser I know of that has a native content blocker.

</comment></comment></comment></comment></comment></comment></comment><comment><USER46> > You Probably Can't Run Your Code on iOS Unless It's Python

What about JavaScript? IIRC React Native uses the JavaScriptCore engine, which Apple offers to "provide the ability to evaluate JavaScript programs from within Swift, Objective-C, and C-based apps". [1]

[1]: [https://developer.apple.com/documentation/javascriptcore](https://developer.apple.com/documentation/javascriptcore)

<comment><USER25> There's also REPLete, a clojurescript repl for iOS and Android.

</comment></comment><comment><USER47> None of the online IDEs are as good as PyCharm. Don't waste your time and money.

</comment><comment><USER48> Alternative title: "Hitting yourself in the head with a hammer, because it feels so great when you stop."

<comment><USER49> What's wrong with trying something out to see if it's ready yet? You're making it sound like it's stupid to even see if something works.

<comment><USER16> > What's wrong with trying something out to see if it's ready yet?

It will never be ready, it's the wrong tool for the job. Trying to use the wrong tool for the job is stupid, do you routinely try to hammer nails with a screwdriver to see if it's ready yet?

<comment><USER50> Hammers, nails, and screws a pretty much set. They're not changing regularly.

An iPad becoming a laptop-replacement is happening - its progress is debatable, but it's definitely changing on each iteration.

<comment><USER4> If anything it feels like it's becoming clear that iOS is not going to be a viable OSX replacement for most professional use cases without a huge bump up in complexity. At which point you have to wonder why bother with it at all?

Microsoft seems to have a much clearer vision here and anecdotally I know quite a few people that have been Mac users for ages that have given up on iPads and bought Surface devices because they can use them to do real work.

<comment><USER36> I think it's very easy to take a narrow view of "professional" here. iOS may never be a viable macOS replacement for programmers (although I don't think I'd place money on that), but there are professionals out there right now editing podcasts with Ferrite, editing videos with LumaFusion, doing multitrack music sequencing with Beat Maker, editing photos with Lightroom (and a host of other apps), writing Hollywood screenplays with Slugline or novels with Scrivener -- and doing a lot of more "mundane" work that is nonetheless absolutely professional level with Microsoft Office, Keynote, OmniGraffle, and others.

What an iPad will absolutely never do is _mimic an existing workflow._ People who try to do that are going to hit brick walls fast. I wouldn't be surprised to see full-fledged programming environments on iOS in the next few years (and to see iOS itself open up in possibly surprising ways), but I suspect they aren't going to look much like the programming environments we're used to.

I'm glad people love their Surfaces. They look like great devices. And, yeah, I wish I could do web development more easily on my iPad. But I'm a technical writer and a fiction writer, do _both_ professionally, and have used the iPad to do (gasp) real work in both fields.

<comment><USER4> It's clear that some "professional" work can be done on an iPad. Depending on your use case it might even have some advantages compared to a desktop or laptop. But for the vast majority of cases the iPad equivalent, if it exists at all, is seriously underpowered compared to the desktop options.

And there are some fundamental reasons why I expect it to stay this way. Mainly that touch is a very low resolution input mechanism but also that Apple has utterly failed to create a healthy market for sustainable professional software businesses.

</comment></comment></comment></comment></comment></comment></comment><comment><USER51> Since the best options currently rely on remote programming and browser- accessed IDEs, has anyone tried using a remote desktop tool, Parallels Access, TeamViewer, or VM software to simply remotely program? I can't imagine it'd be great still…

<comment> duncan-donuts I work with a guy that does everything in cloud9. It seems to be working for him, but I'm not sure I see the appeal.

</comment></comment><comment><USER52> Is there a reason no one has built a Cygwin-like environment for iOS yet? As in, is it because (1) it's time-consuming, (2) it's tricky, or (3) Apple won't allow it on their App Store?

<comment><USER53> Based on the discussions[0] going on for the iSh x86 emulator[1] from a few months ago I think its a combination of all three, but mainly (3).

[0] [https://news.ycombinator.com/item?id=18430031](https://news.ycombinator.com/item?id=18430031) [1] [https://github.com/tbodt/ish](https://github.com/tbodt/ish)

</comment></comment><comment><USER54> This really comes back to the very old saying; "Use the right tool for the job".

That's not to say it cannot be done, or won't work in a pinch. It's just not the right tool to use in practice.

</comment><comment><USER55> Swift Playgrounds is cool.

<comment><USER56> I'm surprised the author didn't mention this. Playgrounds have a great deal of flexibility and can be a great for prototyping or learning Swift.

</comment></comment><comment><USER57> If Node-red wasn't such a mess, had a better UI (less mouse/typing required, touchscreen-friendly) and a proper native runtime on ios, I'd fancy using it...

</comment><comment><USER58> Check out the Luna display device if you have a new iPad. It allows you to stream your Mac to your iPad, works pretty well if you have a situation that calls for it.

</comment><comment><USER59> How is the experience with web IDEs like cloud9 or repl.it?

<comment><USER60> I tried using a chromebook to develop about 12-18 months ago and tried both cloud9 and repl.it.

I found cloud9 a bit annoying to use. It basically spins up an EC2 instance for you that you are then connecting to, so you have pretty much a full file system which was cool, but it felt like they were really pushing Lambda as the way to go. Trying to run a bunch of dockerized microservices on a single instance (which is what our infrastructure is) was possible, but it just felt like an uphill battle, so I abandoned it.

Repl.it was much easier to work with, IMO. The problem I ran into was that it worked well for small projects or prototyping, but became a pain if I had to switch between multiple projects regularly.

IMO, both were cool and overall fairly solid, but there were just too many little annoyances that piled up that I don't get with my current local development set up. It just felt like I spent a lot of my time configuring things or trying to hack things to fit my workflow.

That all being said, I'm not the most patient person with new tools and this was a while ago, things might have changed or may fit your development style better. I'd say they are worth at least looking into.

<comment><USER61> Repl.it ceo here. We've evolved a lot in the past 18 months, most importantly we added priper file and filetree support! Give it another shot and email me with feedback so we can get better.

Oh, and we have a big sprint coming up for better support for tablets and touch in general.

<comment><USER62> i checked out your jobs site, that is the coolest thing ever, a command line terminal with links as directories and files, very nice work.

<comment><USER61> Thanks so much! Please refer people :)

<comment><USER62> i will be referring myself and others, thanks!

</comment></comment></comment></comment></comment></comment><comment><USER62> i develop typically 3 types of things, backend rest services, web apps, and mobile apps. for me to truly rid myself of my macbook pro, i would need the following, or equivalents:

1\. the ability to start vm's, preferably locally, i use these to run persistent services like redis, rabbitmq, databases, etc. i have this philosophy where my dev env needs to get as close as possible to the production env (at least from a software stack perspective) which means linux, yet it cant cost me as much as a production env. homebrew is great, but i try to stay away as much as possible because it's a little different from my production env. accessing an ec2 instance or rds instance to access my postgres database is a bit overkill, i want things fast during development, ie local. sometimes i'm in places with no wifi or 4g coverage is spotty, this would be a nightmare.

2\. i use visual code for all development, sometimes vi if i dont have a gui env, visual code is lightweight and pretty solid. i'm not 100% stuck on visual code, so if there's some browser based derivative of it or wsywig for coding then i'm good. visual code is written in electron so nodejs, so i dont think it's impossible. web development, html, js, css, this can all be done on an ipad relatively well, all the browsers i need to support are available. there's typically no compilation that needs to happen, unless you're using nodejs modules on your frontend. i seem to remember some company providing a cloud service that allows you to develop remotely, i think they were bought by github/msft or someone. kind of an interesting area.

3\. backend dev, typically i use golang, this becomes a bigger problem, surely i could ssh somewhere and compile, or use some x11/vnc-like tool since i prefer a graphical ide, but that defeats the purpose of my 1000 usd ipad. it's not really a dumb terminal or thin client per se, i have enough compute power, i want to leverage it. plus i'd need to be spending all this money on ec2 like instances.

4\. xcode, this is another major issue, i'm stuck on xcode, sure i could use xamarin, but i dont think that runs on ios yet either. if this were resolved, i could strongly consider scraping my macbook pro.

sounds kind of interesting if there could be a monthly service that could be purchased that provides you with remote dev envs without all the fuss of installing, managing any of it. e.g. i write code in a browser ide, it gets compiled in the cloud somewhere, deployed, and i can access it. i can connect different services to it, and testing is fully automated. i think i'd consider paying for something like this, but it'd have to be relatively cheap because otherwise i might as well do everything myself locally. i'm thinking 5 usd a month max.

i havent used chromebook, but i think it's closer to a dev env than ipad pro at the moment, i think you can even start containers and such on it.

</comment><comment><USER63> I want a touch first drag and drop editor

<comment><USER64> many tried, many failed. even apple themselves couldn't get users to adopt 3D touch after multiple years of very expensive engineering. probably going to be removed from iOS devices next year.

your finger has 3 articulation points, your hand has 5 fingers. the touch interface uses maybe two points out of all this complicated mechanism - it's fundamentally frustrating to use. it's fine for when a phone is cradled precariously on your palm/little finger but an iPad instantly makes you think "why can't i have a mouse or something"

</comment></comment><comment><USER65> Anyone tried Cloud9 on an iPad Pro?

<comment><USER66> Cloud9 shuttered once they got bought by AWS and now they're built into the AWS console/ecosystem. I tried it but found it pretty terrible given a couple shots at it. I found Termius + a development server (EC2 instance, much like Cloud9 sets up for you anyway) much more reliable and easy to use.

<comment><USER65> Oh I know. I use it for AWS development, that's why I'm asking.

<comment><USER66> I use it on the job when working in AWS with no problem, but it definitely doesn't seem to have been developed with mobile strongly in mind. The experience is stark.

</comment></comment></comment></comment><comment><USER67> Tedious post lacking relevant content. The answer is simple, you could code on an iPad with a SSH client and a fast remote server. But because of lacking browser dev tools it is nonsense. This is nothing new for few years now. iPads are declining, check all the reviews, people find the hardware exceptional but wonder what they should do with this device. Finally check Apple current share price. Nobody needs locked down devices, especially not developers.

<comment><USER68> > But because of lacking browser dev tools it is nonsense.

Not everyone does webdev.</comment></comment>


Orange Dwarf Star Set to Smash into The Solar System - <AUTHOR> http://www.technologyreview.com/blog/arxiv/24917/

<comment><USER2> I need to recommend Astronomy Cast to anyone interested in this stuff, simply because it's _so_ good. They cover individual astronomy topics in 30 minute shows.

There's an episode all about the Oort Cloud and the interstellar medium (the regions Gilese would be skirting past) in [http://www.astronomycast.com/astronomy/episode-65-the-end- of...](http://www.astronomycast.com/astronomy/episode-65-the-end-of-our-tour- through-the-solar-system/)

And if Gilese's ability to send a ton of comets into the inner Solar System scares you, you might want to miss the "Death From The Skies" episode where they cover all of the myriad of ways we could get wiped out in way less than 1 million years ;-) [http://www.astronomycast.com/people/interviews/ep-112-death-...](http://www.astronomycast.com/people/interviews/ep-112-death- from-the-skies-interview-with-phil-plait/)

</comment><comment><USER3> Orange Dwarfs are similar to our Sun and may be good candidates for life sustaining planets. This might be a good opportunity to explore extra-solar planets for life or even seed that system with life or similarly organized systems. Then we would have two systems awaiting the next fly by and so on....

<comment><USER2> True, but since we have > 1 million years to go, I'd suspect (make that "dearly hope!") we'll have either died out or otherwise not consider ourselves limited to the Solar System by that point :-)

<comment><USER3> I am hoping that some form of intelligent life still exists here in a million years.

I'd like to hope that we will not be limited to the solar system too. For plans we know will work based on the physics we know now, this is it. Better a pedestrian plan that will work than a plan that hopes that fantastic technology is developed in the future.

<comment><USER2> _For plans we know will work based on the physics we know now, this is it._

Not _really_. Physics, as we understand it, and even the technology we know will work now (e.g. ion drives) can get us to other star systems - it's just there isn't much _point_ considering how much time it'd take and how little danger we're in right now. Dr. Pamela Gay covered this in an episode of Astronomy Cast: [http://www.astronomycast.com/space- flight/ep-145-interstella...](http://www.astronomycast.com/space- flight/ep-145-interstellar-travel/)

That said, I always work on the theory that our current understanding of anything is extremely limited. This works on macro and micro scales, from how we understand the Internet right up to physics. What we know about almost anything now compared to 100 years ago is black and white - barring blowing each other to bits or a major catastrophe, there's no reason to believe we won't be ridiculing our pitiful 2010 level of understanding of the universe in 2110.

</comment></comment></comment></comment><comment><USER4> Someone needs to apprise Bruce Willis of this situation.

<comment><USER5> Fry Hard. (sorry)

</comment></comment><comment><USER6> ... sometime over the next 1.5 million years.

Probably.</comment>


How to run a java project from the command line - <AUTHOR> http://ssscripting.wordpress.com/2009/06/02/how-to-run-a-java-project-written-in-eclipse-from-the-command-line/

<comment><USER2> I'm sorry, but this is very basic information and probably not suitable for the audience here. Running 'java -h' explains as much.

</comment><comment><AUTHOR> Most of the coders are used to work solely with an IDE, without ever knowing how things work in the background. I know this is something basic for people that know how an IDE works, but most of them don't.</comment>


Esterel – Synchronous programming language for complex, reactive systems - <AUTHOR> https://en.wikipedia.org/wiki/Esterel <comment><USER2> Reminds me of [http://lambda-the-ultimate.org/node/5087](http://lambda-the- ultimate.org/node/5087)

> Zélus [1] is a new programming language for modeling systems that mix > discrete logical time and continuous time behaviors. From a user's > perspective, its main originality is to extend an existing Lustre-like > synchronous language with Ordinary Differential Equations (ODEs). The > extension is conservative: any synchronous program expressed as data-flow > equations and hierarchical automata can be composed arbitrarily with ODEs in > the same source code.

> Synchronous programming languages (à la Lucid Synchrone [2]) are language > designs for reactive systems with discrete time. Zélus extends them > gracefully to hybrid discrete/continuous systems, to interact with the > physical world, or simulate it -- while preserving their strong semantic > qualities.

[1] [https://www.di.ens.fr/~pouzet/bib/hscc13.pdf](https://www.di.ens.fr/~pouzet/bib/hscc13.pdf)

[2] [https://www.di.ens.fr/~pouzet/lucid- synchrone/](https://www.di.ens.fr/~pouzet/lucid-synchrone/)

</comment><comment><USER3> Related from 2015: [https://news.ycombinator.com/item?id=9350972](https://news.ycombinator.com/item?id=9350972)

</comment><comment><USER4> A similar project is Ceu[1], which is made at LabLua.

[1] - [http://www.ceu-lang.org/](http://www.ceu-lang.org/)

</comment><comment><USER5> out of curiosity, how does reactive work with synchronicity, shouldn't it be going hand in hand with async?

<comment><AUTHOR> My guess is that Esterel is using the word "synchronicity" for what we know as "reactive" today. Not to be confused with the "sync/async" we normally refer to blocking/non-blocking today. I could misunderstanding this though. See [https://en.wikipedia.org/wiki/Synchronous_programming_langua...](https://en.wikipedia.org/wiki/Synchronous_programming_language)</comment></comment>


The American Mall Game: A 2018 Retail Challenge - <AUTHOR> https://www.bloomberg.com/features/american-mall-game/ <comment><USER2> Loved the ending screen</comment>


Propensity versus Lifetime Value — which and when? - <AUTHOR> http://insights.canopylabs.com/?p=81

<comment><AUTHOR> Curious if any Hacker News readers use these types of metrics for their own customer analytics and tracking. Any thoughts?</comment>


Unix swiss army knife for headless browser JavaScript - <AUTHOR> https://github.com/sotownsend/BooJS

<comment><AUTHOR> BooJS supports the browser DOM. You can call `document` in BooJS but not NodeJS. You can't import arbitrary browser javascript libraries into NodeJS but you can with BooJS. It's purpose is to assists with unit tests in a sane manner but it's great for other random things; reminiscent of netcat.

<comment><USER2> Do you think there is a reasonable way to provide this useful functionality without the Ruby dependency? Pure JS, perhaps?

<comment><USER3> It seems to me, that something similar could be constructed with node's PhantomJS bindings, but not sure that there would be much less overhead... it does feel a little awkward having the Ruby dependency...

</comment></comment></comment><comment><USER4> [https://raw.githubusercontent.com/sotownsend/boojs/master/lo...](https://raw.githubusercontent.com/sotownsend/boojs/master/logo.png)

      Headless Browser Javasrcipt Tool

</comment><comment><USER5> I've been working on a similar tool that works with (some) real browsers. Pipe JS in, get console logs out. Simple.

[https://github.com/hughsk/smokestack](https://github.com/hughsk/smokestack)

</comment><comment><USER6> It would be better to handle your errors through try{}catch{} rather than using phantom's onError as an exception seems to force an exit.

[https://github.com/sotownsend/BooJS/blob/master/lib/boojs.rb...](https://github.com/sotownsend/BooJS/blob/master/lib/boojs.rb#L39)

I threw together a similar implementation in bash with this change:

[https://gist.github.com/spence/30d5aa383fec6be8e51e](https://gist.github.com/spence/30d5aa383fec6be8e51e)

Looks like

        ./phantomjs-repl.sh
        > missing
        ReferenceError: Can't find variable: missing
        > window
        [object Window]
        > console.log('Hello')
        Hello
        undefined
        > !jquery-1.11.2.min.js
        Loading jquery-1.11.2.min.js ... done
        > $('Hello').text()
        Hello
        > ^C

</comment><comment><USER7> Presence of a "-v" flag usually means verbose.

<comment><USER8> Alternately, version. Either way it's clobbering

</comment></comment><comment><USER9> It's often hard to tell where the hard problems are being solved in high-level tools like this.

tl;dr: CLI program wrapping PhantomJS, which is based on QtWebkit.

</comment><comment><USER8> I'm not sure why i would use this over the already-existing phantomjs command line API ([http://phantomjs.org/api/command- line.html](http://phantomjs.org/api/command-line.html)), especially as it adds Ruby to the mix...also quite suspicious of the seemingly-unrelated plug for a company in the repo readme.

<comment><AUTHOR> Lay off the accusations. 1. I'm a founder of that company and this is apart of a much larger project i'm releasing in a few months. 2. That command line does not act like a normal unix tool and will make your life a living hell because QT has some horrid misunderstanding of what constitutes a newline, outputting format characters, and incorrect streams (stdout is used for errors).

P.S. I do kernel development on FreeBSD in my spare time. I know a little bit about unix, ya know?

<comment><USER8> was wondering, is this kernel dev on a private fork? i couldn't find a public fork on your gh and didn't see you listed as a contributor ([https://github.com/freebsd/freebsd/graphs/contributors](https://github.com/freebsd/freebsd/graphs/contributors)) - was curious to see the improvements you were introducing

<comment><USER10> You know FreeBSD is not developed on github, or in git (yeah, there is a very new bridge). Its in subversion.

</comment></comment></comment></comment><comment><USER11> I'm slightly unclear on this, how does this differ from Node and what are its uses?

<comment><USER12> It's a headless browser. Node is a server framework that runs js.

<comment><USER13> Which means that it can handle scripts that rely on browser features like DOM whereas node can't handle that. So, you can use it to test the client-side code automatically (with a CI tool of course). You can't do that in node if your code accesses DOM (e.g. calls something like document.getElementById or uses jQuery).

Btw, it is just a CLI wrapper around PhantomJS[1] I guess.

[1]: [https://github.com/ariya/phantomjs](https://github.com/ariya/phantomjs)

<comment><USER14> Another (popular?) use is for SPA or JS-heavy pages to render themselves for search engines. Crawl the site with PhantomJS. For each page, give it a few seconds to do XHR and render things, then save the HTML snapshot. When you get a request from Googlebot, serve the HTML snapshot instead of the app, which Google apparently still cannot handle. Ta-da!

(And piss off people who hate JS "apps" or still desire the HTTP/HTML document ideal, for better or for worse.)

<comment><USER3> It's worth noting, that googlebot does seem to do page renders with JS, though not as frequently and usually several days behind a non-js detected change. Bingbot definitely does, and this can even be seen in google analytics oddly enough (google doesn't seem to do any filtering for non-browser rendering).

Came to a lot of this knowledge when changing a url structure for a few hundred thousand pages (with permanent redirects in place)... the bing bot results on analytics were really surprising, and had to adjust filtering.

<comment><USER14> Interesting; I should play with it. I got the impression they "sorta" do JS, but wouldn't run a bunch of XHR and so on

</comment></comment></comment></comment></comment></comment><comment><USER15> Question : can you connect it to a running instance of Phantom that is hanging to debug already running code ?

</comment><comment><USER16> Nice. Anything like this built on jsdom? PhantomJS is pretty bulky for most non-visual tests.

</comment><comment><USER17> There is a good example of try{} catch{} in post 7 of this thread at unix.com:

running unix command from java

[http://www.unix.com/unix-for-dummies-questions-and- answers/1...](http://www.unix.com/unix-for-dummies-questions-and- answers/192883-running-unix-command-java.html)

</comment><comment><USER18> Why not to execute a js code in Chrome or Fifefox in Javascript console?

<comment><USER19> I imagine this is to be used for something like automated testing.

<comment><USER20> You would be able to do it with Selenium, which drives a real browser not a fake one.

<comment><USER21> BooJS uses PhantomJS. In Selenium, if you want to go headless you will use PhantomJS again [1].

[1] [http://code.tutsplus.com/tutorials/headless-functional- testi...](http://code.tutsplus.com/tutorials/headless-functional-testing-with- selenium-and-phantomjs--net-30545)

<comment><USER20> just run it with Xvfb, and you got a headless browser.

</comment></comment></comment></comment></comment><comment><AUTHOR> That's how germans pronounce it.

<comment><USER22> Pronounce what?

<comment><USER23> Come on, you didn't hear anything? :-)

</comment></comment></comment><comment><USER20> Take headless browsers with a pinch of salt. They are not a replacement for a real browser. Don't be surprised when it renders or behaves differently from a real browser.

Did they fix the memory leak issues in PhantomJS? Take a look at the issues and consistently you will find people having trouble rendering a complete site.

Creating a headless browser is really taking a real browser on Xvfb. You have the support of a billion dollar company supporting and updating their browser, you reap the benefits of being able to run it headlessly. The drawbacks of this method is often overstated, 'oh my run a fat browser process AND X display? ok grandpa' but the real hidden problem with PhantomJS is understated 'why does my phantomjs process balloon in memory and cpu usage and crash, I can render the website fine in my browser'.

Standalone headless browsers are good for hacks but I wouldn't rely on it.

<comment><USER8> afaik the worst of the memory leaks were fixed with the 2.0 release, and they also upgraded QtWebKit to 5.3 which fixed some pretty egregiously outdated constraints (like not having access to Function.prototype.bind) present in the previous version. Sadly this tool utilizes phantomjs 1.9 which means the memory leaks are still present and major WebKit features are still missing.

One great use for headless is to separate non-UI framework/platform tests from UI tests - at my previous gig we wrote all the tests for the runtime platform against phantomjs to avoid the unneeded overhead of a full browser for things like data validation or mocking service calls, but used selenium to do the visual/interaction tests for the application UI itself. it's also a nice separation of concerns, though of course we hit all the same problems you mentioned as we were also pinned to 1.9.

<comment><USER20> [https://github.com/ariya/phantomjs/issues](https://github.com/ariya/phantomjs/issues)

1470 open issues

the first one is about phantomjs crashing and many many other scary sounding issues you wouldn't have if you've used just a regular browser with Xvfb.

you can't really be sure unless you've literally run a test on the colorful variety of websites in the wild. You need a huge development and quality assurance team. You also need a way for a large crowd of people to test your browser and send back useful reports automatically whenever it crashes.

<comment><USER24> _> 1470 open issues_

That's a really weak argument. Here's 5000 Firefox bugs:

        https://bugzilla.mozilla.org/buglist.cgi?component=General&product=Firefox&query_format=advanced&resolution=---&order=bug_status%2Cpriority%2Cassigned_to%2Cbug_id&limit=0

<comment><USER20> considering firefox userbase is many many times those of phantomjs it shouldn't be of surprise to you. especially when most of phantomjs issues revolve around the same issues, unable to render a website that you can browse fine with firefox or chrome. this is a consistent issue that has haunted the project since the beginning.

</comment></comment></comment></comment></comment><comment><USER2> Neat project.

It's 98% Ruby and is being called a "Unix tool" because it has cmdline options. Interesting criteria there.

It seems to be pitched as a js testing tool. Not clear on how it is different from node or just plain phantom.

<comment><USER25> Accepting command line options does not make something Unix-y, IMHO. I assumed it was called a "Unix tool" because it reads data from a file/stdin, does something, then writes to stdout.

If I needed to do something with JS as part of a series of Unix commands this would fit in the pipeline nicely. e.g. let's say someone wanted to do a one- off data transformation and they understand JS a lot better than Awk.</comment></comment>


Ask HN: Hacker News Upvote Bug? - <AUTHOR>

I believe that there is a bug in HN. It's hard for me to isolate this but here's how I reproduce it:
1. Logout
2. Navigate to a story
3. Make note of current point value
4. Upvote a user submission
5. Login to HN
6. Make note of 'after' point value and lack of upvote button
What you should notice is that the point value is the same and that the upvote button is gone.
Navigating away and coming back does not seem to register the bug, either. However, I could be wrong and it be a freak incident where every time I've done this (quite a few times incidentally and a couple of times to test it just now) that the comment was down voted.
Edit: Formatting. <comment><USER2> This has been noted many times and is intentional.

Not that I agree with it, but that's how things are.

<comment><AUTHOR> Why would that be intentional?

<comment><USER2> PG does not count all the votes, but the upvote button is there even in those cases where your vote will not be counted.

It would be my preference not to have the button in those cases, for consistency and clarity.

If a user interface component is present it should work as expected.

For more information read here:

<http://news.ycombinator.com/item?id=871202></comment></comment></comment>


Confronting New Madrid, Part 2 - <AUTHOR> http://idlewords.com/2015/07/confronting_new_madrid_part_2.htm

<comment><USER2> The article includes the following statement, which got my curiosity up:

" _It would shut down the Federal Express hub at Memphis and flatten large numbers of the rickety tilt-up warehouses, packed with inventory, that have grown up like mushrooms around the Memphis facility as companies try to out- compete each other in shipping speed._ "

The word "tilt-up" was a link to Wikipedia[1], which article includes the section Risks:

" _In the wake of the 2011 Joplin tornado in which seven people were killed in a Home Depot when the 100,000 pounds (45 t) panel walls collapsed after the store was hit by an EF5 tornado, engineers in an article published in The Kansas City Star criticized the practice. They said that once one wall falls, it creates a domino effect. [...] Shortly after publication of the Kansas City Star article, the technical committee of the Tilt-Up Concrete Association (TCA) formed a task force to investigate the claims presented in the article. With the cooperation of Home Depot, the task group performed detailed engineering calculations, research and investigation of the claims posed in the article. [...] The final report was published on January 12, 2012.[22]_ "

Unfortunately, the Wikipedia article doesn't say what the final report says. Fortunately, reference 22 has a link[2], and the report's executive summary has:

" _The Task Force's findings to date include:_

" _1\. The failure started in the structural steel, steel joist and wide-rib deck roof system. This roof system is one of the most commonly used systems in commercial buildings, including those with masonry walls, precast concrete walls, and almost all forms of wall construction_

" _2\. The Tilt-Up concrete panels performed very well and survived the extreme loads of the EF-5 event only to collapse after the roof failed due to lack of bracing mechanism._

" _3\. Tilt-Up construction methods played no role in the failure._

" _4\. The perception that the nearby Wal-Mart store performed better because it was concrete masonry is false. The Wal-Mart took a glancing blow from the storm and the Home Depot took a direct hit._ "

In other words, the roof of a large, open building is the weak link.

On the other hand, as a professional programmer, I wonder how well typical commercial software development effort would perform under similar scrutiny. I know I haven't ever seen such an effort.

[1] [https://en.wikipedia.org/wiki/Tilt_up](https://en.wikipedia.org/wiki/Tilt_up)

[2] [http://tilt-up.org/tilt-uptoday/2011/12/19/task-force- comple...](http://tilt-up.org/tilt-uptoday/2011/12/19/task-force-completes- investigation/)

<comment><USER3> You're comparing wind loads to seismic shaking, which stresses the structure differently. Phyllis explained to me that the problem with tilt-ups is lack of bracing strength - they're just not designed to be shaken back and forth for a long time. Compounding the problem is that the joints are very hard to inspect after the structure is built.

<comment><USER4> Hey, the author's here! Were you in the area when Iben Browning predicted a big earthquake from New Madrid, back in 1990? Did that pique your curiosity about it?

<comment><USER3> I don't remember it firsthand, though it must have been in the news. I was 15 at the time and living near Chicago.

Everyone on the trip was cursing the guy's name. I first got curious about New Madrid sometime in the 2000's after seeing a Wikipedia link, but don't remember the circumstances.</comment></comment></comment></comment>


P2P Lending Company (Lending Club) Kicked out of Massachusetts - <AUTHOR> http://www.americanbankingnews.com/2011/06/05/lending-club-ordered-to-cease-operations-in-massachusetts/

<comment><USER2> Original MA order [http://www.mass.gov/?pageID=ocaterminal&L=6&L0=Home&...](http://www.mass.gov/?pageID=ocaterminal&L=6&L0=Home&L1=Business&L2=Banking+Industry+Services&L3=Banking+Legal+Resources&L4=Enforcement+Actions&L5=2011+Enforcement+Actions&sid=Eoca&b=terminalcontent&f=dob_lendingclub06012011&csid=Eoca)</comment>


Pros & cons of IDN ccTLD vs .com for startups e.g. disk.io vs diskio.com? - <AUTHOR>

Does anyone have any thoughts on the relative merits of international country code top-level domains (.io, .gg, .ws etc) vs Plain 'ole .com for startups e.g. disk.io vs diskio.com (particularly since it seems possible to get 'clever' IDN ccTLD names that form a single word relatively easily, whereas .com is more crowded)? I imagine in non-technical niches .com rules the roost, but I have no data to back that up. Also if I've already settled on my 'brand' and want to get keyword-rich domains for landing pages do off-beat TLDs work there too? <comment><USER2> I like them, they seem to (at least me) stick in my mind better because of the catch to them but there is a level of technical novice on the net that in those peoples mind equates the web to a .com. For them, even the smallest change from their comfort zone can be daunting. So from my perspective, if you are targeting a technical or younger market, go for it. If any significant portion of your customer will be over 35 then you get into the cut of point where they may have not grown up with a computer in their home and may not be second nature to them, in that case I would opt for a .com.</comment>


Scientists baffled by decision to stop a pioneering coronavirus testing project - <AUTHOR> https://www.nature.com/articles/d41586-020-01543-x <comment><USER2> Wasn't this the result of the project changing its scope to be outside of what the FDA authorized? They put out a press release [1] on May 14 which explained why they were being shutdown--the FDA authorization allowed them to collect samples but not to return the results. By starting to share the individual test results back to those who provided the samples the program was no longer operating within its authorization and was shut down until a new authorization could be secured.

While I don't agree with the FDA on their response, it seems disingenuous that this article doesn't mention the reason why the program was shut down. It is clearly much riskier to provide individuals with their test results than to collect aggregate data. Consider for example if you gave 1 false negative, and that person then took that false negative as an excuse to return to work -- potentially infecting many more. With aggregate data a few false positives/negatives could throw off the statistics but the standards the tests need to be held to for survey purposes are certainly different than those being used for diagnostic purposes.

[1] [https://scanpublichealth.org/updates/2020-05-13](https://scanpublichealth.org/updates/2020-05-13)

<comment><USER3> I agree with everything you've said, but I'd like to add a couple of counterpoints.

(1) The FDA is currently allowing some testing to continue despite the fact that they know the results are not fully accurate.

[https://www.fda.gov/news-events/press- announcements/coronavi...](https://www.fda.gov/news-events/press- announcements/coronavirus-covid-19-update-fda-informs-public-about-possible- accuracy-concerns-abbott-id-now-point)

(2) It's unlikely the company was willingly not complying with the FDA and common sense here would dictate a formal warning first.

<comment><USER4> They either knew what they were doing and were doing it willingly or they had no idea no business doing it at all. This isn't rocket science, it's basic regulatory compliance in clinical diagnostics. Comparing SCAN's situation to a QC problem at Abbott, which has been in the business of medicine for over a century and modern clinical diagnostics for decades, is disingenuous.

I think the FDA has done an overall shit job at managing this crisis but everyone needs to keep the bigger picture in mind. It might seem like a really good idea to bypass a whole slew regulations right now but it has to be done carefully because those regulations have been written in blood of countless individuals. With over four million confirmed cases, any mitigation or response will be deployed at a massive scale. Any mistake, any oversight will be magnified across tens perhaps even hundreds of millions of people.

Over four million are infected now. A lot more could suffer at the hands of eager arrogance.

<comment><USER5> >This isn't rocket science, it's basic regulatory compliance

You think rocket science is harder than regulatory compliance? At least the rules of physics don't change all the time.

The majority of US health regulations have been written by medical corporations in order to keep competition out. While no regulation is certainly bad, current regulation for a large part simply drives up prices and lowers availability. Far more people in the US are killed by red tape than medical quacks.

</comment></comment></comment></comment><comment><USER6> > An FDA spokesperson explains that anything that requires a person to take > samples themselves, at home, raises concerns. For example, the agency wants > to ensure that samples remain stable if they end up spending a long time in > a hot vehicle on the way to a lab.

Not exactly a baffling secret. At home sample collection wasn't included in the guidelines, sounds like FDA is evaluating and may still give a go ahead.

<comment><USER7> LabCorps has been selling at-home collection kits according to this May 12 article:

[https://news.yahoo.com/labcorp-expands-availability-home- sam...](https://news.yahoo.com/labcorp-expands-availability-home- sample-155040098.html)

If the scientists who have been combing through the documentation were baffled, and Nature News found it baffling enough to report on it, I'm going to need at least an appeal to authority of some sort to dismiss their views on this. Nature News is extremely reliable on these things, and does not do clickbait.

<comment><USER8> LabCorp and the other providers of at-home testing actually went to the trouble of demonstrating that their at-home collection process worked and wouldn't affect reliablity, and then getting authorization from the FDA. This study didn't - they used an FDA exemption which specifically did not apply to at-home testing.

</comment></comment></comment><comment><USER9> What happened to "we have all the test kits we need"? This is why so many medical experts are screaming for an increase in testing capability.

<comment><USER10> the truth of the world will out the obvious lie. what else was going to happen?

</comment></comment><comment><USER11> In this case I guess the use of the word baffled is a good one, because they are not baffled by a matter of science but by a matter of politics.

<comment><USER12> I don't know that it is political, but may be seen as bad decision science.

</comment></comment><comment><USER13> So this is mass non professional nasal swab testing and FDA don't like it. I see.

</comment><comment><USER14> The key point that seems to be missed by people is that SCAN was one of the first to identify that coronavirus was spreading in the Seattle area and the US.

This was deeply embarrassing to the Trump administration which was trying everything it could at the time to act like there was no issue.

Shutting down SCAN under a flimsy regulatory argument should be seen as similar political punishment to the doctors early on in China who were muzzled because they were embarrassing the government by admitting the situation wasn't under control.

The FDA and CDC need much stronger protections from political meddling if they are to keep America safe from disease. Their scientists are still great but the disease at the top is spreading down at a worrying pace.

</comment><comment><USER15> I understand their concern; however I don't agree that the remedy mentioned in the article is the only path.

Knowing a sample is rendered invalid by mishandling or age might be accomplished by packaging an indicator with it which reacts when exposed to extreme temperatures and/or a chemical timer once packed.

The samples could also be delivered via drop-off to collection stations at hub facilities (E.G. medical clinics or hospitals) and stored in controlled environments for the rest of the process.

<comment><USER16> There were two remedies in the article that I saw, one is wait for the FDA to approve the protocol, and the other is to change to what I assume is a research study which would.

Is there technology already available for your idea that would make it easier than those? Such as a swab that changes color when exposed to the air for more than 30 minutes or something.

</comment></comment><comment><USER17> It's _really_ hard not to wonder if there is a political motivation to break the Federal government so that even the U.S. left would seek to devolve it.

<comment><USER18> This has been an explicit aim of the American right since the Reagan administration.

[https://en.wikipedia.org/wiki/Starve_the_beast](https://en.wikipedia.org/wiki/Starve_the_beast)

<comment><USER19> Reagan was in office almost 40 years ago. We have had 24 years of Republican Presidents during that time. Have we:

1) Rolled back social security or Medicare?

2) Rolled back the administrative state in any respect?

3) Developed any significant power back to the states?

None of that happened. Government spending as a percentage of GDP increased, from 30% to 35%. Just more slowly than in the immediate post-New Deal era. Characterizing attempts to hold the line or make modest reforms as wanting to "break the federal government" is a cute bit of rhetoric, but you'd have to be very gullible to believe it.

We're about to go into an election where 2 of 3 leading Democratic candidates proposed new programs that would take US government spending as a percentage of GDP past that of Sweden. More than half of the economy would be the government, versus a mere third today.

By contrast, did any serious Republican candidate propose a corresponding opposite movement? Decreasing total government spending by 15 points to 20% would take us into the 1940s and 1950s (so still post New Deal). No? That should tell you a lot about how much basis your assertion has in reality.

<comment><USER17> Is that so? I recall a strong push to get rid of "ObamaCare."

The suggestion here is that the Republicans aren't able to pull back these social programs because even their own constituents would be up in arms. The next best strategy is to so thoroughly break the Federal Government that no one would support it anymore.

</comment></comment></comment></comment><comment><USER12> I hope that even after the coronavirus pandemic has passed people keep calling out the burdens to society and progress caused by the FDA.

I do hope that people notice that there are more life and death situations outside of pandemics that are, perhaps for fewer people, still very urgent. FDA regulation is often in the way of individuals getting the care they need, making decisions about life and death, and following and creating best practices in medicine.

</comment><comment><USER20> I can understand the FDAs reluctance for home tests. They do want to make sure people aren't getting false negatives from degradation during transport. That seems like a legitimate concern.

But what I think is a greater concern, are civil rights. Several states are now giving the addresses, and sometimes names, of people who test positive for CoV-2 to law enforcement officials[0,1], and apparently health an human services used some legal gymnastics to claim that this somehow doesn't violate HIPPA[2].

You might be tempted to say "Well this situation is special," but before you do, imagine if we started doing contact tracing on people infected with HIV.

[0] [https://tennesseelookout.com/2020/05/08/health-department- gi...](https://tennesseelookout.com/2020/05/08/health-department-gives-names- addresses-of-tennesseans-with-covid-19-to-law-enforcement/)

[1] [https://www.msn.com/en-us/news/us/most-states-sharing- corona...](https://www.msn.com/en-us/news/us/most-states-sharing-coronavirus- patients-addresses-with-law-enforcement-report-says/ar-BB14kBGn)

[2] [https://www.hhs.gov/sites/default/files/covid-19-hipaa- and-f...](https://www.hhs.gov/sites/default/files/covid-19-hipaa-and-first- responders-508.pdf)

<comment><USER21> We do contact tracing on people infected with HIV. It would be a public health disaster if we didn't.

<comment><USER20> We do? I thought with HIV in the US, the patient has to voluntarily notify partners. I guess that's technically contact tracing, but does it involve health departments keeping a registry of infected individuals?

<comment><USER22> > I guess that's technically contact tracing,

It is contract tracing. No technically modifier needed.

> the patient has to voluntarily notify partners

It is either "has to" or "voluntary" depending on state. It can be crime not to notify past partners. It can also be a crime to not warn people about your HIV positive test or otherwise put them at risk of getting it.</comment></comment></comment></comment>


CueKeeper: Gitting Things Done in the Browser - <AUTHOR> http://roscidus.com/blog/blog/2015/04/28/cuekeeper-gitting-things-done-in-the-browser/ <comment><USER2> This looks very polished for a 0.1 alpha. The mGSD [1] which the author used previously looks very interesting too. Since this implementation of GTS uses Git, I expect it to gain functionality for syncing with a git repository soon. [1] [http://mgsd.tiddlyspot.com/](http://mgsd.tiddlyspot.com/)</comment>


Random Chess Moves in JavaScript - <AUTHOR> http://creative-co.de/random_chess/

<comment><USER2> Looks like he's counting plies rather than moves, and the spike at the 80th ply is caused by the 40-move time control

[http://www.fide.com/fide/handbook.html?id=39&view=category](http://www.fide.com/fide/handbook.html?id=39&view=category)

</comment><comment><USER3> I'm interested to know whether the "draw if 3 repeated moves" was applied. (Technically in the rules the draw is offered to the other player I believe? But it is almost always taken if it got to that point.)

If not this could lead to some very long games observed.

<comment><USER4> 50 moves without capture or pawn move result in a draw, too.</comment></comment>


Ask HN: who did apply to TechCrunch Disrupt 2010? - <AUTHOR>

We just submitted - How about you? What do you think of it vs. NYC O'Reilly Web2expo at the same time? <comment><USER2> I think having it on the same day is just posturing. I hate it when conferences do this. It's just introducing artificial scarcity.</comment>


CVE-2020-1350 Vulnerability in Windows Domain Name System (DNS) Server - <AUTHOR> https://msrc-blog.microsoft.com/2020/07/14/july-2020-security-update-cve-2020-1350-vulnerability-in-windows-domain-name-system-dns-server/ <comment><USER2> > _... this vulnerability is not currently known to be used in active attacks > ..._

Give it 24 hours.

\---

So the problem is with TCP DNS responses larger than 65280 bytes... With a CVSS score of 10.0, something tells me this is gonna be pretty trivial.

Get / cause the DNS server to send a legitimate (TCP-based) query to your server, reply with a crafted response > 65280 bytes, BOOM?

I expect it shouldn't take long to figure out the issue -- and, thus, how to craft a "magic packet", just by examining the bindiff/patch. Hell, it might even be possible to trigger it just playing around with a TCP fuzzer!

> _We consider this to be a wormable vulnerability, meaning that it has the > potential to spread via malware between vulnerable computers without user > interaction._

Oh man, it should be fun to watch the fallout from this over the coming days...

<comment><USER3> Fairly complete attack details are out already.

[https://research.checkpoint.com/2020/resolving-your-way- into...](https://research.checkpoint.com/2020/resolving-your-way-into-domain- admin-exploiting-a-17-year-old-bug-in-windows-dns-servers/)

Including possible javascript vectors to trigger reflection attacks on LAN servers. Yey. This isn't going to take days, this will be fun tomorrow.

</comment></comment><comment><USER4> Note that this is a CVE level 10 (!!)</comment>


New radiation therapy promises relief for overheating laptops - <AUTHOR> http://www3.lehigh.edu/News/V2news_story.asp?iNewsID=3224 <comment><USER2> Does anyone know how manufacturable is the new technology?</comment>