Eight years of victory

Pinboard is eight!

Here’s what’s happened so far: 2010 2011 2012 2013 2014 2015 2016 2017 bookmarks (M) 3.5 27 53 76 97 122 148 173 tags (M) 11 76 135 178 212 251 291 333 active users (K) 2.8 16 23 23 24 25 24 29 archives (T) 0.2 3.0 5.9 8.8 14.2 20.9 24.8 31.8 URLs (M) 2.5 16 32 48 63 82 104 126 revenue (K) 117 178 181 175 193 160 234 259 funding (M) 0 0 0 0 0 0 0 0 acquisitions 0 0 0 0 0 0 0 1

The big story this year was last month’s surprise acquisition of Pinboard’s long-time nemesis Delicious. This illustrates the importance of always having a backup nemesis, an area where Pinboard leads the industry.

But it’s also been a rough year for Pinboard users! In November I began traveling extensively in support of Tech Solidarity, an attempt to mobilize tech workers after the US election. All the travel meant I sometimes ignored support emails for weeks at a time.

In the last couple of months, I’ve taken a bit of a reverse sabbatical to try to stabilize the site, make it easier for me to monitor and run, and catch up with a backlog of very, very, very irate messages.

I also baked this delicious pie:

View the Original article

Ask HN: What good alteratives are there to Google News?

bradgessler 9 hours ago

It scrapes headlines from Wikipedia once per day at 8p PST. It’s encrypted. There’s no ads. It loads fast, as-in one request. Your activity isn’t logged.

I built this because I got tired of all the shitty tricks news websites play: obnoxious ads, “breaking news”, auto-play videos, pumping megabytes of crap into your browser, lack of privacy, and lack of citations.

Legible news is boring. It’s non-addictive. If you click on a link you might accidentally learn something about the historic context of a news story. I don’t log anything because I don’t care. Daily headlines delivered in one HTTP request (look at it in an inspector) over a CDN. It’s fast. I hope you like it, but if you don’t no worries, I built it for myself.


View the Original article

Rescale (YC W12) Is Hiring a Designer in San Francisco

Careers Rescale – Careers English 日本語 简体中文 한국어 Free Trial Log In English 日本語 简体中文 한국어 Log In Solutions Products Pricing Software Resources Blog Partners Free Trial Careers at Rescale

At Rescale, you will help the world’s leading engineers and scientists develop the next generation of disruptive innovations. Our team members have the unique opportunity to learn and contribute to solving some of the world’s most challenging problems, from space flight to genetic engineering and everything in between.

We are computer scientists, domain experts, and industry thought leaders who are eager to work in teams with the brightest minds and most talented engineers. Located in the heart of San Francisco, we offer an exciting and vibrant work environment with competitive compensation and benefits.

View the Original article

How startups such as Dropbox, Airbnb, Groupon acquired their first users

 AskReddit-worldnews-videos-funny-gifs-pics-todayilearned-aww-gaming-news-movies-mildlyinteresting-Showerthoughts-tifu-Jokes-nottheonion-television-OldSchoolCool-food-TwoXChromosomes-LifeProTips-IAmA-Music-science-sports-Futurology-EarthPorn-books-personalfinance-photoshopbattles-Art-explainlikeimfive-WritingPrompts-creepy-Documentaries-UpliftingNews-space-askscience-dataisbeautiful-nosleep-history-gadgets-DIY-GetMotivated-philosophy-listentothis-InternetIsBeautiful-announcements-blogmore »

View the Original article

Porting NetBSD to Allwinner H3 SoCs

A new SUNXI evbarm kernel has appeared recently in NetBSD -current with support for boards based on the Allwinner H3 system on a chip (SoC). The H3 SoC is a quad-core Cortex-A7 SoC designed primarily for set-top boxes, but has managed to find its way into many single-board computers (SBC). This is one of the first evbarm ports built from the ground up with device tree support, which helps us to use a single kernel config to support many different boards.

To get these boards up and running, first we need to deal with low-level startup code. For the SUNXI kernel this currently lives in sys/arch/evbarm/sunxi/. The purpose of this code is fairly simple; initialize the boot CPU and initialize the MMU so we can jump to the kernel. The initial MMU configuration needs to cover a few things — early on we need to be able to access the kernel, UART debug console, and the device tree blob (DTB) passed in from U-Boot. We wrap the kernel in a U-Boot header that claims to be a Linux kernel; this is no accident! This tells U-Boot to use the Linux boot protocol when loading the kernel, which ensures that the DTB (loaded by U-Boot) is processed and passed to us in r2.

Once the CPU and MMU are ready, we jump to the generic ARM FDT implementation of initarm in sys/arch/evbarm/fdt/fdt_machdep.c. The first thing this code does is validate and relocate the DTB data. After it has been relocated, we compare the compatible property of the root node in the device tree with the list of ARM platforms compiled into the kernel. The Allwinner sunxi platform code lives in sys/arch/arm/sunxi/sunxi_platform.c. The sunxi platform code provides SoC-specific versions of code needed early at boot. We need to know how to initialize the debug console, spin up application CPUs, reset the board, etc.

Instead of writing H3-specific code for spinning up application CPUs, I took advantage of U-Boot’s Power State Coordination Interface implementation. A psci(4) driver was added and the allwinner,sun8i-h3 platform code was modified to use this code to start up all processors.

With a bit of luck, we’re now booting and enumerating devices. Apart from a few devices, almost nothing works yet as we are missing a driver for the CCU. The CCU in the Allwinner H3 SoC controls PLLs and most of the clock generation, division, muxing, and gating. Since there are many similarities between Allwinner SoCs, I opted to write generic CCU code and then SoC-specific frontends. The resulting code lives in sys/arch/arm/sunxi/; generic code as sunxi_ccu.c and H3-specific code in sun8i_h3_ccu.c.

Now we have a CCU driver, we can attach a com(4) and have a valid console device.

After this, it’s a matter of writing drivers and/or adapting existing code to attach to fdtbus based on the bindings used in the DTB. For cases where we had a compatible driver in the old Allwinner port, I opted to make a copy of the code and FDT-ize it. A few reasons for this — 1) the old drivers have CCU-specific code with per-SoC ifdefs scattered throughout, 2) I didn’t want to break existing kernels, and 3) long term goal is to move the SoCs supported by the old code over to the new code (this process has already started with the Allwinner A31 port).

So what do we get out of this? This is a step towards being able to ship a GENERIC evbarm kernel. I developed the H3 port on two boards, the NanoPi NEO and Orange Pi Plus 2E, but since then users on port-arm

View the Original article

Pterodactyl – An Open-Source Game Server Management Panel

GitHub – Pterodactyl/Panel: Pterodactyl Panel is the free, open-source, game agnostic, self-hosted control panel for users, networks, and game service providers. Pterodactyl supports games and servers such as Minecraft (including Spigot, Bungeecord, and Sponge), ARK: Evolution Evolved, CS:GO, Team Fortress 2, Insurgency, Teamspeak 3, Mumble, and many more. Control all of your games from one unified interface. Skip to content Features Business Explore Marketplace Pricing —

View the Original article