Cringely's subscription-based mortgage refinancing startup - <AUTHOR> http://www.cringely.com/2009/03/so-that%e2%80%99s-why-he%e2%80%99s-so-interested-in-mortgages/

<comment><USER2> I think its fair to say that this looks pretty interesting. The domain reads like a bad spam domain, though. Did someone skip the chapter on branding?

I did walk through their mortgage evaluator. The process was pretty straightforward, and they didnt ask for any upfront personal information like most of the scam mortgage sites out there.

I'm not sure I'm ready to pay $10 for mortgage assistance, but this might be an interesting thing to do if I was actually buying a home. I'm definitely going to keep it in the bookmarks, but I'm curious how they plan to keep people paying the $10/mo over the long haul. Traditionally, real estate services, and also paid review sites like Angielist have very high churn rate. People sign up, get the info they want, and then unsubscribe. Rinse repeat every 12-18 months when they need something.

<comment><USER3> Yes, I LOL'd at that domain once I saw it.

Don't forget the dash, kids....

<comment><USER4> I have some recommendations for making it look more questionable:

1\. Switch to .info domain name 2\. Homepage should have more color and more gratuitous animation - maybe seek out Matthew Lesko's people? 3\. There's a contact link at the bottom of the page - remove that so no one has any idea who the hell is behind it.

</comment></comment></comment><comment><USER5> Mortgage brokers can make money from both the up-front fees they collect from customers as well as fees which they sometimes receive from the wholesale mortgage lenders who actually provide the money for the loans. The up-front fees are revealed to the customer and the other fees are not. They can be in the thousands of dollars.

I did some database work for several retail mortgage providers several years ago; it's possible this has changed now but I rather doubt it. At that time, as I learned how the system worked, I was a bit shocked and thought the whole mortgage business seemed very dodgy though everyone assured me that's just how the industry worked.

I wonder if Cringely's service is making this "money on the backside" (that's what they call it) or if the $10/month subscription is really all they get?

<comment><USER6> They deny this "backside" money pretty emphatically on their home page. However, the mortgage industry's reputation is so shredded at this point that I scarcely believe them for no other reason than they're in the mortgage business.

</comment></comment><comment><USER7> If it is true that they help you monitor your identity and credit score and on top of that help you strategize ways to better position yourself not only credit wise but also mortgage wise, I could see the benefit in remaining subscribed.

As a home owner and someone who has been through more than one refinance process it is nice to work with an organization that is not beholden to the other side of the equation - the lenders. This model is incentivized to more favorably aligned with my interests.

</comment><comment><USER8> The problem to be solved was "it was in the interest of the lender to keep mortgage holders owing as much as possible for as long as possible".

The broker solved that by having his customers pay him a one time fee, which aligns their interests: now they both want the loan to be paid off as soon as possible. It saves the customer money and the broker time.

And then Cringely changes the one time fee to a monthly payment, which seems to me like going back to square one. Home-Account is motivated to improve your situation just enough to keep you a happy customer, but also to keep you as a customer for as long as possible.

<comment><USER9> Did you read the whole post?

<comment><USER8> I did. Any chance you'll honour me with a helpful reply?

<comment><USER9> The product home-account says they are providing is not a "let's improve their situation enough to make them a happy customer" but something that claims to be a mathematically optimal way of refinancing your home mortage. Then they will tell you when it becomes optimal to refinance your home again. Already they hint that they will begin competing with mint.com so eventually they'll provide lots of useful services.

The monthly payment is not a bad thing. It makes it much, much cheaper for the customers. It does not change it so the service will suddenly mislead their customers about the best thing to do for their finances.</comment></comment></comment></comment>


FreeBSD 11.0-RC1 Now Available - <AUTHOR> https://lists.freebsd.org/pipermail/freebsd-stable/2016-August/085277.html <comment><USER2> Matt Macy added support for current Intel and amdgpu graphics out of tree for now [https://github.com/FreeBSDDesktop/freebsd-base- graphics/tree...](https://github.com/FreeBSDDesktop/freebsd-base- graphics/tree/drm-next). It is up to Linux 4.7. The graphics stuff is MIT licensed and the linuxkpi is re-implemented so it will eventually trickle into 11.x or 12 and/or a loadable module packaged with FreeBSD Ports.

Still lots of rough edges but it's pretty fun to watch and participate.

<comment><USER3> So then, there won't be Haswell graphics support out of the box on FreeBSD 11.0-RELEASE? :(

<comment><USER4> Meanwhile OpenBSD has had Haswell support since 5.5, Broadwell/Bay Trail since 5.9.

[http://www.openbsd.org/55.html](http://www.openbsd.org/55.html)

[http://www.openbsd.org/59.html](http://www.openbsd.org/59.html)

<comment><USER3> That they do, and that's quite admirable (and important, since nVidia won't port their binary blob drivers; and nouveau doesn't run on OpenBSD either.)

Out of the box ZFS boot is still more important to me than getting rid of my Radeon card, though.

</comment></comment></comment></comment><comment><USER2> People try to keep the big ticket items in major releases on the wiki: [https://wiki.freebsd.org/WhatsNew/FreeBSD11](https://wiki.freebsd.org/WhatsNew/FreeBSD11)

Async sendfile, TCP/IP improvements, RSS are things that stand out for my workload. bhyve with UEFI and graphics is probably pretty neat to many folks. VNET (jails closer to Solaris zones with their own network stack) is also closer to correct.

There's a lot of groundwork that will make 11.1 exciting as a followup too (for new TCP stacks, memory management scalability)

</comment><comment><USER5> _" The Release Engineering build tools have been updated to include support for producing virtual machine disk images for various cloud hosting providers. [r277458] (Sponsored by The FreeBSD Foundation)"_

We're running FreeBSD in AWS rather successfully. 11 seems to add a few things that are aimed directly at first-class support for building and running VMs and AMIs. Good to know continued support is being focused in this direction.

<comment><USER6> what's the advantage for running FreeBSD over linux for your application?

<comment><USER5> Mostly ease of use. It's a rock. I have a special place in my heart for BSD, but that aside, when the SystemD battles started and I was on Ubuntu, I was interested in using ZFS for a few things. So the choices were ZFS on Linux, or go back to BSD. After about an hour of playing around, I ended up back on FreeBSD.

So, it's partly personal, as all things are. But it's mostly how _easy_ it is to use, especially for someone that wouldn't describe themselves as a server admin of any special level of skill. There are a few core tenets of design in BSD/FreeBSD that are both beautiful and very easy to understand. So I can ignore the OS a lot of the time and just get to work on the app side.

<comment><USER7> I use openRC with Gentoo and ZFS in my a file server. The simplicity is close to FreeBSD's rc system.

</comment></comment></comment></comment><comment><USER8> It's good to see the DRM (graphics) stuff more up-to-date in 11.0. FreeBSD is frustratingly close to natively-just-works on my 2014 Asus Haswell ultrabook (support for scrolling with the touchpad, of all things, is the main thing missing; also volume/screen hotkeys). I hope the laptop hardware support keeps improving!

Anyway, I _really_ appreciate the simplicity of rc.conf and the well-curated config/boot infrastructure in general; pkg(ng) just works; ZFS is insanely cool; LLVM-as-system-compiler is nice... I sometimes wonder where we'd be if the BSD lawsuit hadn't held things back 20-ish years ago.

<comment><USER9> > BSD lawsuit hadn't held things back 20-ish years ago

Linus said he wouldn't have written Linux if he had 386bsd at that time, which took longer. What that means is up for speculation, but Linux became wildly popular as a host for Apache and Samba before anything else. Similarly, if Oracle hadn't closed off Solaris, maybe FreeBSD wouldn't be the best compromise between hardware support and ZFS+DTrace availability.

PS: XFS is about to gain COW and data checksum support, probably generally available next year.

<comment><USER10> > PS: XFS is about to gain COW and data checksum support, probably generally > available next year.

Do you have link for that? XFS supports metadata checksumming already and cp --reflink IIRC but I've never heard about data checksums and "real" COW e.g. snapshots?

<comment><USER9> [http://lkml.iu.edu/hypermail/linux/kernel/1608.0/04662.html](http://lkml.iu.edu/hypermail/linux/kernel/1608.0/04662.html)

<comment><USER10> Great news! Thanks!

</comment></comment></comment></comment></comment><comment> old-gregg Quick question from a clueless Linux person: are codebases of FreeBSD, OpenBSD, NetBSD diverging over time, or actively reusing each others code?

<comment><USER11> They port code from one codebase to the other, and often it's the same dev doing the work for more than one OS, but there isn't any principled coordination of effort to keep a unitary codebase for anything.

<comment><USER12> A unified package system for BSD family can reduce some friction.

<comment><USER13> The three of them already use _basically_ the same package system. The package management suite (pkg_add, pkg_info, etc.) and the ports collections all originated from work Jordan Hubbard did for FreeBSD in 1994. OpenBSD re-wrote all the tools, but they are functionally the same. NetBSD (pkgsrc, really) added a frontend (pkgin) to offer a more "modern", apt-like experience. FreeBSD added a similar frontend (pkg) in version 10.

As far as I know, there is no _binary_ compatibility between the three of them, so sharing package repositories would be a no-go, but if you know the tools on one system, that knowledge is transferable to the others, for the most part.

If you want to use the same exact ports collection on each of them, NetBSD's pkgsrc is quite portable, and will work not only on the other BSDs, but on Linux, Mac OS X, Minix, Solaris, and a few others as well. I use pkgsrc to manage packages on my Mac Mini -- Joyent provides binaries for most things, and the other stuff is usually just a `bmake` away.

<comment><USER14> It is rather more rocky than that. (pkgng arrived in FreeBSD 9.1, by the way. Not 10.)

* pkgng has some stark differences to OpenBSD pkg, most notably the notion of Debian-like "post-install", "pre-remove", et al. scripts.

* The systems compress packages with different tools. OpenBSD pkg uses gzip. FreeBSD pkg uses xz.

* OpenBSD has a notion of "package flavours" that does not really have an analogue in pkgng.

* The introduction of pkgng was distinctly problematic. A lot radically changed in early versions, most critically the configuration file format. It used to be YAML. It's now UCL.

* The documentation is misleading to the point of being downright wrong. The FreeBSD wiki still insists ([https://wiki.freebsd.org/pkgng#Metadata](https://wiki.freebsd.org/pkgng#Metadata)) that the configuraton file is YAML. The manual page for pkg-create gives examples such as "name _pkg-name_ " and "file _sha256-hash_ _path_ ", which is syntactically incorrect for either language and the wrong keyword to boot. Following the manual does not produce a working configuration file. Ironically, the wiki provides better information on this, even though it provides that information in the wrong configuration language.

* The documentation is misleading to the point of being downright wrong. The FreeBSD manual page for pkg-repository claims that repositories contain files named packagesite.txz, repo.txz, and filesite.txz. In fact, the pkg repo tool generates files named packagesite.txz, meta.txz, and digests.txz .

* OpenBSD pkg and FreeBSD pkg don't really have a common notion of "package repositories". The ways to organize pulling packages from remote storage locations are quite different, even down to the fundamental file fetching tools. FreeBSD has fetch. OpenBSD has ftp.

All that having been said: the idea that a unified packaging system necessitates a unified _codebase_ is disproven by Ubuntu and Debian. (An example is OpenRC: present on Debian 8 at [https://packages.debian.org/source/jessie/openrc](https://packages.debian.org/source/jessie/openrc), up to version 0.21 in what is to be Debian 9, and gone from Ubuntu 16 at [http://packages.ubuntu.com/xenial/openrc](http://packages.ubuntu.com/xenial/openrc)) Conversely, one can have a unified codebase even with multiple packaging systems.

<comment><USER13> This is all true, but I was mostly comparing the pkg_* tools (pkg_add, pkg_info, etc.) that were used before the arrival of (NetBSD's) pkgin or (FreeBSD's) pkgng (does OpenBSD have something similar? If so, I haven't used it at this point).

<comment><USER14> You used the wrong tense. (-:

It should have read "The three of them some years ago _used_ basically the same package system." and "they _were_ functionally the same".

OpenBSD 5.9 still has the old packaging toolset.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Quick note: Lenovo x240 and T440 Laptops can still be had new in some places and they can run FreeBSD 11 quite well.

</comment><comment><USER16> Are the multiple root compromise exploits (that've been known since May) fixed yet in this RC? [https://lists.freebsd.org/pipermail/freebsd- security/2016-Ju...](https://lists.freebsd.org/pipermail/freebsd- security/2016-July/009016.html)

<comment><USER17> [https://www.freebsd.org/security/advisories/FreeBSD- SA-16:25...](https://www.freebsd.org/security/advisories/FreeBSD- SA-16:25.bspatch.asc) for bspatch

There was another announcement about pkg itself, but I can't find it. I believe it's being rewritten/modified to fix the issue.

</comment></comment><comment><USER18> Is VNET going to be in the kernel by default?

<comment><USER17> Doesn't look like it - [http://svnweb.freebsd.org/base/head/sys/amd64/conf/GENERIC?v...](http://svnweb.freebsd.org/base/head/sys/amd64/conf/GENERIC?view=log)

</comment></comment><comment><USER17> What would the risk be of taking my 10.3-RELEASE box (with VNET enabled kernel) and upgrading it to RC1?

</comment><comment><USER19> Maybe someone will be interested, on 11.0 syncnthing doesn't crash system when quitting.

<comment><USER17> Christ. Multiple reports, none have been closed, no link to changesets.

[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200846](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200846).

Userspace should never be able to crash the kernel!

<comment><USER17> In case anyone cares, I have chased this up with very helpful people in #freebsd-bugs on Freenode. I am unable to reproduce this bug myself either on 10.2 or 10.3. Any more info would be appreciated.</comment></comment></comment>


Show HN: Think Like (a) Git, a quasi-tutorial - <AUTHOR> http://think-like-a-git.net/

<comment><AUTHOR> Site author here. I welcome all feedback on the site!

[There's more I'd love to write, but I found I was losing motivation to work on it in my Copious Spare Time(tm), so I thought I'd try promoting it -- knowing that others are paying attention to it will help me keep mine focused on it too.]

</comment><comment><USER2> I tried to learn git a few times and could never quite grok it. I think I just suck at learning by reading. I mean, I was able to do basic (non-branching) source control by just following simple tutorials, but I never understood what was going on. Then I ran across "A Visual Git Reference". Changed my life.

<http://marklodato.github.com/visual-git-guide/index-en.html>

<comment><AUTHOR> Sweet! I'll add that to the resources page.

</comment></comment><comment><USER3> Thanks, taking an Epic walk through it now. Nice of you to have done this.

</comment><comment><USER4> rebase explanation is fantastic! very cool to see how you can break down the steps performed by rebase with cherry-pick. thanks

</comment><comment><USER5> REally cool site! Thanks!

</comment><comment><USER6> Great job!

</comment><comment><USER7> great site!</comment>


Startup Resolution - <AUTHOR> http://startupresolution.com

<comment><USER2> Spending time helping folks / mentoring great people to do awesome things... Always worth doing. Who cares if its tied to a startup or not! (Also a fun way to get to know interesting smart folks. )

<comment><USER3> Very true! Mentoring is great in every area of life and is always worth doing.

</comment></comment><comment><USER4> "We believe that 2013 is going to be a great year for startups."

Could anyone elaborate on why?

<comment><USER3> Hey Pan69,

Here is an excerpt from a recent article I read:

"Startup entrepreneurs themselves are feeling good about 2013. In the Kauffman/LegalZoom Startup Confidence Index survey, a whopping 83 percent of startup business owners are confident about their potential profits next year. Young entrepreneurs, ages 18 to 30, are even surer of themselves: 93 percent say they're "confident" or "very confident" about 2013 sales projections."

Working for a startup myself, and keeping pretty close tabs on what it going on out there in the community, and it seems to me that there is a lot of optimism going into '13. VC money and wages are still going to be tough but not impossible, but that is part of the startup game.

@Simpson

</comment></comment><comment><USER3> Let the world know your startup resolution for '13. Mine is to do some mentoring.

<comment><USER5> Mine is to invest

<comment><USER6> Seems I can get a potential mentor and investor from this thread :) I also need a designer.

Oh, I am a developer, btw.</comment></comment></comment>


Show HN: Weekend Project - Create Simple Android mockup - angry-hacker http://yeblon.com/androidmockup/

<comment><AUTHOR> Nice! I tried dragging components onto the screen, took me a minute before I realized I had to click them and then drag them around.

<comment><USER2> Same here, I was trying to drag all along, I guess that's the natural way we understand apps nowadays.

Great app anyways! keep it up, great work! ;)

</comment></comment><comment> angry-hacker It's my little weekend project to practice javascript/jquery. You can also save the layout if you want to share it for whatever reason :)

<comment><USER3> I think the link to create a new document breaks.

<comment> angry-hacker Thank you, I fixed the problem :)

<comment> angry-hacker I think you need to refresh the page

<comment><USER4> I did a hard refresh and tried it in two different browsers just now -- are we talking about the same link? I'm referring to the one right above the info button.

</comment></comment></comment></comment></comment><comment><USER5> Very nice!

A suggestion: make mockups exportable to images. It shouldn't be hard with something like this: <http://www.nihilogic.dk/labs/canvas2image/>

<comment><USER2> For the time being I suggest using ⌘ + ⇧ + 4

</comment></comment><comment><USER6> Nice!

You definitely have your MVP done already. Just a suggestion, it would be nice to allow saving of the completed mockup in pdf or img.

The ability of multiple revisions of a mockup would be nice.

</comment><comment><USER7> Cool. Bug report: the first element appears behind the phone as soon as you move it around (you can still drag it around behind the phone). Subsequent elements work fine. This is on Chrome/OSX.

</comment><comment><USER8> Nice work! I've been hacking on something very similar. What are you using to save the layouts?

<comment> angry-hacker The saving part is actually quite odd :) I get innerHTML (with inline css to position the elements correctly) of the layout where you can insert objects and save it to database.

<comment><USER9> This is awesome. Maybe, you can store the current elements coordinates to prevent overlapping on top of each other when you click multiple elements at the same time. Not a biggie. Love it.

</comment></comment></comment><comment><USER10> looks good.

one thing though: on my 30" the distance between the phone elements and the bin is extremely far (worse on the rotated 24"). move the bin or let me remove an element by dbl-clicking it.

<comment> angry-hacker I imagined something like this could be a problem. Thanks for the idea to delete elements with doubelcick. I implemented it already :)

<comment><USER11> Hmm, I find the double-click-to-delete feature unintuitive, and too easy to delete elements accidentally. I was clicking some text to edit it, and ended up deleting it by mistake.

Otherwise, great tool!

</comment></comment></comment><comment><USER12> Great tool. Two questions. Any way to edit or save in private?

<comment><USER12> and the second one would be, any way to resize the objects?

</comment></comment><comment><USER13> Very cool. This could be really handy!

</comment><comment><USER14> Very cool, but I totally don't understand the UI. :-)

* I was able to edit some text at some point, but I don't know how I did it, and I don't know how to do it again. Can the text of all elements be edited?

* Double clicking an element deletes it?

</comment><comment><USER15> Nice!

<comment><USER16> Awesome project!</comment></comment>


Quick fix  "Unknown or expired link." - zupa-hu

If I remember correctly, the issue is that the order is remembered on the server side for each session.
But the order is (about) the same for each request coming in the same second. Or 10 seconds. Or 1 minute. Really, who cares for 1 minute inaccuracy in the order?
HN could reuse the ordering and simply give the users the current timestamp rounded down to seconds (or 10sec or 1min) as the "fnid".
This way there were much less orderings so they could be kept in memory for much longer.
(Sorry if I remembered wrongly and missed the point.) <comment><AUTHOR> I've often thought the same thing myself, there's no need for everyone to have some super-accurate private list of articles (that then dies with a minute or two) - one shared list per minute for everyone is plenty good enough.</comment>


Barcelona Ditches Microsoft for Linux and Opensource [translated from Spanish] - <AUTHOR> https://translate.google.com/translate?hl=en&sl=auto&tl=en&u=https%3A%2F%2Felpais.com%2Fccaa%2F2017%2F12%2F01%2Fcatalunya%2F1512145439_132556.html <comment><USER2> Cheers to an attempt to using more open software! Sincerely hope that the government can fund projects that help break the walled garden of Microsoft. In the toughest of times with LibreOffice, there is always an alternative in browser based MS office suite.

<comment><AUTHOR> I also like WPS office</comment></comment>


Beej's Guide to Network Programming - <AUTHOR> http://beej.us/guide/bgnet/ <comment><USER2> Oh boy, this one brings me back. I can't tell you how many times I read this guide back in the day. Beej was the bomb when it came to network programming. Another great resource for network programming is [http://www.madwizard.org/programming/tutorials/netcpp/](http://www.madwizard.org/programming/tutorials/netcpp/) which is aimed more at Windows users. Failing that, there's the classic Unix Network Programming Vol 1 and 2 which gives a good outline of what to expect.

As it turns out, there are some really subtle aspects of network programming and these guides tend to cover them well.

<comment><USER3> Same here. Mostly I would just read man pages and write code, but every so often there's something that only works if you know the proper incantation (call ordering or whatever) and Beej almost always had the right answer, with sample code.

</comment></comment><comment><USER4> While we're sharing network programming guides, the Gaffer on Games guide on multiplayer networking is another great read [http://gafferongames.com/networking-for-game- programmers/](http://gafferongames.com/networking-for-game-programmers/)

<comment><USER5> For game network programming, the Source Multiplayer Networking guide is a fantastic high level write-up of how modern games use prediction to compensate for latency:

[https://developer.valvesoftware.com/wiki/Source_Multiplayer_...](https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking)

</comment></comment><comment><USER6> Haven't come across this before and it looks like a really valuable resource and since it's licensed under Creative Commons, I took the freedom to rehost it on IPFS here: [https://ipfs.io/ipfs/QmeZJ6QQ4gztfrNDFHfBtBi4KGv6w87PcVKqqJK...](https://ipfs.io/ipfs/QmeZJ6QQ4gztfrNDFHfBtBi4KGv6w87PcVKqqJKuM8UWiS/)

Another question for all the folks here at HN, is there more resources like this that would be considered as "definitive guide" as many mentioned, related to networking or distributed systems?

<comment><USER7> I wouldn't call this a "definitive" guide. Because there's a lot that's not covered. I mean it's great and helped me through the projects in a networking course, but I had to look elsewhere for a lot of stuff like multi threading.

For similar content I think this is something we've lost with the modern Internet. The web used to be full of people posting tutorials and how to's. Seems like hobby and indie game dev generated a lot of this type of content. I remember flipcode and gamedev.net had a lot of material on a lot of subjects (including networking) in their article and tutorials sections. These are probably archived somewhere. Edit ok look like it's been updated since 2004, I'll have to read it again!

<comment><USER8> I'm not sure how you arrived at this conclusion. As someone who started learning to code around 2004, I remember exactly what you are talking about. There were tons of tutorial websites (I liked spoono, anyone remember that?), tutorial aggregators (good-tutorials, pixel2life), and programming communities (phpforums, neverside, sitepoint). I learned coding by following tutorials to create an example project, then modifying features to my liking. It was nice, but there was a lot to be desired, and if you ran into an esoteric bug you pretty much had no option but to post to some random phpBB board or IRC channel and hope for a response. StackOverflow and GitHub didn't even exist!

It seems that nowadays it's easier than ever to learn to code, with many different resources and communities at the disposal of the newbie. StackOverlow is amazing and 99% of the time you google some esoteric error message you'll find a SO post; no need to post to forums or ask in IRC. GitHub is full of open source projects, tutorials, and example code. If you prefer learning with videos, there's tons of open source material. And in terms of guides "like this," there are thousands of new posts every day across the blogosphere by developers sharing their experience. Not to mention many old pieces of content still exist, the OP being just one example.

I really think that access to educational technical content has exploded in the past ten years, and I completely disagree with your conclusion that the state of this content was any better in 2004 than it is now.

<comment><USER9> > you pretty much had no option but to post to some random phpBB board or IRC > channel and hope for a response. StackOverflow and GitHub didn't even exist!

Usenet baby, Usenet. Still alive today although doomed beyond any optimistic hope.

</comment></comment></comment></comment><comment><USER10> Comes up so often, we've practically run out of things to say about it.

[https://hn.algolia.com/?query=Beej's%20Guide%20to%20Network%...](https://hn.algolia.com/?query=Beej's%20Guide%20to%20Network%20Programming&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

<comment><USER11> what happened 7 years ago? break of 3 years not being posted

<comment><USER10> We do not speak of the Greater Beej Occlusion.

</comment></comment></comment><comment><USER12> It really is the definitive guide. I remember reading it when I was doing my Computer Science degree back in 1996.

<comment><USER13> Same for me but around 2003 :)

It was probably the best thing to read to quickly start learning sockets!

<comment><USER14> Same for me as well, around 2012 :)

<comment><USER15> Same for me as well, around 2017.:)

<comment><USER16> Same here in 2012. It's quite amazing how many of us this guide has impacted

</comment></comment></comment></comment></comment><comment><USER17> This is a very entertaining guide on socket programming that I came across about 10 years ago. An excerpt from the guide: Stream sockets are reliable two-way connected communication streams. If you output two items into the socket in the order "1, 2", they will arrive in the order "1, 2" at the opposite end. They will also be error-free. I'm so certain, in fact, they will be error-free, that I'm just going to put my fingers in my ears and chant la la la la if anyone tries to claim otherwise.

Last year, I decided to read the recently published newer version of this guide that describes how to write code that works for both IPv4 and IPv6.

An archive of examples and experimental code that I wrote while reading this book: [https://github.com/susam/lab/tree/master/c/beej-guide-to- net...](https://github.com/susam/lab/tree/master/c/beej-guide-to-network- programming)

</comment><comment><USER18> It's honestly kind of nice to have multiple sources treating the same material a different way. This, Stevens' _UNIX Network Programming,_ and Kerrisk's _The Linux Programming Interface_ are all a student should need to get started with socket programming.

<comment><USER19> You beat me to the Richard Stevens book. Truly the comprehensive guide. Everyone should have it on their shelf.

</comment></comment><comment><USER20> I remember reading through the original version around my first year as an engineering student at Chico state around 2004. Only later did I realized that this guide that I learned so much from was hosted on the Chico State engineering servers! somehow I overlooked the URL. I followed the trail and realized that Beej was an alumni from Chico as well and had some sort of group (I forget the name). I emailed him to see if it was still active and he responded but alas it was not. They were responsible for rigging up the the soda machine in the computer science department to the network and I believe you could check the current stock levels of the different soda types.

</comment><comment><USER21> I recall reading this start to end, twice, around 2009. I read it again a few years ago as it had been updated to include things like references to libevent.

</comment><comment><USER22> He also have other guides! This are old but gold guides! I learned C with his guides and also learned network with this one.

</comment><comment><USER23> I learnt a lot of things from this book . Its a really good to start . (Around ~2007 if I am not wrong )

</comment><comment><USER24> This reminds me of my networking class! I remember being provided Beej's Guide and it being indespensable. Still 8 years later when I need to verify something about networking I go look it up and make sure i am doing it right.

</comment><comment><USER25> Brings back lots of memories - had it permanently open in my browser when I wrote a P2P file transfer / messenger app for a project about 10 years ago. Socket programming is so much fun :-)

</comment><comment><USER26> Beej's is great. Crack it open every time I have to work with network sockets (on my third reliable UDP library now...).

</comment><comment><USER27> I really liked Lincoln Stein's Network Programming with Perl. Excelent examples and clearly explained from the basics.

</comment><comment><USER28> I am finding this guide very helpful. Are there guides for other Linux concepts just like this guide.

</comment><comment><USER29> I just used this guide for my Network Programming class last fall. I love it so much.

</comment><comment><USER30> This is classic -- one of the main reasons I started programming in C.

</comment><comment><USER31> I read it over and over again 15 years ago, great resource.

</comment><comment><USER32> Nostalgia

<comment><USER33> On one of the previous comments argued that he would not could call Beej's work "a definitive guide". Fair enough but "classic" is very accurate.

I don't know why your response is graying but I hear you ... nostalgia! I miss the time when this classic was magic.</comment></comment>


Ark – A systems programming language written in Go with an LLVM back end - <AUTHOR> https://github.com/ark-lang/ark

<comment><USER2> Note that this language was formerly called Alloy.</comment>


Ask HN: Do non-commercial offsite backup solutions exist? - <AUTHOR>

Like most people, I'm not doing offsite backup of my data. Are there any low power/cost end to end solutions that I could plug into my friend's home network and backup data from my home? <comment><USER2> Crashplan does exactly as you mention, and handles jumping through NAT, encryption (with your own keys if you want), etc:

<http://crashplan.com/>

Cross platform (Mac/Win/Linux/Solaris). Some extra features unlock if you buy the + version.

If you want a totally free solution that would take a little more work to implement, look at Duplicity:

<http://duplicity.nongnu.org/>

rsync based, uses SSH/GnuPG for security.

Run one of these on whatever hardware you have available.

</comment><comment><USER3> You can easily tunnel rsync over SSH. You can configure even the simplest routers to do port-forwarding, e.g. your friend's external IP on port 2222 is redirected to port 22 on an internal host.

Rsnapshot (rsnapshot.org) is a free rsync-based backup system; it is very efficient in terms of disk space and keeps full backups, but only keeps 1 copy of each file.

</comment><comment><USER4> I use an old ppc mac mini and openvpn to do remote timemachine backups. It works pretty well and was pretty easy to setup.

</comment><comment><USER5> you might be able to use local-drive backup software, a drive at your friend's home, and a pogoplug device to access the drive remotely as if it were a local drive.

<http://pogoplug.com/>

and you could use TrueCrypt to add an additional level of security.</comment>


Chuck Moore (Inventor of the language FORTH)'s blog - <AUTHOR> http://colorforth.com/blog.htm <comment><USER2> The first post is actually heavily edited from its original, last night. He cut out about 2 paragraphs where he talked about the "3 whiskeys" hey drank, as well as a problem that he has that the internet might be able to help with. (No specifics)

I'm impressed that he basically kept the same spirit of the post though instead of just deleting the whole thing. I wonder what prompted the original post though.

<comment><AUTHOR> "he cut out about 2 paragraphs where he talked about the "3 whiskeys" he drank"

It was there an hour ago, when I submitted this, as were a few sentences about how hard it was to hit the right keys on the keyboard with "3 whiskeys" inside him. Coupled with the note about attempting to raise some money and failing to led my comment about it being poignant.

Maybe he just woke up sober and didn't like what he'd typed when he was a little intoxicated.:-)

It was fine writing. Too bad he felt the need to delete it. (but understandable, blogging while (tending to) drunk might be too ...interesting )

<comment><USER3> Now that I see he was OK the next day, I don't feel bad for laughing so hard at it. Maybe he worries that it would cause people to think badly of him, but in my case, anyway, it just reveals a more human, vulnerable side, which doesn't diminish my respect for his intellect in the least. It said:

Hi. I'm at the cabin. Have had 3 whiskeys. It's been a hard day. And it's really hard to type.

I talked to mortgage consultant Craig today, about raising money on my Incline Village property. No joy.

I drank my whisky at my Yuba River outlook. Very peaceful. My insight was that I need to use this web access to seek a solution to a dilemma. You can help. I'll get back to you.

Walking back from the Yuba River outlook, I encountered a deer leg. Something killed a deer and brought its leg there. How ephemeral we all are.

I brought to the cabin 1/8 cord of oak firewood. It was delivered to my house, I loaded it onto the Jeep and drove it here. Tomorrow I'll stack it. You know, this keyboard is almost unusable after 3 whiskeys. Hit the wrong key and funny things happen. That does not happen with the colorForth editor.

You know, dealing with File Manager on the Earthlink website is just as keystroke prone. It took me many tries and much confusion to post this comment.

I just got a beep. Have no clue what it means

</comment></comment></comment><comment><AUTHOR> I found some of the entries (specifically the last) very poignant. Maybe this is what happens to a genius who is too much out of the mainstream?

<comment><USER4> Chuck is an absolutely amazing guy. Read up on his 'homebrew' cad system to lay out chips, it is quite a lesson in how strongly a user interface can influence a process.

TILs (threaded-interpreted-languages) have a very natural aspect to them, almost as if that is how you are supposed to develop software.

In spite of that, actually doing it is pretty hard, one of the reasons why forth never took off as a mainstream language. Still, in embedded control it is fairly common, mostly because it is one of the easiest to bootstrap high level languages.

<comment><USER5> Elsewhere in the site:

 _Keyboard Continuing my experiments with keyboards, I currently prefer using 27 keys to provide the 48 characters needed. These are the home keys of a standard 101-key keyboard, allowing the other 74 to be ignored.

The assignment of the keys changes, with the current one displayed on-screen at lower right. It's pleasantly easy to type while referring to the display. These keys minimize finger travel, as close to Dvorak's arrangement as 27 keys permit.

They are used as function keys (menu selects) for applications. The only text that needs to be typed is when editing source code.

Other arrangements are possible. Including, gulp, standard qwerty. _

Wow...

<comment><USER4> Yep. legend has it he had a chair with who triplets of keys taped to the armrests to control the cursor and place the gates by 'chording', using a system he called 'Okad'.

<http://www.colorforth.com/gates.htm>

one hand would control the cursor, the other the placement of the gates or wires.

Would be nice if someone could corroborate or disprove that, I always thought it completely matched the rest of the stories about Chuck Moore so I give it a good chance of being true.

</comment></comment></comment></comment><comment><USER6> now go read and upvote "Chuck Moore: Geek of the Week" <http://news.ycombinator.com/item?id=745294> to the top.

I think Chuck really desereves it!</comment>


Abandoned at Burning Man, Bicycles Now Head for Houston and the Caribbean - <AUTHOR> http://www.bbc.com/news/world-us-canada-41312810 <comment><USER2> I wish something similar could be done for these abandoned bikes in China[1]. Would love to see a kickstarter campaign where the money would be used to select the bikes in decent condition and ship them to communities around the world that could make good use of them.

[1] [https://www.theguardian.com/world/2017/jan/17/chinese- discar...](https://www.theguardian.com/world/2017/jan/17/chinese-discard- hundreds-of-cycles-for-hire-in-giant-pile)</comment>


NuCaptcha: Captcha with flash. - <AUTHOR> http://mashable.com/2010/08/06/nucaptcha/

<comment><USER2> Interesting idea, but not exactly accessible for lots of mobile devices. Pretty bloated compared to image-based captchas as well.</comment>


Amazon Launches SMS Buying Service - <AUTHOR> http://www.techcrunch.com/2008/04/02/amazon-launches-sms-buying-service/ <comment><AUTHOR> I am guessing this is via the YCombinator startup TextPayMe that Amazon bought:</comment>


ANA Avatar XPRIZE - T-A https://avatar.xprize.org/ <comment><AUTHOR> The last few XPRIZE announcements have been really confusing to me.

I don't take any issue with the sentiment; they want to advance specifically commercial domains by incentivizing them to accomplish moonshots.

The problem I have is that the moonshots (quite literally in the case of the Google Lunar XPRIZE) are so ambitious that the only people that have the resources to even come close to accomplishing these goals would never be interested in prize amounts this small. They would almost definitely end up losing money with the purses the size that they are and quite honestly winning an XPRIZE just doesn't carry enough prestige to counter the capital losses.

The amount of R&D needed to get a robotic avatar to the level proposed here is staggeringly larger than $10mil.

I just don't see the point.

<comment><USER2> X-Prizes can spur innovation even if they aren't completely successful. A few of the Moon X-Prize contestants are still planning to reach the goal:

[https://www.bloomberg.com/news/articles/2018-03-11/space- exp...](https://www.bloomberg.com/news/articles/2018-03-11/space-explorers- now-shoot-for-the-moon-without-google-s-prize)

</comment></comment><comment><USER3> This won't be easy but cheaper entrants are possible. Take off the shelf components and put them together. Then rely on a human to do the more complex bits.

Take pg 7 of the draft guidelines: [https://avatar.xprize.org/sites/default/files/ana_avatar_dra...](https://avatar.xprize.org/sites/default/files/ana_avatar_draft_competition_guidelines_2018_03_12.pdf)

In the 'Vision' section it requires that the Avatar be able to track motion: "Can you correctly follow an object moving on the floor in front of you?"

The hard way to do this is to develop a vision system with neural nets to track relative motion of any object within the field of view. Objects need to be classified, identified and tracked. Further, the purpose of the object must be divined. That is extremely difficult.

But, if you allow for a wireless connection with a human in a suit and the human operator's brain is doing all of that work (the work a child does when catching a ball), then the challenge gets much much easier. Pass the data to the human (visual) in close enough to realtime so that the human can react while wearing a control suit. Then pass the control suit reactions back to the robot. The problem becomes one of data compression, latency in the system, UI/UX design on the human side of things, etc.

The point is, cheaper, less comprehensive systems could be built that could functionally complete the challenge and win the prize. And those systems could have immediate uses.

For example, what if I have elderly parents who have a robotic assistant at their home fulltime. Some tasks are easy to program (ex. changing a bedpan). But other tasks are much more difficult: a sponge bath to prevent bed sores. The robot could change the bedpan whenever it needed to automatically like a roomba doing the vacuuming. But when it needed to do the bath, it could call me up at home, I could put on my control suit, connect over the internet, and bath my parent from thousands of miles away. The complex 'thinking' and task management of the robot is handled in my brain.

But the basic business case is met: work can be done by a robot with a human 'guide' or 'pilot' at a distance.

</comment><comment><USER4> Anyone else freaked out by the fact that "ANA" is the same name used in the [https://en.wikipedia.org/wiki/Commonwealth_Saga](https://en.wikipedia.org/wiki/Commonwealth_Saga) for a distant future governing cyberintelligence?

Great coincidence

<comment><USER5> ANA also stands for All Nippon Airways, a Japanese airline; that's first thing I thought when I read the title

<comment><USER6> Well, that's because All Nippon Airways is behind this.</comment></comment></comment>