Ask HN: Have any of you switched to Bash on Windows?

Ask HN: Have any of you switched to Bash on Windows?
41 points by ywecur 1 hour ago | past | web | 21 comments
I’ve owned a Mac for about a year now, and it’s worked very well. I do however miss being able to game on my laptop, and with the announcement of Bash on Windows I’m thinking of making Windows my sole environment.

Those of you who have tried this: What’s your experience been like? Is it inferior in any significant way to your workflow?

| Support
| Security
| Lists
| Bookmarklet
| Apply to YC
| Contact

Original URL:  

Original article

OS/2 resurrected: Blue Lion becomes ArcaOS, details emerge for upcoming release

Image: iStockphoto/olgaIT

Representatives of Arca Noae, the organization behind the revival of OS/2, gave presentations at WarpStock Europe—the annual convention of OS/2 users, developers, and enthusiasts—about the status of the Blue Lion project first announced on TechRepublic last November.

While IBM stopped principal development of OS/2 with the release of Warp 4 in 1996, maintenance releases continued until 2001 as enterprise deployments necessitated continued support for the platform.

From ‘Blue Lion’ to ArcaOS 5.0

When the Blue Lion project was announced at the American WarpStock in October 2015, the name was only temporary. Following the close of events at WarpStock Europe, Arca Noae managing member Lewis Rosenthal noted in an interview that the final product name for the new OS/2 distribution is ArcaOS 5.0. The significance of the version number relates to IBM OS/2 4.52—the last maintenance release of the platform released by IBM in 2001.

ArcaOS 5.0 is expected to be released in the fourth quarter of 2016, but Blue Lion remains as a code name, in much the same way “Wily Werewolf” is the code name of Ubuntu 15.10.

SEE: OS/2: Blue Lion to be the next distro of the 28-year-old OS (TechRepublic)

The Arca Noae team is not stopping there, however. A roadmap is still being constructed for future releases of ArcaOS, with version 5.1 bringing support for additional languages. At present, French, Spanish, Italian, German, and Dutch are prioritized for version 5.1, though Rosenthal noted that plans are still being finalized and other languages are likely to be included in that release—tentatively planned for 2017.

ArcaOS will be sold in two different editions. ArcaOS Commercial Edition is intended for mission-critical environments, and includes 12 months of updates and priority support. ArcaOS Personal Edition will include six months of updates and support, and will be offered at a lower price. The included software and features between the two editions is completely identical.

Because ArcaOS includes software from third-party vendors, pricing information is not yet available as negotiations with vendors are ongoing. Users with existing Arca Noae software subscriptions will be eligible for a pro-rata discount.

ArcaOS includes a superset of the currently available software and driver package sold by Arca Noae for existing OS/2 installations. This software includes support for modern ACPI versions, USB 1.1 and 2.0, AHCI support needed for Serial ATA disks, the Multimac driver suite for network cards (wireless support is forthcoming), and Uniaud, an ALSA-compatible sound driver. ArcaOS will also support CUPS, as well as Kerberos authentication.

For systems running on modern processors, a symmetric multiprocessor (SMP) kernel is available, in addition to the classic Warp kernel, though this is not available as a unikernel design. As OS/2 is a 32-bit OS, there are structural limitations to achieving full RAM support, though support has been added for creating RAM disks up to 4 GB.

Replacing the OS/2 Installer

Seasoned veterans of the OS/2 ecosystem know the pains of trying to install the operating system. Under the best of circumstances, IBM’s OS/2 installer makes the Gentoo Linux installer look intuitive. Relative to the rest of OS/2, the installer has aged poorly—it requires booting from floppy disks before the installation CD can be read. Floppy disk drives have been effectively dead for 15 years, and finding a notebook computer with an optical drive is becoming an increasingly difficult task.

With the software package from Arca Noae, as well as ports of popular open source packages from, among many others, OS/2 is still a perfectly usable system when already installed. The goal of ArcaOS is to make Blue Lion as easy to install on modern, commercially-available hardware, as any modern Linux distribution is. While there are some encumbrances to that goal—UEFI being a particularly large one—most of the work necessary to reach that goal is to replace the installer.

SEE: VirtualBox 5.0: Performance upgrades and paravirtualization, scaling, USB 3.0 device support (TechRepublic)

For that reason, most of the work is going into the installer and preboot environment, which can be invoked in the same way a rescue partition works in Linux. For installation, the new installer is capable of using a network connection to download the latest packages from Arca Noae, using the standard yum/rpm package format, allowing updates to be installed along with the rest of the OS. Additionally, the installer is being designed around the ability to boot directly from optical media, as well as from a USB stick, and research is ongoing for network installations.

Current Status

Since late last year, internal alpha builds of ArcaOS have been spun on a roughly weekly basis, according to Rosenthal. These builds are ISOs that must be manually installed—not live system images—though as the majority of the work for ArcaOS is in the installer, extensive testing of installation media can only be a good thing.

What’s your view?

Have you used OS/2 as your primary operating system in the past? Does your organization have an active OS/2 deployment? Does this article about OS/2 bring back fond memories of IBM-produced ThinkPads? Share your thoughts in the comments.

Also see

Original URL:  

Original article

Show HN: Run your own OAuth2/OpenID Connect provider

Join the chat at
Build Status
Coverage Status
Go Report Card

Hydra is being developed by german-based company Ory. Join our mailinglist to stay on top of new developments. There is also a Google Group and a Gitter Channel.

Table of Contents

What is Hydra?

At first, there was the monolith. The monolith worked well with the bespoke authentication module.
Then, the web evolved into an elastic cloud that serves thousands of different user agents
in every part of the world.

Hydra is driven by the need for a scalable, low-latency, in memory
Access Control, OAuth2, and OpenID Connect layer
that integrates with every identity provider you can imagine.

Hydra is available through Docker and relies on RethinkDB for persistence. Database drivers are extensible, in case you want to use RabbitMQ, MySQL, MongoDB, or some other database instead.

Feature Overview

  1. Availability: Hydra uses pub/sub to have the latest data available in memory. The in-memory architecture allows for heavy duty workloads.
  2. Scalability: Hydra scales effortlessly on every platform you can imagine, including Heroku, Cloud Foundry, Docker,
    Google Container Engine and many more.
  3. Integration: Hydra wraps your existing stack like a blanket and keeps it safe. Hydra uses cryptographic tokens for authenticate users and request their consent, no APIs required.
    The deprecated php-3.0 authentication service your intern wrote? It works with that too, don’t worry.
    We wrote an example with React to show you how this could look like: React.js Identity Provider Example App.
  4. Security: Hydra leverages the security first OAuth2 framework Fosite,
    encrypts important data at rest, and supports HTTP over TLS (https) out of the box.
  5. Ease of use: Developers and Operators are human. Therefore, Hydra is easy to install and manage. Hydra does not care if you use React, Angular, or Cocoa for your user interface.
    To support you even further, there are APIs available for cryptographic key management, social log on, policy based access control, policy management, and two factor authentication (tbd)
    Hydra is packaged using Docker.
  6. Open Source: Hydra is licensed Apache Version 2.0
  7. Professional: Hydra implements peer reviewed open standards published by The Internet Engineering Task Force (IETF®) and the OpenID Foundation
    and under supervision of the LMU Teaching and Research Unit Programming and Modelling Languages. No funny business.
  8. Real Time: Operation is a lot easier with real time monitoring. Because Hydra leverages RethinkDB, you get real time monitoring for free:


This section is a quickstart guide to working with Hydra. In-depth docs are available as well:

  • The documentation is available on GitBook.
  • The REST API documentation is available at Apiary.


Starting the host is easiest with docker. The host process handles HTTP requests and is backed by a database.
Read how to install docker on Linux, OSX or
Windows. Hydra is available on Docker Hub.

The easiest way to start docker is without a database. Hydra will keep all changes in memory. But be aware! Restarting, scaling
or stopping the container will make you lose all data:

$ docker run -d -p 4444:4444 oryam/hydra --name my-hydra

The CLI client is available at **

There is currently no installer which adds the CLI to your path automatically. You have to set up the path yourself.
If you do not understand what that means, ask on our Gitter channel.

If you wish to compile the CLI yourself, you need to install and set up Go and add $GOPATH/bin
to your $PATH. Here is a comprehensive Go installation guide with screenshots.

To install the CLI from source, execute:

go get
go get
cd $GOPATH/src/
glide install
go install

Alternatively, you can use the CLI in Docker (not recommended):

$ docker exec -i -t  /bin/bash
# e.g. docker exec -i -t ec12 /bin/bash

root@ec91228cb105:/go/src/ hydra
Hydra is a twelve factor OAuth2 and OpenID Connect provider

  hydra [command]


Run the example

Run the example

Install the CLI and Docker Toolbox. Make sure you install Docker Compose. On OSX and Windows,
open the Docker Quickstart Terminal. On Linux open any terminal.

We will use a dummy password as system secret: SYSTEM_SECRET=passwordtutorialpasswordtutorial. Use a very secure secret in production.

On OSX and Windows using the Docker Quickstart Terminal.

$ go get
$ cd $GOPATH/src/
$ DOCKER_IP=$(docker-machine ip default) docker-compose build
WARNING: The SYSTEM_SECRET variable is not set. Defaulting to a blank string.
rethinkdb uses an image, skipping
Building hydra
$ SYSTEM_SECRET=passwordtutorialpasswordtutorial DOCKER_IP=$(docker-machine ip default) docker-compose up
Starting hydra_rethinkdb_1
Recreating hydra_hydra_1
Recreating hydra_consent_1
Attaching to hydra_rethinkdb_1, hydra_hydra_1, hydra_consent_1

On Linux.

$ go get
$ cd $GOPATH/src/
$ DOCKER_IP=localhost docker-compose build
WARNING: The SYSTEM_SECRET variable is not set. Defaulting to a blank string.
rethinkdb uses an image, skipping
Building hydra
$ SYSTEM_SECRET=passwordtutorialpasswordtutorial DOCKER_IP=tutorialpassword docker-compose up
Starting hydra_rethinkdb_1
Recreating hydra_hydra_1
Recreating hydra_consent_1
Attaching to hydra_rethinkdb_1, hydra_hydra_1, hydra_consent_1
mhydra   | mtime="2016-05-17T18:09:28Z" level=warning msg="Generated system secret: MnjFP5eLIr60h?hLI1h-!<4(TlWjAHX7"
mhydra   | mtime="2016-05-17T18:09:29Z" level=warning msg="Temporary root client created."
mhydra   | mtime="2016-05-17T18:09:29Z" level=warning msg="client_id: d9227bd5-5d47-4557-957d-2fd3bee11035"
mhydra   | mtime="2016-05-17T18:09:29Z" level=warning msg="client_secret: ,IvxGt02uNjv1ur9"

You have now a running hydra docker container! Additionally, a RethinkDB image was deployed and a consent app.

Hydra can be managed with the hydra cli client. The client hast to log on before it is allowed to do anything.
When hydra detects a new installation, a new temporary root client is created. The client credentials are printed by
docker compose up:

mhydra   | mtime="2016-05-17T18:09:29Z" level=warning msg="client_id: d9227bd5-5d47-4557-957d-2fd3bee11035"
mhydra   | mtime="2016-05-17T18:09:29Z" level=warning msg="client_secret: ,IvxGt02uNjv1ur9"

The system secret is a global secret assigned to every hydra instance. It is used to encrypt data at rest. You can
set the system secret through the $SYSTEM_SECRET environment variable. When no secret is set, hydra generates one:

time="2016-05-15T14:56:34Z" level=warning msg="Generated system secret: (.UL_&77zy8/v9<sUsWLKxLwuld?.82B"

Important note: Please be aware that logging passwords should never be done on a production server. Either prune
the logs, set the required parameters, or replace the credentials with other ones.

Now you know which credentials you need to use. Next, we log in.

Note: If you are using docker toolbox, please use the ip address provided by docker-machine ip default as cluster url host.

$ hydra connect
Cluster URL: https://localhost:4444
Client ID: d9227bd5-5d47-4557-957d-2fd3bee11035
Client Secret: ,IvxGt02uNjv1ur9

Great! You are now connected to Hydra and can start by creating a new client:

$ hydra clients create --skip-tls-verify
Warning: Skipping TLS Certificate Verification.
Client ID: c003830f-a090-4721-9463-92424270ce91
Client Secret: Z2pJ0>Tp7.ggn>EE&rhnOzdt1

Important note: Hydra is using self signed TLS certificates for HTTPS, if no certificate was provided. This should
never be done in production. To skip the TLS verification step on the client, provide the --skip-tls-verify flag.

Why not issue an access token for your client?

$ hydra token client --skip-tls-verify
Warning: Skipping TLS Certificate Verification.

Let’s try this with the authorize code grant!

$ hydra token user --skip-tls-verify
Warning: Skipping TLS Certificate Verification.
If your browser does not open automatically, navigate to:
Setting up callback listener on http://localhost:4445/callback
Press ctrl + c on Linux / Windows or cmd + c on OSX to end the process.

OAuth2 Flow

Great! You installed hydra, connected the CLI, created a client and completed two authentication flows!
Your next stop should be the Guide.



The Guide is available on GitBook.

REST API Documentation

The REST API is documented at Apiary.

CLI Documentation

The CLI help is verbose. To see it, run hydra -h or hydra [command] -h.


Unless you want to test Hydra against a database, developing with Hydra is as easy as:

go get
go get
cd $GOPATH/src/
glide install
go test ./...
go run main.go

If you want to run Hydra against RethinkDB, you can do so by using docker:

docker run --name some-rethink -d -p 8080:8080 -p 28015:28015 rethinkdb

# Linux
DATABASE_URL=rethinkdb://localhost:28015/hydra go run main.go

# Docker Terminal
DATABASE_URL=rethinkdb://$(docker-machine ip default):28015/hydra go run main.go

Original URL:  

Original article

William Gibson Announces New Sci-Fi Comic Book

68-year-old science fiction author William Gibson just released a complicated new science fiction comic book, and this weekend Ars Technica proclaimed that “the results are grand”. An anonymous reader shares their report:
A father and son occupy the new White House as President and Vice President. We never meet dad, but his son — an evil jerk by the name of Junior Henderson — has been surgically altered to resemble his grandfather, because Junior is about travel to an alternate Earth in 1945 to take grandpa’s place, with the intent of remaking that world more to his liking (and, presumably, to prevent whatever it was that laid waste to the one we start off in)…The world is in ruins. The White House relocated to the ominous-sounding National Emergency Federal District in Montana. They have technology that far outstrips our own…
“It’s an alternate-history/cross-worlds story,” Gibson writes… “And I wouldn’t want to spoil too much of the frame, because that’s an inherent part of our narrative. But I will say that one of the first verbal tags we had for the material was ‘Band Of Brothers vs. Blackwater.'”
On his Twitter feed, Gibson is also applauding the news that Marvel and DC comics abandoned a two and a half year legal battle to enforce their trademark on the word “superhero” against a publisher in the U.K.

Share on Google+

Read more of this story at Slashdot.

Original URL:  

Original article

React Sync Demo


This is a modified version of the React comment box example from the React tutorial. The example app has been modified to demonstrate syncing updates and offline activity across devices.

Demo GIF

To use

Start the server with:

npm install
node server.js

And visit http://localhost:3000/. Try opening multiple tabs!

You can change the port number by setting the $PORT environment variable before invoking the script, e.g.,


Primus is set to create a new public/scripts/primus.js file when the server starts. If you’re using nodemon to restart on file changes:

nodemon --ignore public --ignore comments.json

Webpack config in webpack.config.js runs DefinePlugin to set NODE_ENV to production, and UglifyJS to minify files. Comment out the plugins, then run webpack:

Original URL:  

Original article

Technological innovation is often simply an innovation in how we think about technology

ideas_1 It may slip our notice, but technological innovation is often reducible to an innovation in the marketing and conceptualization of technology. While there are undoubtedly many technological breakthroughs that can’t be reduced to linguistic and conceptual changes, it’s surprising how often apparent innovations depend on shifts in terminology and discourse. Read More

Original URL:  

Original article

Show HN: SSL certificate dashboard

Responsive web app that checks when certificates will expire. Serves HTML & JSON so you can consume the service elsewhere.


Running Locally

Make sure you have Node.js and the Heroku Toolbelt installed.

$ npm install
$ foreman s

Environment variables


Your app should now be running on localhost:5000.

Deploying to Heroku

$ heroku create
$ git push heroku master
$ heroku open


Deploy to Heroku

Original author

I’ve seen a static version of this project on github, but I forgot the name of the original project. It is his static version of the dashboard turned into a configurable service that spits out HTML & JSON.

Original URL:  

Original article

INNOVATE2016: How the blockchain will clean up American politics

bitcoin-eagle The fundamentally transparent nature of blockchain technology – with its unalterable public ledger – will force politicians to be more honest about themselves and their intentions. Blockchain, they promise, will eventually disinfect the American political system – exposing dishonesty and triggering a more accountable political conversation. Read More

Original URL:  

Original article

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d bloggers like this: