Ask HN: Trouble focusing on improving outside of job - <AUTHOR> Fortunately, after a 6-month bout of unemployment after leaving a BigCo (on neutral terms that I could not control) I luckily landed a job at a fantastic startup in NYC in February.  Given the current circumstances I cannot express how thankful I am to currently be employed in an org that supports me.
However, ADHD and covid WFH aside I'm having a lot of trouble gaining the energy or focus to continue improving as a developer.  During my job search I was mostly studying for interviews which didn't really improve my generalist dev skills.
I primarily work in elixir but have side-project aspirations in JS and react.  I'm scared now, because my skills seem to be growing slowly at work but otherwise be stuck in "tutorial hell" as is sometimes discussed elsewhere on HN.
I have the chops but I think my approach to side-projects / improving has just been too scattered.
I cannot emphasize how scared I am that I will become a complacent engineer that doesn't in time either start their own company or continue to move  up the latter.
For context, I'm two years out of school.
Any help is appreciated.  The startup I work for is also actively looking for React and Elixir devs - more than happy to make introductions. <comment><USER2> > _I primarily work in elixir but have side-project aspirations in JS and > react. I 'm scared now, because my skills seem to be growing slowly at work > but otherwise be stuck in "tutorial hell" as is sometimes discussed > elsewhere on HN._

If I were in your situation, I'd drop the side projects and totally commit to the work codebase and own it all, build tooling for the team, add in whatever is missing: from issue templates to tests, from docs to monitoring, from automatic deployments to refactoring. Then think about the whole product, from design to the value it creates. Think of how you can build that organization and make it a success. Hiring, operating. Divided attention seldom gets you anywhere, so focusing on what will make that startup a success, whatever that is, is the way to go in my opinion.

You'll get good faster and, ironically, you'll have more time for other activities. But the other way isn't that effective: being spread too thin, not up to the task at work, and wanting to improve at something else. Being good at things compounds and frees up time to expand and explore more meta things.

It's hard to be on multiple fronts, especially with your predicament. Sequential gets things done.

You'll also be given more latitude in your job because you deliver and add value.

Yes, this may be terrible career advice because one might argue that side projects are good for a résumé and you want to start a company. I'd argue that being distracted is harming both your career and your prospects of starting a company.

I'd say commit. Commit to doing a great job with the company you're in right now. Climbing up the ladder, as you say, will be a consequence if you're at a good company.

<comment><USER3> This is def solid advice. Once you have a good idea of the codebase, going hard like this would be like a few months of investment? Which I think pays more dividends unless you have a burning desire for something on the side (mastering interviews, project, side business, etc).

</comment></comment><comment><USER4> It's very beneficial to do something else that is not related with code or tech outside work, even if just enjoying your life.

Do not feel that you have to code 24 hours a day or learn everything that comes up, it's not possible.

Do you!

<comment><AUTHOR> I totally agree, and most of what I do outside of work isn't directly work related (even though that's been very challenging during quarantine). The most fun I've had in a while is coming up with an idea and banging on the keyboard until it comes out haha.

However, that said. Code could help some of my non-work related projects.

I actually really enjoy coding outside of work - just having trouble even with ADHD meds getting properly focused to learn code related things I guess?

</comment></comment><comment><USER5> Does the startup you work for allow you work time to learn new skills? You could mention what additional areas you could contribute in if you had skills XYZ, and here is your path to learning them.

<comment><AUTHOR> They've been very supportive, however I usually like to have delineation between work and side projects I stand to profit from.

I have had some time to learn a bit about React and TypeScript from our front- end people. It's hard to communicate over slack, but it's cool to have pro's I can bounce questions off of.

</comment></comment><comment><USER6> Hey, can you email me some more information about the startup? wannes.gennar [at] gmail [dot] com

<comment><AUTHOR> I should add, we are only hiring within the NYC metro area.</comment></comment>


Free Bassel Khartibil - <AUTHOR> http://freebassel.org/ <comment><USER2> Today a year ago Bassel was imprisoned in Syria. See the link for events today calling for his release.</comment>


Flynn 1.0 is here - <AUTHOR> https://flynn.io/blog/one-point-oh <comment><USER2> I like release announcements that explain in the very first sentence what this piece of software does. Thank you.

<comment><USER3> Exactly.

Also, the logo links to the product page, not to some blog aggregation page as many other announcement do.

<comment><USER4> This is usually a holdover of having the blog its own system (e.g. WordPress) at blog.example.com or example.com/blog and having the rest of the site managed by some other CMS or none at all.

Not saying there's a legitimate reason to do that, but just saying that's usually the technical reason for it.

</comment></comment></comment><comment><USER5> On this topic, i am looking for a simple "deploy this app to my machine" sort of deployment scheme. I don't have fleets of machines, hell i will usually only have a single machine. I mostly just want to ease the process of deploying updates to my webapps.

What do you recommend? I spent some time last night looking into all the big names atm, Flynn, Deis, Nomad, Kubernetes, Docker, etcetc. They all seem so complex for my needs.

Sure, if my app grows, being able to boot up a few extra VMs, add them to my "cloud", and then deploy my app to my new machines easily sounds appealing, but honestly right now that's so beyond my scope that it seems silly. I just want easy deployments, and easy installation of whatever i end up using (Flynn/Deis/etc).

So with that said.. any opinions on the simplest? Dokku _seams_ to be the simplest.. but it's hard for me to say atm, i don't have much experience of perspective.

<comment><USER6> Flynn aims to be the easiest to use among the available tools. We intentionally limit the amount of configuration necessary to get up and running and don't require you to bring together a bunch of components to make a stack that works.

Dokku is architecturally simpler because it only focuses on single-host use cases, but we hope Flynn is just as easy or easier to install and use.

</comment></comment><comment><USER7> I very briefly looked into Flynn when evaluating self hosted PaaS offerings and ended up settling on Dokku for now, and there are several features it had that Flynn seemed to lack that were huge wins. Is there any plan to support plugins in a similar way to Dokku? Specifically the volume storage plugin has made deploying some apps that don't play nice with 12f stuff much easier.

The other thing that has come in very handy is being able to deploy Dockerfile builds directly, is this something that Flynn can do as well, or is support planned?

<comment><USER6> > Is there any plan to support plugins in a similar way to Dokku? Specifically > the volume storage plugin has made deploying some apps that don't play nice > with 12f stuff much easier.

Flynn is natively highly available and multi-host, which makes doing volume storage tricky. Our current immediate plan for this is to support NFS mounts for apps so that you can point at an external file server (or service like AWS EFS). Feel free to watch or thumbs-up this issue: [https://github.com/flynn/flynn/issues/1521](https://github.com/flynn/flynn/issues/1521)

As far as plugins go, Flynn is entirely API-driven so you should be able to hook in and do whatever you want without modifying Flynn itself. If you run into something that you want to do that makes sense as an integration but isn't currently possible, please open an issue and we can discuss how to make it happen.

> The other thing that has come in very handy is being able to deploy > Dockerfile builds directly, is this something that Flynn can do as well, or > is support planned?

We support pushing Docker images to a registry built-in to Flynn: [https://flynn.io/docs/docker](https://flynn.io/docs/docker)

Building Dockerfiles is currently tricky from a security and modularity perspective as it requires running inside a privileged Docker daemon. There is no way that I'm aware of to do a build without providing root or root-like capabilities. If it was as simple as importing a package and using it in an unprivileged container to perform the build, we'd definitely evaluate adding support carefully.

<comment><USER8> > Building Dockerfiles is currently tricky from a security and modularity > perspective as it requires running inside a privileged Docker daemon

Would it be easier with rkt?

<comment><USER6> I'm not aware of any support for building images using Dockerfiles in rkt. My understanding is that the Dockerfile build system is embedded in the docker daemon.

</comment></comment></comment></comment><comment><USER9> My name is Flynn, reading about all of this is endlessly entertaining :)

<comment><USER10> Wow, these people really seem to like you! Have you considered putting some of their endorsements on your résumé?

> You let people deploy and manage lots of applications, whether they're > microservices or monoliths, written in any combination of languages.

> You make running software faster and easier so developers can ship their > code with less friction and spend more time creating applications and > products.

> You bring resilient, scalable, and efficient infrastructure to everyone. You > are a single, unified, easy-to-use platform.

> Developers and companies around the world are using you to power everything > from their latest side project to their startup's most important products in > production.

> This is just the beginning of your development, and we'll have many more > features to announce in the coming months. For now, you are solid, stable, > and ready to use.

> You are fast and easy to install on popular clouds with our graphical > installer or on your local machine with Vagrant. Try it today and see how > far we've come.

<comment><USER9> I'm just glad that they think I'm stable!

</comment></comment></comment><comment><USER11> As one of the Dokku maintainers, I'd like to congratulate the flynn developers on a 1.0 release. Getting everything polished to a state where you can say "this is stable" is really hard, and they've done a fine job with Flynn.

</comment><comment><USER12> Flynn (YC S14) founders here. Happy to answer any questions.

<comment><USER13> Congrats on 1.0 - how does Flynn compare to say BOSH (see BOSH.io)?

<comment><USER14> Also, what's the difference to dokku or deis?

<comment><USER6> Both Dokku and Deis focus on stateless webapps.

Dokku is explicitly single-host. Flynn can run in a single-host configuration but typically deployed in a highly available configuration with three or more hosts.

Flynn is designed to tackle some much bigger problems and supports running and managing highly available databases inside the platform out of the box in addition to stateless web apps.

</comment></comment></comment></comment><comment><USER15> I've used flynn on a couple smaller projects and overall had a good time with it. Has anyone used it for any larger projects and wouldn't mind sharing their experiences? I'd be interested to see how it goes once more moving parts get involved.

<comment><USER16> We've been using it with a ~10 nodes cluster for some time to host both internal and production apps.

It has allowed the rest of the team to focus on the apps themselves without worrying about how to deploy them, how to provision more capacity, how to rollback in case of failure, etc.

Using the builtin affinity and priority system, we were able to make sure that production apps would always run smoothly without being affected by our other processes.

</comment></comment><comment><USER17> This image got me to love and try this out ([https://flynn.io/images/popsicle-273f37c4.png](https://flynn.io/images/popsicle-273f37c4.png))

<comment><USER18> Yes! It made me feel like "these folks get it". Or maybe I'm succumbing to the old advertising axiom (and I'm paraphrasing here):

"If you can explain the problem better than the customer, they'll believe you also have the solution."

</comment></comment><comment><USER19> Congrats Daniel and team! Awesome work!

<comment><USER6> Thanks Paul!

</comment></comment><comment><USER20> I evaluated flynn (an earlier release) previously and noticed issues when one of the servers in the cluster went offline suddenly. The stack couldn't fix itself and along with it the DB was gone as well.

There was a Github issue before about, but I don't have that link around.

Could someone from the dev team at flynn comment about how flynn self heals currently if there's a server issue? eg. especially the one where the DB is hosted

Thanks and congrats!

<comment><USER6> Flynn is designed to be self-healing, if a server goes offline it will recover immediately and automatically and no confirmed writes will be dropped.

We use a combination of Raft for service discovery and leader election, along with multiple instances of all core services so host failures within the quorum tolerance should not impact availability. The design of the data appliances is carefully considered, you can read an overview here: [https://flynn.io/docs/databases](https://flynn.io/docs/databases)

If something catastrophic does go wrong, like the power going off in the datacenter, there is code that can resurrect the cluster when enough hosts come back online.

We did have some issues with recovery that have been fixed over the past few months, I'm almost certain the issue that you ran into has been fixed. Data is never destroyed by Flynn, so it's possible to recover the database from disk even if Flynn isn't running.

The system is also designed to tolerate partial failures gracefully, so if for example service discovery fails, the router will fall back to a cache and HTTP clients should not notice that anything is wrong.

</comment></comment><comment><USER21> I would really like to see an article comparing Flynn with Deis. Last time I looked it seemed to me like two different implementations of the same thing. What are the differences?

<comment><USER6> Obviously I'm biased, but here's my take:

Flynn has a larger technical scope, covering everything from the details of how container are run all the way up to the user interface used to deploy applications. We also run highly available databases within the platform, in addition to stateless webapps. As a result of working to build an easy to use unified solution, we've ended up building many components from scratch specifically for Flynn and have very few dependencies.

Deis is designed to use commonly used off the shelf components, and has a focus on stateless web apps. Currently Deis is built around the Kubernetes and Docker ecosystems.

Flynn's approach has given us more flexibility, but it has taken longer, so Deis has often reached various milestones faster.

It's a frequently asked question so hopefully in the future a well-informed user with experience on both platforms can write a detailed teardown/comparison.

</comment></comment><comment><USER22> are there any startups / companies using Flynn in production ?

<comment><USER12> Absolutely. We're putting together a list right now, we just don't have permission from everyone to talk about it publicly yet. Hopefully we'll have quotes and case studies to post on the website soon.</comment></comment>


"Where do you get your ideas?" by Charles Stross - <AUTHOR> http://www.tor.com/index.php?option=com_content&view=blog&id=24831

<comment><USER2> I've found that writing is a lot like programming.

For a skilled programmer, programming is easy. Designing a complex system might be hard, understanding complex programs may be hard, and designing algorithms may be hard, but the actual act of putting the concepts into code should be pretty easy.

For a skilled writer, writing is easy. Designing a complex, believable plot, characters the reader can empathize with, a detailed universe, and so forth, can be quite hard, but the actual act of putting it onto paper is easy. Of course, as any good writer will tell you, once you've written it down, there are another hundred revisions to go before it's actually ready, a dozen of which will involve a complete rewrite. So you have to be able to put thoughts to paper quickly. Also, at least personally, I've found that I have a short attention span with regards to writing: there's a window of a few hours between when I have an idea and when my mind wants to throw it away, and I have to get something passable written in that time.

When I get an idea for a short story I can often write out 5000 words in a couple of hours. But going from that basket of words spurt out at 3:00 AM to a publishable story would take far, far, longer.

One interesting bit of advice I've heard is that aspiring authors should start with fanfiction--because that allows them to work in an existing detailed universe with existing characters. This lets them get practice _making writing easy_ so that when it comes to actually creating a setting from scratch, they don't have to worry about writing it down. This is much like programming--by the time you're doing serious work, it's expected that coding itself is second-nature to you.

Also, a good read for any HN user interested in writing (especially Sci- Fi/Fantasy) is the classic Turkey City Lexicon:

<http://www.sfwa.org/writing/turkeycity.html>

<comment><USER3> _as any good writer will tell you, once you've written it down, there are another hundred revisions to go before it's actually ready_

Not necessarily. Some writers write publishable first drafts, at least some of the time. Heinlein famously started out thinking that rewrites weren't worth his time (though he still did some on at least some stories).

<comment><USER4> There is a mention of this in "On Writing Well" where Zinsser tells a story about speaking at a conference along side an author who was able to write publishable first drafts.

Sure, they're out there, but the skill is extremely rare.

<comment><USER5> > Practice writing. Write every day. If you are a top-notch computer > scientist, you probably read technical papers nearly every day. You are a > writer too, so practice.

<http://www.dreamsongs.com/RPGWritingBroadside.html>

</comment></comment></comment></comment><comment><USER6>
        Ideas, hah. The real challenge in this line of work is
        being able to weed the productive ones from the chaff, to
        decide which you're going to spend the next six to nine
        months turning into something that people will pay for.

It's so true. I remember hearing about both Buffy and Heroes, "how can this not be completely and utterly rubbish" and yet they turned out amazing (well - one series of Heroes, at least). The pitch for Lost is: a bunch of damaged goods people crash on an island. As time goes by we learn more about them via flashback. Weird stuff happens.

</comment><comment><USER7> I find this post some what interesting, but I'm disappointed he didn't go more into depth on specific examples of what inspired him. I've been reading Accelerando (<http://www.accelerando.org/> It is quite nicely free, and I highly recommend it), and I've been fascinated by how many ideas he managed to cram into there. It's an excellent book, but it's so dense with ideas I find myself only able to read it in short bursts so I can wrap my head around some of the ideas it discusses.

<comment><USER8> Reading Accelerando was like taking drugs for me... I had a buzz that lasted about a week after I was done.

</comment></comment><comment><USER9> Ze Frank on the subject: <http://www.zefrank.com/theshow/archives/2006/07/071106.html> (sorta)

</comment><comment><USER10> OK Hackers it's our responsibility to inspire Charlie. He said so. I personally liked book 2 of the Merchant Princes and Accelerando, but that's not really inspiration.

I recommend his blog <http://www.antipope.org/charlie/blog-static/index.html> because of the discussions of ideas.

</comment><comment><USER11> I find the machine you use dictates your writing habits. I've used many different computers/keyboards over the years, and I find it helps.

</comment><comment><USER12> The canonical SF answer is "Mail order from Schenectady, New York", not Poughkeepsie. Stross also got the author of the quip wrong, but I can't get my memory to produce the right one (I saw it in print many moons ago).

P.S. Seems Stross was right about the source. I remembered Barry B. Longyear's It Came from Schenectady. He explains:

<http://www.sff.net/people/bblongyear/ItSchenectady.html>

<http://www.sff.net/people/bblongyear/ICFSFF.html></comment>


A Case For Personal Cloud - LinuxTag Talk by Dmitri Popov - <AUTHOR> Good afternoon everybody,
[SLIDE #1]
Since I only have 30 minutes, let me jump right into it. My talk is roughly divided into two parts. First, I'll talk briefly about the concept of personal cloud computing, and then I'll showcase the Tonido personal cloud platform and the TonidoPlug device.
So let me start with asking the obvious question: What is personal cloud computing? To better understand this concept let's use the following metaphor: Wallet vs Bank.
[SLIDE #2]
Like most people, I have a bank account, and my bank manages my savings, payments, retirement funds, and so on. Basically, the bank offers an advanced functionality which would be impossible or impractical for an individual user to replicate. Moreover, it offers convenience by hiding the complexity of financial operations from the end user. In other words, I don't have to be an investment guru in order to manage my retirement funds -- the bank's experts do that for me and explain the process in terms I can understand.
But there are also disadvantages of "hosting" your money with a bank. Firstly, there is the issue of privacy: bank employees have access to your financial data, and so have tax authorities. You have no full control over what the bank does with your money either: you rely on the bank's investment experts to manage your retirement funds, and you have no control over how and where they invest your money. For example, imagine the surprise of some customers of one of the banks in Denmark when they recently discovered that some of their retirement funds were invested into the defense industry and factories producing land mines.
But being a bank customer doesn't preclude me from having a wallet. The wallet has several advantages compared to the bank. The key among them are availability, complete control, and privacy. My wallet is always with me, so I don't have to find a bank or ATM every time I need to make a purchase. I'm also in full control of the money in my wallet: I can use the money any way I like, no matter how unwise it may be. But more importantly, the wallet offers complete privacy: no one knows what I have in my wallet, unless I choose to share this with the world or a select group of people. In addition to that, I can also use my wallet for other tasks: I can use it to keep photos, store business cards, and save receipts.
Again, banks and wallets are not mutually exclusive, and depending on the situation, I choose the most suitable solution. When I want to buy a book or a sandwich, I'd most likely use my wallet (or rather cash or a card stored in my wallet). But I'll use my bank for more complex financial operations.
Of course, I'm oversimplifying things a bit, but the "wallet vs bank" metaphor can be used to define the concept of personal cloud computing.
[SLIDE #3]
Let's start with the conventional cloud-based services. I'm sure that everyone in the audience is using some sort of cloud-based service and is pretty much aware of its advantages and drawbacks. But let's take a quick look at them through the prism of the "wallet vs bank" metaphor. Obviously, the cloud-based applications and services are the "banks." They offer advanced features and hide the complexity from the end user. A typical cloud-based service offers functionality and convenience at a reasonable price and even free of charge.
But even when you use a service free of charge, there is a price to pay. For starters, you entrust our data to the service provider, losing complete control over it in the process. Lack of customization is another serious issue with the traditional cloud-based services. While you can tweak a few odd settings, usually you can't add or modify features offered by the service. In other words, you have limited control not only over your own data but also over the service's functionality. However, the most serious issue of all is the fact that the cloud-based service is only as good as its weakest link, and in this case it's the Internet connection. The promise of a pervasive always-on reliable Internet connection still remains just that -- a promise. And even if you can gain Internet access, there can be other factors that may prevent you from using it --like price, for example. When abroad, you can use your smart phone for tethering, but you wouldn't do that anyway due to exorbitant roaming charges.
So to sum up: Like a bank, a conventional cloud-based service offers advanced functionality and convenience, but provides only limited control and availability.
This is where the personal cloud platform comes into the picture. A personal cloud server shares a lot of similarities with the wallet: it's simple, it's always with you (or you can access it at any time), and it offers a range of task-oriented applications. With a personal cloud server you retain full control of your data and you are free to tweak the available functionality to your liking.
At this point you might be thinking "Is personal cloud platform just a fancy name for the home server in my closet?" Well, not exactly. A conventional server usually runs a number of servers such as Apache, MySQL, Samba, and so on. And you use them to build solutions for specific tasks like backup, file sharing, Web server, etc. The personal cloud server, in turn, provides a tightly-integrated bundle of applications and services designed for specific tasks. So the basic characteristics of a personal cloud server include the following:
[SLIDE #4]
* Ease of use (deployment and maintenance) and portability * Instant availability (you can access the server via a direct cable connection, over the local network, and the Internet) * Subset of functionality (e.g., a simple blog engine to maintain a personal blog instead of a full-blow blog application like WordPress) * Absolute privacy * Complete control of the software and data
The Tonido software and the TonidoPlug device provide a practical implementation of the personal cloud server concept. But before we get to the specifics of both products let's take a brief look at Tonido's overall architecture.
[SLIDE #5]
It can be represented as a three-layered cake. The operating system is the bottom layer. Tonido software runs on a variety of Linux distros (including Ubuntu, Fedora, and openSUSE) as well as Windows and Mac OS X. In case of TonidoPlug, the OS layer is a trimmed version of Ubuntu 9.04. On top of the OS layer sits the Tonido framework which powers the Tonido applications.
The Tonido stack is based on the P2P technology, so all Tonido instances are coordinated via the Tonido servers. The servers store only unique user ID which you specify when creating a profile with your Tonido installation. This also means that other users must also have Tonido instances running on their machine if they want to collaborate with you and each other as well as access some shared data. However, Tonido also lets you share content over the Web. The bundled blog engine, for example, allows you to publish a personal blog, you can share files over the Web, and you can instantly create Web-based photo albums.
Now let me show you what Tonido looks like on my netbook. Obviously, my version of Tonido is already installed and configured, but deploying the software is as easy as it gets. On the first run, you are prompted to create a Tonido profile, and once it has been registered, your Tonido installation is ready to go.
When you log in to Tonido, you are dropped into a simple interface which lists all available applications grouped by their type. From here you can quickly jump to your blog, stream music, switch to sharing options, and perform other tasks. The advanced view acts as a dashboard which provides quick access to all Tonido's modules and features.
In order to collaborate and share data with other users, Tonido must be populated with groups and users. Once the group is created, you have the option to send group invites. If the user you want to invite is already in your contacts list, you can create an invite using his or her Tonido ID. Otherwise you can send the invite using the good old email. If you choose the latter approach, the recipient receives an invitation message containing a unique token. The recipient then has to install Tonido and accept the invitation using the token provided. This creates a secure peer-to-peer connection between two Tonido instances and automatically adds the joined user to your Tonido contacts.
The current version of Tonido ships with several handy applications, including Jukebox, Photos, Thots, Webshare, and Workspace.
Using Jukebox, you can access and manage your music files as well as grant other users access to your music collection. The application lets you create custom playlists, and it sports a few default dynamic playlists which give you quick access to recently added and the most popular tracks. You can use the built-in Tag Editor to edit each track's information, while the EXT button allows you to open the current playlist in an external player application. Jukebox doesn't allow you to share your music files with other users, but you can create a guest account which allows other users to access your music collection.
As you might have guessed, the Photos application lets you share and exchange photos with other Tonido users. Sharing your snaps using Photos is easy. Add a directory containing photos to the application, choose the group you want to share the photos with, and Tonido automatically pushes your photos to all users in the selected group, and all photos shared by other users appear in your Photos application. All shared photos are actually copied and stored on your machine, so you can view them even if the user who shares them is offline. Similar to Flickr and other photosharing services, Photos lets you tag, rate, and comment photos as well as mark them as your favorites. Using the commands in the navigation bar to the left, you can view photos by tags, ratings, and users. You can also quickly view the most recent photos as well as photos in a specific group.
You can use Tonido to maintain a simple blog courtesy of the Thots application. This no-frills blogging application does have a few nifty uses. It seamlessly integrates with your Twitter account, so you can push blog posts (or thots) on Twitter. Using the supplied ClipThots extension for Firefox, you can use your Thots blog as a place for storing and sharing interesting links and text snippets. When submitting a blog post, you have an option to make it public, which publishes the blog post on the Web. The blog can then be accessed using its public URL. The blog application also supports the XML-RPC interface, so you can manage your blog using a third-party client.
The Webshare application is designed to take care of all your file sharing needs. Using it, you can give users access to specific directories and files on your machine. Sharing a directory with the world requires just a few simple steps. Press the Share Files button to select the directory you want to share and specify the share's name and description. Once the share is configured, you have to add the users who will have access to the shared directory. You can then email the users a direct link to the share, and they can access and download files via a browser. You can also make the share public by enabling the Allow Everyone option. The Share Photos button lets you create instant photo albums which you can choose to share only with specific users and groups or publish them on the Web. Tonido also offers another, more straightforward, way to share files and directories using the Explorer file manager. Press the Share button next to the file or directory you want to share, and Tonido instantly turns it into a public share.
Finally, the Workspace application can help you to collaborate with other Tonido users. The application offers pretty much everything you need to manage schedules, tasks, contacts, notes, and files. The application allows you to create as many workspaces as you need, so you can set a separate workspace for each workgroup or project. Creating a workspace is as easy as creating a group. In fact, Tonido even allows you to turn any existing group into a workspace with a few mouse clicks. The modules of the Workspace application sport some clever features designed to make your work easier and more efficient. The Calendar module, for example, lets you import events from an iCal file, and if you ticked the Enable Public Display check box when creating the workspace, the calendar is automatically published on the Web. Using the Print button, you can print your calendar as a nicely-formatted agenda. The Tasks module lets you specify a due date and priority for each task as well as assign tasks to users. Using the Filter button, you can quickly view tasks matching certain criteria such as Priority, Assigned to, Due Date, etc. The Notes module offers graphical editing tools, making it easier to create richly formatted notes. The Timeline feature provides a quick overview of all workspace activity, so you can stay abreast of what other users do. As the name suggests, the Files section lets you upload files and documents to a specific workspace. Once the document has been uploaded, you can add tags, comments, notes, tasks, and events to it. But the clever part is that each added item also appears in the appropriate section of the workspace. For example, if you attach an event to the file, the event also appears in the Calendar.
The Tonido bundle contains a few other handy applications, including a torrent manager, personal finance manager, and a backup tool. The latter allows you to easily back up data on your machine to another Tonido instance. The Apps section in Tonido lets you manage the existing application (you can update, suspend, and uninstall it), install new apps, as well as access Tonido's own App Store. The ability to extend Tonido by installing additional applications is a key feature of the Tonido platform. CodeLathe, the company behind Tonido, provides a Tonido SDK and developer documentation to help you to get started with developing Tonido apps. Developers can then register and sell their creations via the Tonido Store. In other words, Tonido uses the same app store model that works so well for Apple and Google.
Finally, let's take a brief look at the TonidoPlug device. It's powered by an embedded Marvell Sheeva CPU core running at 1.2GHz backed up by 512MB DDR2 RAM and a 512MB flash disk. TonidoPlug runs Ubuntu 9.04. The device sports an Ethernet jack for network connectivity and a single USB port. The default 512MB storage can be expanded by plugging a USB stick or a USB hard disk into TonidoPlug. As soon as you do that, TonidoPlug automatically detects the connected storage device, and you can use it right away. Better yet, TonidoPlug makes the storage device available on the network, so you can use the server as a simple NAS solution.
To round up, here are a few useful addresses.
http://www.tonido.com http://www.tonidoplug.com <comment><USER2> no detail on how these apps can be built? which language? can somebody host web app stack in tonidoplug?</comment>


Visa warns that hackers are scraping card details from gas pumps - <AUTHOR> https://www.engadget.com/2019/12/16/visa-gas-station-fraud-malware/ <comment><USER2> Migration to chip cards started in 2012. US retailers other than gas stations had to convert by 2017. Gas stations got 3 extra years. Now that time is running out. Many pumps can be upgraded. Here's a migration guide.[1]

This is classic gas station operator whining. Back in 1984, US gas stations were required by the EPA to install double-walled tanks and leak detection. One in four of the old tanks was leaking. Gas stations got 15 years to do it. At the end of 1998, many were hoping for a further extension. They didn't get it. No more fuel deliveries, and they had to go out of business.[2] That's also why, for some years, you saw recovery systems at former gas station sites, trying to suck the gasoline out of the soil.

[1] [https://www.gilbarco.com/us/emv-migration- guide](https://www.gilbarco.com/us/emv-migration-guide) [2] [https://www.latimes.com/archives/la- xpm-1998-oct-25-me-35989...](https://www.latimes.com/archives/la- xpm-1998-oct-25-me-35989-story.html)

<comment><USER3> Chip based systems don't prevent card skimming, in fact you also get the pin with those since you can still read the track 2 data and also get the pin with a skimmer that is placed on top or even inside of the pin and chip reader.

This is essentially the same exploit as ATMs with often lower risk since gas station pumps aren't inspected for skimmers.

The only way to prevent track2 skimming is to remove the magnetic strip however there are also many skimmers today that don't read the track 2 data but rather scan both sides of the card giving you the CC number, exp date, CVV/CVV2, issuer code (if present) and the card holder details then you can usually perform a card not present transaction fairly easily at best you'll only have to match the card holder with a post code or a billing address however most issuers will let you pass security with any address that was tied to the card for the past 5 years so your google search results on the name doesn't even have to be super up to date.

Basically anything but a bulletproof wireless E2EE system will allow skimming. And I've seen PoCs for near IR photographic skimmers that try to photograph the card from within the wallet or sleeve with moderate success.

<comment><USER4> I believe the goal of chip based system is to get rid of "your username is your password" problem of credit cards in the long run.

Is the world ready to remove the magnetic stripe and numbers on the card? Only expose them through your online bank and keep them separate from the card. Then only some online payments will be vulnerable - like hotel bookings.

For example Revolut cards still have the stripe, but the card details are hard to read, almost invisible for the eye unless under proper light

</comment></comment></comment><comment><USER5> I wish they had NFC so I could use Apple Pay. I hate inserting cards into the pumps even though I always check for skimmers. I'm pretty sure the past two (read: only) times my card got stolen it was through gas stations.

<comment><USER6> I've encountered a couple of gas stations that supported NFC, in the last year. The most recent one was at ARCO - although in that case I couldn't actually use it since they only accept debit and at that point I only had my credit card in Google Pay.

<comment><USER7> ARCO near me has been accepting credit for about a year and it works fine with their NFC.

<comment><USER6> Where's that? This was in Mountain View. I'll have to try again.

</comment></comment></comment></comment><comment><USER8> Still shocks me how widespread magnetic stripe credit card use is in the US. The rest of the world moved on a very long time ago.

<comment><USER9> In my recent US experience, gas pumps are the only things still using magstripe. Everyone with a card reader at their register seems to be using the chip reader.

<comment><USER10> Many places nowadays seem to have card readers that accept swipe, chip or tap. Yet many of them don't seem to have tap activated, and if someone else handles your card (very common in bars and restaurants), you can be sure they will swipe it.

I was in NYC for a week and had to swipe my card at least 6 times during that period. I imagine the rest of the country isn't leaps and bounds ahead.

<comment><USER11> > I was in NYC for a week and had to swipe my card at least 6 times during > that period. I imagine the rest of the country isn't leaps and bounds ahead.

Really? I have worked in NYC for over three years, and the only card I have ever had to swipe in that time is my FSA/transit card that, inexplicably, does not have a chip yet. There were a few smaller merchants in suburban New Jersey that lagged behind, but even they were on chip by 2017.

<comment><USER12> If the chip interface doesn't work, the backup is swiping. People talk like everything always works perfectly every time. The shinier a new technology is, the more unprepared people usually are for it breaking.

"The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair."

<comment><USER11> My point is that I have never had to resort to said backup. I have had problems with my chip from time to time, but even in those cases the chip has gone through eventually.

<comment><USER12> Well, philosophically, you could convince yourself that the chip will always work if you try it enough times. One can't prove that's false. I have no interest in arguing angels on the head of a pin; what I know is that after a few failures, a cashier will tell you to swipe it, and it's obvious it isn't an unusual experience for them, seeing a ton of transactions per day. So any argument you may have based on technical, logical, or scientific grounds seems beside the point. Let alone plain incredulity.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> I take my UK credit card to the US and can't pay for gas at the pump as I don't have a valid zip code.

I have to go inside and pre-auth. This process sometimes only requires a swipe, sometimes chip and pin - but never a zip code.

Could they just fix that?

<comment><USER14> Canadian postal codes are of the form a4b 5c6. Most US things that ask for a zip code will accept either 00456 or 45600. Do UK postal codes have numbers in them? Have you tried left- or right padding those numbers with zeros?

<comment><USER15> They have letters. SE16 4EP is a code from near my home there. It's probably not worth making it work.

<comment><USER14> So do the Canadian ones, you just skip the letters and add zeroes. Try 00164 or 16400 for SE16 4EP.

<comment><USER15> Oh I misunderstood what you meant! That's a clever thing to have tried. Fortunately, I have local cards in all of these countries so I haven't tried anything like that. How interesting that it works!

One of my British cards (Capital One?) has me use all zeroes.

</comment></comment></comment></comment></comment><comment><USER16> I try my hardest to only go to stations that accept Apple Pay. If they don't I use a card that I know will overnight me a new card if I get a fraud alert (in my case, Chase).

</comment><comment><USER17> This to me is Visa and Mastercard's problem, not anyone else's. I'd LOVE to be able to enter a password or pin to authorize and cryptographically sign a transaction proving I authorized the transaction. Someone can literally take a picture of your card, or listen with a sensitive radio to "hear" credit card numbers being swiped. This technology is needs to be replaced.

</comment><comment><USER18> > The problem is, many such businesses have very old technology and must > replace the entire pump at an estimated cost of up to $250,000 per station

This feels like a business opportunity. Surely there must be a way to build an adaptor?

<comment><USER19> This is a bit of a tangent, but my parents owned a gas station in the late 90s and early 2000s. When they bought it, pay-at-the-pump was rare. Towards the end of their ownership, it was becoming common, and they were under a lot of pressure to install it. The installation was going to cost more than $250k on top of eating into the profit margin on gas sales (through credit card transaction fees) _and_ discouraging folks from going into the store -- and in-store sales were by far the primary profit generator, as gas margins were low, zero, or negative depending on the constantly changing state of hyper- local competition and global gas prices. They opted to just sell the entire business instead and let it be someone else's problem.

</comment></comment><comment><USER20> Aren't gas station supposed to be all on a chip system this time next year anyway?

<comment><USER21> They are liable but why wouldn't they just keep making us type in our zipcode. We are basically doing chip and pin how about we do it for real.

<comment> kube-system IIRC, gas stations are doing it voluntarily to get lower transaction fees. If we had chip+pin, we'd be entering a pin everywhere, right?

Call me old-fashioned, but I still like being able to open a bar tab.

<comment><USER4> You can do this with the chip card as well, also you can still tip.

<comment> kube-system With chip+sig, yes. But I've never managed to be able to open a tab in a chip+pin country.

</comment></comment></comment></comment></comment><comment><USER22> The chip readers in the US don't do chip and pin. It's just chip or chip and signature. Wondering if the article just got the details wrong, or if something is changing.

</comment><comment><USER23> Ouch. That seems quite hard to fix.

I've taken to using my revolut card for places that look a little shady. But ACME petrol station probably wouldn't register as shady for most.

<comment><USER24> This is why I've got live messages from my bank for all transactions possible. Makes for a good deal of noise on my phone but it's caught stolen cards twice for me so far.

<comment><USER25> Which banks support that?

<comment><USER26> I have this setup for all of my Chase and American Express cards. The notifications show up within seconds of me making a purchase, which makes it very easy to sanity check.

<comment><USER27> My UK debit cards are great for this. AMEX is a bit 'meh' \- sometimes I'll get an instant notification, sometimes it'll happen a bit after, sometimes it just doesn't seem to happen. Annoying because I use that card the most.

<comment><USER24> That's possibly as much a problem with the merchant as it is the bank, sometimes they don't fully commit the transactions until the end of the day. Though usually I see a message at first that there was an authorization for purchase at least in those case.

</comment></comment></comment></comment></comment></comment><comment><USER28> whew, this garbage is starting to make that tesla worth it

<comment><USER29> If only the problem would stop at gas pumps. Many POS devices that have old cc tech are vulnerable for this type of hack.

<comment> mark-r That suggests a different acronym for POS than the one you probably meant.</comment></comment></comment>


Spain to become first country in Europe to roll out universal basic income - <AUTHOR> https://www.independent.co.uk/news/world/europe/coronavirus-spain-universal-basic-income-europe-a9449336.html <comment><USER2> I'm excited for Spain, to see how this pans out, but I'm also very afraid for them since this kind of thing tends to attract attacks from international capital and finance (they might withhold credit and demand that the policy be rescinded, or simply refuse to invest in Spanish businesses, etc). Or they might simply pour funding into the political enemies of whoever was most in favor of this policy. But there will definitely be some form of recrimination. They've nationalized their health industry too. At least they're not seizing natural resources, that would probably prompt some kind of right wing coup.

</comment><comment><USER3> Its going to be interesting when family's bank accounts run dry... what's money worth if no one has it?

</comment><comment><USER4> Spain rolls out social security 2.0.

Fools.</comment>


Show HN: Node.js Hosting Platform with Integrated MongoDB - <AUTHOR> http://modulus.io

<comment> old-gregg Hey guys, congrats on launching. (this is the launch right?) As others said, your design/appearance is awesome and the pricing calculator is superb.

Some feedback:

      * Seems like you're on AWS. I would like that to be disclosed:
        when picking hosting these things matter, wouldn't you agree?
      * Secondly, you don't seem to be protecting yourself from abuse: by charging
        for docs you're on the hook of someone storing a ton of large
        documents - think GridFS.

Anyway, congrats again!

<comment><AUTHOR> Yes we're mostly on AWS. We actually use AWS for most of the infrastructure and then Azure for hold stats we push. This will be added to FAQ, ASAP. I agree that is does matter.

GridFS stores chucks as different documents so this still should be fine for our pricing scheme. Each chunk is saved in 256K document.

Thanks for the comment.

<comment><USER2> Be careful :) The node driver lets the developer set the chunkSize which can be up to max BSON document size (16MB at the moment). So you might want to keep that in mind.

<comment><AUTHOR> Yeah great point.

</comment></comment></comment></comment><comment><USER3> Typo in the marketing copy, "seemless" should be "seamless".

<comment><USER4> See what happens when developers write copy. We'll get that fixed. Thanks!

</comment></comment><comment><USER5> Great job on the presentation. It's immediately more impressive than your competitors. I'm looking forward to hearing some feedback from people that try it out.

</comment><comment><USER6> What's with the pricing for the DB being based on the # of documents you have stored. Really feels like you're trying to nickel and dime your customers.

</comment><comment><USER7> Looks great!

I'd love to see more technical details about the specs of servos, specs of mongodb instances, info about replica sets and sharding, etc.

Pretty exciting, as you are to my knowledge only the second sevice that provides seamlessly scaling mongodb databases (after dotcloud). (By seamlessly scaling I mean, I don't have to upgrade my plan and migrate data)

</comment><comment><USER8> This looks promising. I wanted to go with Heroku for a node project a while back and couldn't because their feature-set didn't meet my needs (not to mention that your pricing is more affordable). A couple questions:

1\. can your load balancer handle raw TCP load balancing, or is it always HTTP aware?

2\. does it work with wildcard subdomains?

<comment><USER9> Just curious, but why do people on HN seem to prefer Heroku for Node projects? Is there a feature that I'm unaware of?

I'm a Nodejitsu user (and yes, its not free, so I get that) but Heroku doesn't even support Websockets at my last check.

<comment><AUTHOR> People use what they're used to so most of the time that falls back to Heroku. I get that, I really do. Just want to make sure people know it's not the only option.

</comment></comment></comment><comment><USER10> This is a fantastic alternative to Heroku for node hosting. I particularly like the focus on those three features: app servers, data storage, file storage.

Very compelling, I'll keep it in mind if I do any new node projects.

</comment><comment><USER11> The servo's estimator only slides up to 10. Does this imply that this is only intended for smaller customers?

<comment><USER4> We're definitely targeting small to medium customers. I think PAAS has the biggest payoff for teams that size. We have a customer on the platform now using dozens of servos, so it does work for big apps as well.

</comment></comment><comment><USER12> Is there a free try-it-out thing like node.jit.su has?

<comment><USER4> We went with a free credit approach. Everyone gets enough credits for over a month of free service. The credits also let you evaluate the service however you want, you can spend them on anything.

</comment></comment><comment><USER13> Looks great guys. Much better than the alternatives.

</comment><comment><USER14> Awesome job guys. Best of luck from NodeSocket.

<comment><AUTHOR> Thanks for the support.

</comment></comment><comment><USER15> Great idea. Will check it out.

</comment><comment><USER16> looks interesting - what cloud platform are you based on behind the scenes?

<comment><USER4> Amazon runs our infrastructure and customer apps. Stats are all fired over to Azure. This is something we need to add to the FAQ.</comment></comment>


Bucardo 5, async replication for PostgreSQL with true multi-master - <AUTHOR> http://blog.endpoint.com/2014/06/bucardo-5-multimaster-postgres-released.html <comment><USER2> I'm a bit unclear what they mean by 'true multi-master'. The overview and FAQ lead me to believe this is a perl script with it's own _singular_ db sitting between multiple databases. Specifically what are the CAP guarantees for this system? At a surface level it almost seems like it's split brained by design.

<comment><AUTHOR> Multi-master means exactly what you'd expect: N (where N >= 2) masters, each of which can accept writes, which will be propagated to all the other nodes Bucardo knows of.

The "_singular_" db is Bucardo's configuration store, and is otherwise uninvolved in replication.

<comment><USER2> > Multi-master means exactly what you'd expect: N (where N >= 2) masters

But the FAQ says it only supports 2 masters?

> each of which can accept writes, which will be propagated to all the other > nodes Bucardo knows of.

How are conflicts dealt with? Is the resolution serializable?

> The "_singular_" db is Bucardo's configuration store, and is otherwise > uninvolved in replication.

If it fails does sync stop? If sync stops how is healing performed?

I appreciate the response but it doesn't really tell me anything about how I can expect the system to perform with nodes/network failures. I swept through the docs but didn't see much of anything on the topic.

<comment><AUTHOR> The sibling comment is correct: the FAQ is out of date. Bucardo 4 supported only 2 masters; B5 is N >= 2.

I'll try briefly to answer your questions, having used Bucardo for several years, having a (woefully under-utilized) commit bit, and being a somewhat active participant on the mailing list and in #bucardo.

Conflicts are handled in one of a number of user-selectable ways ("latest" wins, "source" wins, _& c_). They're selectable on a per-table basis.

If the configuration DB were to stop, I don't actually know what would happen. I've never faced that scenario. AIUI, however, Bucardo only reads its configuration on startup, so it shouldn't break anything unless you were to try to change your replication configs (or restart, which doesn't typically need to happen), at which point you'd be able to address it.

If syncing stops, "deltas" (which are merely a timestamp and the pkey of the changed record) accumulate in their source databases until syncing is resumed. Healing consists of those deltas being replayed against their targets, as managed by the selected conflict resolution strategy.

</comment></comment></comment></comment><comment><USER3> "sudo chmod 777" \- ALERT!

</comment><comment><USER4> We need to get Aphyr do his funny picture magic with this, before we can trust it.

<comment><USER5> Just looking at the documentation is enough to make me wary: all of the default conflict resolution strategies[1] will, by design, throw away data in the event of a conflict (except for "skip" and "abort", which probably don't do what you want either).

Supposedly you can write a custom conflict handler (in Perl, naturally). But I find it worrying that a feature that's so critical for correctness is also entirely undocumented. I found an open issue to write some docs[2], which refers the curious to a single unit test that was deleted in 2011 with the commit message "Spelling cleanups, other maintenance" [3]. Doesn't inspire a lot of confidence.

[1]: [http://bucardo.org/wiki/Swap](http://bucardo.org/wiki/Swap) [2]: [https://github.com/bucardo/bucardo/issues/61](https://github.com/bucardo/bucardo/issues/61) [3]: [https://github.com/bucardo/bucardo/commit/5eeb51d5bb7dd379bb...](https://github.com/bucardo/bucardo/commit/5eeb51d5bb7dd379bbe5ca205bbd80187debbd4b)

</comment></comment><comment><USER6> I wonder what performance of Bucardo + Postgres is like vs. Galera + MariaDB. I'm mainly curious if switching from sync to async would be worth the performance benefits. Then again, I suppose since Bucardo can handle MySQL/MariaDB it'd be fairer to compare Galera vs. Bucardo on MySQL.

<comment><USER7> Does Galera still suffer from the "gap locks" and related deadlocks? I was quite horrified to find this out.

I would hope that that's not a problem with Bucardo or in fact any serious database system.

<comment><USER6> You mean InnoDB's gap locks?

[http://www.mysqlperformanceblog.com/2012/03/27/innodbs- gap-l...](http://www.mysqlperformanceblog.com/2012/03/27/innodbs-gap-locks/) [http://pooteeweet.org/blog/745](http://pooteeweet.org/blog/745)

If you actually have that problem in production, it is because you are spreading the writes out to all of your Galera servers and simultaneously doing conflicting updates/transactions.

I'm uncertain what exactly you expect any database to do in this situation? Silently discard one?

<comment><USER7> Spreading writes to all servers: yes. Conflicting updates: no; this problem happens when doing simple inserts.

See [http://www.toofishes.net/blog/mysql-deadlocking-simple- inser...](http://www.toofishes.net/blog/mysql-deadlocking-simple-inserts/) \-- that's an old blog post but this still happens with a reasonably late mysql and mariadb. I have no reason to believe that it's not a fundamental design failure. It's of course not a Galera issue per se, but rather a more serious InnoDB issue, but it causes problems very easily when using Galera.

Perhaps there's a workaround that I don't know of yet? I'd be happy to hear of it. Perhaps it's a fundamental RDBMS problem that I don't understand yet? I'd be happy to be educated if so.

As to your last question, I'd expect the database system to accept all such inserts to all instances since they don't conflict with each other in any way.

</comment></comment></comment></comment><comment><USER8> It doesn't look like they've updated their changelog page yet [http://bucardo.org/wiki/Bucardo/Changes](http://bucardo.org/wiki/Bucardo/Changes) . Does anyone know where a list of changes can be gotten?

<comment><AUTHOR> [https://github.com/bucardo/bucardo/blob/master/Changes](https://github.com/bucardo/bucardo/blob/master/Changes)

(Note that Bucardo is mirrored to github; the official repo is on bucardo.org.)

</comment></comment><comment><USER9> Are DDL statements replicated yet?

<comment><AUTHOR> No. Unfortunately, that's a limitation in postgres, itself. It's being worked on — or at least discussed; see "Event Triggers" for more info on that.

<comment><USER10> They are available starting with PostgreSQL 9.3</comment></comment></comment>


Running Ghost on a $5 Digital Ocean Droplet - <AUTHOR> https://www.danwalker.com/running-ghost-on-a-5-digital-ocean-vps/ <comment><AUTHOR> A lot of people have messaged about performance, so if there's interest I can do a follow-up with some load testing.</comment>


Plink is joining Google - <AUTHOR> http://www.plinkart.com/blog/?p=77

<comment><USER2> Awesome. Google has already been moving into visual search for quite a while, and I can't wait for it to be more useful.

</comment><comment><USER3> Congratulations guys :-) I hope this means an accelerated path to an iPhone app?

</comment><comment><USER4> Nice win for the plink guys... Google is clearly headed that way, good for both parties!

</comment><comment><USER5> Am I the only one that thought of the Plink the Putty companion?</comment>


Paypal might be disclosing user's name by email - <AUTHOR> https://translate.google.com/translate?sl=ru&tl=en&u=https%3A%2F%2Fhabr.com%2Fpost%2F431772%2F <comment><USER2> When I read the title, I thought it might just mean people who use their full names in their e-mails, but nope, it reveals a name just by sending an invoice. Very interesting. I wonder how PayPal will respond.</comment>


Chromebook to the "rescue" - <AUTHOR> http://blog.knolcano.com/chromebook-to-the-rescue

<comment><USER2> Multitasking with browser tabs is not that hard... Ctrl+Tab to start with, more here: [http://www.google.com/support/forum/p/Chrome/thread?tid=16c2...](http://www.google.com/support/forum/p/Chrome/thread?tid=16c23e5647c48367&hl=en)

catch(.com) notes instead of textpad/notepad

<comment><USER3> I've already worn out my keys on this one, but I find the refusal (it's a "design decision") to support most recently used (MRU) tab switching order in the Chrome browser to be extremely frustrating and obstinate. I am quite often trying to switch back and forth between two or three tabs within a larger open tab set. And so are many others, apparently, from all the comments online on this topic.

What happened to recognizing and supporting _how people actually work?_

Yes, there are extensions that kind of get around this, but the Chrome security model prevents their hooking Control-(Shift-)-Tab.

</comment></comment><comment><USER4> If you think the battery life of Chromebooks is impressive now, wait till they get ARM chips (hopefully this fall). And yes, hopefully the ARM ones at least will be ultra-slim, too.

</comment><comment><AUTHOR> Who do you think Google expects to buy the Chromebook?</comment>


Simple SFTP Hosting - <AUTHOR> https://rsync.net/products/sftp.html <comment><AUTHOR> After all of these years I am surprised at the number of new clients that are written against an SFTP back-end.

For instance, foldersync[1], restic[2], rclone[3][4], and for ESX(i) (!!) I have just learned of "VerticalBackup"[5].

It makes me happy that a stock, standard OpenSSH serving up what is basically a UNIX home directory is still so powerful and useful.

Contrast this with the elegance and state of the art that is ZFS and how immutable snapshots simultaneously solve both retention schedules _and_ ransomware/mallory[6].

[1] [https://www.tacit.dk/foldersync/](https://www.tacit.dk/foldersync/)

[2] [https://restic.net/](https://restic.net/)

[3] [https://rclone.org/](https://rclone.org/)

[4] [https://rsync.net/products/rclone.html](https://rsync.net/products/rclone.html)

[5] [https://verticalbackup.com/](https://verticalbackup.com/)

[6] [https://www.rsync.net/resources/howto/snapshots.html](https://www.rsync.net/resources/howto/snapshots.html)

<comment><USER2> @rsync I've read you're a major FreeBSD shop. What's your currently feeling about FreeBSD? How's the current state of their OS support methodology? How's stability of the OS these days? Your thoughts on ZFS now separated from FreeBSD. Etc.

You're one of the few individuals who have the breadth and depth of experience with FreeBSD for commercial use, I'm hoping to hear you're thoughts.

<comment><USER3> Most of my career has been working for shops running FreeBSD.

FreeBSD is doing just fine. ZFS change is not interesting. Previously upstream was Illinois, now it's Linux. Support for releases changed but for the better. Stability is still great, but it will be a while before I see servers with 10 years uptime on modern kernels again. If I'm lucky it won't happen because they're getting patched...

</comment></comment></comment><comment><USER4> Wow, the prices are down to 2cents/GB, cheaper than standard AWS + without the fees. [1]

Back in 2015, it was 20cents per GB. [2]

Besides ZFS with snapshots, one of their benefits vs "dumb" cloud storage is you can run a server side component, e.g. borg which requires both a client and server. They even have slightly reduced pricing (which isn't that big a deal anymore, it was 3 cents vs 8-20 back in 2016 [3]) if you only need borg and don't need the configuration support. [4]

EDIT: And, tons of other things I forgot about: git, s3cmd, and others! [5]

[1] [https://www.rsync.net/pricing.html](https://www.rsync.net/pricing.html)

[2] [https://web.archive.org/web/20150509033924/https://www.rsync...](https://web.archive.org/web/20150509033924/https://www.rsync.net/pricing.html)

[3] [https://web.archive.org/web/20160926192841/http://rsync.net/...](https://web.archive.org/web/20160926192841/http://rsync.net/products/attic.html)

[4] [http://rsync.net/products/borg.html](http://rsync.net/products/borg.html)

[5] [https://www.rsync.net/resources/howto/remote_commands.html](https://www.rsync.net/resources/howto/remote_commands.html)

<comment><AUTHOR> To be fair, we have let s3cmd wither on the vine a bit - I am not sure if we've updated it in the past 18 months.

The reason being, anything s3cmd can do, rclone can do better. Right ?

<comment><USER5> > _The reason being, anything s3cmd can do, rclone can do better. Right ?_

But is it better than s5cmd?

</comment></comment></comment><comment><USER6> I thought this was refreshing to see :)

> We are NOT reselling another cloud - we built and maintain our own > infrastructure and have complete control over our platform.

> We've been doing this since 2001.

<comment><USER7> Weekly warrant canaries too!

[https://www.rsync.net/resources/notices/canary.txt](https://www.rsync.net/resources/notices/canary.txt)

</comment></comment><comment><USER8> 15 GB of storage would be nice.

Go to the "Simple Pricing" page. Click the 0-999 GB for 2 cents/GB link. That's great pricing.

Select 15 GB.

Get message telling me the minimum is 500 GB.

That's not the kind of company I'm going to trust with my data. What other kind of BS are they going to try to pull if they're willing to do something like this before I'm even a customer?

Maybe they don't want small customers like me. That's okay. Just be honest about it on your website.

<comment><AUTHOR> "That's not the kind of company I'm going to trust with my data. What other kind of BS are they going to try to pull if they're willing to do something like this before I'm even a customer?"

I am sorry if that is confusing - it is not in any way meant to be a dark pattern or misleading.

We can't charge people, for instance, 30 cents per month (as in your example) - the fees or processing your card (or paypal payment) would be larger than that.

The minimum order of 500 GB computes to $10 per month. If you have a very tight budget, please email firstname.lastname@example.com and I will personally figure out a way (annual payment, whatever) to make it work for you. It will be larger than 15 GB, however, unless you want to pay 5 years in advance.

I was just about to change the wording on the pricing page to be "500-9999 GB" but that's even more confusing, IMO ... I think most people understand that processing fees dictate a minimum order ...

<comment><USER9> >We can't charge people, for instance, 30 cents per month (as in your example) - the fees or processing your card (or paypal payment) would be larger than that.

You can - you just need to eliminate the card processing from most transactions in these cases. Allow users to top up a balance with a minimum buy-in that meets your processing threshold, and decrement that balance as services are consumed.

This does require some degree of effort in terms of implementation and accounting, but it drastically increases the appeal of your service to small businesses and personal users.

<comment><USER10> > This does require some degree of effort in terms of implementation and > accounting

I feel like you're really downplaying what would be involved. It is a great suggestion, but the effort to manage and implement doesn't sound trivial. Personally, the few systems that exclusively use this model drive me nuts. Instead of just paying for what I want I have to add to this account, then pay for what I want.

For the business owner, they now have to account for and secure new account balances. At a large scale (Starbucks has $1.6 billion [1]), you can likely cover any additional regulatory and accounting costs and also make money. On a small scale it can be a liability that costs more than it brings in.

[1] [https://mobile.twitter.com/jp_koning/status/1160387043790413...](https://mobile.twitter.com/jp_koning/status/1160387043790413824)

<comment><USER9> Dealing with customer accounts that carry a credit is a rather mundane and common bookkeeping exercise. Experienced accountants are unlikely to balk at such a suggestion.

</comment></comment></comment></comment></comment><comment><USER11> Just signed up for 100gb Borg hosting for $18 for a year! That ain't bad. Some lints (no zfs snapshots) but Borg should have snapshots covered. Waiting for activation and will start playing around...

<comment><USER11> More details here. [https://www.rsync.net/products/borg.html](https://www.rsync.net/products/borg.html)

<comment><USER12> Also check out borgmatic for configuring Borg. Works well with rsync.net: [https://torsion.org/borgmatic/](https://torsion.org/borgmatic/)

</comment></comment></comment><comment><USER13> I used to use this for <10GB with the old pricing model. Stopped when the family needed something they could use (ended up on Office Home + OneDrive). I could definitely find a use for 1-5GB of storage, but the minimum is 500GB ($10/USD month or $108/USD annually).

Sorry John, looks like you had to chase me a bit due to an expired credit card. Hope I didn't cost too much for support.

The most useful thing to me would be being able to use git clone and rclone to pull files closer to me, but I bet it's not an intended use case to use rsync.net as a proxy.

</comment><comment><USER14> Does rsync.net have any way of doing two factor authentication, at least for administration purposes?

Couldn't find anything on the site. Sure, I get that it's probably primarily built for unattended automated backups, but still.

<comment><AUTHOR> Yes. Our web based admin portal / management interface has 2FA options inside.

There are also options to lock your entire account (or just your .ssh/authorized_keys file) to be read-only. The snapshots are always immutable, but you can toggle your _entire account_ to be so, as well.

Finally, inside the web based management is an "idle alert" where you can alert yourself (via email, SMS, pushover or webhook - or any combination thereof) to your account being unchanged for a (user configurable) amount of time.

<comment><USER14> Nice! These points seem like things you might want to put on the web site. (Did I miss it? I think I read through all of the public tech details/support pages though.)

Btw: I found [https://secured.fyi/Backup/rsync.net](https://secured.fyi/Backup/rsync.net) while googling this topic, it seems at least partially incorrect.

</comment></comment></comment><comment><USER15> Would mounting an SFTP file system using FUSE and then mounting encfs or veracrypt on top of that be reasonably reliable? I'm always concerned about my data at rest on servers others have access to.

<comment><AUTHOR> Yes. sshfs/FUSE is a very common use-case among rsync.net customers. However, borg (and to a lesser degree, restic) is the typical solution for encryption at rest.

<comment><USER16> I use your borg-only service, and love it.

I recall offering to donate you the .io domain at some point too!

</comment></comment></comment><comment><USER17> I did some searching around and finally settled on rsync as a backup system about 5 years ago, and I've been happy since. I don't understand the fixation on finding the lowest price solution - pay more, get more. With rsync you get their in-house hardware and engineers on the support desk. I use it to back up my FreeNAS ZFS shares, which is dead-simple process, and a bunch of web servers. Getting historical snapshots is genius. I also love being able to use any SFTP client I like instead of some dedicated client or a web interface. My data is not available through a web page - that's exactly the way I like it. Bravo Rsync, keep up the good work.

</comment><comment><USER18> That snapshot[0] surely doesn't reflect the reality. Last Modified date is "today" for all snapshots when you advertize an immutable storage. You should also add the current date in the picture (just in case).

[0] [https://www.rsync.net/images/duck2.png](https://www.rsync.net/images/duck2.png) on [https://archive.is/3kK28](https://archive.is/3kK28)

</comment><comment><USER19> Would consider using this if there wasn't a 500GB minimum.

</comment><comment><USER20> I never realized how good their pricing is!

<comment><USER4> It's new, just a few years ago it was 20c! [https://web.archive.org/web/20150509033924/https://www.rsync...](https://web.archive.org/web/20150509033924/https://www.rsync.net/pricing.html)

</comment></comment><comment><USER21> Wow, much cheaper than it used to be. I left them as a customer some years back purely based on price, but now I'd consider moving back. Other than being undercut by AWS (now also GCP) they were great.

</comment><comment><USER22> The price levels have a gap between 1TB and 10TB, or am I missing something?

<comment><USER23> 9999 GB roughly equals to 9,999 TB

</comment></comment><comment><USER24> Here is another option if you don't have much to store - [https://cloudbuddy.cloud](https://cloudbuddy.cloud)

</comment><comment><USER25> Is there option for having monthly/yearly snapshots?

<comment><AUTHOR> Yes. You can specify any arbitrary schedule of days/weeks/months/quarters/years.

They are efficiently stored so if your data doesn't change much, they will take up almost no space - even though they present your _entire filesystem_ from that date.

</comment></comment><comment><USER26> What is Physical Media Shipment?

<comment><AUTHOR> If you need your data _right now_ and your network connection isn't fast enough to do it in a timely manner, we will dump your data to a bare SATA drive and fedex it to you.

Alternatively, if you have many TB to upload and your network connection makes that unworkable, we will _accept_ your bare SATA drive for the onloading process.

<comment><USER26> Awesome, thanks for the response.

</comment></comment></comment><comment><USER27> Too expensive given the app.

S3/Google give around 2 cents/GB a month (lower for cold storage) but you also get to access it through the web... what's the benefit with this?

<comment><USER20> [https://rsync.net/resources/howto/snapshots.html](https://rsync.net/resources/howto/snapshots.html)

You get 7 free snapshots that do not count against your quota.

Additional snapshots are charged based on the byte diffs, not total size.

It uses a standard protocol and anything that uses ssh can conceivably communicate with it.

Oh, and you are not charged for transfer.

<comment><USER28> How is this sort of thing not abused?

Say I generate logs at say 1 GB/hr and store them in files named `logs.$(date +%Y%m%dT%H)` and I have it set up to take snapshots every 4 hours and delete files older than 5 hours, then I could have essentially unlimited storage and only ever pay for 5 GB/month?

<comment><USER29> you only get 7 free snapshots, and if the others are totally different then your live data, you'll pay for them.

<comment><USER28> Ok, I had understood it as 7 free snapshots per day.</comment></comment></comment></comment></comment>


D3-dag – Layout algorithms for visualizing directed acylic graphs - <AUTHOR> https://github.com/erikbrinkman/d3-dag <comment><USER2> Can't believe no ones mentioned webcola yet, which implements some very cool layout algorithms and is the result of cutting edge academic research. [https://ialab.it.monash.edu/webcola/](https://ialab.it.monash.edu/webcola/)

<comment><USER3> Webcola is great -- but no docs or support.

<comment><USER4> Support as in commercial support, a bug tracker or what?

</comment></comment></comment><comment><USER5> I'm using vis.js to visualize DAG of large train networks, I love how the output looks: [https://i.imgur.com/BAwbyB1.png](https://i.imgur.com/BAwbyB1.png)

I really wish the computation would be offloaded to web workers though. Right now it completely freezes the browser when updating very large graphs (above around 1.5k edges and .5k nodes in my experience).

Eg of a much larger graph after 15min trying to stabilize: [https://i.imgur.com/f06n9Ic.jpg](https://i.imgur.com/f06n9Ic.jpg)

<comment><USER6> Would you be willing to pay for something that ran much faster?

</comment></comment><comment><USER7> Another great option for the same family of problems is Viz.js[1], which is essentially Graphviz in your browser. Offers a number of different layout models and a ton of configuration options.

[1] [http://viz-js.com/](http://viz-js.com/)

<comment><USER8> I love graphviz (ever since Sanjay Ghemawat of mapreduce fame showed me how to use it in a compiler to debug CFGs). However, it's the main limitation, compared to these other systems, is that it's algorithms aren't incremental/interactive. They are a bit dated in that way.

</comment></comment><comment><USER9> I use dagre and dagre-d3 already, which do the job very well.

[https://github.com/dagrejs/dagre-d3](https://github.com/dagrejs/dagre-d3)

</comment><comment><USER10> I recently wanted to render some graphs and found there are a confusing variety of options. In particular [https://github.com/dagrejs/dagre/wiki](https://github.com/dagrejs/dagre/wiki) seems to be layout focused and then plugs into a bunch of other systems including d3. It would be nice if one of these tools was able to describe itself in contrast to the others.

<comment><USER11> Some conceptions of "the graph layout problem" are in fact NP complete.

I wonder if some of the variety you're seeing comes from different approaches people take to keeping the problem tractable.

</comment></comment><comment><USER12> The numbers in the circles are not neatly centered. They're a little off. Fixing that (center them perfectly) would make them visually much more appealing.

<comment><USER13> That will involve some optical alignment considering the actual shapes of the glyphs? I imagine one would get this feeling of not perfectly aligned even when the center of the bounding box of the numbers coincide with the center of the circle.

<comment><USER14> You could use the box from baseline to ascender instead of descender to ascender. Usually there aren't many strings where that would look imbalanced.

Looking at the actual characters risks having different alignment for different nodes, which would look bad as well.

</comment></comment></comment><comment><USER15> It hadn't even occurred to me that there were serious academic attempts at visualizations of this sort. In addition to OP, this whole discussion is full of great alternatives to d3-force (my usual go-to). Kudos to all!

<comment><USER16> Yeah, this suprised me too when I first learned it, but there's a whole research field and plenty of books about Graph Visualization [0].

[0]: [https://link.springer.com/referenceworkentry/10.1007%2F978-3...](https://link.springer.com/referenceworkentry/10.1007%2F978-3-319-63962-8_324-1)

</comment></comment><comment><USER17> This library doesn't seem like it gets you much further than the original d3-hierarchy. If you are looking to render a graph that contains cycles, I have found that using the force-graph from d3 is a pretty simplistic approach; I recently used it to render a hierarchy that that contains cycles in a "tree- like" format, d3 is a very powerful and we'll constructed library if you take the time to understand what it is capable of

</comment><comment><USER18> Of all the tools mentioned in this thread: how do they scale?

We have DAGs that cause graphviz to choke (tens of minutes running time, if it ever finishes). So far I'm not aware of anything that scales better than graphviz with similar results to the dot layout engine.

<comment><USER19> Even if you can calculate the layout for a very large DAG in a reasonable time, the zooming and scrolling required as a user to make sense of it and follow interesting paths makes it unwieldy in my experience. One approach to use with very large DAGs is to interactively expand / collapse nodes - for a simple tree example imagine something like a treeview control for browsing a file system, expanding folders of interest to drill down rather than viewing all expanded. For non-tree DAGs you need the layout algorithm and you might need to automatically collapse unrelated sections as you expand nodes along a path to keep the time reasonable.

This approach can be combined with lazy loading data as you expand a node as another performance enhancement.

With some effort you can add this interactivity to vis.js or d3. I have previously used a commercial product called KeyLines [1] which has this feature, uses WebGL to run the layout in gpu.

[1] [https://cambridge-intelligence.com/keylines/layouts/](https://cambridge- intelligence.com/keylines/layouts/)

</comment></comment><comment><USER20> Missed an opportunity for a cool dag-related name.

"d3-dagger"

<comment><USER21> [https://google.github.io/dagger/](https://google.github.io/dagger/)

</comment></comment><comment><USER22> Can anyone recommend a JS library which calculates "optimal" node positions for an acyclic graph under the following constraints:

\- Nodes are rectangles that have width and height (they'll later be rendered as HTML divs) and should not overlap

\- If possible, edges should not overlap with nodes / cross any node's boundaries

?

I really just need the positions as I would like to have precise control over how and when things are rendered. So far, I've been using WebCola for this and while it works _ok_ , it tends to become quite slow in some situations.

</comment><comment><USER23> I've always found it incredibly challenging to layout control-flow graphs (used a lot by compilers), so nice that this exists!

<comment><USER24> I don't understand that remark. This library is for directed acyclic graphs. Control flow graphs are directed, but generally have cycles.

<comment><USER23> Yes, there are cycles, but you want to draw them as DAGs because the "backlink" (the thing that loops back up to the entry point of a loop) isn't on the same footing as the rest of edges.

<comment><USER24> The layout still needs to make room for the back links, doesn't it? Thinking of that, with CFGs, you know which edges are backlinks, so you can put the backlinks in in reverse direction, do the layout, and then draw them with the arrow heads at the "wrong" side.

So, yes, I see that it can be useful.

</comment></comment></comment></comment><comment><USER25> The only decent option other than graphviz that I've found for visualizing DAGs is OGDF: [http://amber-v7.cs.tu- dortmund.de/doku.php/start](http://amber-v7.cs.tu-dortmund.de/doku.php/start)

Everything else tends to be force-directed which just doesn't work very well.

<comment><USER26> I've had good luck with [https://github.com/OpenKieler/elkjs](https://github.com/OpenKieler/elkjs)

</comment></comment><comment><USER27> The edges in examples in README don't have any direction. As such, how can this be a directed graph visualization?

</comment><comment><USER28> All these graph layout algorithms should ideally be run on the backend. Most of these js libraries are missing the point in trying to run layout in Javascript on the frontend. If you have a huge graph, you can't view all of it at once anyways and you're viewing a subset of it any 1 moment.

So the ideal library should be running the layout on the backend and the frontend should be plain dummy, simply showing each graph node at the position co-ordinate sent from the back-end.

<comment><USER29> Then you sacrifice the potential for fluid dynamic layouts. Everyone is walking around with portable supercomputers. May as well use them.

<comment><USER30> We find that is ok if you build it right for the bulk of business settings. The intuition is that if you can do youtube, streaming layout updates should not be a problem.

I would agree that building a distributed architecture that achieves this is a distraction for most solutions- oriented teams. Before you get to the benefits, most/all teams would drown from the complexity.</comment></comment></comment>


Ask HN: How to test or proove logic programming? - piotr-yuxuan I've been writing some logic code in core.logic, a clojure port of Will Byrd's miniKanren. To make sure my program is correct for any suitable input (not merely for the example I provided during development), I feel I should write some proof.
Do you know any tool / any manual method to proove a programm written with logic programming? I'm reading the Reasoned Schemer to get further acquainted with logic programming, I could translate my logic Clojure code into logic Scheme if necessary.
In case you'd ask for any code example, you can have a loook here: https://github.com/piotr-yuxuan/polygam However, just keep in mind it's a big mess currently under heavy development.
I already know a (very tiny) bit about formal proof of a program and I love to learn. Thanks in advance for your kind replies. <comment><AUTHOR> I'm sorry I know nothing about _core.logic_. However, if you are familiar with Prolog, and sufficiently motivated to work through cited references, this paper is a good place to start. [1]

[1] [https://arxiv.org/abs/1412.8739](https://arxiv.org/abs/1412.8739)

<comment> piotr-yuxuan Great, thank you very much for your help :-)</comment></comment>


Getting started with a SaaS business as an indie maker - <AUTHOR> https://hyperping.io/blog/getting-started-with-a-saas-business-as-an-indie-maker <comment><AUTHOR> The ability to create products by one person and make a living from it is being democratized? Most people, (developers, mostly) don't see the alternative yet. In this post, I share how I gained the mindset from my personal experience and share 5 actionable, opinionated steps!</comment>


We could've had the Moon, but instead ... - <AUTHOR> http://www.thepaincomics.com/weekly110713.htm <comment><USER2> A second Moon program could not hope to elicit the same combination of fear, funding reduction immunity and pure profiteering (shielded by 'national security' and state secrets).

But it appears the NSA even has their own secret space program <http://en.wikipedia.org/wiki/Blackstar_(spacecraft)>

</comment><comment><USER3> Yeah, but $450 billion isn't really a lot of money. What's the yearly interest on the national debt?

[http://money.cnn.com/2011/02/08/news/economy/national_debt_i...](http://money.cnn.com/2011/02/08/news/economy/national_debt_interest_costs/index.htm)

</comment><comment><USER4> NASA needs to dedicate its pittance of a budget to another manned Moon mission right now about as much as I need another person to point out to me just how much money our government likes to spend on military boondoggles.

</comment><comment><USER5> When will the pain end, asks the author of this cartoon. Right now, says I, clicking the "close tab" icon.</comment>


The LLVM 64-bit ARM64/AArch64 Back-Ends Have Merged - <AUTHOR> http://www.phoronix.com/scan.php?page=news_item&px=MTY5ODk

<comment><USER2> This has all happened impressively quickly. Apple released their ARM64 implementation at the end of March ([http://article.gmane.org/gmane.comp.compilers.llvm.devel/716...](http://article.gmane.org/gmane.comp.compilers.llvm.devel/71638)). Whether to merge the existing AArch64 in to ARM64 or vise versa was discussed and decided the following week ([http://article.gmane.org/gmane.comp.compilers.llvm.devel/717...](http://article.gmane.org/gmane.comp.compilers.llvm.devel/71737)), and a good portion of the work was done by the end of April ([http://article.gmane.org/gmane.comp.compilers.llvm.cvs/18538...](http://article.gmane.org/gmane.comp.compilers.llvm.cvs/185388/)). The resulting backend (now named AArch64) contains the best of both AArch64 and Apple's ARM64. A lot of this merging work has been driven by ARM Ltd. itself, who of course as of version 6 build their official compiler on LLVM+Clang ([http://www.arm.com/about/newsroom/arm-compiler-builds-on- ope...](http://www.arm.com/about/newsroom/arm-compiler-builds-on-open-source- llvm-technology.php)).

If you're interesting in LLVM/Clang news and developments, you may be interested to subscribe to my [http://llvmweekly.org](http://llvmweekly.org) (and/or follow @llvmweekly)

<comment><USER3> > This has all happened impressively quickly.

I'm confused by this claim. Apple has an ARM64 device shipped to millions of people since September 2013.

It appears to me that they kept their compiler improvements a secret for an additional six months after the public release of a product using them, and so the fact that it's only taken an additional couple months to complete the contribution doesn't really strike me as fast.

What am I missing here?

<comment><USER4> Apple can actually do this theoretically since LLVM uses "University of Illinois/NCSA Open Source License" [1].

This license is much like BSD License, which doesn't require to release modification.

For Example, Sony uses LLVM as part of the PS4 Toolchain[2], but they also doesn't release their code.

[1] [http://llvm.org/releases/2.8/LICENSE.TXT](http://llvm.org/releases/2.8/LICENSE.TXT) [2] [http://llvm.org/devmtg/2013-11/slides/Robinson- PS4Toolchain....](http://llvm.org/devmtg/2013-11/slides/Robinson- PS4Toolchain.pdf)

<comment><USER5> I was under the impression that Sony pushed upstream a lot of the improvements they made to clang/llvm, but they had to wait until the PS4 was announced to do so.

<comment><USER4> Well, I doesn't 100% sure that Sony didn't release PS4 LLVM code yet, maybe my memory is wrong?

</comment></comment></comment></comment></comment><comment><USER6> Aside: ARMv8 has made the messy ARM terminology even worse! Quick summary:

ARMv8 (version 8 of the ARM architecture) has two execution states. AARCH64 is the 64-bit mode and AARCH32 is the 32-bit mode. These two modes use two different instruction sets, A64 and A32 respectively (and T32 which is Thumb). A32 is (sort of) compatible with ARMv7 (which is the archiecture version introduced with the Cortex cores).

You will see A64 erroneously used to refer to AARCH64 and ARMv8. You will see AARCH32 erroneously used to refer to ARMv7. You will probably find errors in this post. ARM64 (which is what Linux calls it) seems to just mean "that whole 64 bit malarkey".

And finally, the ARMv8 cores are the Cortex-A53 and -A57 (all the ARMv7 cores are Cortex-An where n is a single digit).

GOT IT?

</comment><comment><USER7> However many arguments there are for the value of standards bodies, this is an impressive example of what happens when stewardship of a technology is in the hands of a company with a monetary incentivize to keep quality high and get changes agreed-upon quickly.</comment>


Need help build the app - <AUTHOR> I am getting 5-6 visitors daily. How can I improve it? Which language I should use. I prefer Python. Please guide me.<p>http://talkproductivity.xyz/cyh/clear-your-head.html <comment><USER2> Could you elaborate a little on what you're building here? What is it supposed to do? Who is it for? What's your goal for building this application?

</comment><comment><USER3> You can write a todo-list app in any language. See [http://todomvc.com/](http://todomvc.com/)

</comment><comment><USER4> when I click on the textbox it disables. also, what are the amazon ads about?</comment>


Hard to produce financial statement of the startup? - <AUTHOR>

Hi,
Hoping to draw from the wealth of experience from hacker news again.
I requested for the previous financial records and the current financial states of a startup before joining as a partner and the founder seem to be hesitating and taking a long time to produce it. When I became firm that I need to see it before getting to work, it took him a week to tell me that it'll take another week to get an 'official' version.
I personally feel pretty sketch about this since his accountant should keep track of where the money is anyway and he just has to take it from his cabinet and give it to me but am I mistaken here? Is it in fact a complicated document to compile? I'm in Canada and tax day is ... today. Shouldn't it be pretty easy to come up with the numbers?
Thanks guys! <comment><USER2> If you're truly proposing to join as a _partner_ , it sure sounds like something's wrong.

Although ... how complicated is your tax system? Trying to get anything like this out of US accountants in the run up to our equivalent April 15th is hard, since they are trying to satisfy the maximum demand for their services.

How long has he been trying to hold you off (when did you first ask)?

<comment><AUTHOR> I believe taxes are due to be done today, so likely, I'm not asking the accountant for more work than that already done.

I first asked 2 months ago which he sort of brushed off. Since I was serious that I need to see it before working, it has been a week and he's saying it'll take another week

<comment><USER2> But I'd assume they're just too busy to do _any_ additional work. Especially since, at least in the US, tax bookkeeping is different than the normal "give you a picture of the company" bookkeeping that is what you need (I read _long_ ago (before it all got computerized) that some companies legally keep two sets of books because of this).

I wouldn't be at all concerned about him needing a delay right now, but brushing you off 2 months ago? That's not a good sign, although it might not be too bad of a sign.

Are you proposing to put any money into this venture, or just sweat? If the latter, what's your opportunity cost?</comment></comment></comment>


JPMorgan's Athena has 35M lines of Python code, won't make upgrade deadline - <AUTHOR> https://www.techrepublic.com/article/jpmorgans-athena-has-35-million-lines-of-python-code-and-wont-be-updated-to-python-3-in-time/ <comment><USER2> It's a decade too late to be saying so, but the Python foundation really missed the boat by not developing a version of the Py2 CPython interpreter that was instrumented to support straddling code.

The 2to3 approach of statically translating Python was a bust—the language is just too dynamic for that. Instead, they should have leaned in on Python's dynamism with an instrumented interpreter that supported configurable levels of strictness, on a module-by-module basis.

<comment><USER3> No need for the Python foundation to do it. It could be a commercial offering. It still might be... even just offering security maintenance for Python 2.7. But I guess the need isn't that great, even if there are some whales like JPMorgan who might be required to purchase security maintenance if available for a year or so until they catch up.

</comment></comment><comment><USER4> It will probably be cheaper and lower risk for these big companies to pay someone to backport security patches to Python 2.7 than to upgrade 35M lines of code to Python 3.7.

<comment><USER5> But that's not the real cost. The real cost is that your new development has to be in Python 2.7. You don't get any of the new features, but more importantly you can't use any new libraries that are Python 3 only.

You lose a huge amount of the value of Python if you can't participate in the ecosystem. You're effectively left with 35M lines of Pascal or COBOL - on the one hand, a perfectly adequate and workable language for running a company like JPMorgan, it's been done before, and one which any skilled programmer ought to be able to pick up and work with for at least incremental changes. On the other hand, your new software development won't be in this codebase at all - developers won't want to use a dead language. They'll interoperate with the legacy code by treating it like legacy code. All your incremental changes will just be building APIs to call it from some other language (perhaps Python 3, perhaps something else entirely), which will work, it's just probably not what you expected to have when you wrote those 35M lines of Python.

</comment></comment><comment><USER6> Over 10 years to prepare, still not ready. Poor risk management.

<comment><USER7> 10,000 production changes per week, but no person-hours available to backport security patches for three months while the transition wraps up.

</comment></comment><comment><USER8> Oh, boo hoo. Quarterly profit of some 9.8 billion. My heart bleeds.

Maybe some of that can come back to the python community and an investment in open source tooling? Yeah right.</comment>


Lambda Local Environments Are Complicated - <AUTHOR> https://ryanmccue.ca/lambda-local-environments-are-complicated/ <comment><USER2> They are and the most common strategy I've seen people doing is to deploy separate environments to create dev environments which makes it even more complicated IMHO. I am not sure if other providers makes it more easy though.

For us, that we are 100% in AWS, with Lambdas/S3/DynamoDB it's been very hard to create local environments and being a small team we have ignored it and testing our features all three of us in the same "dev" environment before going to production.</comment>


Ask HN: Is there a "dead" links page for HN? - <AUTHOR>

Is there a page on HN that has all the killed threads listed in one place? <comment><USER2> Yes, it's <http://news.ycombinator.com/killed> but it is only visible to editors.</comment>