Hand Scraping a Truly Flat Plane (1908) [pdf] - <AUTHOR> http://www.galleyrack.com/images/artifice/machine-shop/surface-finishing/hand-scraping/engineeringremin00port-pp233-237-img303-307-production-of-an-original-surface-plate.pdf <comment><USER2> One of my favorite parts of Feynman's brilliant talk about the limits of minaturizing mechanical devices, "There's plenty of room at the bottom":

"""If, for instance, having made a small lathe with a pantograph, we find its lead screw irregular – more irregular than the large-scale one – we could lap the lead screw against breakable nuts that you can reverse in the usual way back and forth until this lead screw is, at its scale, as accurate as our original lead screws, at our scale.

We can make flats by rubbing unflat surfaces in triplicates together – in three pairs – and the flats then become flatter than the thing you started with. Thus, it is not impossible to improve precision on a small scale by the correct operations. So, when we build this stuff, it is necessary at each step to improve the accuracy of the equipment by working for awhile down there, making accurate lead screws, Johansen blocks, and all the other materials which we use in accurate machine work at the higher level. We have to stop at each level and manufacture all the stuff to go to the next level – a very long and very difficult program. Perhaps you can figure a better way than that to get down to small scale more rapidly."""

Many ideas contributed to the modern process of 5nm lithography, but having flat surface plates whose precision is determined by the correct application of operations rather than an external standard has turned out to be one of the most profound.

Now, of course, you can buy a granite surface place with accuracy exceeding almost anything available 100 years ago, for $30. And there are youtube videos of flat surface aficinados who scrape their own.

<comment><USER3> Making a precision lead screw is an important step. Maudslay invented the modern metal lathe. His original, from around 1800, is in the Science Museum, London, and it has most of the features of a metal lathe of 1900. Or today.

A screw cutting lathe requires a good lead screw as its reference. Maudslay invented a "screw origination machine"[1], a clever special-purpose device for making a more accurate screw than the one you have. It only cuts soft metal, so the screw it makes is used in a second lathe to make one in hard steel. This is another of the key steps in bootstrapping to precision.

Early precision work was limited to flat things and round things. Take a look at a steam locomotive from around 1900. Every surface that has to be held to a tight tolerance is flat or round. That's because the precision tools of the era were the planer, lathe, and drill. The general purpose milling machine came later.

Incidentally, this is the real reason manholes were round. In the great era of city sewer-building, you could make round metal manhole covers easily, by casting and a quick lathe pass. The ring into which they fit could also be easily finished on a lathe. Making an iron rectangular frame and a lid to fit it would have been a much harder and more expensive job.

[1] [https://gracesguide.co.uk/Henry_Maudslay:_Machine_Tools](https://gracesguide.co.uk/Henry_Maudslay:_Machine_Tools)

<comment><USER4> There's a lovely article from 1886, written by Henry Rowland, who made the first decent diffraction gratings. He wrote about his process of lapping the screw threads to take out minor local errors. His screw didn't have to do a lot of work, but it had to be damn uniform.

[https://en.wikisource.org/wiki/Encyclop%C3%A6dia_Britannica,...](https://en.wikisource.org/wiki/Encyclop%C3%A6dia_Britannica,_Ninth_Edition/Screw)

<comment><USER5> That is a marvelous article, thank you!

This sentence under _Mounting of Screws_ rings true today:

> The principle which should be adopted is that no workmanship is perfect; the > design must make up for its imperfections.

</comment></comment></comment></comment><comment><USER6> I got into machine rebuilding after buying a reasonable 1950's machine shop worth of equipment a few years ago when I started in the auto industry after my master's degree. I happened onto a Craigslist ad of a machine rebuilder going out of business near the office and I picked up basically the whole kit -- cast iron surface plates, power and hand scrapers, bluing medium, etc etc. It took another 6 months before I ran into a guy who was willing to teach me to use all that equipment, up near Flint. He spent a whole career doing fitting and repair for a CNC dealer traveling all over the state and a piece of the rest of the midwest. He was just about the nicest guy I've ever done business with, and he supplies equipment and advice to a huge percentage of the Youtube machinist crowd, plus he saved me the couple grand it would have cost to go take one of Rich King's classes.

All in all, this is a great skill that will persist for a long time, longer than you might think, even if modern machines use replaceable linear rails rather than scraped ways. If you feel like taking it up, watch one of the many Youtube videos from Stefan Gotteswinter or Keith Rucker. Look into the equipment, but think about building your own carbide sharpener, scraper and handle.

<comment><USER7> What's the name of his YouTube channel (assuming that's what you meant by supplies advice)?

<comment><USER8> I assume he is talking about Richard King. I don't think he has his own channel. but as mentioned Stefan Gotteswinter and Keith Rucker both have videos of the scraping skills they learned from him. (Rucker has actually hosted several of King's classes in his workshop)

edit: I clearly misread the end of OP's post. Definitely not talking about Richard King.

<comment><USER9> Chiming in to say ThisOldTony is alright.

[https://www.youtube.com/user/featony](https://www.youtube.com/user/featony)

Stefan Gotteswinter: [https://www.youtube.com/user/syyl](https://www.youtube.com/user/syyl)

Keith Rucker: [https://www.youtube.com/user/ksruckerowwm](https://www.youtube.com/user/ksruckerowwm)

Richard King: [https://www.youtube.com/results?search_query=Richard+King](https://www.youtube.com/results?search_query=Richard+King)

</comment></comment></comment></comment><comment><AUTHOR> Same content, but this link might be a little quicker: [https://archive.org/details/engineeringremin00port/page/233/...](https://archive.org/details/engineeringremin00port/page/233/mode/1up)

If you're interested in the topic, here's some more discussion: [https://www.practicalmachinist.com/vb/general/possible- make-...](https://www.practicalmachinist.com/vb/general/possible-make-grind- polish-flat-surfaces-manually-295976/#post2441051)

 _Skilled hand scrapers... can generate plane surfaces accurate to 40 millionts per foot. The same method applied to lapping of glass can generate flats to 1 /2 millionth per foot... The average guy working in an open shop careful of cleanliness and uncontrolled heat input to the work will find 0.0005 per foot readily achievable and 0.0002" per foot with a little more care and effort._

<comment><USER10> Without even opening that second link I can guess that Forrest Addy chimes in at some point :-)

[edit] haha. That was even his quote :-)

</comment></comment><comment><USER11> I remember one of the "ancient aliens" TV shows back in the 70s which claimed that the precision with which Inca masons fitted stones together was impossible without alien technology.

Then an archaeologist showed how fit two stones together with the same precision in about a half hour, using no tools at all. Just rubbing and banging them together.

I asked my mom once how the Egyptians could have possibly made the pyramids straight. She replied pull a long string tight, that's the reference. Figuring I had her this time, I asked how they could have leveled the pyramid foundation. She said dig a trench and fill it with water. The water level forms the reference.

Mom: 2 Me: 0

<comment><USER12> I remember an interview with an archeologist that studied the Nazca Lines. She said one year she had a grad student who was a farm boy. He showed her how to draw a long straight line by setting up a stick a 1000 feet away and then just walking towards it while dragging a another stick behind him. It was perfectly straight.

It's basically the same as the old draftsman's trick for drawing a straight line.

<comment><USER13> What is that trick?

<comment><USER12> The trick is mark the end of the line and then draw towards it. With practice you can draw eyeball straight lines.

<comment><USER14> It's quite accurate, somewhat hard to believe until you try it a few times. Good enough for many layout tasks if you're drawing a reference line to cut to, for example.

Also works for cutting straight lines with an exacto knife.

</comment></comment></comment></comment></comment><comment><USER15> If you're interested in metal working/machining and like "Dad jokes", check out This Old Tony on YouTube:

[https://www.youtube.com/channel/UC5NO8MgTQKHAWXp6z8Xl7yQ](https://www.youtube.com/channel/UC5NO8MgTQKHAWXp6z8Xl7yQ)

Here's his surface grinder rebuild which includes milling and hand-scraping various surfaces to get them dead flat.

[https://www.youtube.com/watch?v=RjwKQCiDgBQ](https://www.youtube.com/watch?v=RjwKQCiDgBQ)

He's super talented and the videos are fun!

<comment><USER16> > > [https://www.youtube.com/watch?v=RjwKQCiDgBQ](https://www.youtube.com/watch?v=RjwKQCiDgBQ)

Oh my goodness, is that what his older videos looked like? He's grown an incredible amount as a storyteller and video producer. Wow

<comment><USER15> He really has, his newer stuff is epic! In these dark times, he's kept me quite entertained!

</comment></comment></comment><comment><USER17> Folks who enjoyed this may appreciate Simon Winchester's recent book The Perfectionists, where he covers this method amongst other things. Core to the idea of perfection are machine tools, what we in software often refer to as a toolchain. The way the toolchain revolution allowed us to go from intricate one off clockwork to reliable longitude measurement, better locks, and industrialized machinery parallels compilers, operation systems, etc.

<comment><USER18> I thought he went rather quickly from some of the earliest processes (boring, for instance) to stuff that's so abstract as to be removed from anybody's practical experience (disregarding metrologists, of course) and then goes farther into philosophical matters than I found interesting.

I would have much more a book that stayed in the realm of machine tools for about half the content, covering the process of bootstrapping precision in the pre-electronic era.

An interesting third quarter could discuss the limits of precision in practical mass manufacturing and the ways we work within tolerances that are economical. The engine block and head of an internal combustion engine have a large and irregularly-shaped mating surface that's subjected to repeated heating and cooling cycles. How flat do they have to be for a gasket to seal them effectively?

The last quarter of the book could cover developments in the era of CNC, and talked about the interplay between electrical components (e.g. stepper motors) and mechanical components (e.g. lead screws, timing belts, etc) and what we gain and lose in using those type of processes. Boring a hole for example, remains more accurate than CNC'ing it on a mill because good control when one x or y approaches zero becomes difficult both mechanically and mathematically.

Anybody interested in this sort of thing might enjoy "How Round is your Circle", by the way.

</comment></comment><comment><USER19> Have three planes with curvatures c1, c2 and c3. Scraping 1 against 2 results in curvatures: c1' = (c1-c2)/2 and c2'=(c2-c1)/2 (proof is left as an exercise to the reader). The calculation is similar for scraping 1 against 3 and 2 against three. The three scraping operations define three linear transformations on the curvature vector c=(c1, c2, c3): A, B and C.

The article describes a cyclic permutations of these operations, so the final curvature is (A.B.C)^n*c. The absolute value of the largest eigenvalue of A.B.C determines the efficiency of this procedure, it's 1/sqrt(8). It means that by each cycle the slowest mode decays to its 1/sqrt(8) multiple. By each step it decays by (1/sqrt(8))^(1/3) = 1/sqrt(2) on average.

Question: Is there a more efficient procedure?

</comment><comment><USER20> I've been doing woodworking with handtools, and it's amazing what 90 year old tools can do. I bought an old stanley plane in good condition, and was able to start pulling cuttings that are 4/1000" easily. My modern lee valley plane is even easier to set, and I just did a 1/1000" shaving. That means you can surface a piece of wood to 1/1000th of an inch.

This is the kind of accuracy you typically associate with modern CNC machining.

Wood is an interesting medium - it's always in motion so it's in some ways more challenging than working with steel. You can't just machine and glue wood together if you want to make something that'll last for centuries, like old furniture used to. The art is still alive, and I encourage people to check it out!

<comment><USER2> I think most people would say, although you might observe such sizes when cutting wood, temperature and humidity will swamp out those precisions within a day or two.

</comment></comment><comment><USER21> The YouTube channel oxtoolco has a video showing lapping of surface plates. Not the same as hand scraping, but the principle of using a reference surface is similar, and the master plate looks like the illustrations in this 100-year old document. Plus I think with modern synthetic diamond abrasives, you can directly lap the plates against each other.

Lapping starts at 17:40 (they do surface measurements first): [https://youtu.be/EWqThb9Z1jk](https://youtu.be/EWqThb9Z1jk)

I am no machinist, but I like the glimpse into the hobby/profession shown on channels like this and others that comments have mentioned. In the video, the channel owner hires a company to service his stone regency plates, so there is an expert who comes and uses specialized tools to measure and then flatten the plates (and certify them too). You can see and experience the expertise that the guy has with these physical systems, yet it's just one niche job in a huge engineering tool chain. It really made me think a lot about metal machining and fabrication, and how those rely on fundamental measurements and properties such as flatness.

</comment><comment><USER22> While I was studying engineering I worked in a machine shop. In that time I hand scraped or lapped a good few bearings and surfaces. Fast forward six years, researching optical sensing, and I've had to pull those old tricks out of the bag recently. For some reason, of all the skills and techniques I've learned, manual or academic, making a properly flat surface remains the most satisfying.

</comment><comment><USER23> Not flat but similar idea

[https://www.cmog.org/article/hale-reflecting-telescope- palom...](https://www.cmog.org/article/hale-reflecting-telescope-palomar)

Imagine hand grinding telescope lenses

[https://www.youtube.com/watch?v=MjUcBWYVF9s](https://www.youtube.com/watch?v=MjUcBWYVF9s)

<comment><USER24> Hand grinding telescope lenses (well, usually _mirrors_ ) is a fairly accessible hobby; you need patience more than anything else. It's amazing how little technology you need to attain sub-micrometer precision.

<comment><USER25> I like this video from John Dobson about handmade telescopes, where he builds a complete telescope including hand grinding the mirrors. [https://www.youtube.com/watch?v=snz7JJlSZvw](https://www.youtube.com/watch?v=snz7JJlSZvw)

</comment></comment></comment><comment><USER26> This video in Dan Gelbart's 'Building Prototypes' series is a great look at producing highly accurate (flat) surfaces. [https://www.youtube.com/watch?v=cwdoUjynpEk](https://www.youtube.com/watch?v=cwdoUjynpEk)

Edit: the scraping technique in this PDF is shown at about 13:00.

</comment><comment><USER27> This is fascinating. I don't know all the terminology perfectly, but I get the gist. I love how transparent and ingenious they are.

(BTW did anyone else think of the Rick and Morty episode where Rick builds a "perfectly flat" platform for Morty to experience?)

<comment><USER28> I'm familiar the the bubble, Morty. I also dabble in precicion, and if you think you can even approach it with your sad, naked, caveman eyeball and a bubble of f __* air, you 're the reason this species is a failure, and it makes mis angry!

Experience True Level!

</comment></comment><comment><USER29> This reminds me of that Rick and I'm already seeing where Dr Sanchez shows Morty what absolute level is.

<comment><USER30> Here for this comment.

For those who don't know: [https://www.youtube.com/watch?v=IMeain2cvBM](https://www.youtube.com/watch?v=IMeain2cvBM)

</comment></comment><comment><USER31> Abom79's hand scraping experience: [https://www.youtube.com/watch?v=pT5KWvglp_c](https://www.youtube.com/watch?v=pT5KWvglp_c)

</comment><comment><USER32> People wanting a full treatise on hand scraping should look into Machine Tool Reconditioning by Connelly, available on the used market and the usual other sources. A close runner up for books is Foundations of Mechanical Accuracy by Moore. If you can get a physical copy of the latter, and can afford it, you should - the photographs are magnificent.

</comment><comment><USER33> Thanks for submission, a really interesting read! I'm into restoring old woodworking machinery, and hand scraping is one of the methods for truing lathe ways that I've read about. Could possibly be required for the Walker- Turner lathe I'm working on. :)

<comment><USER18> Also a woodworker here. I have to ask: how bad are the ways on this lathe and how could they get worn? Moving the banjo and tailstock on a wood lathe shouldn't wear the ways the way the routine use of a metal lathe wears the ways.

<comment><USER33> I haven't gotten to measuring wear on the ways yet, don't think I'll need to scrape them but that's a possibility. This is a pet project of mine, a barn find that was in a pretty bad shape when I got it: rusty, crusty, with missing parts and undesirable modifications by previous owners. Specifically the ways are pitted from rust; worse in places that were exposed to the elements. I'll have to try and measure the effect of this pitting on tailstock positioning. I don't think banjo positioning is going to be affected, the ways are not _that_ bad. But then there's always the obsession with perfection, so who knows. :)

I have a soft spot for pre-1950 Walker-Turner machinery, their aestetics are off the charts; I'm trying to restore this lathe to its former glory, or even better. Not quite a classic car showroom condition but as close to it as I can get without spending a fortune in time and money. :)

The current stage is painting; turned out it's pretty tricky to spray glossy enamel so it would level out smooth! Especially in our cool and humid coastal climate, paint takes a while to dry and even longer to fully cure so the process is quite challenging. Not to mention the countless hours it took to grind out casting imperfections, apply bondo filler, sand it, etc etc.

I thought I was getting into woodworking but found that _restoring_ machinery is lots of fun in its own right, and nothing compares to the satisfaction of using a well made and beautifully restored vintage tool. Especially when I'm the one who did the restoration. :)

<comment><USER18> Ah, I hadn't thought of rust. Good call. My experience with the tops of my table saw and band saw is that as long as they were ground pretty smooth originally, they don't really pit and I can scrape the superficial rust off and have a pretty good surface. They were, however, stored inside-ish. I could see a barn find in bad shape suffering a lot more than that.

I love the look of the old W-T stuff too, but I've somehow become a Delta man for the stationary tools, probably because of the ubiquity of their old stuff. None of mine is old enough to have the _really_ nice castings. My Unisaw is from '78, and it has the sheet metal base rather than the old cast one. My 14" band saw is (I think) pre-war, but the original buyer didn't spring for the cast art-deco base :-(

Do you have pictures or a build thread on this project? I'd love to see it. And kudos to you for doing the paint and cosmetic stuff. There is nothing I hate more than doing paint.

My Unisaw is covered in _years_ of (somebody else's) overspray. I've stripped it off the chromed fence rails because it was interfering with it working, but the cabinet? Screw it. I can live with it. My 14" drill press, however was flaking off (somebody else's) 3 or more poorly applied coats onto me and anything I drilled. I stripped and repainted that, but that's how bad it has to be for me to entertain painting. The paint job is not what anybody would call flawless, but at least it isn't coming off :-D

<comment><USER33> > I could see a barn find in bad shape suffering a lot more than that.

Yeah well, in between being a bottom feeder and looking for fun, machines usually come to me as project pieces rather than usable tools. :) I'd never opted to restore any of these rust buckets if I'd depend on them to do woodworking for a living; that said, the purpose of a hobby is to occupy my mind and give me a challenge that is rarely encountered in my day job anymore. So, the rustier, the better. :)

> I've somehow become a Delta man for the stationary tools, probably because > of the ubiquity of their old stuff.

I can definitely relate to that, W-T makes a minority of my resto projects. Most of them are Delta as well, as I'm looking to build myself a fully equipped vintage woodworking shop. I'm almost there in fact, as several projects are nearing the assembly stage: a '64 Unisaw, a '52 HD Shaper (going in tandem with the Unisaw), a '54 14" bandsaw, a '60 combo sander, a mid-50s LD shaper, and a '42 6" jointer that I got for free in a total rust-bucket condition. _That_ one was a challenge in itself, especially the motor.

It's just Walker-Turner machines are so beautiful, they're special. Next up after the lathe is a 1939 16" bandsaw, the final quest machine that I acquired last fall. I'll have to fight scope creep real hard on that one...

> My 14" band saw is (I think) pre-war, but the original buyer didn't spring > for the cast art-deco base :-(

Ye shall seek and ye shall find, if you want to. :) Besides trawling your local Craigslist (that's where I find my projects), sign up on [http://www.owwm.org](http://www.owwm.org) and post an ad in BOYD forum. Cast iron bases do come up for sale somewhat regularly. Beware that even looking at that website is _very_ dangerous, slippery slope ahoy. ;)

> Do you have pictures or a build thread on this project? I'd love to see it.

I don't usually take pics of the resto projects... I guess I'm just lazy. If you're into vintage tool porn, check out the OWWM community I linked above, and its sister site [http://vintagemachinery.org](http://vintagemachinery.org). Lots of drool inducing pics there, I really cannot add anything that hasn't been done already. :)

> The paint job is not what anybody would call flawless, but at least it isn't > coming off :-D

That's usually enough for many cases... If a machine doesn't have a sentimental value, why, just refurbing it to acceptable mechanical condition is par for the course. That's what I did with my current set of machines; no offense to Grizzly but their utilitarian cabinet saw aestetics do not really justify the amount of work that goes into stripping and repainting. A vintage Unisaw, on the other hand... I had to learn how to do cabinet scale electrolysis derusting, some basic metalworking, spray painting techniques, not to mention mechanical and electrical challenges. Heaps of fun! :)

Checked out your website... Wow. I have a long, long way ahead to that kind of woodworking projects. ;)

<comment><USER18> Oh dear, another OWWM'er on HN :-) I lurk, but I mostly try to avoid that rabbit hole unless I'm trying to solve a specific problem. Turns out, I waste enough time on the internet already without drooling over the work people do there restoring old machines to better-than-new condition. Seriously, some of those folks are nuts (as you well know).

It sounds like you've got a nice shop going. I'm a little jealous. My stationary tools are actually stashed in a literal barn right now because I no longer have a basement to put a shop in. I work out of a makerspace, but that's closed due to present conditions, so I moved my bench into my living room. I gave in and fetched my band saw, and it's now sitting on my covered porch. And I have no blades for it at the moment. I'm getting a lot of exercise milling lumber entirely by hand. Honestly, my arms are going to fall off (or get huge) if the lockdown continues much longer.

I'm with you on the modern tools, by the way. On the vintage stuff, a lot of companies really took pride in their industrial design (as you well know). And even the totally utilitarian stuff has stylistic variation between manufacturers. The only difference between Grizzly and current Powermatic tools is the color of the paint. I remain hopeful that Festool having proved that there's a market for higher-priced tools means that somebody will start making nice stationary tools again.

That's probably a lot to hope for, though I recently discovered that Northfield is still chugging along and so is Tannewitz. They're out of my price range for the time being, but I hope they survive long enough for my price range to intersect their prices! It's a real pity that Oliver is now yet another nameplate on the same castings from overseas. The school I went to has a vintage 166 jointer and a 399 planer that I'm in love with.

> Checked out your website... Wow. I have a long, long way ahead to that kind > of woodworking projects. ;)

Thanks! I'm a long way from making actual money at this. I'm lucky to be married to somebody very supportive. We'll see how the economy does. I have a couple of paid projects that appear to be holding, and we'll see where things go from there. I guess there's always software to go back to?

</comment></comment></comment></comment></comment></comment><comment><USER34> Reminds me of this guy, who hand-planes engine cylinder heads using a block of wood, straight edge, sandpaper, and feeler gauges:

[https://www.youtube.com/watch?v=1ch8KYiqSNg](https://www.youtube.com/watch?v=1ch8KYiqSNg)

</comment><comment><USER35> Maybe a home machinist can answer this question.

If I'm on a desert island, I know how to make a flat plane via ABC grinding. How do I make a right angle? Do I decide on a measure, grind 12 gauge blocks to the same height and make a 3-4-5 triangle?

<comment><USER36> You make a box straight edge.

First, you make a surface gauge. A heavy weighted base with a pointer you can vary in height and distance from the base. You scrape/grind the base flat using a surface plate as reference.

You take something you think is roughly square (a long rectangular prism is good), scrape/grind one face flat with one of your surface plates. We'll call this face 1. Then scrape/grind the opposite face flat, and using the surface gauge to check height (position the box with face 1 down on a surface plate. Position the gauge next to it, with the point touching face 2 somewhere. Slide the gauge back and forth: if it gets pushed up face 2 is tilted up in that direction with respect to face 1. If a gap forms under the tip, it's tilted down.) and thereby get it parallel with face 1.

Then scrape/grind two faces which are adjacent to each the first and opposite each other flat. You now have a shape like \\_/ or |_/ or such, though with a top parallel to the bottom.

You stick your surface gauge along one side, touching at the base and at some point near the top of that side with the indicating point. You then turn the WIP straight edge box 180 degrees, and see if the other side touches the indicating tip or the base first. The distance from touching both at once tells you how far out of parallel that side is from the first. You then proceed to scrape them both to be a bit more flat and parallel. Then you turn the box onto its top (face 2) and repeat that. Using 180 degree rotations in two dimensions will get you a good square.

Another thing that can be used as a check (if you can draw) is to build a compass and a straightedge. Side 1 of your box is a good straightedge! You can then use basic geometric construction to make a right angle, and can compare any finished box to that angle.

</comment></comment><comment><USER37> There's a guy who used to give classes on hand scraping and machine rebuilding [https://www.youtube.com/watch?v=TH7tZZdUr2w](https://www.youtube.com/watch?v=TH7tZZdUr2w)

</comment><comment><USER38> While I find random publications--such as this page from _Audels machinists and tool makers handy book_, page 245 Fig 10 & 11 'Method of shifting belt of a counter shaft drive lathe while running...' [1]--about industrial processes utterly fascinating, this one on the Truly Flat Plane is abstruse.

[1]: [https://babel.hathitrust.org/cgi/pt?id=wu.89089662951&view=1...](https://babel.hathitrust.org/cgi/pt?id=wu.89089662951&view=1up&seq=281)

</comment><comment><USER39> I am reminded of a problem faced by geometers in antiquity of building straightedges; how do you draw a straight line when you have no existing straight line to copy from?

The book "How Round Is Your Circle?" includes some interesting solutions to this problem. [https://www.goodreads.com/en/book/show/2449815](https://www.goodreads.com/en/book/show/2449815)

</comment><comment><USER40> I've done this myself recently, and it's a worthwhile experience if you have the patience for it.

If the short treatise in the OP interests you, I would suggest the book 'Foundations of Mechanical Accuracy', PDF easily available though I won't link here. I can also recommend the bible of hand scraping, 'Machine Tool Reconditioning and Applications of Hand Scraping' otherwise known as the Connelley Book.

</comment><comment><USER41> Whitworth's method of scraping (mentioned in this article) is explained in this 1858 paper:

[https://en.wikisource.org/wiki/Miscellaneous_Papers_on_Mecha...](https://en.wikisource.org/wiki/Miscellaneous_Papers_on_Mechanical_Subjects/A_Paper_on_Plane_Metallic_Surfaces_or_True_Planes)

</comment><comment><USER11> When I was in high school, it was popular among some of the students to make telescope mirrors. The technique of hand-grinding them to incredible perfection was both simple and astounding.

</comment><comment><USER42> It's interesting to get more precise and accurate machines out of the ones came before.

These days, if you want to get milling and grinding down to 1 micron without lapping using only your own expertise and some parts from eBay (air bearings and precision-ground slabs):

[https://youtu.be/sFrVdoOhu1Q](https://youtu.be/sFrVdoOhu1Q)

The creator (Dan Gelbart) demonstrates nitrogen-tight parts without bearings, and claims zero wear or lubrication needs.

#AvEclub

<comment><USER43> It wasn't nearly so easy. Dan hand-scraped in several surfaces on the lathe; for example the headstock, to get the axis parallel to the ways, and so on.

</comment></comment><comment><USER44> I read this on a whim and now I'm amazed: I never considered algorithms as part of mechanical engineering. Very clever. And in a pedantic reading of Richard Dawkins, this is the kind of "meme" he was talking about.

<comment><USER3> _I never considered algorithms as part of mechanical engineering._

Oh, yes. Metal work is all about calculating. The classic book is "Machinery's Handbook", published for 105 years. Machinist's toolboxes often have a built- in space for it.

<comment><USER45> The "bible" though, is "Foundations of Mechanical Accuracy" by Moore. Machinery's Handbook is more of a practical reference used in the shop (like when you want to know what a certain spline or thread profile should look like), whereas Foundations is more theoretical.

<comment><USER44> Is there a good book for sheet metal bending? There are lots of things I'd like to make, but when I think through it, the bends always run into each other (at least in my head). Which is why I haven't bought a break yet. Would love to learn the basics about tools, marking, cutting. (My cuts always drift, and deform the metal, would like to learn how to NOT do that.)</comment></comment></comment></comment>


3D Printer Buyers' Guide - <AUTHOR> https://www.3dhubs.com/best-3d-printer-guide <comment><USER2> This guide has the Reprap "Prusa Steel" printer listed, and says it is $500, with a 9.1 rating. However, I strongly recommend the acrylic version made by many Chinese electronics companies which sell for $220 for the same print quality.

I have been using one of those for the last few weeks and I couldn't be happier with it. It all works much better than I expected for the price, and has been suitable for printing various home items and custom robotics parts.

You can find them on AliExpress (the consumer-oriented version of Alibaba): [http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB...](http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20151129194710&SearchText=prusa)

If you want to get into 3d printing but don't want to drop $1k+ on a printer, try one of these.

<comment> TD-Linux >acrylic version made by many Chinese electronics companies which sell for $220 for the same print quality.

Eh, have you actually done comparisons? That acrylic printer looks pretty iffy - the vertical acrylic supports are in the wrong direction to brace against acceleration from the printhead.

It's hard to compare exactly because they didn't specify a specific kit, but that $500 probably also gets you important items like a genuine hotend. As another comparison point, the Makerfarm i3v kit for $490, although partially wood, is still a much better design and is going to be stiffer. You also get a proper hotend, heated bed, and nice V-slot linear mechanisms.

</comment></comment><comment><USER3> I understand why it isn't endorsed by the 3D printing community much, but for practical cheap 3D printing I suggest taking a look at the XYZPrinting Da Vinci V1.x models. They are inexpensive (I got one for $400 on sale at Amazon, they are usually closer to $500), fully enclosed, have very well designed bed height calibration and nozzle cleaning systems, have a heated bed, etc.

The only real drawaback is the filament "DRM" which you can sidestep by using 3rd party software (I use Simplify3D, the default printer firmware and a cheap cartridge resetter (which is basically just an arduino programmer) other people use repetier host setups where they flash the firmware so the cartridge DRM is just never even run, which gives you even more control but at the cost of being in something of an arms race with the manufacturer where they occasionally change the host board to be incompatible with new firmware).

My first couple of 3D printers were RepRap Prusa i3 models that I built, and I wouldn't trade that experience since it gives you a great idea of how these things work (and an appreciation for how simple the hardware side of them really is), but they were so much more fiddly and a pain-in-the-ass to calibrate than the Da Vincis, if you just want to print and not fiddle they are great options in terms of price/value if you're willing to sidestep the DRM.

</comment><comment><USER4> There also is this 3D-Printer spec comparison chart, that is kept up to date by a HN user:

[http://www.productchart.com/3d_printers/](http://www.productchart.com/3d_printers/)

</comment><comment><USER5> The UP Mini is a great little printer ($600 on Amazon). It prints ABS and it JUST WORKS. Highly recommended. And it does have a heated build platform.

[http://www.amazon.com/Assembled-Printer-Maximum- Dimensions-R...](http://www.amazon.com/Assembled-Printer-Maximum-Dimensions- Resolution/dp/B00E5OQIKS)</comment>


Not Lisp is a "feature" - <AUTHOR> http://gosu-lang.org/comparison.shtml

<comment><AUTHOR> "Easy transition from Java", and Java has a checkmark. Go figure.</comment>


Say welcome to the Redis 2.6 branch - <AUTHOR> https://github.com/antirez/redis/tree/2.6

<comment><USER2> p.s. this does not mean 2.6 is stable ;) But we are moving forward. RC1 before 30th of March (probably much earlier), and every new development will not target "unstable" again (2.9.x version), while 2.6 will only get fixes and small features that will not impact stability.

<comment><USER3> Is there a roadmap for this release? I think it'd would be useful to link it somewhere in the readme or here (I'm sure people will vote you up to the top of the thread).

Keep up the great work!

<comment><USER4> Looks like there are release notes available here:

<https://github.com/antirez/redis/blob/2.6/00-RELEASENOTES>

And there's a 2.6 milestone here:

[https://github.com/antirez/redis/issues?milestone=1&stat...](https://github.com/antirez/redis/issues?milestone=1&state=open)

</comment></comment></comment><comment><USER5> Any chance of del taking a pattern happening in this or the next release?</comment>


Snowflake by the Tor Project - <AUTHOR> https://addons.mozilla.org/en-US/firefox/addon/torproject-snowflake/ <comment><USER2> I was worried for a moment that a fake account that uploaded the extension (since it's such a new account), but links from the official website point to the Firefox extension too.

[https://snowflake.torproject.org/](https://snowflake.torproject.org/)

This also has a Chrome extension linked.</comment>


Effective Emacs - <AUTHOR> http://steve.yegge.googlepages.com/effective-emacs

<comment><USER2> Why not bind <Ctl> to caps-lock instead of swapping them - have <Ctl> on both keys? Except for the rare people who actually use caps-lock.

<comment><USER3> That's exactly what I always do, and is easily done in both Mac OS X and in most Linux distributions.

<comment><USER4> In GNOME 2.24: "Keyboard Preferences" > "Layouts" > "Layout Options" > "Ctrl key position" > "Make CapsLock an additional Ctrl" OR "Swap Ctrl and CapsLock"

You can use the same utility to swap Esc and CapsLock.

<comment><USER5> Broke my xmonad. :-(

</comment></comment></comment></comment><comment><USER6> If you're just learning Emacs this is an essential piece of literature to read to get you up to snuff on Emacs.

And always good to check back everyone once and a while for experts.

</comment><comment><USER7> _Item 1: Swap Caps-Lock and Control_

 _On Mac OS X (Panther and Jaguar) you need to install a modified keyboard driver_...

No you don't. Just open your Keyboard&Mouse preferences, select the "Keyboard" tab, and click on the "Modifier Keys" button...

<comment><USER8> You did when he wrote that article. And it was a right pain too...

</comment></comment><comment><USER2> For Windows, KeyTweak looks like a helpful free utility for remapping the keyboard:

<http://webpages.charter.net/krumsick/>

</comment><comment><USER9> This is so fucking old.

<comment><USER10> It's not old, it's just wrong to emphasize _the tool_ so much. Don't know about the author, but being productive doesn't equal being masterful typist. I had a member of the team, who was above average productive in notepad (yes, notepad!) and I also had someone who was below average productive in emacs (I always let the programmers decide, what tool they use). And I am not talking about being fast, but about producing quality code.

<comment><USER11> While it could have been better phrased, he is correct that the "Effective Emacs" post is old and well-known. It's been mentioned dozens of times on HN -- so it's a little surprising that no one had yet submitted the link.

[http://www.google.com/search?hl=en&q=yegge+emacs+site%3A...](http://www.google.com/search?hl=en&q=yegge+emacs+site%3Anews.ycombinator.com&btnG=Google+Search&aq=f&oq=)</comment></comment></comment>


Show HN: get a sense of a links influence around the web - <AUTHOR>

http://hnfluence.com
http://influentialtimes.com
I started working on this idea a few hackdays ago, particularly at the bitly hackday, then kept playing with it at the nyhacker hackday and most recently at the NYT hackday this past weekend. What the site(s) basically does is pull a list of links[1] then using the url, queries a bunch of other api's for stats. All this happens asynchronously in nodejs, results are stored in an array and then shipped out to the client as json. The primary feature I wanted before being comfortable showing it was sorting by the various metrics. Both sites run off one $20/month 512mb virtual machine hosted with linode[2]. More details in a blog post at some point, clickys in the comments.
Thanks to (no particular order, apologies if I didn't list someone):
@paulg for HN and cause I lifted the basic site design.
@ronnieroller for the unofficial HN api.
@ryah for nodejs, duh.
@mikeal for the nodejs request module
apis: @bitly, @timesopen, @backtype, @facebook, @twitter
ToDo and/or things I'm thinking of doing:
-Visualizations. Right now it's just a table. Need to find some time to dig into jquery ui/raphael/processing.
-Change the list of input urls. Right now I have two sites one for HN and one for the NYT. The idea is to just have one sight (influentialtimes) going forward and have the user be able to input an RSS feed or some other list like from delicious or even bitly's new bundle feature.
-velocity
-history
-all kinds of pro stuff people would pay for. I know this, cause I would.
-realtime stats update via socket.io (no, it is not realtime right now)
[1]Currently the front page of HN via http://api.ihackernews.com and the most popular articles from the nyt via their api, http://developer.nytimes.com/docs/read/most_popular_api.
[2]If it goes down, whatever. I'll try and get it up when I can. <comment><AUTHOR> <http://hnfluence.com>

<http://influentialtimes.com></comment>


Show HN: Annulus – Our first mobile game - <AUTHOR> http://annulusgame.com The idea obviously from 2048 but the "corner strategy" doesn't really work in Annulus. <comment><USER2> I liked it but would like to see some more features, e.g. three in a row/column etc.

</comment><comment><USER3> Looks pretty interesting.

</comment><comment><USER4> annulus .. LOL .. really

Turns out its a valid word [http://en.wikipedia.org/wiki/Annulus_(mathematics)](http://en.wikipedia.org/wiki/Annulus_\(mathematics\))

</comment><comment><USER5> looks nice twist to 2048!</comment>


Grey hair linked with increased heart disease risk in men - <AUTHOR> http://exactlyscience.com/archives/11956.html <comment><USER2> To summarize...

 _"Atherosclerosis and hair greying occur through similar biological pathways and the incidence of both increases with age," said Dr Samuel. "Our findings suggest that, irrespective of chronological age, hair greying indicates biological age and could be a warning sign of increased cardiovascular risk."_

</comment><comment><USER3> Sigh...another fake copycat news site created in 2017. Flagged

for example: "Atherosclerosis and hair greying occur through similar biological pathways and the incidence of both increases with age," said Dr Samuel. "

[https://www.google.com/search?q=%E2%80%9CAtherosclerosis+and...](https://www.google.com/search?q=%E2%80%9CAtherosclerosis+and+hair+greying+occur+through+similar+biological+pathways+and+the+incidence+of+both+increases+with+age%2C%E2%80%9D+said+Dr+Samuel.+%E2%80%9C&oq=%E2%80%9CAtherosclerosis+and+hair+greying+occur+through+similar+biological+pathways+and+the+incidence+of+both+increases+with+age%2C%E2%80%9D+said+Dr+Samuel.+%E2%80%9C&aqs=chrome..69i57&sourceid=chrome&ie=UTF-8)

</comment><comment><USER4> "Being old" linked with diseases related to getting older.

Walking to the shop linked with arriving at the shop.

Birthday cakes linked with getting older.

<comment><USER5> That's the state of the art of Research these days. La Palice would be proud.

</comment></comment><comment><USER6> Seems to be down ATM. Cache: [https://webcache.googleusercontent.com/search?q=cache:http:/...](https://webcache.googleusercontent.com/search?q=cache:http://exactlyscience.com/archives/11956.html)

</comment><comment><USER7> "Atherosclerosis and hair greying occur through similar biological pathways and the incidence of both increases with age"

... if you eat an unhealthy diet of fatty animal products and consume animal protein. Arterial blockage is literally reversed on a whole foods, plant based vegan diet.

</comment><comment><USER8> > The amount of grey hair was graded using the hair whitening score ... grade > was determined by two independent observers.

I wonder how hard it would've been to use some simple analysis of a photograph of the hair.

</comment><comment><USER9> Well, that's not great news for me, if true. On the other hand, men in my family, on both sides, pretty much exclusively die of heart disease, so I figured that was how I was going to go eventually.

<comment><USER7> Heart disease is reversible with diet and life changes. Look up Dr Greger.

<comment><USER9> Oh, don't get me wrong. I'm in decent shape and exercise regularly and eat a reasonable diet. I'm not saying I have active heart disease right now. My family does not die _young_ of heart disease, just that's the eventual killer, most of the time.

<comment><USER10> There are athletes that die from heart disease every day. Exercise can help but doesn't reverse it and only slows it down. Also if you are eating a standard western diet with any meat even white meat, cheese, milk, or oil even olive oil you have the early stages of heart disease. They have seen plaque buildup in children as young as age 3.

</comment></comment></comment></comment><comment><USER11> 503 Service Unavailable on that source.

Is this the first time this link has been found? I was under the assumption that most (< 90%) men go grey or bald eventually.

</comment><comment><USER12> That's why you have to dye your hair!

</comment><comment><USER10> The sad part about heart disease is there is a cure that works 100% of the time but because it involves changing how you eat and not taking some magic pill very few hear about it. Changing to a no oil whole plant-based diet has been scientifically proven to reverse heart disease. Read or google Dr Esselstyn. It might save your life one day.

<comment><USER7> And be sure to check out NutritionFacts.org for this life saving information. It really blew my mind and changed my life.

</comment></comment><comment><USER13> That's me. What the fuck should I do about it?

<comment><USER10> [http://www.dresselstyn.com/site/](http://www.dresselstyn.com/site/)

</comment></comment><comment><USER14> Bizarre observations. Grey hair indicates aging, and the likelihood of heart disease increases with age.

Why not fucking well control for age then?!

"Worn passport documents linked to increased heart disease risk"

<comment><USER15> I think they controlled for age, based on the language of the article, but didn't make that very clear. I would however reserve judgement until we actually see the published data.

If they controlled for age, and found that men of equal age with more grey hair than others have a higher risk, then it could be a good and reasonable screening tool.

That being said, I think that we have more sensitive screening tools available at an even earlier age that makes me feel like this isn't all that helpful. It's pretty obvious that certain things put you at higher risk for CAD, and by avoiding those risk factors you lower your risk.</comment></comment>


Is This The Worst Logo Update Of 2013? - <AUTHOR> http://www.fastcodesign.com/3022957/design-crime/is-this-the-worst-logo-update-of-2013

<comment><USER2> TBH when I saw the two logos side-by-side I wasn't sure which was the new one. The previous one looks like 99% of the other college sports logos. The new one may look horrendous but at least it's recognizable.

</comment><comment><USER3> Strange, I like it.</comment>


Ask HN: How can I implement full-text search enginge - <AUTHOR> I'm curious about how full-text search engines work but couldn't find any resources on how to implement it.
I would be appreciated if you let me know if you know any books or videos in this field. The programming language doesn't really matter but preferably in Go or Python.<p>Thanks <comment><USER2> This video provides a basic overview: [https://archive.org/details/ucberkeley_webcast_WLpvUGjvmXc](https://archive.org/details/ucberkeley_webcast_WLpvUGjvmXc) and there's more in the next video [https://archive.org/details/ucberkeley_webcast_QNce8cVeoeA](https://archive.org/details/ucberkeley_webcast_QNce8cVeoeA) The highlight is that "information retrieval" is the CS term for full text search. So the better wikipedia page is, [https://en.wikipedia.org/wiki/Information_retrieval](https://en.wikipedia.org/wiki/Information_retrieval).

Great for a learning exercise. For a production environment, it's unlikely the organization is such a snow flake. A mature product is probably a better engineering choice than writing one from scratch when you're writing your first one.

</comment><comment><USER3> A DDG search for "Text search engine python tutorial" find articles like [http://aakashjapi.com/fuckin-search-engines-how-do-they- work...](http://aakashjapi.com/fuckin-search-engines-how-do-they-work/) .

There's a textbook at [https://nlp.stanford.edu/IR-book/information-retrieval- book....](https://nlp.stanford.edu/IR-book/information-retrieval-book.html) .

These should be enough hints so you can find something closer to what you are looking for.

</comment><comment><USER4> [http://www.dcs.bbk.ac.uk/~dell/teaching/cc/book/ditp/ditp_ch...](http://www.dcs.bbk.ac.uk/~dell/teaching/cc/book/ditp/ditp_ch4.pdf)</comment>


Httpstat: Curl Statistics Made Simple - <AUTHOR> https://github.com/reorx/httpstat <comment><USER2> Would be really nice if some TLS/certificate information was added. That would make this tool complete for me.</comment>


Ask HN: Has anyone got a job by contributing to open source projects? - <AUTHOR> I am trying to find a mentor that might help me ramp up in C++ on an open source project like Google Chrome. I am happy to pay for the mentorship.
I would also be open to collaborating with peers that are in my position and want to contribute to an open source project.
I have 3 years of experience in C++ but haven't touched C++ for 5 years. <comment><USER2> I have met engineers who have been hired by FAANG companies and have told me that their regular community contributions towards high-profile open-source projects (They particularly mentioned QEMU, LLVM, Rust, Swift and V8) was the reason they got an offer. The barrier in regularly merging quality patches for review in these projects is very high and it is advantageous for the likes of these companies to shortlist you if you have significant contributions towards these projects.

Most of the ones I know have been hired by Google, straight out of a program called Google Summer of Code (GSoC) which prepares students for this and they instantly get referrals if they complete their project.

Now if I were starting out right now I would look at tackling the first contribution issues in smaller projects, then work your way up to the larger projects. I'd say contribute to a project that you even use yourself, improve it and branch out from there to fix issues in its dependencies / libraries.

Also the GSoC website has lots of participating organisations [0] to contribute to.

My personal favourite orgs are

LLVM, Linux Foundation, Xi Editor, Haiku and Blender.

[0] - [https://summerofcode.withgoogle.com](https://summerofcode.withgoogle.com)

<comment><USER3> I highly recommend GSoC. It is a fantastic opportunity to learn and contribute to an open-source project by having a mentor from that project that you can talk to, and get paid to do it.

I was already contributing to an open-source project (fireflier) when I applied for GSoC for the ClamAV project, and continued to contribute to the project after GSoC was over. Shortly afterwards got invited to be part of the team, and when the project got acquired by a company the next year I got a job there to continue working on it (initially part-time because I wanted to finish my studies at the university, and after that full time).

Try to apply to 3 or 4 projects that you like, but don't get too disappointed if you don't get accepted the first time. It probably helps if you already are a contributor to an open-source project so that people can check your coding style/knowledge by looking at GitHub/Sourceforge etc.

<comment><USER4> The OP is probably not a student, judging by his profile page, and GSoC is a program exclusively for students.

<comment><AUTHOR> Yes, not a student. It was useful to look at GSoC projects as a source of inspiration.

</comment></comment></comment></comment><comment><USER5> I started working on open source firmware: first openbios, then coreboot.

The one thing that made this a job opportunity (my career is coreboot-based for about 12 years now) was that I built some rapport within the communities. These days I'm paid to work on Chrome OS firmware, which uses coreboot.

Becoming the go-to person for some aspect of the project is easier for smaller projects rather than huge operations like Chromium for several reasons, among them:

1\. No matter what you do, you won't out-run an army of full time developers that have multiple levels of management to coordinate their efforts (which is a force-multiplier to some degree).

2\. Projects the size of Chromium tend to have lots of discussion internally within participating teams. There's no ill will about this, it's just how people work when they happen to share both project and office space.

So yes, open source work can lead to fine careers, but you'll need some differentiator that makes people go "maybe I should ask anindha about this".

If or when that happens in a "marketable" project (as far as careers go there was certainly luck involved in my story: openbios has little commercial use, and coreboot's commercial prospects looked grim for a while as well), at some point some team will want to have you work on their tasks full time: Much better than hoping that you aren't busy doing whatever else you need to pay the bills.

There are probably other ways to get a career based on open source work, but that was mine.

<comment> em-bee and coreboot is growing. i saw a job post just a few weeks ago from a company that is using coreboot, and coreboot developers were hiring too, or will soon. perfect time to get involved.

when it comes to hiring, a differentiator is that you are already working on the project. not everyone contributing now is actually waiting for a job.

in one niche community i was able to get interesting jobs because i was the only one willing to move to take the job.

</comment></comment><comment><USER6> I got my last job thanks to MarkSheet [1], a free open source tutorial I published on GitHub.

Now that I'm freelancing, my work on an open source CSS framework called Bulma [2] has allowed me to find clients more easily.

[1]: [https://marksheet.io/](https://marksheet.io/) [2]: [https://bulma.io/](https://bulma.io/)

<comment><USER7> Thanks for your work on Bulma! Are you available for freelance work? I'm starting to use Bulma on a new project and could use some customizations here and there.

<comment><USER6> Drop me an email: [https://jgthms.com/](https://jgthms.com/)

</comment></comment></comment><comment><USER8> I did.

I used to contribute quite a lot to the Puppet ecosystem. I met a ton of people through my interactions with the community and by being the maintainer of a few things like Puppetboard, pypuppetdb and the apt module. Through my contributions around PuppetDB I ended up working closer with two engineers who eventually asked if I were interested in coming to work with them.

The company was Spotify, and I accepted the offer in fall 2014 and stayed for a good four years.

This has been a massive boost to my career and it's mostly just been dumb luck.

<comment><USER9> It's not dumb luck, you put yourself in the picture by contributing to the project. If you were picked up on the streets by the Spotify CEO because he accidentally overheard you talking about developing software, now that would have been dumb luck.

<comment><USER8> I believe some luck was involved. At the height of the Puppet community and size of PuppetConf our paths could've easily never crossed.

But you're also right, I put in a lot of work there and it paid for itself. Ironically none of this was done with the purpose of getting a job, I had one already that I was quite happy with.

</comment></comment></comment><comment><USER10> I have an open source project that absolutely got me hired to Intuit years ago.

The biggest win of doing open source work is that it's more challenging than corporate work. You build product management skills and really learn to focus on objective quality factors and continuous improvement.

At this point in my career I have passed the tipping point and my open source work is making me less compatible to many of my corporate JavaScript peers. I am not interested in easy, dicking around with unnecessary configuration madness, and prefer to write original code. I am less interested in learning how to write code and more interested in data structures and algorithm design. Contrarily JavaScript is a low barrier of entry field where many newer developers have little or regard for automation practices compared to various other concerns.

</comment><comment><USER11> I did!

I can't tell you how exciting it was to be hired to help a company enhance the [https://github.com/spree/spree](https://github.com/spree/spree) extension I authored.

It was the most rewarding phase of a 20+ year career.

Bottom line: if you make yourself known/valuable in a community, opportunities will pop up. Go for it!

<comment><AUTHOR> Spree looks cool. Some big companies are using it.

</comment></comment><comment><USER12> Yes, three separate jobs to date over a span of 16 years. However, none of those three jobs directly utilised my open source contributions over the last 20 years. They made use of the skills I had, and which those open source contributions demonstrated publicly.

I didn't start working on open source projects because I wanted to get a job, and have some fodder for padding my CV. I worked on them because I was interested, and got deeply involved in several over many years. I think getting involved solely for getting a job, is doing it for the wrong reasons. You need some intrinsic interest as well.

</comment><comment><USER13> Sort of - I became active in the Redis community when it was just starting to pick up. Mostly helping out users and giving local talks, but occasionally contributing some code as well.

Over the years this led to several job offers, and while I didn't directly take any of them, I stayed in frequent touch with the founders of Redis Labs, who found me through this activity. And a few years later when I was looking for a new job, they were my natural choice. And one of the best jobs I've ever had.

</comment><comment><USER14> Dan Abramov was hired by Facebook because of his opensource contribution. I think.

[https://twitter.com/dan_abramov/status/650968538564444160](https://twitter.com/dan_abramov/status/650968538564444160)

</comment><comment><USER15> I had a maintainer of two related (as were my changes) open source projects - one an SDK under the (big but perhaps not quite FAANG company's) organisation, the other FOSS not provided by the company that used the SDK - reach out after collaborating for a bit.

Essentially I think he recognised there was work to be done, and wanted someone on a fixed-term basis to get it done, but maybe it could've led to a permanent position.

I was due to start a new job the next week or something when we spoke, so unfortunately it didn't really suit me at the time, but I was very glad of the opportunity, the company remains #2 on my 'consider when looking to move' job list, and it came 100% because I was working on something open-source to solve a problem _I_ had, and that some others happened to be interested in.

I would never say OSS development is a requirement of a software engineer, nor want it to be, but I do recommend it to people starting out (I've mentored a couple of pre-u niversity students) - and I think it could be a great way for you to get back into C++ too, not only writing it again, but getting peer review and tips like 'since C++17, we're now able to do this like this instead which blah'.

I'm not sure about finding a mentor to help contribute to a project. Rust has a program exactly like that to connect people with maintainers so they get mentorship and experience and the maintainer gets some work done and feels good for supporting the community. But obviously that's for rust projects.

You could whet your teeth on something simpler perhaps, before moving on to Chromium or similar?

</comment><comment><USER16> I am a potential employer (CEO TimescaleDB).

Contributing to one of a company's OSS projects or to a related project is great way to get that company's attention and prove your ability even before any interviews.

<comment><AUTHOR> TimescaleDB looks cool. I'll check it out and have a play with the source code.

</comment></comment><comment><USER17> I think the question is somewhat ill-expressed.

As far as I understand from the description, you're interpreting open source contribution in a very specific (albeit typical) way:

        1. generically contributing to a well-known project to get recognition by the industry;
        2. get hired in a certain project team through specific feature(s)

I generally discourage approach 1, for a couple of reasons.

The first is that a lot of people in the industry try this way (I did it, too), and this makes "newcomers management" onerous for projects.

The second is that commitment to newcomers is unrelated to the project size/fame. You'd think that large and established projects necessarily care about newcomers; there is no such connection. A notoriously committed community/project is for example GitLab; I won't mention another "very famous project" who couldn't care less, instead (to the point of labelling issues as "good first issue" and then ignoring them).

There are obviously project-external devs who gets their code approved, but based on what I've seen, they're people with experience in the field, and who work in a more targeted fashion (ie. approach 2).

I don't have experience with approach 2, however, if fits exactly the GSoC initiative, so you may either try to get in, or, in order to find a real-world answer to your question, research how many of the GSoC students are generally hired.

My opinion related to improving one's career by contributing to open source is to contribute to welcoming projects that you find interesting, and get known in the field. In other words, networking. I think start working on a famous/big project with career in mind has a very high chance of leading to frustration.

My direct answer to your question is "yes, I do know people who got a job with their involvement in open source", and it was about networking, not about working on a famous project.

</comment><comment><USER18> I did. I got my last job in the VFX industry because I'd learned python in my spare time writing external render engine plugins for Blender.

</comment><comment><USER19> I did a lot of open source work in blockchain (ethereum) ecosystem. I wrote a couple popular tools (typechain), as well as I, contributed to other projects.

This was one of the key factors that helped me land my dream job so definitely, open-source work will help you get hired but this might depend on the industry. Blockchain is open source by default.

</comment><comment><USER20> Several people have gotten well-paying jobs due to contributing to the D programming language effort.

</comment><comment><USER21> Yup, all of them in fact, it's a very tangible proof you can work on the subject. Sadly, I do mostly Python and JS so I can't mentor you but as mentionned in other comments, lot of projects are looking for contributors, Firefox is good project for example.

</comment><comment><USER22> Google Chrome is not open source. Chromium which contains the guts is.

You should include some minimal contact information, because as of now I can't find any way to contact you. Been a Chromium contributor for a little while, so I might've been able to help a bit.

<comment><AUTHOR> Thanks I've reached out via email. Thanks for the tip - I also updated my bio to include my email.

</comment></comment><comment><USER23> I worked on KDE apps and some of the core bits for a while and hung around on IRC, where I found some Qt work. I did some short term gigs and some permanent (making Zaurus apps, among other things), all entirely remote. This was in the early 2000s.

</comment><comment><USER24> I was one of the original leads on

[https://en.wikipedia.org/wiki/Steve.museum](https://en.wikipedia.org/wiki/Steve.museum)

Did it GET me a job? Maybe not. Did it come up in every interview since? Yes.

</comment><comment> em-bee i offer paid and free mentoring (free if you work on my own projects, most of which are FOSS).

i don't know if i have enough experience C++ to be a good guide for you. it depends on what you expect from a mentor.

i recently worked with a student learning rust, without any rust experience on my side. i helped the student to structure the program, while they had to explain to me how certain rust constructs worked. that had the effect of the student having to explain what they learned about rust, which is a powerful way to increase their learning. (if you want to learn something, try teaching it to someone else)

<comment><USER25> I would be Interested in getting some mentorship...I have also started to learn rust and kubernetes plus doing leetcode on the side, I also want to contribute to OS projects and have some more activity on github... I am getting a bit overwhelmed and my motivation is dwindling so I think a mentor might help. How can I contact you?

<comment> em-bee being overwhelmed and loosing motivation are good reasons to work with a mentor.

i have added my email address to my profile.

i am looking forward to talk to you.

</comment></comment></comment><comment><USER26> It's hip to have open source in some fields, and not in others. I've heard negative comments on multiple interviews - especially when there's an overlap between the open source project and your future work. Will you devote your full working hours to the company or to your hobby contributions? Will you open source the IP of the company?

If you contribute to FSF projects, the FSF will ask your current and future employers to exclude any claims over your contributions - even your hobby contributions.

</comment><comment><USER27> Yes. I believe I have stood out and have been hired in some job applications relating to PHP/Yii because of a popular extension I contributed to the framework.

</comment><comment><USER28> Hard "yes".

As a manager at Microsoft I look at the github profile of every applicant who passes recruiter screening. Open source familiarity is a must, and regular contribution is a strong positive flag in my mind.

I think some companies/teams hire from contributors to their projects... But I haven't seen that happen personally so I can't speak to it.

</comment><comment><USER29> Origin Protocol hired several engineers that started as open-source contributors to their open source code base, one of which had no experience as a professional software developer (he was in real estate).

</comment><comment><USER30> We consistently hire open source contributors who contribute to the WordPress open source project. They're primarily engineers, but some have transitioned to product management (PM).

<comment><AUTHOR> Thats great! Do you mind sharing where you work?

</comment></comment><comment><USER31> I didn't actually follow those, but it looks like if you start contributing to openstack, you'll get people emailing you with offers. Not as many now as 5 years ago, but still.

</comment><comment><USER32> Only contributing unlikely. Happens, but rarely. Leading a project very often.

</comment><comment><USER33> it will be an irrelevant question, but do you think that contributing to an open source is becoming a standard thing now?

<comment><USER34> In the past decade I've seen a few hundred resumes for developer candidates and I haven't seen one mention open source contributions yet. A few have had forks of open source projects in their Github accounts but with no indication that they've ever PR'd anything upstream. There could be many differeny reasons for that (geography, programming language, industry, etc) but it certainly seems to indicate its not all that common.

<comment><USER35> Suppose that I want to mention my open-source contributions in my resume. How/where should I mention that?

<comment><USER36> No need to overthink it. You could add a very short section at the end with a brief list of bullet points of the project name, a few words explaining what you did, and a link to the PR.

Different people will consume your resume in different ways. Automated resume- digesting systems and recruiters might get excited and tag your profile with keywords associated with those open source projects. Or they might not know what to do with the information and throw it away. Similarly for HR. Flesh and blood engineers screening your resume may get excited if they read that far. But once you've made it past the resume screening stage, it'll likely be completely irrelevant, except in the unlikely case that you're being hired for a gig specifically based on your experience with one or more of your contributions.</comment></comment></comment></comment>


Box Said to Delay IPO Until 2015 Amid Market Volatility - <AUTHOR> http://www.bloomberg.com/news/2014-10-01/box-said-to-delay-ipo-until-2015-amid-market-volatility.html <comment><USER2> Right now pricing for cloud services seems like a race to the bottom. Peter Thiel would not approve.

For Box to succeed, they need to do at least one of the follow (which I don't think they demonstrated yet to satisfaction marketplace).

1\. generate real customer lock-in so they can overcome the race to bottom for pricing of cloud services. Amazon had to do this in the first bubble vs Buy.com et al 2\. see if there some feature to their product that can generate network effects. The ease of use and word of moth of Dropbox has done this for them somewhat in the consumer market. 3\. build a consulting + storage services business. Storage services can be the loss leader, and helping companies make sense of all their data can be their high margin biz that has lock-in and is defensible.</comment>


Ask HN: Does anybody have the link to the trading systems post? (couple months back) - <AUTHOR>

A couple months back there was a post about trading systems and how somebody created one. It lead into a fairly interesting discussion in the comments, does anyone know the link? <comment><USER2> <http://news.ycombinator.com/item?id=390413>

<comment><AUTHOR> Thanks</comment></comment>


Lowest Power Dual-Core 64-bit CPU Supporting VT-x: 5.5W (yet, labelled "Solo"?) - <AUTHOR> http://ark.intel.com/Product.aspx?id=42113 There seems to be two models of the Core 2 Solo SU3500, both rated 5.5W: a single-core one (http://ark.intel.com/Product.aspx?id=37133) and a dual-core one (http://ark.intel.com/Product.aspx?id=42113). Is the dual-core version real or is it an error on Intel's website? I am looking for a VERY low-power 64-bit laptop supporting VT-x and this processor seems ideal, but it looks like it is unfortunately an error on Intel's website... The next best options seem to be a 10W Core 2 Duo SU9600 (Core microarchitecture, no integrated GPU or memory controller), or a 18W Celeron U3400/U3405/Core i3-330UM (Nehalem uarch, integrated GPU and memory controller). <comment><AUTHOR> There seems to be two models of the Core 2 Solo SU3500, both rated 5.5W: a single-core one (<http://ark.intel.com/Product.aspx?id=37133>) and a dual-core one (<http://ark.intel.com/Product.aspx?id=42113>). Is the dual-core version real or is it an error on Intel's website? I am looking for a VERY low-power 64-bit laptop supporting VT-x and this processor seems ideal, but it looks like it is unfortunately an error on Intel's website... The next best options seem to be a 10W Core 2 Duo SU9600 (Core microarchitecture, no integrated GPU or memory controller), or a 18W Celeron U3400/U3405/Core i3-330UM (Nehalem uarch, integrated GPU and memory controller).</comment>


Free Java doc hosting for open source projects - <AUTHOR> http://www.javadoc.io/ <comment><AUTHOR> basically: [http://www.javadoc.io/doc/$groupId/$artifactId/$version](http://www.javadoc.io/doc/$groupId/$artifactId/$version) will link to specific javadoc version of an artifact released to central maven repo. Or [http://www.javadoc.io/doc/$groupId/$artifactId](http://www.javadoc.io/doc/$groupId/$artifactId) (without $version) for the latest version.

For example: version 4.0.6.RELEASE of Spring-core [http://www.javadoc.io/doc/org.springframework/spring- core/4....](http://www.javadoc.io/doc/org.springframework/spring- core/4.0.6.RELEASE)

or simply: [http://www.javadoc.io/doc/org.springframework/spring- core](http://www.javadoc.io/doc/org.springframework/spring-core) for the latest version</comment>


How to write your own compiler - <AUTHOR> http://staff.polito.it/silvano.rivoira/HowToWriteYourOwnCompiler.htm

<comment><USER2> If the website is yours, _please_ change the font! Comic Sans ruins all the greatness! Choose among hundreds of free fonts on Google Fonts and embed it on your website so we can read it better. Thanks for sharing.</comment>


The advantages of programming on a small netbook - <AUTHOR> http://ianso.blogspot.com/2010/02/advantages-of-programming-on-small.html <comment><USER3> End of the world is nigh -- Netbeans is being referred to as 'lightweight IDE.'

<comment> tomh- Indeed, if Netbeans is 'lightweight' then E texteditor or notepad++ must be hardware accelerated by a dedicated chip :D. Netbeans has to be one of the slowest and most resource consuming IDE's I ever used.

<comment><USER4> Even Eclipse is fast and responsive compared to Netbeans

<comment><USER5> My experience found the opposite to be true.

<comment><USER6> Eclipse was an impediment (in Scrum parlance) to our project

<comment><USER7> But probably a very minor one compared to the languages people use Eclispe to write.

</comment></comment></comment></comment></comment></comment><comment><USER8> Reminds me of the old demoscene days. Tran (<http://en.wikipedia.org/wiki/Thomas_Pytel>) was a legend for a while, programming fast, lightweight, mind blowing effects that ran really well on slow hardware. When it was revealed that he did all of his coding on slow, last gen hardware (at the time a 386sx when everybody else was on 486dx2s) he ascended into virtual demoscene godhood.

The point is that the constraints of his system forced him to code better rather than being lazy and relying on the hardware to carry him through the day.

(too bad the wikipedia page doesn't list Kaeon, his one man shooter than was revolutionary on PCs of the day).

 _edit_ here it is! <https://www.mobygames.com/game/kaeon>

<comment><USER9> Now this is an interesting point. One application might be to develop your web app on a slow computer and a tiny screen; net books and mobile phones will have no trouble if you don't.

Or you could just have a mobile phone sitting nearby, and keep hitting 'refresh' on it...

</comment></comment><comment><USER10> I too am using a netbook as my primary machine. Even though I do all the stuff I need to without much trouble, I have this feeling that I'm having a low end machine and this very feeling makes me write better code, use lightweight programs etc.

somewhat off topic but I feel like saying this story too. When the game hitman 2 was out I had a machine with only the minimum requirements. So I always had very high stealth points because I never went out in bang bang shoot outs because the machine got stuck when I alarm so many enemies.

<comment><USER11> I was always curious about this. How are compile times for large projects?

<comment><USER10> Scary. Once I complied Qt and I let it happen while I sleep.

</comment></comment></comment><comment><USER12> I program and write exclusively on my Aspire these days.

Keyboard: I have small fingers, and I actually type faster on the netbook keyboard. The key distances are smaller, so I'm moving my fingers les.

Screen: I use a small font (Code Envy R at 10pt) and WMII, so I can fit a lot of code on the screen at once. I can also switch between windows extremely quickly, so it is relatively painless not to have all the code I'm working on, on screen at once.

Battery: I got the six cell battery, because I don't mind the extra weight (unless you have muscular dystrophy what difference does weight really make? It isn't like I have to hold this thing in the air while typing on it. ;) but I do love the seven and a half hour battery life. It also uses close to no power when on suspend (loses maybe 3% over two hours) so I just shut the lid whenever I'm not using it, and a charge lasts me the whole day.

Durability: I've dropped this thing off tables maybe seven times now. It doesn't care. It also spends most of its time in the small compartment of my backpack where it gets jostled all day.

<comment><USER13> With respect to it being dropped seven times now, do you have an SSD in there or a regular drive?

<comment><USER12> Regular drive. Which made me queasy the first time I dropped it, after being used to the touchy hard drives in previous computers.

<comment><USER13> Impressive. Beware of any errors from that drive, check the smart data to make sure that you're not suffering soft errors that are being corrected now and that will leave you with a dead drive at some point in the future.

If the drive was spinning when it fell it all depends on the angle and the strength of the shock, if it was not spinning chances of not having any damage are much better.

<comment><USER7> I agree here. My netbook hard drive had errors about 3 days after I started using it, and I didn't ever drop it.

SSDs were _made_ for netbooks. I am not sure why vendors even attempt to put hard drives in them. (Actually, I know why. Comparison charts, and money.)

</comment></comment></comment></comment></comment><comment><USER14> I wonder if this is another indication that some of the old practices from "back in the day" will come back, in some unexpected form.

For example: I remember, back in the day, that in order to compile, I had to submit the compilation job to a batch queue running on a separate server. Usually, you got your "success" or "failure" message back within a half-hour.

(Similarly, print jobs printed to a device in a locked room, and an "operator" (remember those?) would deliver the printout to your desk, usually within a half-hour.)

Needless to say, one tended to be pretty damn certain that the code was clean and correct before attempting to compile.

As Samuel Johnson said, _"Depend upon it, sir, when a man knows he is to be hanged in a fortnight, it concentrates his mind wonderfully."_

<comment><AUTHOR> That's an interesting point. I guess the compilation job queue, which itself sounds similar to punch cards through a mainframe, has its modern equivalent in running large MapReduce jobs or load tests on EC2... not something I would want to repeat too often during the dev cycle :-)

</comment></comment><comment><USER15> "I can code in a crowded bar"

Bars aren't for coding, put down the computer.

<comment><USER16> If I can drink in the office, I don't see any reason why this guy shouldn't be able to code in a bar.

<comment><USER17> Well, maybe different people who live in different countries on different continents have different ideas of what a bar is. Where I live you don't go to a bar to drink although you usually drink something when you're in a bar.

But then ... maybe you work at a bar? You didn't describe your office.

<comment><USER18>
        Where I live you don't go to a bar to drink although you usually drink something when you're in a bar.

What _do_ you go to a bar to do?

<comment><USER19> I lived in Italy where 'bar' means any place, often a cafe, that also serves alcohol. Often they have free wifi and encourage people to come :)

</comment></comment></comment></comment></comment><comment><USER20> Retort

I had horrific problems with the keyboard on my 1st gen EEE PC, so make sure you get a chance to demo the netbook of your choice before blowing $400 bucks. The right shift key is terribly placed (<http://en.wikipedia.org/wiki/File:ASUS_Eee_PC_900_0010.JPG>) - you reach for shift and you end up hitting the up arrow. Sure you can remap the keys, but this design decision is indicative of the overall quality of the keyboard. The _biggest_ problem was that various keys randomly ignored input. Hit the spacebar 10 times, you'd be lucky to get have it register 10 times. Try coding in vim with a keyboard that may or may not let you into insert mode. Maybe I just got a dud, but the EEE PC message boards suggests other users experienced similar issues.

I used that netbook exclusively for 6 months before giving up. Now it's my $400 Playstation 1 emulator :-/

<comment><USER21> i had a keyboard problem with a dell mini 9, but it wasn't really about it being cramped: to use important keys like "\", "|", "-", "[" and "]", one had to press the fn key plus another.

[http://www.flickr.com/photos/symmetricalism/3429329317/sizes...](http://www.flickr.com/photos/symmetricalism/3429329317/sizes/l/in/set-72157616597591034/)

luckily there was an international version of the same keyboard being used on other mini 9s, so i was able to order it from dell and install it on mine.

[http://www.flickr.com/photos/symmetricalism/3465687431/in/se...](http://www.flickr.com/photos/symmetricalism/3465687431/in/set-72157617188102792/)

<comment><USER22> I recently gave up on my mini 9 because of that precise problem, not knowing about the international keyboard option.

Do you happen to have the part # for the international keyboard? (I just poked around Dell's site for it unsuccessfully.)

<comment><USER21> the part number is U061H, it's just an "international keyboard" in their system. you may have to order it directly by contacting dell (either their web sales chat thing, or calling) and just asking for the specific part number.

the back of it is the top one here: [http://www.flickr.com/photos/symmetricalism/3466501746/sizes...](http://www.flickr.com/photos/symmetricalism/3466501746/sizes/l/in/set-72157617188102792/)

</comment></comment></comment></comment><comment><USER23> Nice Article. Just wanted to add as I have seen some people here and their saying that programming in a netbook is a joke. Yes, I agree that netbooks are slow and have a small screen, but they were good for me for JavaScript and HTML programming.

Since I bought my netbook (3 months ago, LG x130), I have been using it heavily to browse the web, open and edit office documents, play games (and it runs well Age Of Methology), watch videos and chat with friends (it has a cam). The netbook has served me well, it's fast and the battery life is fine (4 hours).

Later, I have decided to learn some jQuery and JavaScript in my spare time (so in my netbook). I installed Expression Studio (Web 3.0), Stylizer, FireFox, FireBug and Google Chrome. When working (debugging JavaScript or editing HTML) I always keep all of the windows open (Web 3, Firefox, Chrome, Stylizer and sometimes IE8 for testing); the speed is amazing, it never slowed me down. I also run Skype and Gtalk.

The only issue I have been facing is Flash and mainly with FaceBook videos which completely slow down, kill and then crash Google Chrome or any other browser which was positive since it increased my productivity. Another issue was with Adobe Reader, very slow at loading, opening and browsing PDF books or files.

<comment><USER24> I never imagined Age of Mythology as a game with such a long lifespan. I remember playing it about 6 years ago.

<comment><USER23> Yes, the game is old, but the new Age Of Empires versions sucks .Age Of Mythology is the best strategy game Microsoft has ever released.

</comment></comment></comment><comment><USER25> One command which is especially useful with netbooks is 'ssh'. Now you have all the computing power you need.

edit: I might add also screen/tmux. Coding at home, and need to go? detach and grab a laptop, continue coding. Your battery dies? Session is at remote end and nothing is lost.

</comment><comment><USER26> I find it very simple to explain to my friends... If it runs nicely on my netbook, it will run pretty much anywhere. Also, there's another thing... While the keyboard is annoying at first, in the long run it makes typing faster, as the keys are closer to one another.

<comment><USER27> exactly! and it puts some useful constraints on UI design that result in better usability too, I think.

</comment></comment><comment><USER28> The bottom line is you are screwing your EYES. Use netbook keyboard if you like it so much but don't punish your eyes by using that photo frame like screen for java programming.

<comment><USER29> What makes this true?

<comment><USER28> [http://jkontherun.com/2009/03/04/achy-wrists-bleary-eyed- you...](http://jkontherun.com/2009/03/04/achy-wrists-bleary-eyed-you-may-have- netbook-fatigue/)

<comment><USER30> Bump up your font sizes?

<comment><USER31> The problem with that is that you get a line length so short that it becomes a real pain to actually use productively.

I have only one semi-functioning eye and code in 14pt font on a 24in monitor, though, so I'm maybe not the best to talk about eye strain on a netbook... after all, one must be able to at least see them first.

But it seems like line length would be a real issue.

</comment></comment></comment></comment></comment><comment><USER32> I bought an Asus Eeepc 1201t 12 inch netbook from newegg a few days ago and the experience so far has been very pleasant : [http://www.newegg.com/product/product.aspx?Item=N82E16834220...](http://www.newegg.com/product/product.aspx?Item=N82E16834220698)

* AMD Athlon Neo MV-40(1.60GHz)

* 12.1" WXGA

* 2GB Memory

* 250GB HDD

* ATI Radeon HD 3200

Not bad for $380 I think! Also Ubuntu 9.10 runs fine on it except the wifi driver which has to be manually installed but only involves an extra minute or two.

<comment><USER33> _except the wifi driver which has to be manually installed but only involves an extra minute or two._

and, of course, you've written a script for that by now anyways (right?)

BTW, as I noted elsewhere, ubuntu netbook remix is outstanding for the netbooks. It provides maximum screen space utility and is worth a look.

</comment></comment><comment><USER34> Asking for the best tool is not arrogance, it is just being smart. However, using a simple piece of paper may be the best tool at your disposal for a specific task.

</comment><comment><USER35> For me there is another advantage: small screens force me to focus on code without distractions.

Don't get me wrong, I love my 27" iMac, but there sometimes is too much going on on the screen. On a small screen you just see code and nothing else. No IM, no finder icons, no bouncing dock things. Makes a big difference if your brain is already going 150 MPH.

Maybe this is why Stallman is also still using a fullscreen emacs in tty mode.

</comment><comment><USER36> My dev box these days is a 3 pound, 10" ThinkPad X60, bought off eBay for $300 and maxed out with 4gb ram and a 320gb drive. I'd prefer something bigger, but then I've been backpacking across South America these last 7 months, so space and weight are kinda precious.

Here's my experience:

Up: \- It's fast. Honest! Faster than the proper dev machine I was using just 3 years ago.

\- It's crazy portable. I can write code on a bus.

\- Long battery life. 8 hours writing in Word, or 3 hours at full dev mode: SQL Server up, VS.NET and ReSharper churning away nonstop while 4 copies of the client-heavy end-product are running in the background.

Down:

\- You can't fit much code on the screen. Means you need to keep more stuff in your head, which slows you down a bit.

The big downside is that nobody is making fast small machines anymore. The X60, which ended production 2 years ago, is the last notebook you can buy with a non-letterbox screen and a proper fast processor. Now it's all netbooks, with their boggy processors and wide-aspect, codeproof screens.

It's a shame. If somebody made a machine on the X60 form factor with the latest hardware I'd definitely buy one.

<comment><USER37> I'm doing all my work (programming) on my trusty ThinkPad x200, which is basically a successor to X6x.

While it is somewhat larger (12" screen, 3.25lb), it's still rather mobile, and a bit bigger screen (1280x800) means I can fit most of what I need on the screen (I prefer my windows maximised, though, and my IDE of choice is vim+bash).

It's powerful enough machine, too - I usually have one (or, not so often, two or more) VM running for servers and/or different operating systems.

</comment></comment><comment><USER38> I just moved to a netbook for most of my hacking and am pleasantly surprise how well it works. I run Ubuntu with Xmonad. Xmonad works really in the small screen. I compensate for the slower Hard Disk and CPU by maxing out the RAM. A big win is being able to go almost one full day between charges.

<comment><USER33> I like the ubuntu netbook remix. I added the workspaces back and it works very well.

</comment></comment><comment><USER39> > If I had a screen in front of me, the temptation would be to do something, > to try out the idea

And this temptation is bad?

<comment><USER40> It is if it means you're working on a second-class idea rather than thinking for another 10 minutes to come up with a first-class one.

</comment></comment><comment><USER41> I couldn't agree more with this article- I've found myself doing the same with an even older Eeepc 701. It's far less distracting to work on a netbook. You simply don't have the horsepower or screen real estate to waste on non- essentials, and the tiny keyboard makes you think before you type.

</comment><comment><USER13> I very much don't practice what I used to preach, which is to use a slow machine and a small screen in order to write software, it makes you write better code.

Fast machines make you lazy.

These days the stuff I write does not run on the machine it is written on at all so that's no longer a factor.

<comment><USER42> I have always kept my own personal development machine a year or two behind what is considered bleeding edge as this is what my users will have.

Makes it easier to spot performance issues if you are not using a desktop water cooled super computer that boots so fast it causes nosebleeds and nausea.

</comment></comment><comment><USER43> All in all, none. The blogger just likes the keyboard.

</comment><comment><USER44> I experienced exactly the same, when I started bringing pen and paper to bus driving to/from work and code on paper.

It is very different experience from coding with computer, and it results in better quality code, because I can't just run to "ensure" it works, I have to think it throught.

Also I tend to write less code, when each time I forget to add check before some line I have to rewrite whole function by hand.

In home I just check documentation for apis I didn't remembered, and type code into computer. Almost always it works after a few minutes of simple variable misspelings etc corrected.

Of course, this won't work so good with bloat oriented languages :)

<comment><USER45> Does anyone use something like Warnier/Orr diagrams for on-paper procedural code, or do you just code/pseudo-code in the target language?

<http://varatek.com/warnierorr.html>

<http://varatek.com/warnierorr_diagrams.html>

</comment></comment><comment><USER46> My netbook is great for playing nethack in class, but it's not great for coding. Mostly because I code in Acme, which depends thoroughly on a good 3-button mouse; the netbook's two button one-bar thing doesn't cut the muster. And of course there's the screen size--600 vertical pixels do NOT show enough.

My old Thinkpad T22 was fantastic for coding, and of course my desktop with HHK and 3-button Logitech (3 real buttons, no scrollwheel) is even better. The netbook, not so much.

</comment><comment><USER47> I did 4 months coding on the eeepc while traveling. Most working time was on transportation which usually meant no internet. I got used to the small keyboard, and ubuntu/bash/emacs was a solid environment. The only notable downsides were that the local web server fell behind from time to time, and full screen context switching (for the browser, docs,etc.) is not as productive as one might think.

</comment><comment><USER48> I'm excited to see someone else practicing the behavior at the core of his netbook experience. At work, I use a traditional desktop machine, but any time I have a vaguely defined challenge that requires some creativity or thinking, I will reflexively and immediately get up and walk around the office a bit while I plan. I come up with much better solutions that way.

</comment><comment><USER49> _If I had a screen in front of me, the temptation would be to do something, to try out the idea..._

The nice thing about a longish honest post like this is that the writer is likely to tell you what you need to know whether he meant to or not. This is a good example of condemning something while meaning to praise it. Trying out ideas is half the point of programming!

<comment><AUTHOR> Well, thanks for the compliment I guess :-) Trying out ideas is indeed the point, but reducing the solution space for a given problem is better done in your head than post-facto in the (written, tested, integrated) code, no? The earlier in the process you fix things, the cheaper it is to fix.

<comment><USER49> Well, before testing and integrating, sure. Writing it, maybe not. It depends on what you're working on I suppose. Certainly I've had the same experience - not being able to turn on a computer and so thinking about coding instead of doing it and having a better way occur to me. But I think coding immediately still wins usually.

</comment></comment></comment><comment><USER50> I sometimes use my Acer Aspire One to work. It works fairly well. It's running moblin so it boots incredibly fast and there's a nice terminal that can go full screen (Maybe the Xfce Terminal). I jump between that and the browser with alt tab. I mostly use emacs, ssh, screen.

</comment><comment><USER51> this has been my experience. if it runs like crap on one of these things, it will probably run like crap elsewhere. plus how much computer do you need to ssh into a 40 box farm of ec2 servers?

</comment><comment><USER52> I run an emacs --daemon on a powerful server and connect to it from my netbook. Best of both worlds. Just need constant WiFi which I can almost always find.

</comment><comment><USER53> I agree with the premise, but article doesn't at all seem to substantiate it.

coding on a train? coding in your head while shopping for groceries? how is that related to notebook at all? same can be done with any laptop. no?

<comment><USER54> True, but the constraints of a netbook actually serve as an incentive to think things through rather than start right away with exploratory code.

I recently coded a personal site (around 5,000 lines) almost entirely on an Acer Aspire One with a small display and a cramped keyboard, and I made sure I knew exactly what I wanted to write before sitting down (usually during lunchtime).

<comment><USER55> So, 'make it painful to code, buy requiring your code to be written on substandard equipment' makes you think more about what you're going to do, because the experience of using it is painful and substandard. I'm not sure I'd like to put myself through that. Also: I'm pretty sure those tiny keyboards are NOT ergonomically up to snuff for anything more than basic web/email usage. My wrists hurt after about 30 minutes of typing on them - <USER2> can go for hours on my full size keyboard though...

<comment><USER7> Everyone is different. I can type without pain on a netbook keyboard for arbitrary periods of time. I can type _faster_ on my HHKB, however.

(Of course, the HHKB is as easy to carry around as the netbook, so I usually don't have to use the netbook keyboard. Once you get past the keyboard, a netbook is a full machine like any other. Except it weighs nearly nothing and it can live for 14 hours without a power outlet.)

<comment><USER56> Until I upgraded my work room with a wall-length desk, I did most of my development on my eee pc 1000he. I got used to the small keyboard very quickly and the small screen was only somtimes a hinderance (in fact, the only time was when editing GUIs in Qt Creator - it got a bit cramped then).

The speed was also rarely an issue. Clojure _starts_ a bit slow, but everything runs perfectly fine. Admittedly, I mainly use lightweight tools like vim (I did once fire up eclipse, but it was so painfully slow, I promptly (as promptly as it let me) uninstalled it again).

I actually bought the eee pc for development. I find it extremely useful to have a small and light laptop which i can throw into the bottom of a bag and bring with me wherever. I got it for the freedom of being able to work on the bus or in a cafe without the hassle of a heavy or bulky laptop.

I do use a decoration-free window manager though, so I don't have screen space wasted on window borders, title bars or taskbars.

I've mainly been using my dual monitor desktop machine since I "upgraded" my work room, because I now have a very spacious desk and it makes sense to me to have plenty of screen space too (and I've been doing more GUI development recently too), but I still ocasionally pick up the eee pc to hack something together, especially when I'm not near my desk.</comment></comment></comment></comment></comment>