File System Improvements to the Windows Subsystem for Linux - <AUTHOR> https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/ <comment><USER3> I haven't dug deep into it yet. But, I'll say that I've been having fun compiling (command line) Linux apps with Clang and visually debugging them with GDB all through the UI of VStudio Community Ed and without a VM. /shill mode

Linux is not a target for the code I'm working on. But, I like to keep my code as cross-platform as possible. Between this setup and prototyping code on several compilers via goldbolt.org, staying standard-compliant and compiler- agnostic is much easier than ever before.

<comment><USER4> [https://godbolt.org/](https://godbolt.org/) ? Goldbolt.org seems to be fax sw.

<comment><USER3> Yep. Typo.

</comment></comment></comment><comment><USER5> Network filesystems! That's the last big feature I've been needing for regular use of WSL for light tasks. There's still enough weird behavior I wouldn't look at WSL as a complete Linux replacement, but it sure is a lot nicer than Cygwin/msys2.

They don't say anything about FUSE, I wonder if this work is at all related?

<comment><USER6> I am pretty sure this update does not add FUSE support. FUSE would add the ability to use SSHFS, which is the network file system support I'm interested in.

If FUSE would be useful to you, please vote for it at [https://wpdev.uservoice.com/forums/266908-command-prompt- con...](https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash- on-ubuntu-on-windo/suggestions/13522845-add-fuse-filesystem-in-userspace- support-in-wsl)

<comment><USER7> There is a Windows-native SSHFS client[1]. I have it installed on a Win10 VM so can confirm it "works" albeit I haven't needed to use it for anything so cannot confirm how well it works.

[1] [https://github.com/Foreveryone-cz/win- sshfs](https://github.com/Foreveryone-cz/win-sshfs) I think is the currently maintained version but you're welcome to confirm that independently.

<comment><USER8> I helped resurrect this to support Windows 10 a year or so ago. It works, but because of its reliance on Dokany (a FUSE-like usermode file system library), there are a lot of ways it still doesn't work perfectly.

It was a lifesaver for me when I was doing development on embedded Linux devices (Pi/Edison et al). But if you're not tied to remote hardware, WSL is an infinitely better, faster, much more reliable dev process.

The biggest issue I ran into with win-sshfs was its tendency to bodge git repo status if you maintained the repo on the mapped folder.

<comment><USER9> What do you mean by "bodge git repo status"? One thing I noticed is that, git gets confused if you clone under Linux and then try to access it via win-sshfs from Windows. The other way it works fine, i.e. clone from Windows, then other actions work fine on both sides.

</comment></comment></comment></comment></comment><comment><USER10> WSL is really interesting. I switched to the Mac in 2006 but I've never really used the fact it's built on Unix much because it's so different and frankly outdated comparede to the Linux systems I work on. When I want to do 'Unixy' stuff at home I run a Linux VM in VirtualBox. But WSL seems to offer the best of both worlds – a solid mature desktop environment with plenty of well supported professional level apps and an approaching first class Linux environment baked right in. I'm still very happy on the Mac and would miss a lot of Mac specific features and applications, but this is the first thing to happen in Windows Land that's made me even think of the possibility of wanting to run Windows at home for over 10 years.

Edit: What would be the nearest thing to WSL on a Mac? VirtualBox is a bit heavy-weight. Maybe something based on Hyperkit and Docker?

[https://github.com/moby/hyperkit](https://github.com/moby/hyperkit)

[https://docs.docker.com/docker-for-mac/](https://docs.docker.com/docker-for- mac/)

<comment><USER11> Likewise - except for me it's been 15 years. Switched over in 2001, and didn't look back. Running WSL creators edition is really a delight. It's not _quite_ there yet - still has a year or two to bake - but the progress is great. They just added serial support yesterday (which is important for a bunch of the linux binaries I run). For the very first time I'm honestly considering sitting down to a Windows System to do work - I never thought I would have said that - I've got * nix in my finger DNA, so powershell, despite being incredibly powerful, just never managed to get into my workflow.

But now - It's best of both worlds - solid User Environment + Solid Unix CLI. Even better, it's a _linux_ CLI, which means I get all the apt-get goodness that I've been missing on OS X (which admittedly has a pretty good brew install infrastructure).

<comment><USER12> For me at least the big problem is malware. Running Arch Linux means I do not need to worry about malware. Ransomware. Crap like that. Yes, I am a reasonably experienced computer user and it's quite unlikely I would click anything "wrong" but not having to worry about a single bad click causing hours of recovery is a big plus.

Edit: while I understand downvotes I would be much happier if you'd educate me where I am wrong.

<comment><USER13> _Running Arch Linux means I do not need to worry about malware. Ransomware. Crap like that._

I didn't downvote you and understand your concern. However, keep in mind that X11 has no GUI isolation. So, an attacker could snoop all your keyboard and mouse events, make screengrabs, etc. through a compromised web browser.

Wayland provides GUI isolation, but is not widely deployed yet. Most X11 users are only safe because the X11 desktop is not a large target group, but it is probably less secure than Windows, which does GUI isolation between processes of different privilege levels, sandboxing for Store apps, etc.

<comment><USER14> That's true, but it only matters once the attacker manages to run code - <USER2> is significantly harder to achieve on Linux, due to diversity (opposite of win monoculture) and mostly sane defaults (no local directory in executable or dll search directory; file name not enough for execute permission).

Buffer overflows and targeted attacks are comparable in ease, but if you are not targeted, you are way safer on Linux.

</comment></comment></comment></comment></comment><comment><USER15> Does it suffer from similar quirks as Cygwin (.exe suffix removal, symlinks, permissions mapping)?

\- [https://cygwin.com/cygwin-ug-net/using- specialnames.html](https://cygwin.com/cygwin-ug-net/using-specialnames.html)

\- [https://cygwin.com/cygwin-ug-net/using.html#pathnames- symlin...](https://cygwin.com/cygwin-ug-net/using.html#pathnames-symlinks)

<comment><USER16> Cygwin (64bit) didn't work for me in the latest creators update (actually I think it broke even before that). Now I am trying things using WSL itself, so far it has been a productive move.

File permissions and security descriptors proved to be quite a hassle when removing Cygwin requiring multiple takeown and cacls hacks to remove some of the files.

On the flip side I saved some disk space too.

<comment><USER17> OTOH when I wanted to have pretty pictures on my lock screen but without the Microsoft ads, I needed to rely on Cygwin to blow away the folder that caches the pictures deep in ProgramData/.../SystemData/*/ReadOnly - the lock screen image setting API has a lot of bugs. Without Cygwin, I was fiddling with cacls and takeown in an elevated prompt trying to blow away the folder. An elevated Cygwin prompt and it was just rm -rf.

(Bugs: [https://www.google.co.uk/search?q=lock+screen+windows+10+ima...](https://www.google.co.uk/search?q=lock+screen+windows+10+images+broken))

<comment><USER18> Sometimes elevated command prompt is not powerful enough and you need command prompt running from "SYSTEM" user account (Windows NT equivalent of Unix "root"). You can get that one with psexec tool from Microsoft SysInternals: psexec.exe -i -s -d %WINDIR%\System32\cmd.exe

<comment><USER17> There's no real equivalent of root on Windows. Accounts can have capabilities (pronounced 'privilege' [1]), and securable objects have ACLs and ownerships. Owners can replace ACLs, and a capability can give the ability to unilaterally change ownership[2]. And some of the more recent changes (to increase security for naive users) have been to disempower users and relinquish capabilities.

Accounts like SYSTEM may be functionally similar to root in so far as they may have the grant option on capabilities and thus have the keys to unlock powers, but good privilege separation design suggests that capabilities shouldn't be idly taken up.

Functionally, an elevated prompt had enough power to blow away the directory I wanted to delete - that is, the account had the capability to take ownership, replace ACLs, and then delete the objects - but following all the steps is fiddly. Cygwin abstracts all that away to the simplified POSIX system.

Something like SYSTEM may have been enough for different reasons; the existing ACLs may have permitted deletion to SYSTEM. But that doesn't mean SYSTEM had more intrinsic abilities (though I believe it does have more capabilities [2]).

[1] [https://msdn.microsoft.com/en- us/library/windows/desktop/bb5...](https://msdn.microsoft.com/en- us/library/windows/desktop/bb530716\(v=vs.85\).aspx)

[2] SE_TAKE_OWNERSHIP_NAME in [1]

[3] Things like SE_TCB_NAME in [1], I think.

</comment></comment></comment></comment></comment><comment><USER19> I wonder if they have plans to add other emulation features, most importantly the ability to passthrough USB devices (or even graphic cards?).

I don't need or want the Linux graphical interface of my VM, it's pretty much redundant, but I do need to make devices available to the Linux software. Otherwise it's a bit like emulating a microcontroller - sure, Turing says the thing can compute everything, but in a very practical sense it can do absolutely nothing without it's outside inputs and periphery. I need the damn side-effects!

<comment><USER20> Seems like you might be better served with a linux desktop and windows in a VM then.

The use case for WSL right now is someone like a web developer. They can develop and debug node apps locally in their native environment.

<comment><USER19> That only works because they provide emulation for AF_INET, AF_UNIX and AF_NETLINK sockets. It's not an automatic freebie.

<comment><USER20> I understand. Nonetheless they did to the work to enable straightforward client networking (which works because Windows' own networking layer is basically Berkeley sockets under the hood).

Writing an emulation of the Linux USB sysfs and device node API on top of Windows' very different USB driver layer is a rather bigger task. I'm sure they'll get to it eventually, but it's not something you can demand as an "obvious" feature.

</comment></comment></comment></comment><comment><USER21> I wish there was a way to get lxss updates without being a Windows Insider.

I turned on Insider on my brand new laptop last summer and it immediately overwrote some vendor-supplied drivers by newer-but-broken ones. Result: no sound. I didn't manage to fix it except through a full reinstall. Now that's exactly the sort of problem you need to prepared for when doing the Insider thing, but it sortof ruins the point. I want to beta test lxss, not Paint 3D or some fancy new device driver release schedule.

<comment><USER11> I'm pretty certain I had WSL running on my system without being a member of Windows Insider. You just need to turn that on if you want to be on the Fast Track...

<comment><USER22> Parent said WSL updates. You can get WSL but in order to get updates like this one you need Insider builds.

<comment><USER11> I thought this WSL update came with creators edition? Unless you mean the fast track WSL Updates, but not the other windows updates - which yes, I agree, would be nice.

<comment><USER22> No, this update comes with Build 16176. Creators Update is Build 15046: [https://msdn.microsoft.com/en- us/commandline/wsl/release_not...](https://msdn.microsoft.com/en- us/commandline/wsl/release_notes#build-16176)

So in order to get it you would need to join the Fast Insider ring...

</comment></comment></comment></comment></comment><comment><USER23> Windows subsystem for Linux? Or the Linux subsystem for Windows?

These names are confusing...

<comment><USER24> It's a Windows subsystem[0] for [running] Linux [applications].

The terminology is "Windows subsystem for [target environment]" so "Windows subsystem for OS/2" lets you run OS/2 application on NT, "Windows subsystem for Win32" lets you run Win32 applications on NT, and "Windows subsystem for Linux" lets you run Linux applications on NT.

[0] "The interface between user mode applications and operating system kernel functions […] There are four main environment subsystems: the Win32 subsystem, an OS/2 subsystem, the Windows Subsystem for Linux and a POSIX subsystem."

<comment><USER25> Yet they chose different terminology for WoW64 (Windows 32-bit on Windows 64-bit), and chose to store 32-bit binaries in the WoW64 directory.

<comment><USER24> I don't know that Win64/WoW64 is a separate subsystem. I think it's a subset of the 64b version of the Win32 subsystem.

</comment></comment></comment></comment><comment><USER26> What would be a good X11 server to use? Are there any that support the full stack? (shm, glx, etc.)

<comment><USER27> > What would be a good X11 server to use? Are there any that support the full > stack? (shm, glx, etc.)

I recall using exodus in the past (at uni), but it's commercial (pricey). Not to mention these days it seems to be Mac only.

From similar threads I've seen recently, and quick searching, it seems Xming is the preferred Windows-option these days:

[https://sourceforge.net/projects/xming/](https://sourceforge.net/projects/xming/)

<comment><USER28> The free version of Xming does not implement several things properly. Not sure which but some applications haven't run properly. There is a charityware version but I can't find my license for it.

MobaXterm is another free version, It's a term emulator with an X11 server, but you can just turn it on and ignore the term. It runs all the applications Ive found that the free Xming cant.

</comment></comment></comment><comment><USER29> Is it at the point where one can, for example, use PyCharm to develop Python/Django sites residing in the Windowns file system (say, z:/sites/project_099) while hosting from WSL?

Or would it be treated more like a VM that you simply deploy to?

We currently run one or more Ubuntu server VM's per machine as needed for local testing. If needs go beyond that, we have physical (virtualized) servers on our network (for example, web and database servers).

I can see WSL possibly being good for local development if it can somehow integrate seamlessly with the Windows file system and various tools (PyCharm) can be setup to run on Windows yet talk to WSL. I guess this might be equivalent to running a remote interpreter.

Need to think about this a bit. Running a server or two on VMs is pretty clean and painless. On machines with 64 GB of memory you don't even know they are running (from a performance/resource perspective).

<comment><USER30> You can cd to /mnt/z/sites/project_099 and work there directly in WSL. Open the same files in a Windows-based text editor. Even use Visual Studio to drive gdb debugging of the Linux process in WSL.

I've not done that last bit, but I definitely have moved all my ruby/Jekyll work into WSL and use VSCode to edit.

</comment></comment><comment><USER31> I was going to make another comment, but just found out while searching that WSL is //supposed// to be based on Ubuntu (20)16.04 now (instead of 14.04) I guess the next time I work with those systems I'll have to run down some upgrade / re-install directions.

I wonder if that will fix the issue where I was unable to mv folders around the c:\ drive within the /mnt/c FS. (It more or less locked up to the point that I had to restart to clear the issue.)

<comment><USER32> FWIW, I haven't had any issues moving files before or after upgrading from 14.04 -> 16.04. I use Git in WSL, but interact with the files in both Windows and WSL without any special considerations.

<comment><USER31> With the updated WSL version out I probably won't ever run across the issue again. I can't remember the exact circumstances, I may have had the folder open in a window or something (thinking of it, Windows doesn't let you rename files out from under processes, which may have been the reason).

However I do recall that trying to ctrl+c kill it didn't work. I don't recall what else I had/hadn't tried; I was rather busy at the time and couldn't stop to make a proper bug report.

All that mattered to me was that it completely stalled for no transparent reason and my best option was to just not even try to do real file management from the WSL environment.

</comment></comment></comment><comment><USER33> Last time I tried to use the Windows Subsystem for Linux it was a mess. I thought I could access my files from windows and messed all the filesystem.

Now it looks like I can freely exchange my files between the WSL and Windows. Is it true?

Do I finally have a linux inside a windows machine where I can install things using apt-get (instead of cygwin setup.exe)?

When will it goes into the official Windows 10 version?

<comment><USER34> Your Windows drives appear under /mnt/c, /mnt/d, etc. in WSL. So your Windows home directory is /mnt/c/Users/ffoobar.

You can easily read/write Windows files from Linux, but I don't think you can do the opposite. I've used git within WSL to drive a repo on my Windows drive.

WSL gives you full-blown Ubuntu 16.04 where you manage packages with apt-get. You have to look close to the bare metal to see differences. Until the creator's update, for example, ifconfig didn't work.

Earlier today, I compiled and ran some OpenMP-based code in WSL and it happily detected all the cores on my dev machine and kept them busy with worker threads. Pretty cool!

<comment><USER33> I thought it would give me total interoperability. That I could edit an movie in a windows app, run it through ffmepg, and go back to editing.

Cygwin is still useful.

<comment><USER35> It does but you have to do that from the Windows file system not the Linux one. So from Linux you are accessing /mnt/c/Users/you/somedocument and from Windows it's C:\Users\you\somedocument.

<comment><USER33> But isn't this a new thing? I believe you couldn't do it in the initial versions.

<comment><USER35> No, it's always been that way from the initial release. It's literally the only file system interopt that exists.

You're not supposed to access the Linux filesystem from Windows -- it's in a system hidden area of your profile but some people still tried to mess with it with unfortunate consequences.

</comment></comment></comment></comment></comment></comment><comment><USER36> Java still doesn't work properly though =(. "mvn clean package" on one of corporate projects takes about 5 to 8 minutes in native java on Windows or Mac and it takes more than one hour in WSL. I had so much hope for WSL that I would finally have only ONE device (surface), but no, we're not there yet.

<comment><USER37> Sorry, I have to ask. Why do you need to use Java with WSL? Native methods?

<comment><USER38> I would love this because I still want a 'real' shell when dealing with Java - things like emacs, grep, find, etc.

Cygwin and using shared VM directories has too many glitches with things like npm, links, file system endings, etc. As Docker becomes more important, this gets even worse.

Really, developing on a Mac is just so much better than both Windows and Linux, even for Java.

</comment></comment></comment><comment><USER39> With the Creators update, can you now actually run a postgres service or apache in the linux subsystem?

<comment><USER11> See: [https://blogs.msdn.microsoft.com/wsl/2017/04/11/testing- the-...](https://blogs.msdn.microsoft.com/wsl/2017/04/11/testing-the-windows- subsystem-for-linux/)

In particular, they run Nginx 1.4.6 with 100% test coverage and postgresql-9.5.3 with 100% test coverage.

Oddly (very), they have a few projects, Cassandra, Coffescript that show _better_ test pass rates with WSL than Native Ubuntu.

</comment></comment><comment><USER40> In a way Balmer was right -"Cancer" is eating Windows :)

<comment><USER41> I assume this is a reference to something?

<comment><USER42> [https://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_...](https://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/)

Unbelievable how much M$ changed for better in the last years!

<comment><USER43> 16 years is quite a few "last years" :)

</comment></comment></comment></comment><comment><USER44> Does WSL work on Windows Home, or does it require Pro? Is this an accident or by design?

<comment><USER45> The screenshots in official installation guide are Windows 10 Home edition.

[https://msdn.microsoft.com/zh- tw/commandline/wsl/install_gui...](https://msdn.microsoft.com/zh- tw/commandline/wsl/install_guide)</comment></comment>


Show HN : Chords - Python recognition of guitar chords (first week-end project) - <AUTHOR> https://github.com/jcaille/Chords

<comment><AUTHOR> This is my first week-end project I cooked up in a few hours. It uses pyaudio to acquire sound from the microphone and numpy to FFT the signal. Matching is done by shortest distance from FFT to fingerprints of chords.

I'm looking for pointers on what to do next with this small project, especially how to improve the recognition.

Plus, if you spot any big trouble in the code, feel free to enlighten me. I'm still a junior Python programmer, and your feedback won't be lost.</comment>


Terminal: A Short Film about the Mechanical Ballet of Cargo (2009) [video] - <AUTHOR> http://aeon.co/film/terminal-a-short-film-about-the-mechanical-ballet-of-cargo/

<comment><USER2> I imagine fully automated shipping docks are just a decade or two away. Driveless cranes – like Amazon's Kiva warehouse robots – could do much of the work more safely & efficiently than humans could.

</comment><comment><USER3> If it's true that the rhythms of automated cargo management make it resemble a ballet, there's no way that such a heavily edited piece -- each sequence a second or so long -- would show.

</comment><comment><USER4> Sounds like an Aphex Twin or Squarepusher video.</comment>


Secret court argues again that it's not a rubber stamp for surveillance - <AUTHOR> http://arstechnica.com/tech-policy/2013/10/secret-court-argues-again-that-its-not-a-rubber-stamp-for-surveillance/

<comment><USER2> I find that letter even more disturbing than the alternative (where FISA is just rubber stamping applications).

In this case it means the court is working with agencies to build their surveillance policy. It is no longer an adversarial system, and the absences of any "defense" in this court means the court is now in a position where it is actively working to expand surveillance.

</comment><comment><USER3> The most frustrating part about this to me is the certain knowledge that all of the informed parties are quite happily cherry-picking statistics to serve a political narrative and the majority of reporters and analysts are unable to do any sort of deep analysis of the source material because it's all classified.

The mere availability of source documents elevates the conversation from a juvenile process of people hurling meaningless statistics at each other. In the absence of actual data and redacted filings provided by the government, leaked documents such as provided by Manning and Snowden take on a new life. Instead of just statistics without context, there are documents that illuminate a court of law that's basically been a secret up to this point. Obviously those documents selectively serve a narrative, but ironicaly, they're made even more powerful by virtue of the fact that they're the first substantive look that much of the public has gotten at the FISC.

</comment><comment><USER4> FISA Court's status as a rubber stamp is a straw man. The central issue is the secrecy, not the function within. With a secret court, no matter what the results (good or bad), no one knows the what/why/how except those operating within the court itself. They are, by definition, not objective evaluators of their performance. This is the issue.</comment>


Ask HN: What to do about the destabilizing effect of Bitcoin? - <AUTHOR> There are two facts about Bitcoin worth worrying about:
1. There is no upper bound on the price
2. Everyone who thought the price won't continue to exponentially increase was wrong
Greed is a powerful motivator.
It's easy to smile at this[1] but it will only take a couple more 10x increases before people stop laughing.
What happens when governments start putting money into Bitcoin because they don't want their economy to be left out? It'll only make the price go up even further.
It might be a good idea to take a step back for a moment and stop thinking "Can I get rich?" and start thinking "Before this reaches a point where we should worry, what should we do?"
I'm aware that this has roughly a 0.1% chance of happening. But if you'll suspend your disbelief for a few minutes and accept "What if it might be true?" then you'll find it's an interesting question worth thinking about.
It's starting to feel like no one really has a plan for this contingency. It will be a relief if the price crashes back to $1k, but Bitcoin defies belief. How many of you have parents that are seriously talking about getting in? Everyone wants to become rich. And if that infectious mindset spreads to the whole population, we might get an uncontrolled upward spiral.
Is there a way to prevent that?
[1] https://www.reddit.com/r/Bitcoin/comments/1lfobc/i_am_a_timetraveler_from_the_future_here_to_beg/ <comment><USER2> I think you mean STABILIZING effect? Since Bitcoin, as well as other cryptos, remove the influence of violence from human interactions, they have a stabilizing effect on every aspect of human interaction in which exchange of value is involved. The current increase in USD valuation is a consequence of this stabilizing effect. The high volatility is an echo of all past instability and violence and insanity that is now being "washed out" of our lives. I'm glad to see improvement happening at such a rapid pace, regardless of current Bitcoin price.</comment>


Writing a simple operating system from scratch (2010) [pdf] - <AUTHOR> http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf <comment><USER2> If you're interested in this type of stuff I can personally recommend MIT's 6.828 course (Operating Systems Engineering) as an additional resource. Specifically, you'll want to take a look at xv6, a teaching OS implemented for the course ([http://pdos.csail.mit.edu/6.828/2014/xv6.html](http://pdos.csail.mit.edu/6.828/2014/xv6.html)). The OS is small enough to print as cross referenced code listing ([http://pdos.csail.mit.edu/6.828/2014/xv6/xv6-rev8.pdf](http://pdos.csail.mit.edu/6.828/2014/xv6/xv6-rev8.pdf)) and has a book that fully explains each piece ([http://pdos.csail.mit.edu/6.828/2014/xv6/book- rev8.pdf](http://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf)). You are only 9,000 lines of code away from fully understanding basic operating systems concepts!

It's been a few years since I took the class but it was an absolute blast. The offering in 2011 has recorded lecture videos ([http://pdos.csail.mit.edu/6.828/2011/schedule.html](http://pdos.csail.mit.edu/6.828/2011/schedule.html)).

<comment><USER3> Thanks for posting. I hope this material is available for years to come.

Have you done any work in a related project after taking this course?

<comment><USER2> Yes I work professionally in the field.

<comment><USER3> Any advice for us OS wannabees? ;)

<comment><USER2> Sorry just saw this comment. Work your way through the 6.828 course because the presentation of concepts in that course is as fundamental and bite-size as it gets. Then when you get to real operating systems (which are much uglier than xv6), don't be intimidated by the complexity. For any difficult subject, there's always a point along the learning curve where things seem hopeless but if you push through you'll start to gain glimpses of understanding. These glimpses provide motivation which in turn lets you understand more... eventually process of learning becomes self sustaining.

<comment><USER3> No worries. Thanks for the pointers. The next time I find myself not doing a startup, I'm going to take that course!

</comment></comment></comment></comment></comment></comment><comment><USER4> By far one of the most satisfactory things (and also hair reducing things) I've had as a long term hobby is: O/S development. Been doing it seriously for just over a year now, it's slow because it is purely free time. Was working happily on the kernel but decided to go back and build a bootloader after I got to higher half kernel and was messing around with the GDT base address overflow hack. It's now turned into a multi-stage boot loader, because I appreciate the idea of your system have full control over your own partition, nothing else.

I enjoy going to [http://wiki.osdev.org](http://wiki.osdev.org) for a broad overview and then hitting the manuals for the details; sometimes that manual and note book session can take up to 3 days of my free time haha.

I especially love writing custom tools around the development process; I like to call it reducing reliance - I found that this really helps solidify concepts in my mind; although making the process even slower, I feel comfortable at every stage.

</comment><comment><USER5> I highly recommend everyone to go through the book [http://www.linuxfromscratch.org/](http://www.linuxfromscratch.org/) before, or as a complementary direction to, diving into any "operating system" resources mentioned on this page. (you could try this on a QEMU/VMWare/VirtualBox/KVM/whatever instance instead of risking your current hard-drive partition setup).

(alert: it's not really a book, it's a project: to compile and install linux without using any distro! the whole process could take somewhere from 1 day to 1 week, depending on the speed of your machine and your command-line skills.)

Because then you would discover (if you haven't already) that what all these people call "operating system" is essentially only a nucleus of the operating system (kernel) and that there is much more to an operating system than whatever is discussed in an OS class.

Also LFS is enlightening in ways I may not have expressed here. If you successfully go through the process, your first thought might be to roll your own linux distro!

<comment><USER6> > QEMU

Don't.

I developed a from-scratch operating system as part of my PhD thesis. We initially ran it on qemu due to its speed and simplicity, but the truth is that while qemu would run something developed on real hardware, it would also run _a lot more_. What it accepted was very, very loose and when you developed for qemu, you generally couldn't take it and run it on real hardware without days worth of debugging and trying to figure out where qemu did things just a little more loosely than actual hardware did.

We ended up using Bochs for that purpose, which is a lot slower but a lot more faithful (and unfortunately lacks a lot of secondary hardware that's important, but it will take you a long time in development before you hit that particular limitation).

<comment><USER7> I partially disagree. Qemu, & in general simulators, can really speed up development but for the reason you cited, you need to periodically run your code on real hardware. The second suggestion is to minimize assembly language level code -- this will reduce the temptation to use esoteric h/w specific features that Qemu may not handle! In general micro-optimizations should be left for much later, if ever. Third, as soon as possible set things up to load your kernel over the network or a serial link (or JTAG). Particularly if you use a debugger, you will be running the same kernel over and over again to debug something. Fourth, if you plan to use a debugger like gdb, provide support for remote debugging. That is not a lot of code (basically support for communication, breakpoints, peek and poke).

</comment></comment></comment><comment><USER8> For those that really want to build everything from scratch, including hardware, Niklaus Wirth has revised his Project Oberon book, including the Verilog files

[http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.ht...](http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html)

So you could have your own graphical workstation. :)

</comment><comment><USER9> There's also the tried and true Lions' Commentary on UNIX 6th Edition with Source Code pdf floating around to understand what's going on in the workings of a timesharing OS.

Nickolai Zeldovich a current MIT professor wrote HiStar OS from scratch and it's source is still available online to view how a minimally trusted system could work [http://www.scs.stanford.edu/histar/](http://www.scs.stanford.edu/histar/)

<comment><USER10> Lions Commentary PDFs are pirated from the book, which is still in print (royalties to Prof. Lions' widow).

</comment></comment><comment><USER3> I'm inundated with OS resources at the moment. I hope that Coursera offers an OS course in the future that I can follow along.

<comment><USER3> Here are other resources that I'm tracking:

[http://www.sal.ksu.edu/faculty/tim/ossg/index.html](http://www.sal.ksu.edu/faculty/tim/ossg/index.html)

[http://joelgompert.com/OS/](http://joelgompert.com/OS/)

[http://www.csi.ucd.ie/staff/jcarthy/home/alp/alp-05.pdf](http://www.csi.ucd.ie/staff/jcarthy/home/alp/alp-05.pdf)

[http://www.superfrink.net/athenaeum/](http://www.superfrink.net/athenaeum/)

[http://www.cs.utah.edu/flux/oskit/html/oskit- www.html](http://www.cs.utah.edu/flux/oskit/html/oskit-www.html)

[http://duartes.org/gustavo/blog/post/how-computers-boot- up/](http://duartes.org/gustavo/blog/post/how-computers-boot-up/)

[http://duartes.org/gustavo/blog/post/kernel-boot- process/](http://duartes.org/gustavo/blog/post/kernel-boot-process/)

[http://www.ibm.com/developerworks/library/l-linuxboot/index....](http://www.ibm.com/developerworks/library/l-linuxboot/index.html)

[http://www.osdever.net/bkerndev/Docs/title.htm](http://www.osdever.net/bkerndev/Docs/title.htm)

[http://sourceforge.net/p/oszur11/code/ci/master/tree/](http://sourceforge.net/p/oszur11/code/ci/master/tree/)

[http://www.codeproject.com/Articles/737545/Writing-a-bit- dum...](http://www.codeproject.com/Articles/737545/Writing-a-bit-dummy-kernel- in-C-Cplusplus)

[http://freevideolectures.com/Course/2653/CSE-30341-Operating...](http://freevideolectures.com/Course/2653/CSE-30341-Operating- Systems/1)

<comment><USER11> Thank you for sharing this list of OS dev resources!

I would also recommend Andrew Tanenbaum's " _Modern Operating Systems_ " or " _Operating Systems: Design and Implementation_ " (the MINIX book), to anyone interested in OS dev. I read it when I was teenager (around 15), and I really _really_ enjoyed it. Tanenbaums' books were one of the few truly addicting textbooks. As a side, " _Structured Computer Organization_ " by Tanenbaum was also really great. It gives you a foundational understanding of how computers are architected that is indispensable if you're going to be doing OS dev.

</comment></comment></comment><comment><USER12> This is so exciting! I never got to write my own boot sector in college, our lab exercises were kind of advanced and we had a lot of starting code.

That document inspired me to create a Github repo with only the code, split into micro lessons. Feel free to check it out, I'll update it at the same pace that I process the document and learn stuff myself [https://github.com/cfenollosa/os-tutorial](https://github.com/cfenollosa/os- tutorial)

</comment><comment><USER13> I was sad that the disk driver section was unfinished. How does the disk driver for a spinning disk work? Does it take into account any physical properties of the needle?

<comment><USER14> I would assume that's the job of the disk's firmware, manage the physical disk and present a compliant interface to the OS (e.g. IDE, SCSI etc...)

<comment><USER13> I've heard certain types of schedulers can take the position of the disk head into account.

</comment></comment></comment><comment><USER15> Been there, done that! Apart from this contributing to my grade, I still miss the point of the usability nowadays. I wouldn't say this gives you a real knowledge on how modern ooerating systems work. On the other side in the OS/C and C++ modules (the link is below) you can find good entry points for kernel programming, which has proven useful few times.

</comment><comment><USER3> I would also look at the MS DOS source code that microsoft released earlier this year. Here's a link to MSDOS 2.0 source: [http://www.computerhistory.org/atchm/microsoft-research- lice...](http://www.computerhistory.org/atchm/microsoft-research-license- agreement-msdos-v1-1-v2-0/)

<comment><USER16> Lack of multitasking or virtual memory makes it not that interesting, IMHO.

<comment><USER3> Agreed, but I like the simplicity when starting out since there's just so much. I'm reading Peter Norton's Assembly programming book from '87 to keep things super simple.

([http://www.amazon.com/Peter-Nortons-Assembly-Language- Book/d...](http://www.amazon.com/Peter-Nortons-Assembly-Language- Book/dp/0136619010/ref=la_B000ARBFXY_1_1?s=books&ie=UTF8&qid=1412188222&sr=1-1))

Do you have any recommendations?

</comment></comment></comment><comment><USER17> This looks really interesting. Another course / book that I have used in the past which was great for getting to grips with the ideas of an entire system from scratch was [http://www.nand2tetris.org/](http://www.nand2tetris.org/)

</comment><comment><USER18> Here is another example of an operating system written from scratch: [http://www21.in.tum.de/~traytel/POTATOES/Home.htm](http://www21.in.tum.de/~traytel/POTATOES/Home.htm)

<comment><USER19> The page referenced says that POTATOES implements a broad range of operating system concepts and features, e.g. multitasking, paging, an extensive I/O subsystem as well as a custom file system, and runs on x86 hardware.

</comment></comment><comment><USER20> I found my operating system class very enlightening, although doing virtual memory was not fun... Implementing FAT 12 was an enjoyable challenge.

Though ultimately I have no plans to get into the kernel space for development.

</comment><comment><USER21> Seems nice at first glance, but where the topics start to get a little less trivial (where, for example, the brokenthorn series on OSdev stop being relevant as well: the harddisk driver), the draft ends.

</comment><comment><USER22> May also be useful:

[http://www.cs.bham.ac.uk/~exr/lectures/opsys/13_14/lectures....](http://www.cs.bham.ac.uk/~exr/lectures/opsys/13_14/lectures.php)

</comment><comment><USER23> I wonder if there are any great resources for building your own OS to run in side VMWare Fusion or VirtualBox instead of running on hardware.

<comment><USER24> [http://wiki.osdev.org](http://wiki.osdev.org) is excellent. Most os tutorials use virtual box or qemu.

<comment><USER6> Posted upthread but it's important enough to repeat:

> qemu

Don't.

I developed a from-scratch operating system as part of my PhD thesis. We initially ran it on qemu due to its speed and simplicity, but the truth is that while qemu would run something developed for real hardware, it would also run a lot more. What it accepted was very, very loose and when you developed for qemu, you generally couldn't take it and run it on real hardware without days worth of debugging and trying to figure out where qemu did things just a little more loosely than actual hardware did.

We ended up using Bochs for that purpose, which is a lot slower but a lot more faithful (and unfortunately lacks a lot of secondary hardware that's important, but it will take you a long time in development before you hit that particular limitation).</comment></comment></comment>


Ogo, a new take on personal transportation - <AUTHOR> http://ogotechnology.com/ <comment><USER2> I wish this wasn't marketed as a 'personal transportation' device, but rather as what it is, an improved wheelchair.

Having said that, it is also important not to ignore the foundation of the Segway came from iBot, which was a wheelchair designed by Dean Kaman. [https://en.wikipedia.org/wiki/IBOT](https://en.wikipedia.org/wiki/IBOT), It was not a commercial success. Maybe it was too early and the market wasn't ready, or maybe there isn't a large enough market to support this type of device (which would be a shame).

Best of luck in this endeavor, I hope to hear about your success in the future.</comment>


What is a "dirty little secret" about an industry, that people ought to know? - <AUTHOR> https://www.reddit.com/r/AskReddit/comments/1kfoy5/what_is_a_dirty_little_or_big_secret_about_an/ <comment><USER2> I work in software in Sweden. We have this system between high school and college called KY-education (short for Qualified Job education, nothing else...). Some of those are quite all right, but I still haven't met anyone that has gone through a KY-education in software development that has ever been hire-material.

Back when I had another profession and was doing programming just for fun, I still knew more about computers and programming than anyone I have met that has gone through one of those programmes. Yes, you can develop android apps, but why does your eyes go blank when you see pointer arithmetic?

</comment><comment><USER3> I worked at a Taco Bell. The meat came in a bag and it was grey. Mostly bones I guess.

<comment><USER4> Meat, especially ground meat, greys pretty quickly. Supermarket meat is typically chemically treated to stay red longer and look attractive on the shelf.

<comment><USER3> I should have mentioned it had a granular texture. _shudder_</comment></comment></comment>


When Covid-19 becomes a chronic illness - <AUTHOR> https://www.economist.com/science-and-technology/2020/08/22/when-covid-19-becomes-a-chronic-illness <comment><AUTHOR> Some interesting statistics:

"Between a third and a half of those infected do not notice any symptoms. In those who do become unwell symptoms usually clear within two to three weeks with just home rest. In Europe only around 3-4% of those who become infected are admitted to hospital."

"..that as many as 60,000 people in Britain have long-term symptoms.." \- about 1.5% of those infected</comment>


America's Health-Care Crisis Is a Gold Mine for Crowdfunding - <AUTHOR> https://www.bloomberg.com/news/articles/2017-06-12/america-s-health-care-crisis-is-a-gold-mine-for-crowdfunding <comment><USER2> As someone said below, we should be embarassed we live in a society where someone needs to raise funds or go broke for medical treatment.

I'm starting my own business and the cost of health insurance is absolutely insane. If we come to the conclusion that we want our fellow countrymen to die or go broke versus live healthy, I think we should just shut it all down and call it a day.

<comment><USER3> > I'm starting my own business and the cost of health insurance is absolutely > insane.

Why do you think that is? Why is medicine so expensive? Don't we live in a highly-technological society? Shouldn't the price of medical treatment follow the downward path taken by other technical domains, like computer devices?

<comment><USER4> Because medicine (and medical care) is considered truly inelastic. When you need it, you _need_ it. There's no comparison shopping or waiting until you can afford it.

The free market rules that work for consumer goods start to really break down for inelastic goods.

</comment></comment></comment><comment><USER5> I am about half way through this book

[https://www.amazon.com/dp/B00957T4QK/ref=cm_sw_r_cp_awdb_CEV...](https://www.amazon.com/dp/B00957T4QK/ref=cm_sw_r_cp_awdb_CEVqzb6T0MXJH)

And I think it makes many good points about our health care system. Thinking about why I don't use geico insurance for routine maintenance on my car was a very interesting thought experiment.

<comment><USER6> I see what you are getting at (i.e., health insurance should be for catastrophic events rather than routine visits.)

The problem is that in the US, routine visit costs are wildly inflated. Try going in to get a vaccine or a cold and you get wildly dispersed and large quotes. This is because the insurance system is two things in one: a real insurance plan + a negotiated ratecard. When you go for routine/preventative care with insurance, you get fairly reasonable values on the rate card -- without it, they can (and usually do) charge you anything, and often you don't even know the cost until afterwards.

Until there are realistic rates for simple/routine/preventative needs, I don't see how insurance can be restricted to catastrophic cases only.

<comment><USER4> _health insurance should be for catastrophic events rather than routine visits_

But routine visits often severely reduce the rate of catastrophic events. Catching cancers early, assessing risk factors, etc.

<comment><USER5> Like I mentioned in the top comment, I'm still reading the book, so I'm interested to see how things like moral hazard and preventative care are addressed. In the first chapter he advocates splitting our system into two parts. The first would be government supplied cradle to grave health insurance that only covers unexpected, catastrophic events. The idea being that 90% of the population would never even file a claim. For everything else the author recommends the free market with doctors and providers competing for our business.

He gives the example of LASIK eye surgery. Apparently it isn't covered by insurance and has to be paid for with cash. After 20 years you can find it as low as $299 in some cities while some doctors charge more and claim to offer a higher quality service.

I'm still not clear on how a bad lifestyle that leads to diabetes which leads to foot amputation would be dealt with under this system but I'm enjoying the book anyway.

</comment></comment></comment></comment><comment><USER7> Overheard on Twitter: What if... we had this one giant GoFundMe for all medical bills that everyone paid into?

<comment><USER8> I'd go do every medical test and examination I'd be entitled to since I no longer have a cost associated with it.

I.e. What CA Single payer is proposing.

<comment><USER4> > every medical test and examination

You would be a statistical outlier. People don't go to the hospital for fun.

<comment><USER8> That's verbatim what the nirse's union is saying...

<comment><USER4> Citation needed.

<comment><USER8> Citation: friend who is active in local politics who was at the CA state DNC convention last month in meetings.

</comment></comment></comment></comment></comment></comment><comment><USER9> Cities are states are free to work the the Federal Government to set up healthcare for their citizens.

For example, where I live in NYC (at least prior to Obamacare) 450,000 New Yorkers without health insurance could go to one of many Community Health Centers funded by Feds, State and other sources as well as go to one of 11 public hospitals.

Interestingly, ObamaCare cut the DSH funding to these and similar public hospitals throughout the country. [1]

Part of the funding in NY State / NY City comes from $4.35 state and an additional $1.50 city tax per pack on cigarettes. The tax revenues are then put into Medicaid funding which in the case of NY State is matched 1:1 by the Federal Govt.

Trumpcare should restore the DSH funding that ObamaCare unwisely cut and increase the funding for Community Health Centers. States should increase tobacco taxes and use those funds to help pay for healthcare for their residents.

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

</comment><comment><USER10> This is both market failure and government failure. And the reason why we're arguing is the politics demands fighting for government or for the free market.

Health care industry in the U.S. includes hospitals, doctors, R&D, pharmaceuticals, insurance. All of those things are for-profit, but are also anti-competitive because they don't voluntarily, or by law, publish prices; they have conglomerated (mergers) more than banks; we confuse insurance with payment plans, a fair chunk of insurance cost is a payment plan for predictable procedures colds, annual checkups, pregnancy, aging. Aging is probably the biggest part of the payment plan because almost everyone is going to have problems related to it eventually.

My main criticism with ACA and proposed AHCA is that it effectively subsidizes a busted system. The U.S. spends 3x per capita for healthcare that does not cover everyone, compared to OECD countries who do cover everyone. U.S. pays more money to cover fewer people. It's an inherently classist system.

To really solve this we have to be willing to merge private insurance, Medicare, Medicaid, FEHB, military and veterans medicine, into one system. All of the conglomeration says is this is a natural monopoly but we keep trying to force something that's inherently anti-competitive to be competitive. It'd still be unfair but metric tons better than what we have, to just hand over the whole mess to a team made up of epistomologists and economists and then adopt their recommendation.

</comment><comment><USER11> Go with me here, what if instead of paying into a crowdfunding campaign, these people paid into a central pool of money, and then when they had exceptional health care costs, they could dip into this pool and pay off their bill?

Imagine what kind of revolution that'd make.

<comment><USER12> I understand you are being sarcastic, but this is how both single payer systems and private insurance market places work. The only difference is, in one system people are elected to determine how the central pool of money is collected and distributed and in the other decisions are driven by shareholders.

</comment></comment><comment><USER13> What about medical tourism? Seems like a possible solution for non-emergency care. Paul Buchheit tweeted a few years ago that he wanted to fund the "Uber of medical tourism". The tweet seems to be gone (not sure why?), but here's my previous comment about it:

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

<comment><USER14> Seems like a really bad solution for people who are poor

<comment><USER4> Or those who need emergency care.

</comment></comment></comment><comment><USER15> Health sharing co-ops have been at this for some time, based on Christian principles.

Samaritan Ministries, e.g., is $500/month for family and generally pays 100% of medical expenses, though no guarantees.

Our monthly check goes directly to someone else in the group. Minimal overhead for admin.

Also grandfathered in the ACA.

</comment><comment><USER16> America's Health-Care Crisis???

You mean Obamacare didn't end skyrocketing costs and fix what it purported to? You mean the sole accomplishment of a corrupt President didn't accomplish anything? Say it isn't so!

Now explain why Marxist idiots "need" to "save" it.

<comment><USER17> You're not welcome to start flamewars like this, and you've been using this account primarily to post ideological comments, which counts as an abuse of the site. Please post civilly and substantively or not at all.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment><comment><USER18> Woah, woah – you're telling me people _voluntarily_ help each other pay their medical expenses without the government forcing them to?!

<comment><USER4> Crowdsourcing medical expenses is a point of national and economic embarrassment, not pride.

<comment><USER19> This is not an argument.

<comment><USER4> If not, then neither is the post I'm responding to.</comment></comment></comment></comment>


"If you want to order it, use 'view source' to find the commented-out link." - <AUTHOR> http://prgmr.com/xen/?viewsource=1 <comment><USER2> I have a prgmr instance and don't have any issues with it. It is a great box to play around with and the cheapest you can possibly get. You kinda have to know what you are doing but they nailed their target audience.

<comment><USER3> I've been running a fair amount of infrastructure with them for a while now and I can't possibly recommend them highly enough. I remember there was a time a couple years ago when there was a queue to get a box with Luke. You have to know what you're doing and there are no training wheels attached, but they're awesome and has always been hugely helpful. I figured I'd just start out on them (being cheap) and eventually move off: but networking's been rock solid, and over the past couple years I've been able to work with them to get custom boxes for specific needs. Once I got a SMART condition warning on a dedicated box and they were on it basically instantly.

They know how to manage their network, they're colo'd in multiple top-tier DCs, and the prices are just impossible to beat. I'm able to run infrastructure comprising ~500GB RAM for literally 3% of the cost of EC2, with hugely better disk io to boot.

<comment><USER4> I'm not trying to dissuade you from using prgmr, but EC2's reserved instance pricing makes it a lot more competitive. You can get the 3.75GB medium instance for $55/mo (1-year commitment including the up-front fee as a monthly cost) which compares nicely against prgmr's $68/mo 4GB instance ($14.67/GB vs $17/GB).

In fact, I'm wondering how you came about your _"I'm able to run infrastructure comprising ~500GB RAM for literally 3% of the cost of EC2"_ calculation at all. Even without reserved instances, Amazon has their 3.75GB instance available for $115/mo (or $30.67/GB). At $17/GB, prgmr is more than half the price (~55%). That is a savings, but certainly nowhere near 3% of the cost.

IIRC, prgmr charges $4 plus $1 per 64MB of RAM. Assuming that they'd sell you a 500GB instance, that would be $8,004/mo. Since you'd probably have to spread it over more machines, it would likely be a bit higher. Anyway, even without dipping into reserve pricing (using the quad XL high-mem instances), you can get 500GB of RAM for $9,000-$10,000. Again, prgmr is a bit of a savings, but in the 10-20% range.

And here's the big point. If you're using AWS for on-demand instances in that range, you're likely to want the hourly billing and rely on the fact that Amazon has much greater scale. Prgmr can have a queue for more capacity so clearly they're not accommodating someone like Netflix who needs 1,000+ boxes to do encoding for a week when a new platform comes out and then shuts them down until a new platform comes out. If you're running a more predictable infrastructure (which it has to be to an extent to go with a smaller player), then you can use Amazon's reserved instances. Amazon's reserved instances beat prgmr on price.

Now, I didn't calculate in storage or bandwidth into Amazon's costs, but even with those additional charges, I don't see how you came upon prgmr being 3% of the cost of EC2.

For my own personal server, I have an EC2 Micro instance with 1-year heavy utilization. That means that I pay $8.77/mo for 613MB RAM - a discount against prgmr's $12. Now, I have to add storage to that - the 12GB that prgmr offers would cost an additional $1.20 - and bandwidth, but I don't break $12 for my usage. If I wanted to commit to three years, the cost would be even less - $6.38/mo.

None of this is to take anything away from Luke - he's literally written "The Book of Xen". That said, Amazon's pricing isn't much more expensive. Their reserved instances can be a good bit cheaper. Amazon also has the scale to accommodate you more easily. Prgmr can't keep thousands of spare boxes on hand and they (as you noted) have had queues for instances. Amazon is by no means the be-all and end-all of Xen instances, but it's pricing isn't that bad (and in fact can be better) and there are advantages to using a company with Amazon's scale.

<comment><USER3> I have a couple of the xen instances, but the vast majority of my capacity is on colo'd machines and a managed dedicated box. My total hosting bill is in the $300-$400 range. Admittedly I haven't looked closely at EC2 reserved pricing (I used the on-demand prices to get to the back of the envelope 3% number), but I still don't think it would be close. And this is month-to- month.

<comment><USER5> Not really comparing like with like, colo vs cloud

<comment><USER6> they accomplish the same goal; If you are taking the flexibility out of IAAS (please don't say "cloud") through reserved instances, the biggest difference is that you need someone on call to physically handle hardware if you co-lo.

I mean, I agree that they are very different products, but IAAS and a vps are different products, too. (with a VPS, the customer expects me to preserve the data on disk. With IAAS, the customer expects to be able to spin up new nodes on demand.) If anything, co-lo is much more like VPS or dedicated servers, in that you generally use raid and expect the RAID to be fairly reliable.

But if you are running a webapp, just like most webapps that could run on a VPS can run on IAAS and vis-a-vis, most webapps that can run on a dedicated server or IAAS can also run on co-located hardware you run.

The cost difference is, well, dramatic. Of course, the stress difference, if you are notified that you made the front page of hacker news Thursday evening and have to come up with more servers same day on a friday, and your application can't run on IAAS? The stress difference can also be considerable. so I'm not saying colo is always the answer; I'm just saying that if you are looking at hosting options for your webapp, colo deserves a look.

Of course, if you do co-lo, don't forget redundancy. Good hardware you own with RAID is going to be significantly more reliable than a single IAAS instance, all things being equal, but you don't run something on IAAS without redundancy, and if downtime is expensive, you won't run it on hardware without redundancy. For some applications, it's enough to just have spares and carry a pager (of course, that's also a pain in the ass. I better be saving a lot of money to carry a pager) and for other applications? It's okay to just wait until Monday and get the people you bought the computer from to fix it. In those cases, I'd practice spinning up your app on IAAS so you have something, just in case.

</comment></comment></comment></comment></comment></comment><comment><USER7> I must say that for no-frills hosting, prgmr has really done right by me. I was broke and didn't pay for a few months and they were able to set my vps right back up once i had cash, despite the fact i was no longer using the same credit card or email address; they really went the extra mile in terms of taking time to check who i was and once my identity was established, helping me out.

</comment><comment><USER8> I use prgmr and they are _fantastic_ for the geek who knows how to handle themselves. You also get a pretty decent /64 IPv6 allocation.

Their hardware console was enough for me to install Arch Linux despite no official support for it. It's pretty sweet.

</comment><comment><USER9> I had a strange experience with these guys. I signed up and didn't get anything back. When I sent an e-mail two days later telling them to just forget it and cancel my account, they told me they were busy and didn't get around to setting up my VPS. Just weird...

<comment><USER10> Seems like a non-automated or a semi-automated provisioning on their side; I wonder what else isn't automated.

<comment><USER11> Billing is not automated. I'm months overdue and I just got a personal email asking if I still wanted my account. It doesn't matter. Prgmr is hands down the best hobby VPS provider (I can't comment for other scenarios).

<comment><USER12> Actually, billing _is_ pretty automated, but shutting down your account is not.

</comment></comment></comment></comment><comment><USER13> Hmm, there seem to be a number of syntax errors highlighted when viewing the source code. If I was inviting people to view the source, I would probably want it to be clean.

Here's validator output:

[http://validator.w3.org/check?uri=http%3A%2F%2Fprgmr.com%2Fx...](http://validator.w3.org/check?uri=http%3A%2F%2Fprgmr.com%2Fxen%2F&charset=%28detect+automatically%29&doctype=Inline&group=0)

<comment><USER14> The only actual error in there is the 'anchor' attribute (should be 'name'), the rest is just warnings for self-closing <br/> tags and unencoded ampersands. Not that bad, considering it's still using an HTML 4 doctype.

<comment><USER6> to be fair, I fixed a few real errors after I was pointed at this link; I was distracted by a meeting about more bandwidth before I could comment.

<comment><USER15> Speaking of bandwidth... Are you really not losing money on $1.15/mbps overage? How many 10gbps ports did it take before you got Cogent down that low?

<comment><USER6> 5 gigs on a 10G port. $5000 one time setup for the 10G port. $0.65/mbps on the commit, $1.15/mbps on overage. That's my cost, so i guess I'm losing a tiny bit on my time, setup fees and equipment, but right now, I just want someone to split some of the monthlies with me. I really, really want that 10G port, though, as at those overages, I can oversubscribe my own commit, and if I oversubscribe too aggressively or one of my customers grows unexpectedly, just paying the overages won't be that big of a deal.

Bandwidth gets cheaper all the time, and I've been pestering them forever. I actually haven't inked that deal, and probably won't if nobody takes me up on it; I really only need about a gigabit, and I can get $1/Mbps bandwidth all day long. I have to decide by Tuesday or so. So far? nobody else seems interested, which tells me this isn't all that unusual of a deal. One guy I asked went off and is now getting his own line from Cogent.

Oh, also note, Cogent just wants the 5g commit from me. If I'm willing to pay the setup fees $2500 for a 1g port, $5000 for a 10G port) they will let me have 1G ports at that price; I just need a lot of 'em.

Turns out, though, selling bandwidth is harder than I thought.

<comment><USER16> So if I understand that correctly, the reason other providers seem to provide a lot more bandwidth per subscriber dollar (ex. my Linode has 200G transfer/month at $19.95) is most of their customers probably don't push the pipe into an overage so they're basically overselling the bandwidth?

p.s. I just noticed your $20 plan provides double the RAM and 4gb more disk than my Linode... i'll do a little more research but I might just switch since I don't get anywhere near that bandwidth cap.

<comment><USER6> if you notice, my current xen setups have a pathetic bandwidth cap right now... which will change shortly, (after some network upgrades on my part. I don't want to say you can use a lot more bandwidth until you can do so without causing problems.) but I certainly have no room to criticise anyone else for having low bandwidth allocations.

but in a very real sense? for customers doing non-pornographic and legal things? bandwidth is in a real sense close to free, and most customers don't need much. Look for 'penny a gigabyte' overage charges from more competitive hosts soon, and, well, 'unlimited' these days often closer to the real thing than it used to be.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> If you're thinking about it, do it. I've had the new Snipt on Prgmr for a month or so now and I've been 100% happy (and my wallet's happier, too).

Customer service is excellent, better value than Slicehost, Linode, etc.

</comment><comment><USER18> I really love the tone they use on the status blog <http://blog.prgmr.com/xenophilia/>

eg: = update on rehnquist well, it's down again, so I don't know what the heck is going on. I'm going to swap to new hardware this evening (will involve a graceful shutdown)

Note, until then, all new provisioning is on hold.

<comment><USER6> hah. I keep getting told I need to dilute that with more positive entries or something. I'm actually embarrassed that I never gave a final update on Rehnquist; I usually do. I set it to 'bank sparing' mode, and it's been stable ever since. (The spare is standing by, but I have at least as many questions about that hardware as this. Expect some serious entries about burn-in and hardware testing from me in the next weeks; I have a whole lot of used hardware that I'm renting out for unixsurplus as dedicated servers.)

</comment></comment><comment><USER19> Can't recommend prgmr enough.

<comment><USER20> Agree completely. The small size is part of what makes them great.

</comment></comment><comment><USER21> Or looking at the other links, noting that the number in pkgpart=x increments by 2 for each package in the list, open the 2nd link and decrement by 2 to get the 64m package.

<comment><USER22> Or you can just select it on the drop down list of any other page. The pkgpart seems to only preselect the item in the dropdown.

</comment></comment><comment><USER16> I don't care how reliable the hoster is, $5 for those specs is excessive in this market. Go to <http://www.lowendbox.com/> and look at all the deals. Almost all of them are $5 or less a month at twice the specs. Concerned about reliability? The cost of one beer at a restaurant will buy you a second box at a different hoster.

<comment><USER6> Yeah. I'm considering repricing or getting rid of (or repricing and only taking yearly orders) or something for the under 512M images. I've been getting a lot of flack from people in IRC about how expensive I am even though once you move up into the 1gb range, I'm reasonably competitive with most new VPS companies (and way cheaper than the companies that have been around as long as I have.)

I mean, ram is also getting cheaper, and I need to increase ram per dollar across the board just for that, but when I set those prices? $5 was a very low 'smallest thing you can order' price. It's not any more.

<comment><USER23> I have to wonder how many of the people ordering the 64MiB image are doing it just to have a place to spam Twitter from.

<comment><USER6> yup, that's one of the big per-account costs; paying attention to the abuse box and shutting down spammers. But, the problem is probably better addressed by just requiring a long pre-pay which you don't get back if I think you are spamming.

The real problem is compromised accounts. How draconian should I be about that? I mean, personally, I'm not sure. Policy is to shut them down, give them a fresh VPS and let them mount the compromised one read-only; But, about 5-10% of people re-infect themselves immediately, presumably by copying the infected webapp off the backup.

</comment></comment></comment></comment><comment><USER24> That "view source" line make this the most incredible VPS service landing page I've ever seen.

</comment><comment><USER25> They seem really expensive. I use buyvm.net and love them.

<comment><USER6> make sure you are comparing to the KVM prices; OpenVZ is cheaper because allocated ram is... not comparable to allocated ram in xen or kvm.

It is a fair criticism, though; the KVM prices are comparable to Xen prices, and in that department, they have me beat for guests smaller than 1024M.[1] And you are right that it is time for me to increase my ram per dollar (and my transit per dollar) to remain in the niche where I live. I'm working on it, and you can be sure that existing customers will get that upgrade before I offer it to new users.

[1]I price things at a flat fee per customer ($4) then a cost per unit of ram ($1 for every 64M ram) - I find that there are many providers that beat me on the low end but that I beat on the high end. This is in part an artefact of my manual processes, (or rather, an artefact of how manual per-user processes altered my pricing choices.)

<comment><USER26> I would prefer more disk per dollar though. Besides that I'm a happy customer.

<comment><USER27> Agreed. I am constantly playing package management musical chairs.

<comment><USER28> Same here. I have found myself using Rackspace Cloud for my newer projects because I get more disk for my $11 and their Ubuntu provisioning is very low effort on my part. KVM offers a bit more control than I need.

I still have a soft spot for my first prgmr box though.

</comment></comment></comment></comment></comment><comment><USER29> Something is confusing - nobody measures bandwidth in GiB, and _almost_ nobody measures disk space in GiB. It's useful that they emphasized the unit, otherwise 99% of their (educated) customers would have assumed 10 (network/disk) Gigabytes was 1.0 * 10^9 bytes.

The only use of GiB that I seen commonly is in Memory. Every other use of "Giga" is the SI reference.

<comment><USER6> nobody measures bandwidth in GiB, sure, and next time I boost the bandwidth allocations, I might move those to GB, as that's what all the tools report. (I'd wait until I boost bandwidth allocations enough that it wasn't reducing the allocation)

However, there is much confusion with disk space in GiB vs GB. Hard drives are sold in GB, but most of the time, within an OS, space is most often reported in GiB like ram, so a 1tb drive is rather less than one TiB. I really do allocate disk space in GiB, not in GB, so I think it's appropriate to market it as such.

<comment><USER29> It would be interesting to do an audit of modern operating systems to see if this is true. OS X has reported in GB for a while now. I wonder what windows 7 does.

Regardless - I very much appreciate the use of GiB when that's what is meant. Classy.

</comment></comment></comment><comment><USER30> I am also a happy prgmr customer, and love that the machines are hosted in a top-tier datacenter and that support is responsive and knows what they are doing.

The provisioning isn't automated and there's no usage monitor (for transfer), but I assume that Luke would be reasonable in the event that someone ever went over.

</comment><comment><USER31> Hmm.. Am a little confused with the payment page options. Do i have use the purchase additional package option to pay ? I just registered and was asked to the billing/payment page to pay. But there doesn't seem to be a simple pay button/link/tab.

<comment><USER6> I've got to manually tell the billing system to make you a bill. Sorry.

<comment><USER31> Ah.. assume the paypal link will be on the bill. ok no problems. had dropped a mail too. Will pay once i get the bill. :-P

</comment></comment></comment><comment><USER32> This is a very clever piece of blatant advertising. I think I'll buy some.

</comment><comment><USER33> They also provide the option in the select list when you checkout. Of course, asking a user to "View Source" seems more geeky!

</comment><comment><USER34> "Please note; this means all plans come with $4/month worth of support."

I can't help wondering how much support that is.

<comment><USER35> I take that to be a coy way of saying "not very much at all". If the person responding is making even $20/hr, then $4/mo of support is 12 minutes/month of support. :)

That said I've had no complaints with support from them when needed. It just has to clearly be about things on their end; they aren't going to help with sysadmin issues on your box.

<comment><USER6> coy? I was going for blunt and self-depricating. The thing was that I didn't want people buying the bigger instances thinking they'd get big product support. Without putting you on my pager (which is going to cost you more than $68 a month) we simply don't have that capability. But yeah. responding in a reasonable period of time is something I am working very hard on, but to be completely honest? it's something we fail at... a lot.

Person for person, I think we stack up very well against any other front line support... but there's essentially two of us, and yeah, the wait times quite often render the knowledge moot.

Nick and I fight about this; Nick thinks it's better to not say anything until you can say something definite. I think it's best to say 'I'm working on it, doing X, Y and Z' - but compared to 'real companies' both nick and I are on the side of "it doesn't really count until you fix it" whereas most big companies have SLAs that reset the clock when they respond and get a level 1 person working on it.

</comment></comment></comment><comment><USER36> There are surely accessibility concerns over hiding links in comments.

</comment><comment><USER37> I'd be more excited if it was a 64GB instance rather than 64MB.

</comment><comment><USER38> I rather wish they had worded it as 'We assume you are not stupid'. Or they are assuming wrong in my case?

<comment><USER39> "We assume you are not stupid" means they are making an assumption of intelligence, whereas "we don't assume you are stupid" means they make no assumption one way or the other.

I wonder which is more appropriate?

<comment><USER6> My intent was to say, in a positive way, "If you are unwilling to learn how a serial console works, or how OpenSSH public key authentication works, I'll refund your money and send you to Linode."

<comment><USER40> That was exactly how I interpreted it when I read it originally.

I love the minimalist page by the way.

<comment><USER41> It's great design I think. It attracts exactly the kind of people they want as customers.

</comment></comment></comment></comment></comment><comment><USER42> View source is so 2006, cool kids use the Javascript console to modify web pages as they please.

        document.body.innerHTML = document.body.innerHTML.replace(/<!--|-->/g,'')

<comment><USER43> What's the js to make a site editable with your cursor (you can click on text in a <p> and then you get a cursor in it where you can insert more text, also changes your mouse cursor to indicate that you can edit, over text)? I saw it here on hn once in the comments, but then I couldn't find it again later when I needed it. (I had also saved it in a vim window but forgotten to save it, ugh!)

<comment><USER44> javascript:document.body.contentEditable='true';document.designMode='on';void 0</comment></comment></comment>


Ask HN: Do you sign your code at work? - <AUTHOR> Does everyone on your engineering team sign their code?
How do you go about verifying signatures and making sure the code signing verifies every time you push/pull code?
Does your team rely on GitHub's server-side verification? <comment><USER2> We don't for the most part, but ended up moving to a VPNed GitHub Enterprise installation over the possibility (albeit unlikely one) that GitHub's main cloud could be compromised and used to inject malicious code into a repository that we own.

It doesn't hurt to shore up on security, but given the expense of operating a GHE installation, the fact that there are some GH niceties that don't work quite right there, and that even in just a few months of use GHE already has a poorer availability record than the public GH cloud, broad code signing might have been a better approach.

We do sign in a few places like for our internal deployment tool that gets widely distributed to all engineers, and which checks its code signature before allowing a deploy. It works pretty well, but the fact that GitHub's "merge pull request" button exists (which will create a merge commit on `HEAD` without a valid signature) tends to cause a fair bit of inconvenience.

I'd definitely be curious if others have been making this work.

</comment><comment><USER3> I'm curious as to why one would want to do that. Maybe it's because we host internally (internal Bitbucket server) that I don't think we would need this or maybe because we are small and know who is pushing what.

</comment><comment><USER4> IntelliJ automatically adds your name to the top of Java classes / etc, so.. kinda?

<comment><USER5> Your sign isn't the same they're talking about. But don't worry, I assumed the same initially.</comment></comment>


Ask HN: Which Web Analytics Tool you use and what information you collect? - <AUTHOR>

1. What usage information(like pageviews, visitor location, etc) you collect as part of your web analytic strategy and for what reason?<p>2. Which Web analytic tool you use for this? Google Analytics? Piwik? Open Web Analytics? or some other? <comment><USER2> Currently we are using Mixpanel.com (YC company).

Apart from usual figures like visitors, we collect information like user- engagement with a particular feature.

For example in our product we have a feature using which user can narrow results based on location and other parameters. We use mixpanel to track which parameters users select most, what combination of location selections etc.

This enables us to understand whether user is really using a feature or not, and if they are, then how are they engaging with it. We hope to iterate better based on such data collection.

</comment><comment><USER3> Here's a detailed piece on metrics, with relevant tool recommendations: <http://news.ycombinator.com/item?id=2151257>

</comment><comment><USER4> I need more of analysis than fancy realtime stuff, so Google Analytics works really well for me. I analyze traffic results of my clients' (restaurants etc.) marketing campaigns.

</comment><comment><USER5> We use Clicky's real time Web Analytics <http://getclicky.com/66372805> (affiliate link)</comment>


Getting Started with Django REST Framework and AngularJS, Part 2 - <AUTHOR> http://engineroom.trackmaven.com/blog/getting-started-drf-angularjs-part-2/ <comment><USER2> I use DRF with Angular at work, so I'm interested in seeing where this series goes.

Tangentially, I can't imagine using Django without DRF. It makes setting up RESTful(ish) APIs so easy. Even if you don't care much about the RESTful aspects, it provides a much nicer way to organize your code than default Django IMO. I especially like how serialization works versus Django forms.

<comment><USER3> I found the best thing about DRF was how well it conforms to Django conventions. Model serializers work very like model forms and the class based views are almost the same.

</comment></comment><comment><USER4> If you're looking for a good DRF / Angular tutorial, I'd highly recommend [https://thinkster.io/django-angularjs-tutorial](https://thinkster.io/django- angularjs-tutorial)

</comment><comment><USER5> Aww, what a tease. This is _exactly_ what I'm diving into right now. Since part one was written in November, I'm guessing part three might show up around March?

Anyone have any worthwhile Django learning resources to share? (Other than Django's own docs, which are great.)

<comment><USER6> There's a book called Django by Example by Antonio Mele that I think is pretty good. People love Two Scoops of Django as well. The former consists of a series of tutorials and the latter explains best practices to consider when writing Django apps.

<comment><USER7> Do either of those talk about Django and scalability/duplication? The two biggest problems I've run into looking for other resources are:

1\. Versions -- a lot of printed materials are just old by the time they come out.

2\. None of them talk about large-scale projects, only smaller-scale personal blogs etc. as a first project. Or, put another way, many of the resources I find target beginners instead of intermediate/advanced learners.

<comment><USER6> Scalability--not so much. If you were really interested in building a highly scalable service (5M+ concurrent users) you probably would want to look at a different tool/language. But, chances are, Django works just fine for your initial/early use cases (before what you're building goes "viral" lol) and for most web app use cases on the internet. Duplication--yes. If you are talking about duplicating project boilerplate, Two Scoops gets into this topic specifically (using a neat package called cookiecutter). If you mean replication (e.g., horizontal scaling via replication of instances of your app), then that's more of a dev ops thing and depends on your deployment setup. I would suggest digging into literature about AWS, or whatever PaaS you choose.

1\. Versions -- both books target Django 1.8+ (Django 1.9 is the current, stable release), so I would consider both relevant for now.

2\. I suggested both books because both are current and different. Django By Example includes examples of projects beyond a simple blog (I think that's chapter 1 or 2). Each chapter introduces more and more complexity with a totally separate project example. Whereas, Two Scoops of Django provides general recommendations for how to best manage common Django tasks/flows. I think both are appropriate for intermediate/advanced users.

<comment><USER7> Thanks for the in-depth response! I'll check them both out. :)

</comment></comment></comment></comment></comment><comment><USER8> Neither Django Rest Framework nor AngularJS is actually used in this post..

<comment><USER9> This reminds me of the kickstarter to build django tutorials. Lots of talks and finally halting halfway ... That's the difference between Django and Rails (and now Node). Ressources are scarce and unreliable ...

<comment><USER10> I would recommend tangowithdjango.com (Django Only) as the first step.

</comment></comment></comment><comment><USER11> This is great! There is always room for more documentation on Django.

</comment><comment><USER12> It's shocking to me how something that should be so easy becomes so complicated. Why does the file structure need to be re-configured? What the heck are the __init__ files?? Virtual environments?

I sort of know the answers but remain unsatisfied.

And then the author sets up a needlessly overcomplicated data model situation.

<comment><USER6> With all due respect, this tutorial might be a little over your head, but a little bit of research will get you up to speed. __init__ files and virtual environments are not specific to Django or DRF. These are typical patterns used in python development. For example, using a virtual environment allows you to have a self-contained python environment (your choice of version) with package management through pip. This is enormously useful when writing apps-- you've got python and dependencies all in one spot contained in its own environment.

<comment><USER12> As I mentioned, I know the answers. But that doesn't quell my dissatisfaction.

<comment><USER13> Write your own article ¯\\_(ツ)_/¯</comment></comment></comment></comment>


What's New in Safari 9.0 - <AUTHOR> https://developer.apple.com/library/prerelease/mac/releasenotes/General/WhatsNewInSafari/Articles/Safari_9.html

<comment><USER2> The responsive testing mode looks great, and hopefully the content blocking stuff will lead to good Mac/iOS ad+privacy blocking

<comment><AUTHOR> Yeah, Content Blocking Safari Extensions seems like a good replacement of adblock/ublock</comment></comment>


Boston Ruby Community grows by 47 women in one weekend - <AUTHOR> http://www.railsbridgeboston.org/blog/2012_nov_recap

<comment><USER2> For those who are curious, since there isn't any information in the blog posting, this event is one which is targeted directly at women. I think it's a great event, and it's even better that they can make arrangements for mothers to participate as well. The Software Engineering community could definitely use some diversity, and doing things to strengthen that is a wonderful thing.

<comment><USER3> More specifically — assuming the rules were the same as for the first such workshop, linked in the article — "women were automatically allowed to apply for a spot, while men were allowed to apply if they knew a woman who was going to attend."

</comment></comment><comment><USER4> FTA: "We also had one unfortunate incident where a student started saying disparaging things about transgendered people at the same table where one happened to be sitting. "

Good for them for calling this out...but it's a weird statement where its vagueness just makes things weirder...either an awkward attempt to downplay a really horrific show-stopping comment, or blowing out of proportion someone's attempt at a joke.

edit// I think my problem is with the word "unfortunate" incident and "where one happened to be sitting"...as if it were unfortunate that such comments were made inadvertently where a transgendered person could hear them. Either way, "unfortunate" doesn't seem like the right adjective here when "unacceptable" seems more like it. (i.e. it's strange to describe "disparaging" remarks towards African-Americans/women/any-other-group as "unfortunate")

<comment><USER5> Thanks for your remark. I agree with you about the seriousness of this, and I am sorry if our language was imprecise.

Please do not mistake any oddity in how this was written with the clarity of how we reacted at the time, our commitment to inclusiveness, and our complete agreement that this was unacceptable.

It wasn't even an attempted joke. The person made explicitly transphobic remarks based on their own intolerant beliefs.

What the person said was offensive and unacceptable, and I personally used those words, and I believe I made that clear to all involved at the time. Rather than mionimize this, sweep this under the rug, or ignore it, I escalated this to all the other organizers immediately after I heard about it, and I am glad we wrote about it in the wrap-up.

I also apologized to the students that this happened at our event, and asked what they would like to see happen, and what we could do. As the transphobic person had already left, ejection was unnecessary (though would have been the next step), and they immediate suggested putting a better policy in place for our events - which we are doing. We also 'blacklisted' the person from all future railsbridge events.

We agree that transphobic/racist/sexist/homophobic remarks are simply unacceptable, and it was not about who happened to be sitting there. I would say this about the students who happened to be sitting there - they stood up for themselves and each other, and are the reason the maker of the transphobic remarks left even before the organizers found out about it.

\- Andrew Kuklewicz

</comment></comment><comment><USER6> I thought being an assistant was a good experience. I'd do it again. This was a great deal for participants too. A similar class at a professional training center or college could easily cost between $1000 and $2000. In my opinion people got enough information to continue learning on their own, or evaluate if they want to they want to continue with paid training elsewhere.

</comment><comment><USER7> I'm sorry this is only for women and their guests. The Boston software scene needs more gatherings like this in general. I see meetups and talks in other cities all the time, and very few in Boston.

<comment><USER5> Boston Ruby (bostonrb.org) has a monthly project night open to all levels to learn and hack together, and a monthly meeting with great talks - and that is just for Ruby. Pythonistas are active, and have their own things happening, the Java User Group also has similar events - and those are off the top of my head.

On the weekend we did this workshop, there was a Start-up Weekend event up the street at the Microsoft NERD center, and directly above us at MIT Stata center was Music Hack Day. My problem is choosing what events to go to, not finding one.</comment></comment>


I love the simplicty of YC News, but it's hard for me to read  -- Just me? - <AUTHOR> <comment><USER2> Vote this up if you want the fonts bigger and visited links darker.

<comment><USER2> Or if you prefer things the way they are, vote this up.

<comment><USER3> exploiting the top comment :)

my only request is that my comments that received reply could have a different color so that i know they were replied because I missed reading replies on time.

</comment></comment></comment><comment><AUTHOR> I love YC News, and definitely appreciate PG's minimalist tendencies (which made reddit so great). But there's something about this site that makes it hard for me to read. I've been browsing with "View->Page Style->No Style" which helps.

I'm thinking it's something trivial like the gray visited links and small fonts.

Anyone else find it hard to read?

<comment><USER4> Its usually fine. The user pages are a bit cluttered with all the history of a certain user. And yep, small fonts and grayed out links that blend into the background are small gripes on my part as well.

</comment></comment><comment><USER5> I think greyed out links on the gray backround makes it harder. Why not use some of the orange for unread links?

</comment><comment><USER6> I'm ok with it but I have to increase the text size to read it. This isn't exclusive to YC news, I have to increase font size on most webpages due to my poor sight and mac os' irritating support for external monitors.

</comment><comment><USER7> fonts are fine (that's an easy change for browser users to make because we have shortcuts), but visited links should be darker (more of a pain to change for just one site)

</comment><comment><USER8> Yeah I agree. I visit the site a few times a day. Its hard to read, and hard to tell if I missed a good post too! Perhaps organizing posts by date might help.

</comment><comment><USER9> I think it would be better if there were less items on each page, font was bigger, and we had categories for each submission so that we could filter it.

</comment><comment><USER10> If the text looks grey on a grey background, you might be using firefox. The site is much more readable on IE. Not that you should have to change.

</comment><comment><USER11> I already suggested alternating row colors on all news list pages.

-Zaid

</comment><comment><USER12> Drop the background color would work for me.

</comment><comment><USER13> ctrl-scrollwheel

</comment><comment><USER14> or for Mac users: Shift-⌘+</comment>


Ask HN: Have you noticed Facebook being slow, laggy, and buggy lately? - <AUTHOR> In the past I always used Facebook as a near perfect example of how to build a system at scale with minimal service disruptions.
However within the last few months I have noticed many times Facebook loads slow, doesn't load at all, or throws errors when doing routine tasks. Not isolated on a network or machine either; I've noticed it happening everywhere.
Has anyone else noticed this? If so, do you have any thoughts/ideas on why this is happening? Is it simply due to size or are there other factors at play? <comment><USER2> Always. Probably because we're not power users and hence our data goes to cold storage pretty quick...bet it feels fast for teenagers who live on it.

<comment><AUTHOR> I'm not so sure. I usually log in a few times a day. Granted I'm not a power user as my sessions usually last a matter of minutes, but you think this would cause the overall performance issues? Is this something that affects other large companies as well?</comment></comment>


Softbank Fund Bets on Using Concrete Blocks as Batteries - <AUTHOR> https://www.bloomberg.com/news/articles/2019-08-14/massive-softbank-fund-bets-on-using-concrete-blocks-as-batteries <comment><AUTHOR> Another article about an year back (in qz) : [https://news.ycombinator.com/item?id=17789456](https://news.ycombinator.com/item?id=17789456)</comment>


Show HN: The simplest tool to test website latency from multiple locations - <AUTHOR> https://github.com/z0mbie42/latency/ <comment><USER2> This GitHub link points to an implementation at [https://mystifying-wiles- fb2cfb.netlify.com/](https://mystifying-wiles-fb2cfb.netlify.com/)

However, that site doesn't appear to work with mobile Safari on iOS.

<comment><AUTHOR> Thank you for the feedback! What kind of error do you have? On safari with IOS ? The frontend is VueJS with [https://vuetifyjs.com](https://vuetifyjs.com) so it should work

</comment></comment><comment><USER3> I'm more of a web designer, so I'm not your target audience necessarily, but I love how simple this can continue to be. Straight to the point, gets the results fast, and displays the info clearly. Nice work.

<comment><AUTHOR> Thank you! It was the whole point to be simple and beautiful</comment></comment>