Forth: The Hacker's Language - <AUTHOR> http://hackaday.com/2017/01/27/forth-the-hackers-language/ <comment><USER2> This is a how-to-write-a-FORTH tutorial that I wrote a few years ago. It's particularly nice that you get to see how various control structures are implemented, like IF, CASE and even comments!

Part 1: [http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth...](http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth.S)

Part 2: [http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth...](http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth.f)

(github mirror: [https://github.com/AlexandreAbreu/jonesforth/blob/master/jon...](https://github.com/AlexandreAbreu/jonesforth/blob/master/jonesforth.S) [https://github.com/AlexandreAbreu/jonesforth/blob/master/jon...](https://github.com/AlexandreAbreu/jonesforth/blob/master/jonesforth.f))

Previous HN comments: [https://news.ycombinator.com/item?id=10187248](https://news.ycombinator.com/item?id=10187248)

<comment><USER3> Working through Jones Forth got me up to speed on both understanding how Forth works and getting my hands dirty with some practical assembly coding.

Once I got a better idea of Forth, I also realized that Jones stays in assembly for rather long. He builds up the entire interpreter from raw assembly words, because you need the interpreter to start parsing textual Forth source. But you if you could somehow write Forth before the interpreter is put together, it would be quite natural to switch to Forth much earlier. And it turns out you can do that. Jones even defines the `defword` macro. But for some reason he makes very little use of it. Rewriting most of the code leading up to INTERPRET using defword was a fun exercise.

The next step would've been making the whole system bootstrapping by rewriting the assembler in Forth, but x86 machine code generation is hairy enough that I bailed out at this point.

<comment><USER2> All fair points. I was reading over it again today thinking that it would have been better to write more of it in FORTH. At the time I was prematurely optimizing I think.

<comment><USER4> Have you ever considered a revisit?

</comment></comment></comment></comment><comment><USER5> I'm a embedded software dev and write code all day in C. Sure enough forth comes up in conversations once in a while as does other ideas like Python, JS, Lua etc..

Of all the alternatives to C, Forth is the only one which groks hardware. This is particularly important for embedded development. Any realistic alternative to C must understand interrupts, memory mapped registers etc.. Forth is the only one in which this is possible. Every other example I've seen always uses C for "low-level" access or a libraries. If you need to do that, then you won't win over embedded devs like me. It's much easier to write good embedded C code (no mallocs etc) than having to debug FFI.

Having said all that, my mind doesn't understand Forth. I'm too used to seeing code in C or even assembly to fully understand Forth. Nevertheless things like [https://github.com/jeelabs/mecrisp- stellaris](https://github.com/jeelabs/mecrisp-stellaris) are really cool and are a realistic alternative to C.

<comment><USER6> > Forth is the only one in which this is possible. Every other example I've > seen always uses C for "low-level" access or a libraries. If you need to do > that, then you won't win over embedded devs like me.

Not really.

[https://www.mikroe.com/mikrobasic/](https://www.mikroe.com/mikrobasic/)

[https://www.mikroe.com/mikropascal/](https://www.mikroe.com/mikropascal/)

[http://www.astrobe.com/default.htm](http://www.astrobe.com/default.htm)

[http://www.adacore.com/gnatpro/embedded](http://www.adacore.com/gnatpro/embedded)

[http://www.ptc.com/developer-tools/apexada](http://www.ptc.com/developer- tools/apexada)

[http://www.ghs.com/products/ada_optimizing_compilers.html](http://www.ghs.com/products/ada_optimizing_compilers.html)

Zero lines of C.

<comment><USER7> Is there any reason he would have heard of those? They're all pretty fringe, arguably moreso than Forth, for some of them.

Some of these do look neat: I've had an interest in both Ada and Oberon, although I haven't been able to get over the verbosity and unpleasant syntax of either (it's not COBOL, or anything, but it's not nice).

OTOH, I am immediately suspicious of any product that claims it's professional and also has BASIC in the name...

<comment><USER8> Ada is not fringe. It's used by many large companies, although less and less these for new projects these days. There are some huge Ada codebases being maintained in industry, particularly in the aviation industry.

<comment><USER7> The same can be said of Lisp and Forth. Would you call them fringe?

</comment></comment></comment></comment></comment><comment><USER7> Forth is really neat. It's a rare langauge that has the same abilities as C to deal with hardware, but is a higher level language than assembly, and isn't C. Most languages in common use today have reached a level of abstraction where direct hardware interaction is either impossible or discouraged.

Also, my time with Lisp has taught me that interactive environments are A Good Thing, and Forth is exceedingly interactive, and has better native introspection than many Lisps (when your guts are strewn across the floor, it's hard to hide them).

But for all that is good about it, Forth does have its problems: depending on how well your problem maps to the stack, Forth can be exceedingly painful.

A discussion of Forth's flaws, of course, would not be complete without a link to Yossi Kreinin's now-famous post on the subject: [http://yosefk.com/blog/my- history-with-forth-stack-machines....](http://yosefk.com/blog/my-history-with- forth-stack-machines.html)

</comment><comment><USER9> I really, really wanted to like Forth. I love learning new languages and different paradigms from those I know already. The fact that Forth was really tiny and yet very powerful and could do meta-programming in a Lisp-like way (though I hadn't yet learned Lisp at the time to fully appreciate what this meant) was also very attractive.

Unfortunately, learning Forth was a real let down. Forth turned out to be way too much of a write-only language for me, with lots of convoluted, hard to understand code. The Forth community preaches simplicity and using short, clear, well documented words (functions). But the reality, at least in most of the open source Forth code I've seen was the opposite, with long, convoluted, poorly documented words being the rule rather than the exception. I've been told that commercial Forth code is a lot better in these respects, but I haven't verified that.

I've also heard even Forth fans tell me that the whole point of Forth is to write yourself something more pleasant than Forth to work in as quickly as possible. Since I don't have an interest or need to write programming languages myself, I'd just rather start with something more pleasant from the beginning, and skip the painful stage of having to work with Forth.

In very resource constrained environments where your only alternative to assembly is Forth, Forth might be the best choice. But since I don't do most of my programming in such environments, I really don't see the point of using Forth at all.

Finally, after learning Forth, I went on to learn Lisp and then Scheme, and fell in love. Those (especially Scheme) really were super clear and easy to both write and read, and felt far more powerful and not at all painful. I felt far more productive in them, and would now far rather use a tiny Scheme or even Lisp on a resource constrained system, if at all possible.

<comment><USER10> Have you looked at Clojure? It's a modern Lisp that feels _designed_ to be simple, yet powerful. It works on the JVM/.NET/JavaScript platforms, so it's reach is almost universal.

[https://clojure.org/](https://clojure.org/)

[https://clojurescript.org/](https://clojurescript.org/)

</comment></comment><comment> s-macke One of the most complex games Starflight of the 80th's is written in Forth. I had a lot of fun decompiling it.

[https://github.com/s-macke/starflight- reverse](https://github.com/s-macke/starflight-reverse)

It turns out to be very portable because the assembler code is only about 1000-2000 lines. The rest is implemented in Forth itself. They use indirect threading to produce very dense code. They kept even most of the debugging symbols inside the code and kept the forth interpreter itself in the code.

<comment><USER11> At one point 10ish years ago the starflight source code was posted online by one of the authors, but it went back down pretty quickly. Someone might have a copy though. A few of the files are on archive.org, but not the main body.

[http://web.archive.org/web/20030214111810/http://www.sonic.n...](http://web.archive.org/web/20030214111810/http://www.sonic.net/~sage/sf/Development/TheMakingOfStarflight.htm)

<comment> s-macke Thanks for posting the link. I found the archive a few month ago and downloaded the few documents that were left. The table here

[https://github.com/s-macke/starflight- reverse/blob/master/sr...](https://github.com/s-macke/starflight- reverse/blob/master/src/global.c#L7)

is based on these documents and I filled some gaps of the symbol table. To start the game they used the word "LET-THERE-BE-STARFLIGHT", in the binary you see only part of it: "LET-TH".

I wish this "someone" would provide a full copy of the archive :)

</comment></comment></comment><comment><USER12> I like Factor, but staying small and innovative, I really like what Charles Childers has done with Retroforth. He has implemented a newer version running on a smaller VM Nga (the older was Ngaro) called Retro 12 [1]. Very cool stuff.

      [1]  http://forthworks.com/retro/

</comment><comment><USER13> I quite like Forth. It feels like a blend of lisp and apl. And even ml if you squint a bit at it as an applicative as composition system.

People on reddit seems to hint at the fact that Forth people stay under the radar because it allow them to design and solve problems in better ways.

I wonder how true it is ..

<comment><USER14> The more likely culprit is this:

> _But Forth is also like a high-wire act; if C gives you enough rope to hang > yourself, Forth is a flamethrower crawling with cobras. There is no type > checking, no scope, and no separation of data and code. You can do horrible > things like redefine 2 as a function that will return seven, and forever > after your math won't work. (But why would you?) You can easily jump off > into bad sections of memory and crash the system. You will develop a good > mental model of what data is on the stack at any given time, or you will > suffer. If you want a compiler to worry about code safety for you, go see > Rust, Ada, or Java. You will not find it here. Forth is about simplicity and > flexibility._

When it comes to working on a large project in a team, I suspect Forth doesn't scale.

Think of why Go works so well for Google: it's designed for code bases that are maintained by many people. And almost every design decision that was made for that goes against the spirit of Forth.

It's too flexible; you can change anything about the system so any Forth code ends up deeply personal, and specific to the current task. It's a language for individual artisans, which is another reason why it works well in the embedded space. But it's not hard to see how it all goes up in flames when you're in a large team.

<comment><USER15> > Forth code ends up deeply personal, and specific to the current task.

That's the point though. You create a domain specific language using Forth and solve your domain specific problems with it.

<comment><USER16> Yes, but create "other programmers don't understand my DSL" problem.

DSLs come at a cost.

<comment><USER7> ...And Forth's DSL's are worse than most, by virtue of having minimal syntax, and being bound by the stack. So it's not just the Lisp problem again: it's actually worse.

</comment></comment></comment></comment></comment><comment><USER17> Ever since I missed Chuck Moore's talk at Strange Loop a few years ago, I've been wanting to watch it. By all accounts it's quite good.

[https://www.infoq.com/presentations/power-144-chip](https://www.infoq.com/presentations/power-144-chip)

Glad this piece popped up, time to finally watch it.

</comment><comment><USER18> Things you can do with forth, from the forth author:

[http://www.greenarraychips.com/](http://www.greenarraychips.com/)

which is actually a truly message-passing based arch with 144 clockless "cpus". Each cpu is actually so limited that forth is one of the few languages that makes programming this tricky platform viable.

<comment><USER7> As multiple people have pointed out, GreenArray chips are basically TIS-100 IRL, but in Forth. Right down to the quirky design.

<comment><USER18> Never heard of TIS-100 (you mean [http://www.zachtronics.com/tis-100/](http://www.zachtronics.com/tis-100/) ?)

<comment><USER19> Worth playing; if you enjoy programming challenges within limited environments, you would be hard pressed to find better games than the Zachtronics set of games.

<comment><USER18> If I had time to spare, I'd actually order the development board. The architecture is unique and fascinating.

<comment><USER7> ...What dev board? The GreenArrays one?

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> I came to Forth-like languages via PostScript, which has the advantage of a huge built-in graphics library. It very naturally introduces concepts like higher order operations, code as data and data as code.

<comment><USER7> Can you reccomend any books on PS?

<comment><USER20> reference manual: [https://www.adobe.com/products/postscript/pdfs/PLRM.pdf](https://www.adobe.com/products/postscript/pdfs/PLRM.pdf)

tutorial and cookbook (blue book): [https://www- cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF](https://www- cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF)

language program design (green book): [https://www- cdf.fnal.gov/offline/PostScript/GREENBK.PDF](https://www- cdf.fnal.gov/offline/PostScript/GREENBK.PDF)

</comment></comment></comment><comment><USER21> There is a decent amount of Forth publications out there, but nothing that really takes you from A->Z in building your own Forth based off of Assembly or C. JonesForth helped me conceptually understand parts of Forth, but there is a lot missing there for me to be able to start from scratch. I would pay $ for a real book in the vein of "Land of Lisp" that shows you how to build a Forth compiler/editor and how to extend it...the pros/cons of different design decisions like direct/indirect threading.

<comment><USER22> You might find R. G. Loeliger's book "Threaded Interpretive Languages: Their Design and Implementation" [1] interesting. Here's a review [2]. The comments on that review list some online resources that might also be useful.

It's long out of print, but used copies are cheap, and scans are readily findable on the net.

I wrote a comment a while back outlining how to do a FORTH-like language from scratch by starting with a simple calculator and expanding it, writing in C with optional assembly optimizations. This was aimed at people who have less knowledge of FORTH-like systems than you do, I think, but if you are curious here it is [3].

[1] [https://www.amazon.com/Threaded-Interpretive-Languages- Desig...](https://www.amazon.com/Threaded-Interpretive-Languages-Design- Implementation/dp/007038360X)

[2] [http://www.retroprogramming.com/2010/03/threaded- interpretiv...](http://www.retroprogramming.com/2010/03/threaded-interpretive- languages-by-r-g.html)

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

<comment><USER21> Thank you!

</comment></comment></comment><comment><USER23> While forth can be quite elegant at times and I have fond memories of using Mops, I wish modern forth dialects were statically type checked.

<comment><USER14> You probably want to look at Kitten, by John Purdy:

[http://kittenlang.org/](http://kittenlang.org/)

[https://docs.google.com/presentation/d/1SJQGow_fnMSt5PsMgESu...](https://docs.google.com/presentation/d/1SJQGow_fnMSt5PsMgESumKhqlcnIQoFK_wQPkxpwWKU/edit#slide=id.p)

Some discussion on linked slides: [https://www.reddit.com/r/concatenative/comments/4bj4lu/slide...](https://www.reddit.com/r/concatenative/comments/4bj4lu/slides_from_a_talk_i_gave_yesterday_about_kitten/)

</comment></comment><comment><USER24> FORTH variation #1,000,001: I took John Walkers' AtLast as a core, and extended it in several directions, some I believe quite significant. My use case for FORTH has been as a live debugger that lets me interact with a running Real Time system, an environment where breakpoints are not very useful (except in crashes) because they only allow for post-mortem examination, but a RT system needs to be watched while it is runnung to more quickly discern pathologies.

Extensions that saved me the most agony:

1: Use of stack frame comments to actually define local variables and enforce the in - out stack transform. While at this I also added the comment string to the word definition in an additional help link. Thus:

[:] do_it ( in1 in2 -- out : return in1 * in2 * 2 ) local lv : lv_helper 2 * ; in1 @ in2 @ * lv_helper out ! [;]

> help do_it in1 in2 -- out : return in1 * in2 > 3 6 do_it . 36 >

Note the [:] and [;] redefs for compiler words, had to do this to accommodate nesting, locals, stack frames, while not compromising regular FORTH.

all variables are local in scope to the containing word. Defining variables inside ditto. Had words for listing contents of these too.

I later extended this to include nested word definitions, dynamically allocated variables, and stack frames that will unwind these on execution error. Gone were stack frame size errors, a missed dup or drop no longer fatal, indeed dup and drop not really necessary any more.

2: Structured data debugging aides: a few words and a C header parser allowed me to dump or modify readable contaents of application structs, and to call into application functions.

3: along the same lines of nested definitions, I was able to associate sub- dictionaries with graphical views along their heirarchy. This was a later addition, applied to VNOS. Lots of little things became manageable with this paradigm. In particular, allowed me to do a scoped local console (as a debug object instantated in a View), and to insert message overrides into the VNOS messaging mechanism, effectively adding what turned out to be a really powerful scripting system. Done as an object too - current version includes Perl 5 and Lua (almost ready).

And yes, concurrency is a concern, and being sure not to call non-re-entrant (errant:) functions, but hey, ypu'd likely be surprised at how good a pattern recognizer ther Human Brain is here.

Over-all, I think I used this system with a good half-dozen different CPU architectures and their OS's, also in the high level VNOS GUI (originally put my FORTH into it for debugging purposes, but that was rapidly out-grown).

</comment><comment><USER25> Forth is a hacker's language only when we take a narrow definition of "hacker" as someone who cares about making a device field-programmable in the easiest, smallest way that doesn't completely suck, and can somehow get things to work without caring what the code looks like or whether anyone understands it, including the same hacker seventeen months later.

<comment> yjftsjthsd-h One might even say that the language is a bit of a hack. :)

</comment></comment><comment><USER26> Why do you think some of the so-called hacker languages were pretty popular at a time (perl, lisp), and not the others (forth, apl?)

<comment><USER6> There was no Internet and knowledge was shared via magazines and computer clubs.

Forth was quite popular in Europe thanks to Jupiter Ace and ZX Spectrum extensions.

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

[http://www.worldofspectrum.org/infoseekid.cgi?id=0008717](http://www.worldofspectrum.org/infoseekid.cgi?id=0008717)

<comment><USER7> That's true. And APL and its children is _still_ quite popular in finance.

By the way, I found a rather neat page about building a Jupiter ACE: [http://searle.hostei.com/grant/JupiterAce/JupiterAce.html](http://searle.hostei.com/grant/JupiterAce/JupiterAce.html)

<comment><USER27> Mentioning APL in this context makes me picture an 8 bit home computer with an APL interpreter. I mean, the C64 had all kinds of weird symbols on its keyboard, too. And the magazines would save quite some pages for their source code listing compared to BASIC...

<comment><USER7> According to Wikipedia, the first implementation of APL on a micro was on the 8008, in '73\. It wasn't very good, but it did run...

Later ('77), TIS APL ran on Z80 systems, and was aparently quite a bit better, although it wasn't a full implementation.

But I'm just quoting Wikipedia at this point, so look it up yourself.

</comment></comment></comment></comment></comment><comment><USER28> Amen.

And it is dead simple to implement. I did it in common lisp 3 years ago for an IRC-bot - a lazy Sunday afternoon and 50 lines of code later I was done.

I would not want to write code in Forth on a regular basis, but reading (and making an effort to really understand it) definitely made me a better programmer.

<comment><USER7> Given, there are a lot of languages that you can implement reasonably easily in CL...

</comment></comment><comment><USER29> The main reason I fell in love with the HP 48 calculator series was the RPL programming language, which could be described as the pragmatic lovechild of Forth and Lisp - think Forth with higher-order functions.

</comment><comment><USER30> My first program was written in FORTRAN IV and it compiled and ran in the summer of 1967. After that, I learned APL, Z80 assembly, and BASIC.

The August 1980 issue of BYTE magazine was all about FORTH. I read it cover to cover, then sent to the Forth Interest Group for a copy of the implementation guide and the 8080A listing of Forth.

I typed it all in, including comments but changed the 8080A mnemonics to Z80 mnemonics. After the typos were corrected and the I/O routines modified to run under TRSDOS it ran as advertised. Then I optimized the code for Z80 which made it both smaller and faster.

My job then took me from Tandy's manufacturing plant to the R&D department where I wrote assembly code for another product but continued to work on Forth as a side project. Management said that they would be willing to release it as a product if I could get a signed statement declaring Fig-Forth to be in the public domain. I tried repeatedly to get people at the Forth Interest Group to sign but was never successful. This is the reason Radio Shack never released Forth, though many people in R&D used my code internally. They especially liked the ease of number base conversion.

From Tandy, I went to an industrial equipment manufacturer where I wrote a lot of assembly for embedded applications. I ported CP/M to run on TRS-80 model 12. The need arose to read input from a graphics tablet via serial, process the input and output a bitmap. My estimate on the length of time it would take to write this for the CP/M machine extended past the deadline.

I combined my Forth code with the drivers for the Model 12. The boot procedure for Model 12's consists of reading 26 128-Byte sectors from Track 0, Side 0 into memory and jumping to the loaded code. I changed to format of the remaining tracks (both sides) to 9 1K sectors and a 256 byte sector (double density). My boot code prompted to press the F1 or F2 key, then read all the 256 byte sectors on side 0 or side 1 (depending on F1/F2) into memory. I added a FSAVE word which wrote memory to the 256 byte sectors. I had a Forth operating system. I wrote the code for the application in Forth, performed the necessary scanning and conversion and output the desired bitmap with time to spare.

I highly recommend learning assembly for at least one processor. Without it, you can only know about Forth, you don't really know Forth. I understand how directly threaded code (DTC) works but I prefer the indirectly threaded code (ITC) model of Fig-Forth as it seems more elegant to me.

I still have an x86 machine running Windows XP which will run the 16-bit code but it will not run on my Windows 7 system. I am looking at ciforth [1] which is a 32-bit implementation. I intend to get it running under Windows 7.

Forth is a really good system for a command line environment. As far as readability goes, the code itself has such high information content that it is difficult. It is up to the programmer to add abundant comments which make reading the code unnecessary in most cases.

I'll conclude with a Forth joke:

: Decompose ROT ROT ROT ;

</comment><comment><USER31> Just saw recently that the classic FORTH tutorial is available online:

Starting FORTH — Online Edition:

[https://www.forth.com/starting-forth/](https://www.forth.com/starting-forth/)

I had read it and played around with FORTH on a microcomputer some years ago. Fun language.

Thinking FORTH, a more advanced book, also by Leo Brodie, is also linked to from the above URL.

<comment><USER32> Amazing book. This is what got me started in implementing my own FORTH in the early 1980s.

<comment><USER31> Cool.</comment></comment></comment>


Google Math Bug? 1 MB in KB - <AUTHOR> https://www.google.com/#q=1+MB+in+KB

<comment><USER2> Not a bug: Google distinguishes between megabytes and mebibytes, and between kilobytes and kibibytes. See the difference between that and "1 MiB in KiB" [1]

[1] [https://www.google.com/search?q=1+MiB+in+KiB&cad=&oq=&gs_l=](https://www.google.com/search?q=1+MiB+in+KiB&cad=&oq=&gs_l=)

<comment><AUTHOR> Wow, I had no idea Kilobytes was redefined to 1024 bytes until I saw your response.

> The kibibyte was designed to replace the kilobyte in some computer science > contexts, where kilobyte used to mean 1024 bytes [1]

I was aware of "kB vs kb" but Google doesn't differentiate between kb, kB and now as I have learnt, KiB.

Still, it's news to me, I missed the news of kilobyte being redefined to 1000.

      [1]: http://en.wikipedia.org/wiki/Kibibyte

<comment><USER3> Google does, well sort of. It assumes all lowercase it in bytes

kb = Kilobyte Kb = Kilobit KB = Kilobyte

Also some other nice tricks:

100MB/s in GB/2 hours 5MB/s in Mb/s

</comment></comment></comment><comment><USER4> Unfortunately around '99 "the powers that be" (NIST and IEC, if memory serves) decided to stop the confusion between SI units and (the usual) power-of-two usage.

Now it's Xebibytes for power-of-two and regular SI units for the rest.

It irks me no end, I'm a power-of-two person. But that's the way it is. (Also floppy disks had it wrong too 1024 * 1000 ... sigh)

You might as well argue the usage of Crackers vs Hackers.

<comment><USER2> Marketers had already for many years been leveraging the ambiguity to sell things in powers-of-1000 scale (SI uses of prefixes) knowing that much of the market would read them in the powers-of-1024 uses of the prefixes. While standardizing the marketing use as _wrong_ might have been better in some senses, consistency with SI and providing a standard and unambiguous (if new and less familiar) set of prefixes for the useful powers-of-1024 scale was better the status quo at the time.

</comment></comment><comment><USER5> Yep Its kilo and kibi notation, nothing like a bug.</comment>


Harvard Rated Asian Applicants Lower on Personality Traits, Lawsuit Says - <AUTHOR> https://mobile.nytimes.com/2018/06/15/us/harvard-asian-enrollment-applicants.html <comment><USER2> Already posted at [https://news.ycombinator.com/item?id=17320360](https://news.ycombinator.com/item?id=17320360) .</comment>


Good Developers Don't Trust Employeers - <AUTHOR> Good developers who are open minded and free spirited don't trust employers. This is the conclusion I have drawn after spending far to much time researching articles and academic papers theorizing why tech turnover is so high. There are 2 reason actually:
1. Companies over hype the position (like requiring an Architect's training when the job really requires a construction worker). The Architect will likely leave the job in 1.5 years (which is the average turnover rate at many tech companies)
2. Trust between companies and tech developers is low. Tech environments are pretty hostile at times and developers absorb all of this. They wait for employers to address these problems but only receive lip service and wishful thinking. Trust devolves. After multiple rounds of this, developers develop a general distrust for companies in general and leave at the first sign of higher pay or better benefits. Loyalty is rare.
These are the major take aways I got from hawking every article and paper on the topic I can find. If you have a good article on the topic and care to share it, please do. I will definitely read it carefully. <comment><USER2> Good developers are the ones who have many years of experience. They got their battle scars and can recognize insincerity, poor ethics, and lack of expertise in employers. They became better in soft skills, got marketing, domain knowledge.

I noticed that often a few lines of job advertisement, a half hour meeting with a company say enough to effectively notice the patterns of bullshitness and run away.

<comment><USER3> Any company that's about to be taken over = run away based on my small bias sample size.

</comment></comment><comment><USER4> Regarding #1 for expectations of a position, many people don't know how to properly articulate the position well. I say unfortunately, it's up to the candidate to do his due diligence and ultimately, still test the job in the early phase. Now, if it's really far off, that's just poorly done then.

2\. Just sounds like bad companies or big companies to me. Makes sense to me, move on. That's the sign of a good developer as well as a strong individual in my book.

</comment><comment><USER5> What does anyone mean by "trust employers" or things like that anymore?

Do you trust you'll get a paycheck? I generally do.

Do you trust years of "that promotion is coming"? If it is years then you've got your answer, it's not about trust.

Leaving for higher pay isn't about "trust" IMO, it's just an option that you take or don't.

</comment><comment><USER6> Very true with the company having shitty managers living in old ages, imposes the brainless day to day activities like updating number excel sheets instead of on focusing on actual work. ++ for office politics.

</comment><comment><USER7> There's a 3rd reason: In my experience, tech employee turnover is often directly related to corporate/executive turnover. You can hire into the most forward-thinking, technology-valuing workplace and then find that a merger, acquisition or management purge transforms your company into a hide-bound, change-averse organization that suddenly sees research as an extravagance and development as a red-line expense counting against the bottom-line.

I've seen this devolution happen at least three times in my career at three different companies. In every case, it results in devaluation, then exploitation, then burnout of previously enthusiastic, talented developers who soon leave. Sadly (even if you are a staunch capitalist in the executive suite) this "streamlining" almost always proves misguided as the company inevitably loses all technical credibility, innovation stalls and it loses any competitive edge it might have had along with market share.</comment>


Fraud U: Toppling a Bogus-Diploma Empire - <AUTHOR> http://www.wired.com/magazine/2009/12/ff_fake_physics/all/1 <comment><USER2> And yet bizarrely it's almost impossible to convince US employers, an especially the INS that overseas universities are legitimate.

In one statement to the INS I had to explain that: No - King's college Cambridge was not a community college.

<comment><USER3> >especially the INS that overseas universities are legitimate

I've seen this particularly with Eastern European countries and India.

Two quick anecdotes,

A girl I knew in High School came to the U.S. from Poland. Her father was a surgeon. The medical license and degrees weren't recognized here. He worked as a janitor at night while going to school (again) to qualify for the board exams.

I've noticed in many organizations that universities in India are sometimes viewed with suspicious as the quality of the output (in the IT field) can vary wildly. The ITTTs for example are considered fine, but there are hundreds of other schools that are very hard to get any visibility on. In a few disastrous cases I've seen, people were hired based on their 4 year degree in CS or IS or IT, yet they graduated without ever having written a single line of code! It becomes very hard to filter those people out without having a fairly extensive pre-interview screening process.

<comment><USER4> > I've noticed in many organizations that universities in India are sometimes > viewed with suspicious as the quality of the output (in the IT field) can > vary wildly.

I have seen that first-hand. From my experience, H1B workers from India are very under-qualified. They are usually hired for their low pay demands not for exceptional knowledge. I don't want to start a flame war, this is just my experience, but the level of knowledge of some H1B employees is that of a someone taking a few community college courses. No theortical background. Most don't know what an algorithm is, instead they repeat a set of jargon IT words they read somewhere in a book.

While we are on the stereotyping bandwagon, I have noticed that programmers from Eastern Europe & former Soviet Block have a much better grasp of CS theory and math. Chinese programmers fall somewhere in between.

Again, downvote if you like, this is just what I observed, I don't know why that is and your experience will probably vary.

<comment><USER3> Yes it's stereotyping and yes it's bad and all that. But I think my experiences are roughly on par with yours.

I've seen some absolutely stellar Indian hires though, but they really tended to come from the better, more established schools. A colleague of mine has been staffing her department heavily with Indian candidates not because the asking salary is cheaper, but because that just so happens to be where most of the candidates are coming from.

>instead they repeat a set of jargon IT words they read somewhere in a book

I've noticed the IT-jargon diarrhea as a pervasive problem on Indian resumes. Of the couple hundred or so resumes I've reviewed in the last six months, only the Indian ones had a section under each previous employer labeled "environment" followed by a list of every hot IT technology in the last 20 years. Sometimes to comical effect, "wow you worked in a place that used Cobol, Java Server Pages, Perl, Python, Ruby, AND Quantum Computing? And you list that you are an expert in the Waterfall Methodology AND RAD?".

I admire our immigrant population for coming to seek a better life and typically for their awesome work ethic. But sometimes the standard Resume Writing 101 course that seems to be taught at every Indian IT trade school does a disservice to them.

</comment></comment></comment></comment><comment><USER5> I'm going to argue this from the point of law, rather than the relative value of faked degrees, and if the university system has any merit by itself.

From the article, it appears like there are no laws saying you can't make an unaccredited university, and start issuing degrees. I may be wrong, but the charges seem to point that way.

The charges against him in the article were: * Conspiracy to commit {wire,mail} fraud * Bribing foreign officials

Conspiracy is what federal prosecutors go with when there's no actual crime committed, since it doesn't actually require a crime for a successful prosecution (only that several people intended to do something illegal). It's used as a stopgap to "get the bad guys", even when law isn't really there to support it. [for reference, check out the book '3 Felonies a Day']. The bribing of foreign officials obviously isn't directly related to the "fake" university.

So we go a step further, and look into if it even should be illegal. If I set up cschneid's Drive Through University, I will obviously never get accredited by a proper agency. But I'd probably argue that cschneid's Drive Through U should have free speech to print up paper saying people passed it's program, and have a degree showing that. No matter how bad that program is. It still should be illegal to lie about accreditation status, or similar (but that falls under existing misrepresentation and fraud laws).

I'd say that this argument is parellel to the Underwriter's Laboratory. The government does not mandate or require any electronics manufacturer to get certified by UL (afaik). But many environments require a UL seal to use any electronics, one example being the dorm I lived in. So it's a certification of quality, in the same way a university degree is a certification of quality for a person (by a 3rd party). Presumably, I'd be able to start my cschneid's laboratory, and certify whoever pays me for my logo. Why is that significantly different from a diploma mill?

I personally have a university degree, from an accredited school. But I dislike people taking social solutions (look up the degree & university in a database, say it's accredited), backed by existing laws (fraud, etc), and then turn it into a new set of laws, that restrict free speech. I think to sum up, if I want to hand out bad diplomas, that should be fine, as long as I'm truthful about it. Existing laws cover this environment well, and printing paper should not be an illegal act without an intent to defraud.

<comment><USER6> The government doesn't directly require a UL label, but the National Electric Code (which is produced by an independent organiztion, the NFPA) does. The NEC is adopted as law by most jurisdictions, so not complying with it means you won't get a building permit. Hence, in a roundabout way, it is required by law. As it stands, you're free to manufacture something without a UL label, but it won't be able to be installed in any building where the plans have to go through a permit process, so you'd have a hard time selling it to anyone.

I didn't read anything in the article propose laws that would make unaccredited degrees illegal. What they said was there should be stricter standards for accreditation, overseen by the government. Right now some accreditation authorities are just organizations made up of a group of diploma-mill like universities who all agree to accredit each other.

For engineering positions in the US government, they usually require that your school be specifically accredited by ABET, which is legitimate. I remember them conducting inspections at my school while I was there to determine that our engineering labs met their requirements.

<comment><USER5> Thanks for the info on UL, I forgot about the in-wall parts of things, and was focusing on toasters and such.

Basically, I'm saying that the government should stay out of it, unless it's actual fraud. It bothers me that it's a monopoly on the specific form of speech saying "this is a good school" and "this is a diploma".

I'm really coming from the stance of a wanna-be libertarian, I understand that the government must do things, but where possible, I think social and private- sector answers are more flexible, and less agressive towards various rights.

It just bothers me that I can't setup a legit-but-not-accredited school and issue diplomas without somebody potentially trying to come and get me, or prosecute me for wire fraud.

</comment></comment></comment><comment><USER3> A great research tool for verifying degrees of new hires that we use is: <http://www.nslc.org/>

There's a nominal fee for each lookup, but considering the money to be saved in avoiding a bad hire, it's proven itself extremely worthwhile when doing final candidate vetting.

</comment><comment><USER7> A friend of mine once conned an online degree peddler from Israel into sending him a diploma for a BS in Business Ethics. I think he threatened him with reporting him to the relevant authorities or something. The irony of the whole thing was of course great.

</comment><comment><USER8> I think the diploma mills, for the most part, make the world a better place,and the Secret Service has no business doing anything about it* . The primary obstacle to getting a an undergrad. degree is paying for it.

Most white collar jobs require a degree because everybody gets a degree, and anybody who doesn't go to college must be too stupid to to get one. Most people who want a shot at a middle classs life start out with $20 -30k in debt from college tuition alone. I don't think it's right that anybody who wants to do science or white collar work is expected to just give piles and piles of money to universities.

* I don't think they have any business with credit cards either. SS pursuing credit card fraud is a huge subsidy to the CC industry. Credit cards take 2-6% of every transaction and we all pay for catching people gaming the system.

* * Somebody's bound to post that the fake degrees lead to hiring people where safety's involved: Unless you know of something specific, don't say anything. I strongly suspect 99+% of the time when people bought a fake diploma were for white collar jobs where it wasn't necessary anyway.

<comment><USER9> My complaint about people who get fake degrees is that they are liars and cheats, and if they are willing to lie and cheat about one thing then they are willing to lie and cheat about other things and I don't want them around.

My opinion on diploma mills is that they make it easier for liars and cheats to be more effective liars and cheats, so clamping down on them reduces the amount of lying and cheating in our society and that is a Good Thing.

My opinion on university degrees is that they have a slight correlation with brains but are not very good predictors. Some of the best people in IT that I've ever worked with never finished college. Including the programmer who mentored me at my start. (He never graduated because he was so good at his summer internship that they gave him a job offer he couldn't turn down.) I would therefore be delighted to hire the right non-college graduate. But not if they were the kind of person who thinks it OK to lie and cheat their way past the issue of not having a degree.

I have a feeling that the two of us won't agree on much. And the key difference is that you think that lying and cheating are OK while I don't.

</comment></comment><comment><USER10> This reminds me of official churches trying to weed out "sects."

"Universities are the last medieval institutions, besides the Catholic church."

<comment> brown9-2 Except these "sects" don't actually offer any education.

<comment><USER11> And apparently neither do the universities -- if so many people can do so many important jobs with nobody noticing they never went to a university, what's their "education" good for?

I went to Stanford and while it's true, the students did take classes where they heard facts, I didn't see anyone coming away from them having learned much. Instead, it just seemed like a test of whether you could stand it long enough / pay enough money before getting a piece of paper.

<comment><USER12> I don't think that's fair. My computer science education was seriously enriched by the community of students and professors at Stanford, even if I could have learned the basic material mostly on my own.

<comment><USER13> Same, though my experience is subject to selection bias; I'm an MS student, so I only tend to meet grad students and the more motivated undergrads (the ones who take grad classes or the ones who care enough to come to my office hours).

Despite having a BS in CS, I've still learned a lot about computer science at Stanford, and (thanks to the ridiculous amount TAs get paid here) I've had to pay very little for my degree.

</comment></comment></comment></comment></comment><comment><USER14> I've always been confused about this: after incrimination for cases like these, do these people get to keep their money?

<comment><USER15> That depends on how well it's hidden.

<comment><USER14> So in other words, they aren't required to pay back their ill-got money.

</comment></comment></comment><comment><USER16> A couple of questions occurred to me while reading this. I hope I can make my case diplomatically.

Who's to say what a PhD program really entails? I understand that there are professional accreditation organizations. My question is simple: if I am the president of Newbonia, why can't I set up my universities to require 20 years of study before awarding a PhD? Or one year and a up-front payment of $30K? The implication here is that less studying and more bribery is always bad, but is that always the case? If you shaved 20% off the work of a "normal" PhD have you really defrauded anyone? How about 60%? If so, how about if you make your course more rigorous? If you made your programs require more work doesn't that now imply that other countries are defrauding their students?

If this is truly a multi-million-dollar business, and thousands of folks are getting these "fake" certifications, are there any stories of people who have been harmed by folks with fake diplomas? There was one case mentioned in the story -- a fake therapist. But I find that unconvincing. Where's the societal fallout from all this fakery? Is this a story about real people getting hurt by fake-accredited folks? Or is it a story about academics up in arms over people who got the same kind of degree without all the suffering they had to go through? It seems to me to be the latter. But I honestly don't know.

I'm a huge believer in education, although perhaps not formal certification programs, which I find too stilted and archaic. And I'm definitely no fan of people lying to each other. But I wonder if we haven't reached a point _in many cases_ where the degree is just a bullshit piece of paper needed for job advancement. A social worker with a Master's degree is most likely not that far advanced over one with a 4-year degree. In fact, the one with the lesser degree might be much more effective in their job. It's just employers need something to differentiate the worker bees and degrees seem like a natural fit. It's stupid, the people who are asking for it know it's stupid, and the people who are getting it understand it's stupid too. On top of this, prices are going through the roof for these things. So people are just starting to treat it like the silliness that it is and buying their degrees off the internet.

Please don't think I am making a blanket case -- obviously a brain surgeon is not something you can fake. But for the 80% of cases? Where some external organization is requiring a piece of paper so you can move from line manager to section manager or something like that? If the cost continues to rise _and the knowledge received isn't actually being put to use_ then diploma mills seem like a very natural and normal market response to me.

<comment><USER17> Well, regarding your first point, credible organizations accrediting universities are the ones who are to say what a PhD program entails. These diploma mills are unaccredited (or accredited via corrupt organizations) and try to either hide, lie about, or whitewash that fact.</comment></comment>


Fact Checking Mailbox - <AUTHOR> http://markedwardcampos.com/infographic/fact-checking-mailbox/

<comment><USER2> Of course the graph is fake math. It's only a _representation_ of the long term goal, not a literal indicator of what will occur. I think that Orchestra are being fairly open about this; the same post that the graph was taken from also states, "if we run into unexpected snags, we may even stop filling reservations temporarily."

[http://www.mailboxapp.com/reservations/?p=1#how-were- rolling...](http://www.mailboxapp.com/reservations/?p=1#how-were-rolling-out- mailbox)</comment>


My Dad's Underwear - <AUTHOR> http://throwww.com/a/6w9

<comment><USER2> _Since server is having errors, here's full text of post:_

I just want to preface this by saying I don't have a fb account, or twitter, but I come here everyday and appreciate all the help and support over the years and wrote this for this with the hn community in mind, given its meant to be motivational and not techie.

It's coming up on a decade from the night my dad died. I was 16 at the time. I came home from playing tennis and my dads car was replaced by my one of my moms friends. It wasn't very long after it happened. Initially I figured my dad was running late, not an unusual thing and I didn't think about my moms friend being there very much. When I walked in my house, I was a little shocked to see my moms friend there with her husband. I usually only saw the husband at the synagogue and such, but my mom and his wife were best friends. I walked by the husband, who was standing there with a look of shock on his face. My mom on the phone, "My son just walked in I have to go." She sat me down and told me, "someone came by the business tonight and shot dad in the head twice." My mom didn't know what to do, she stayed very strong, credit to her, scrabbled for a hot towel to lay on my forehead. I remember thinking that I have to remember these last sequence of events vividly because the rest of my life will never be the same. At this point it was around 7 at night and my older brother wouldn't be home from a concert until 11, at which point of course he would know what happened. He dropped to the floor when he walked in the house and that moment still hurts me. The eldest sibling, my sister, turned 21 2 days before and came home around 820 to a house packed with cars outside and people inside. I am 100% positive she was thinking it was a surprise birthday party for her. I couldn't listen when my mom had to tell her. Shes not all there mentally, my sister, so she doesn't function like the rest of us. For sure she wont ever recover from this. Never. It's still a mystery if any of us will.

I wanted to share a motivational story about shit. Quite literally poo. I grew up in an old factory town and my family owned a auto salvage business which my dad proudly ran for about 20 years. My dad had a super power than enabled him to work 7 days a week without a break on top of being severely ill with chrons disease. The guy had a hernia removed once (a year or so) and when the doctor came back to check on him he realized he removed a different hernia, not the one the surgery was intended for. My dad endured a lot of pain. He had a cyst centimeters from his tumor removed in 1999. Longest time he ever took off work. Still went back early though. Damn I miss my dad.

Every night when my dad would come home from work he would be filthy from working at the junkyard all day. Immediately he would strip down to his underwear and throw a bathrobe on and sit for dinner. All of his underwear, 100% of the time had shit on them. The chrons was vicious, and he was working too hard to let that stop him. I mean come on, this guy went to work every day despite being sick as shit and would come home beat to hell every single day. I had more than one person tell me my dad was a hard worker and one of the sheriffs at the trial commented that he had called my dad the hardest worker in the county. But thats the point; he had what it takes.

None of this was necessary, but we lived in a beautiful custom built home in a nice neighborhood. We weren't rich by rich people standards, but when you grow up around poorer areas a little bit of money seems like a lot. And that little bit and some more my dad lost in the stock market before his life was taken from him. As well the business started to collapse immediately and even with my brother stepping in and my mom taking out loans the place just wasn't meant to run without my dad. Somehow my mom sold it and paid her bills. But I am left asking myself was it all worth it? From 16 until 26 I felt like my dad sorta wasted his life torturing himself by working all the time and not enjoying what life has to offer. It seemed to me like time is now even more limited and I gotta make the most of things by enjoying myself. But recently my perspective has changed. I recognized that my dad loved the grind. Everyday he went out there to stuff his socks with money to bring it home. It was his duty and he persevered through more shit than anyone can imagine. Literally.

Those of you with dreams of starting a business ask yourself this question: "Do I want it enough to shit myself everyday?" If you can grind like that, I think you are on the right track.

<comment><USER3> Hey, I'm the creator of Throwww. Sorry this is totally my bad. It's a result of a known bug, but recently I took my MBP to Applecare and they accidentally wiped my entire drive (long story). So before I can fix it, there's a bunch of dev environment stuff I need to setup. Sorry again. TLDR: my bad.

<comment><AUTHOR> I tried to email support@throwww and admin@throwww. None of the emails bounced back, but I wasn't sure if that was the right place to 'contact the administrator'.

Anyways, great platform, this piece immediately came to my mind when I saw your site; it inspired me to write. The timing is funny though. Credit to the hn crowd for posting the cached version immediately after I had posted the site.

</comment></comment></comment><comment><USER4> I grew up in a blue collar family. This guy's father is the norm, not the exception. My grandfather was a lineman for the electric company. He worked around the clock in all kinds of bad weather and had friends who'd been electrocuted. My father-in-law worked on an end loader while suffering through hemorrhoids and hernias. My brother-in-law has a crushed disc and works as an auto mechanic, oftentimes requiring him to lift things over his head when working in the pit. When he gets home at night he has one chair that he can sit in to relieve his pain.

This isn't macho cult bullshit, trust me they can't wait until they can retire. They're simply working men who'd go to the ends of the earth to provide for their families.

I can't speak for the rest of the world but this is the culture of a blue collar family in the American Midwest.

I am so glad I create software for a living. 40-50 hours work per week on average, more during a crunch, all in a climate-controlled environment. You can eat and drink any time you feel like it. You have flexible work schedules. And if your neck gets sore you're paid well enough you can go get a message and have it worked out.

We've got it made.

<comment><USER5> > We've got it made.

That's one way to look at it. Another way is to ask yourself whether we could've been much farther ahead, as a civilization and a species, in terms of quality of life, human rights, technology and science, and so on, in 2013 given what we had accomplished already in say 1913, or even 13. I think the answer is a solid yes, we could've been 100 times ahead of where we are now. I wouldn't congratulate ourselves just because we have some professions where people don't suffer injuries at work, that's a pretty low bar we should've crossed ages ago. (I realize this is a tangent and I'm not really arguing against your main point...)

<comment><USER6> In the years between now and 1913, Europe has risen from literally centuries of war, China has lifted more people out of poverty than I can fathom, the USA has made great strides towards equality and we have made the first steps towards being a spacefairing civilisation. Medical technology has advanced a hundredfold, or even a thousandfold.

We still have quite a way to go, but we should not kid ourselves into thinking we have not come a long way already lest we begin to slip back again.

</comment></comment></comment><comment><USER7> "Do I want it enough to shit myself everyday?"

I have no idea how the author reached this conclusion from his macabre story. Can't even tell if this motivational is satire or not.

What I do know is that working 7 days a week despite serious health issues is a terrible terrible idea that no one should emulate just because it worked for Random Guy's Dad. Seriously, we have to stop this macho cult bullshit.

<comment><USER8> Crohn's is just bowel problems: bad gut bacteria + autoimmune issues. There's occasional debilitating flare ups with sometimes serious complications. Otherwise, just imagine having low grade diarrhea 24 hours a day. Occasionally there's very minor containment failures. The guy should go to work; it keeps him going. It keeps his family fed. It's better than going on welfare.

He should have perhaps considered changing the Fruit of the Looms a couple of times a day, though.

Regardless, many people have health problems that make getting to an doing work a challenge. Meeting that challenge is way better and sitting at home.

<comment><USER9> Crohn's either is or can be can be vastly worse than that. I have a friend who has lost half her digestive tract to it. I don't know how typical that is, but it is not something to dismiss out of hand like this.

</comment></comment></comment><comment><USER10> Google Cache:

[http://webcache.googleusercontent.com/search?q=cache%3Athrow...](http://webcache.googleusercontent.com/search?q=cache%3Athrowww.com%2Fa%2F6w9&aq=f&oq=cache%3Athrowww.com%2Fa%2F6w9&aqs=chrome.0.57j58.1249&sourceid=chrome&ie=UTF-8)

<comment><AUTHOR> Thanks for posting the cached version. Did the server go down because of the traffic? I tried to post it again, and it failed after just a couple of minutes.

Anyways, in the piece it says its coming up on a decade, but actually today is exactly 10 years, so I wont be around most of the day. Thanks for taking the time to read this.

</comment></comment><comment><USER11> The article assumes only people that want to start their own will have this problem but have you heard programmers complaining about the hours and its not even their own company. It becomes a way of life that you become addicted to and like anything else being a "hard worker" can become an addiction with all the praise from your boss or co-workers and in the end family has to pay the bill.

The article sums this up well where the son is now asking "was it worth it"?

A question for everyone not just those who want to run their own business.

</comment><comment><USER12> Thanks for telling us about your dad. I lost my dad a year ago and this story reminds me a lot of his work ethic and his commitment to providing for his family.

</comment><comment><USER13> thanks for this post. i found it heartfelt and insightful, much more so than most of the dribble that crosses my screen daily.

the reality is that your dad knew he had to man-up, and being proud of himself and his family was his motivation.

</comment><comment><USER14> My Dad died in March 2006 & he would've been 65 tomorrow had he still been alive. Glad you posted this today. His work ethic was similar & inspires me to this day.

</comment><comment><USER15> A server error occurred. Please contact the administrator. First one to comment, no surprise given my nick. ;)

<comment><USER16> Is it just me or anyone see the funny side that the OP's Dad's underwear throws a server error! :-)

</comment></comment><comment><USER17> I'm compelled to comment "No your mom's". What kind of title is this? Obviously just meant to attract attention. I would not have clicked if not for the sake of making this comment have some content, but it's giving an error and I should contact the administrator. It is a funny thing how I am unable to view who the administrator is when the page is down, and all other pages contain no info whatsoever.</comment>


Ask HN: What personal blogs would you recommend? - <AUTHOR> I'm looking for more reading from personal blogs, these are the current ones I read:
https://www.joshuakennon.com
https://www.oaktreecapital.com/insights/howard-marks-memos
http://www.docbastard.net
https://meltingasphalt.com
http://paulgraham.com/ <comment><USER2> Stratechery [https://stratechery.com/](https://stratechery.com/)

Rachel by the Bay [https://rachelbythebay.com/](https://rachelbythebay.com/)

Jessie Frazelle [https://blog.jessfraz.com/](https://blog.jessfraz.com/)

The Grugq [https://gru.gq/](https://gru.gq/)

Matt Green [https://blog.cryptographyengineering.com/](https://blog.cryptographyengineering.com/)

Rob Graham [https://blog.erratasec.com/](https://blog.erratasec.com/)

Cindy Otis: [http://www.cindyotis.com/articles.html](http://www.cindyotis.com/articles.html)

Maciej Cegłowski (pinboard, idlewords) [https://idlewords.com/](https://idlewords.com/)

</comment><comment><USER3> My alltime fav:

Julia Evans: [https://jvns.ca](https://jvns.ca) [Systems | Linux | Networking | Core CS]

Joel Spolsky: [https://www.joelonsoftware.com/](https://www.joelonsoftware.com/) [Software | Product | Hiring | CEO of Stackoverflow]

</comment><comment><USER4> www.nesslabs.com

www.waitbutwhy.com

www.moretothat.com

www.daedtech.com

www.kalzumeus.com

[https://medium.com/the-year-of-the-looking-glass](https://medium.com/the- year-of-the-looking-glass)

[https://www.collaborativefund.com/blog/authors/morgan/](https://www.collaborativefund.com/blog/authors/morgan/)

[https://nav.al/how-to-get-rich](https://nav.al/how-to-get-rich) —- not personal blog per se but collection of all personal interviews. Excuse the clickbaitish title, it is not a pitch of any kind.</comment>


Ask HN: how to save on bandwidth cost for the distribution of a free game? - <AUTHOR>

hello to all,
we are releasing a free game for mac and pc early next year. its file size is around 500MB. it would be available for free. right now we are thinking of hosting it in amazon s3, but after doing the math, the cost of bandwidth might become too high for us. we are now trying to find other ways of distributing the games. kindly share your suggestions?
could you also share to me your experiences in submitting to the mac app store? do they host your file or do you provide a link to your host? the same with the xbox marketplace, kindly share your experience? xbox marketplace also hosts PC games now. <comment><USER2> You could try MaxCDN. They're cheaper than S3 in terms of bandwidth.

And if that's not enough. You could try getting a server at 100tb.com. They have VPS servers or dedicated servers for serving a lot of bandwidth for relatively cheap.

And if even that's not enough, you can try going with ayksolutions.com. They offer dedicated servers with no bandwidth restrictions.

</comment><comment><USER3> Bit Torrent. It's how Blizzard distributes their games. Although your game needs to be sufficiently popular for that to work...

</comment><comment><USER4> how much bandwidth did you calculate it would use, and how much will it cost?</comment>


Ask HN: Just got fired. Wanna learn web development. Where do I start?   - <AUTHOR>

So I came back from lunch at about 1PM EST, and had just settled in at my desk when my boss told me to follow him, and was led downstairs to a conference room where the HR Manager was waiting. Truth be told, I knew what was up. Half an hour later, I was out of the building. I was a sysadmin there for just over a year, managing Windows servers and had recently introduced some Linux servers, for NTP, RADIUS, and was setting up a KVM Hypervisor.
I discovered HN in college, via PG's 'Why Nerds are Unpopular' essay. I've started a few ventures, mostly offline, but nothing that ever really stuck. I know I want to run my own business. I'm familiar with the concepts of Lean Startup, Customer Development, and of course, 'Make something people want.'
I've been talking to some small business owners lately, and it seems there's a need for a web design service tailored to them...something above the 'neighbour's 16 y.o. son' level, but below the advertising agency level. Most of them only need a basic site....About Us, Services, Team, Contact. They just need something that looks professional.
I'm thinking this can be done with WordPress or any other blog/CMS platform. I actually used to be a freelance graphic designer, so I know how to make things look good. I want to learn web development so I can customise WordPress templates for use.
I can program in Python, and like I said, am a professional Sysadmin. How do I get started in Web   Development? Any thoughts on my business plan? <comment><USER2> Sorry to hear the bad news. As for Web development, since you are familiar with Python, there are lots of good starting points. One is Django, a very popular web framework for Python that lets you create applications quickly. (<https://docs.djangoproject.com/en/dev/intro/tutorial01/>) If you need more flexibility, you can look into "micro-frameworks" like Bottle or Flask that provide less out of the box, but at the cost of more work (potentially). There really are tons of options, but the tools selected should depend on the need.

Check out this Python wiki page for a good overview and some web frameworks: <http://wiki.python.org/moin/WebFrameworks>

Good luck!

<comment><AUTHOR> Wow, Django has come a far way since I first checked it out. Thanks for the kind words.

</comment></comment><comment><USER3> Congrats / Condolences on losing your job. Often times, these can be blessings in disguise. Any insight into why you were let go?

If you go the wordpress route, do yourself a real favor and read up on the common and ever-growing list of wordpress hacks out in the wild.

It's not enough to build a wordpress site, you're also going to be called upon to manage and secure them as well. Wordpress is a big, popular platform these days, which means a lot of ne'erdowells are gunning for it.

Also, seconding whoever is voting for Django, since you have a python background. Double seconding the recommendation to get more active with your downtime

<comment><AUTHOR> Thanks for the congrats. I'd been spending more and more time at work and neglecting all the startup ideas I had. I'm a quick learner, so in a few weeks, I know I'll see much improvement.

I kinda know why - a bit of politics, a bit of culture fit. But that's all behind me now!

</comment></comment><comment><USER4> Sorry to hear that. It'll actually work out to be a blessing in disguise, but the disguise is usually pretty good the first week or two.

Wordpress is a great idea for a humble CMS. Start learning PHP if you choose Wordpress. Sitepoint have some excellent PHP books. I have several of them and have been very happy with the quality of both their ebooks and the dead tree versions.

Eat right and start exercising regularly. This will first, give you more energy and second, stave off depression.

<comment><AUTHOR> Thanks. I'm actually pretty upbeat-my girlfriend and I are going out to dinner later. Thanks for the Sitepoint recommendation.

</comment></comment><comment><USER5> Hopefully you got a little severance and have some savings. If you go the WordPress route, look at ThemeForest.net. You can get some really nice WordPress themes for $35 and tweak them to work for a particular client's needs. You'll need to know PHP and HTML/CSS/Javascript to do any template modifications, but if you know Python, it shouldn't be too hard. Best of luck!

<comment><AUTHOR> Yes, I'm good financially for the next few months. Thanks for the ThemeForest recommendation.</comment></comment>


Capture the flag in the real city, want to feel that, get friends and play - <AUTHOR> http://runawayapp.com

<comment><AUTHOR> What do you think about the concept?</comment>


Ask HN: What do you think about flattr.com and patreon.com? Any success story? - <AUTHOR> <comment><AUTHOR> I have a small italian site with 1000 visitors a day. I'm making 1 euro a day from adsense. I recently put a flattr button. Zero donations.</comment>


FitBit: Tracking your Health Profile - <AUTHOR> http://blog.drchrono.com/2012/06/18/fitbit-tracking-your-health-profile/

<comment><USER2> Junk content. Don't bother reading it.</comment>


All 1,926 public school teachers in Providence fired - <AUTHOR> http://www.projo.com/news/content/PROVIDENCE_SCHOOL_MEETINGS_02-25-11_MCMMBSG_v26.1bd455c.html

<comment><USER2> As others have said this is a ploy to allow the school district to get rid of bad union teachers and I think that's a good thing. People need to start realize this isn't a union issue it's a PUBLIC union issue and the public unions have become a problem.

Public unions have not proven themselves in the same way as private unions have. Private unions were (and in some cases still are) a good tool to protect employees against corporate greed run a muck.

But as we've seen with our over spending governments the inclination of the government is to be overly generous with people like teachers and that's now being abused.

This isn't a liberal/conservative issue. FDR is still the most liberal president we've ever had and even he said public unions were "unthinkable and intolerable". The head of the AFL-CIO was against public unions in the 50s.

(Facts taken from the New York Times: <http://tinyurl.com/47u53dq>)

Here's the exact FDR quote...

"[a] strike of public employees manifests nothing less than an intent on their part to obstruct the operations of government until their demands are satisfied. Such action looking toward the paralysis of government by those who have sworn to support it is unthinkable and intolerable."

Isn't that exactly what's happening right now? Look at this quote from the article...

"This is a quasi-legal power grab," said Richard Larkin, a teacher at Classical High School. "You want to pick and choose teachers. Well, we will not be bullied."

Isn't picking and choosing teachers exactly what has to be done in order to keep good teachers and get rid of bad ones? How out of control do you have to be when you don't acknowledge the fact that the school should be able to pick which teachers it thinks are best?

<comment><AUTHOR> "is to be overly generous with people like teachers"

That seems to be the talking point nowadays. But, having a lot of family and friends that are teachers, just isn't true from what I know. I'm not sure where you think the abuse is coming in (benefits, pay?)

Most teachers salaries max out quite low compared to what could be made in private industry. And even their benefits aren't that much better than private industry, if at all. I have paid less for health benefits for the past 4 years in various jobs (for companies both small and large) and I always had better benefits than my sister, aunt, g/f, etc.

Schools should absolutely be able to pick teachers that are both good and bad. But a blanket firing shows a complete lack of respect and lack of commitment to fixing a problem.

<comment><USER3> Do the PV calculation of their pension. Most of them are doing better then you think. Rhode Island's pension were guaranteed 3%. [http://www.projo.com/news/content/pension_cuts_01-16-09_TOCV...](http://www.projo.com/news/content/pension_cuts_01-16-09_TOCVSQB_v28.450c3fd.html)

<comment><AUTHOR> Sure, which is why they are willing to accept less money.

If the government wants, they can do as companies have done (at least one of past employers did): End pensions going forward, everyone currently employed is grandfathered in, new employees get 401k with a match, new employees have a different salary step system that maxes out higher.

You're not arguing with someone who thinks the system is amazing as it is... it needs changes. But the teachers aren't the villains and they aren't living a life of grandeur.

<comment><USER2> This is the average salary and vacation time for a RI teacher...

Average Salary: $64,130(elementary), $60640(secondary)

Weeks of Vacation per Year: 15

(source: <http://tinyurl.com/5dhgl8>)

That's pretty good by today's standards. That's a salary of $1,733 PER WEEK that they work. I wouldn't consider a salary like that "accepting less money"

<comment><USER4> So do you think teachers just arrive in class on Monday morning and start teaching something out of thin air? A large amount of time is spent _preparing material_ for class, and that time is not "vacation".

<comment><USER5> It's not that large. During periods of the year when teachers work, they only work about 38 hours/week.

<http://www.bls.gov/opub/mlr/2008/03/art4full.pdf>

The fact is, teaching is an incredibly easy job. Teachers work less than other professionals, they get incredible vacations, and ridiculous job security.

<comment><USER6> "The fact is, teaching is an incredibly easy job."

I'd just like to point out that this statement isn't actually related to the others you made. In Western Australia it's been popular for a while due to the mining boom to go and get a fly in/fly out job in one of the mining towns. The pay is fantastic and the time off is good. This does not correlate to being "an easy job".

I could say that it is "easy to do a bad job", but when is that not the case?

Anyhow, just wanted to point that out. Not after an argument :)

<comment><USER5> Fair point.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> This is how it worked at my private school in New Hampshire.

Every single teacher, regardless of how long they have been teaching there (some more than 30 years) were hired for a 1-year period and then re-hired (or not) for the next year. Every single one of them had to do the same process.

It seemed like a very good way to never have bad teachers for more than one year. In my 4 years at HS there were only two bad teachers, and the contracts of both were simply not renewed after their first year.

<comment><AUTHOR> That seems interesting. Do you have any information on what they used to "rank" teachers or decide if they were good or not?

<comment><USER7> I am not certain on any of it, but I imagine it was a combination of the student input (we all got to rank them on various things and any complaints were noted) and also what the well-respected teachers who had been there a long time thought of them.

Almost all of the admin were teachers who retired from teaching, so I imagine they took input from the fellow teachers (who were still teaching) very seriously.

Additionally, it was seen as pretty important that the teachers engage the students in non-classroom ways. For instance a new teacher started a formal chess club at the high school and got us to play against other schools, and I would imagine that things like that are considered a huge plus.

It probably also helped that the school was small (880 students) so it wasn't hard to notice quality and for the admin to know every teacher on a personal level.

<comment><USER6> From what I'm aware of a lost of private schools work in a similar way with respect to extra curricular activities, to the point where they expect you to take on extra duties like coaching sporting teams and so on.

My problem with this is that people feel they have to do it to have a job, and it then takes time away from their actual job which is teaching students. I have no problem with the performance review aspect of it though, as long as it used correctly (administrators are people too, and just as capable of doing a bad job, pushing a personal agenda, etc).

</comment></comment></comment></comment><comment><USER8> This is the key piece of information that explains how this is possible:

 _Superintendent Brady has said that the majority of teachers will be rehired_

<comment><AUTHOR> Sure, they are politicizing the process. They don't want to deal with union rules so they fired everyone. It also lets them skip out on benefits, I believe.

But, think to yourself, for all of the amazing teachers they fired, how many just had the wind let out of their sails? I wouldn't come back as enthusiastic about doing the right thing after getting fired like that.

<comment><USER8> Oh sure, I'm not supporting or criticizing what they did. I was just initially confused as to what a school system was going to do without teachers.

<comment><AUTHOR> Oh, touche. Should have addressed that. Thanks!

</comment></comment></comment></comment><comment><USER9> Isn't this basically a tenure thing? AFAIK public unions make firing a First- In-Last-Out operation, which means the senior teacher you hired 10 years ago is there to stay until every single other teacher that came after is gone.

In my _completely_ non-expert opinion, tenure seems to be a multiplier. From a students' standpoint: A good teacher with tenure is a godsend, because they feel comfortable challenging the system to make sure their job (educating the kids) gets done. Conversely, a bad teacher with tenure is a cataclysm, because they don't really want to be there, the kids don't really want them to be there, and the school administration doesn't really want them to be there, but by God, they're staying, because it's easier to collect a paycheck and hate your job than change your situation. To use a metaphor from Kevin Smith's Clerks, tenured crappy teachers are perennially shitting their pants instead of lifting the lid on the toilet seat.

<comment><USER10> perhaps, since you're suggesting it's useful, you can tell me what subjects taught in a K-12 education necessitate the teachers challenging the system?

i'd consider perhaps high school literature and history teachers, but beyond that?

<comment><USER11> Math? Instead of teaching kids to memorize formulas and just apply to them to contrived examples, teach kids how match actually works in the real world and its applications. Great TED talk on this very matter:

<http://blog.ted.com/2010/05/13/math_class_need/>

</comment></comment></comment><comment><USER12> Could someone please explain how teachers' unions protecting "bad teachers" from being fired is in the best interests of the teachers unions?

They get accused of that a lot, but I can't see how that would work for them. If my coworkers were making me look bad, _I_ sure wouldn't want to associate myself with them. It seems to me it would weaken the credibility of the union and thus take away the power the union has to back _me_ up.

</comment><comment><AUTHOR> Just wanted to point this out for those of you who haven't seen this in the news. To combat a $40 million budget deficit, all of the teachers were fired (not laid off).

Just curious what other peoples thoughts are. More specifically, what long- lasting implications do you think this kind of policy is going to have on the USA's ability to keep up with the rest of the world? I think I'm speaking more to the attitude that surrounds education and not necessarily this specific instance.

<comment><USER5> It's important to note the reason they were fired. As teacher Richard Larkin said, "You [the mayor] want to pick and choose teachers." If they were laid off, the district would be obligated to rehire them in order of seniority.

According to the article, "Superintendent Brady has said that the majority of teachers will be rehired".

So this is basically about cherrypicking the best teachers, and getting rid of low quality teachers with seniority. Overall, this will probably be very helpful in allowing the US to maintain our lead over (most of) the world.

<comment><USER13> _So this is basically about cherrypicking the best teachers, and getting rid of low quality teachers with seniority._

Probably not. Ask them how they'll determine who the best teachers are? They have no metric today, at all. They'll likely simply use inverse seniority. Hire back the cheapest.

This is akin to a company firing people the day before their options vest, just because it saves a lot of money. Maybe good business practice in the short-term, bad in the long-term, as even good teachers will realize that they'll likely be fired if they climb up the salary scale.

<comment><USER5> If quality is unmeasurable, you should optimize for cost.

This will either save the taxpayers money, or it will reduce the size of layoffs (holding cost constant).

<comment><USER13> It's not that its unmeasurable, but they won't take the time to measure it. The cheapest way is to get rid of teachers altogether. Just let the students go to class and randomly assign grades. The fact that they have no real metrics will mean that perceived quality won't change -- but I think we'd both agree that something would have changed.

</comment></comment></comment></comment></comment><comment><USER14> I found this interesting:

> Yes: Melissa Malone, Kathleen Crain, Niña Pande, Julian Dash

> No: Robert Wise, Brian Lalli, Philip Gould

There's a stereotype that men are more in favor of small government and women are more likely to be elementary school teachers than men. Yet, all 3 of the women on the board voted for the dismissal whereas 3 out of the 4 men voted against.

Doesn't necessarily mean anything, could be random noise, but that caught my eye at the end of the article.

</comment><comment><USER15> This should be the canvas of the future education system: [http://www.ted.com/talks/ken_robinson_says_schools_kill_crea...](http://www.ted.com/talks/ken_robinson_says_schools_kill_creativity.html)</comment>


Thiel Says Technology Industry Key for U.S. Recovery [video] - <AUTHOR> http://www.youtube.com/watch?v=kTaIFNaJzi4

<comment><AUTHOR> Money quote:

"The only answer for the developed world is technology and innovation. We can't compete with China on labor costs, this is not an option. And globalization without technology means an increasingly Malthusian struggle for resources."</comment>


Startup Quote: Richard Branson, chairman, Virgin Group - <AUTHOR> http://startupquote.com/post/1411145707

<comment><AUTHOR> When people are placed in positions slightly above what they expect, they are apt to excel.

\- Richard Branson (@richardbranson)</comment>


How a Chinese businessman became the largest supplier of pyrotechnics in the US - <AUTHOR> https://www.washingtonpost.com/graphics/2018/business/the-largest-supplier-of-american-fireworks-is-from-china/ <comment><USER2> I have worked with many manufacturing companies in china. One of my vendors grew from 1 container a day to over 5 right now in thr course of 3 years. I know this because i have seen the US port data.

He is perhaps the most cutt throat person i have ever met in my life. When i read this article about Mr Ding, he reminds me of him

One time i had a meeting with him at a covention. We talked about different specs for products for an 40 foot container order. As we started talking, another one of his clients who did 2xs or more business we did stopped by at the booth.

I kid you not but he told me to go fuck off right then and there in mandarin. There was only one extra seat and I occupied it. He had the most dead pan serial killer eye expression i have ever seen. We were just having a nice light casual conversation in english talking about spec clarifications one second before.

We still did business with him because you cant argue with the quality of goods he brought. His trade records were impeccable and spoke for themselves.

I've worked with high level execs before in the states. But I have never seen someone stab me in the back right in front of me so fast before.

The mentality in China on the exec level is so different.

<comment><USER3> > We still did business with him because you cant argue with the quality of > goods he brought.

True but for a sec there my mind was arguing with lack of morals on your part. Since your whole post is somewhat American doing business with Chinese individual, I felt disgust how low some of us (like Obama bowing to Chinese President to almost clean the floor) will fell just to grab ONE MORE buck :(

<comment><USER4> Just of out of curiosity, are you American? There are slight grammatical errors in the post that don't seem to be that of a native English speaker's.

<comment><USER5> I agree very much. I'm a native English speaker as well and that post sounds very off and ungrammatical.

<comment><USER2> I know its off grammatically because I didn't know how to properly explain the facial expression he gave me. I have never seen it before. I was in shock. It looked like he wanted to kill me. Normally you can read someone by staring into their eyes, looking at their body language, and facial expressions.

The shift between the light conversation we had before and when he told me off it was done so casually and efficiently. There was NO change in body language. Only someone who is a complete psychopath or sociopath does this. Its as if he does this often to his factory workers.

But this wasn't the case when I visited his factory though.

A few months later he stopped by our warehouse. I took him around town. He didn't care about any of the cool things my city had to offer or its history. All he wanted to know was insider knowledge I had about the industry as a whole. Everything was strictly only about business only.

.....didn't realize grammatical comment was not at me but I expanded on it anyhow

<comment><USER6> I wish we could stick him in an fMRI machine and have his brain scanned at that very moment to see what areas of the brain lit up. More psychopath than sociopath?

</comment></comment></comment></comment></comment></comment><comment><USER7> What I'm reading is a monopolist is immune from scrutiny because everyone is afraid of the monopolist bankrupting them by cutting them out of supply from the monopoly. Further through a network of shell corporations, we learn the truth of the monopoly is obfuscated.

What's good about this?

<comment><USER8> It is a good example of game theory and how to use it to your advantage. Excellent

<comment><USER9> Can you expand on what you mean exactly?

<comment><USER10> not op, but as in: prisoners dilemma, if they speak against, they will suffer a penalty

</comment></comment></comment></comment><comment><USER11> >On Feb. 14, 2008, in Foshan, a city in southern China, 15,000 cartons of fireworks spread across 20 warehouses mysteriously exploded in the middle of the night, creating a tremendous blast that damaged windows and doors a half- mile away. Surprisingly, no one was seriously hurt.

>Before the explosion, companies could ship fireworks out of numerous ports, fireworks industry executives said. But after the explosion, Chinese authorities quickly cracked down, requiring almost all of the pyrotechnics to be moved out of Shanghai. And, perhaps most significant, to ship fireworks, companies now needed to obtain special permits, the executives said.

>Only three were initially given out by Shanghai's Maritime Safety Administration to transfer fireworks onto container ships there, several fireworks and shipping executives said. Of those three, Ding was the only recipient who could move his vessels through the Shanghai port for export to the United States, according to Liu Jihua, owner of Hunan Hongguang Logistics, a Liuyang company that specializes in shipping to Southeast Asia.

Stuff like this is all over China, and they were even more extreme during the time of mandatory export licensing and "export tariffs"

<comment><USER12> > On Feb. 14, 2008, in Foshan, a city in southern China, 15,000 cartons of > fireworks spread across 20 warehouses mysteriously exploded in the middle of > the night, creating a tremendous blast that damaged windows and doors a > half-mile away. Surprisingly, no one was seriously hurt.

i find this extraordinarily unlikely. i'm reminded of intelsat 708.

</comment></comment><comment><USER13> This could be a story about Google and Facebook rigging the digital advertising industry, and everyone would say, "great business tactics, it's not a monopoly for XYZ reasons. It enables free service for users." etc etc.

As a story about a Chinese businessman, this starts to get the scrutiny it deserves. I'd love to see journalists shed some light on monopolistic behaviors in the US. Frankly, we'd all benefit from the review.

<comment><USER14> Everyone is a bit of a straw man.

Personally I think Google should be scrutinized.

</comment></comment><comment><USER15> On a side note, if you are ever near the national convention for The Pyrotechnics Guild International, Inc.[1] and like fireworks, then it is an event that does a pretty impressive show to demonstrate their wares during their convention.

1) [http://www.pgi.org/convention/](http://www.pgi.org/convention/)

</comment><comment><USER16> The author and somebody he quotes are both awfully hung up on how "insiders call him Mr. Ding." Since that's his name, that is not remarkable whatsoever. In China the family name comes first, from Lee Jun-Fan (Bruce Lee / Mr. Lee) right on down to Chan Kong-Sang (Jackie Chan / Mr. Chan).

Imagine: _" Mr. Smith -- that's what those of us in the know tend to have this wacky idiosyncratic habit of calling him -- controls all the mayonnaise distribution on the West Coast."_

<comment><USER17> Not really. They call him Mister (先生) as an honorific. In chinese culture, that's what you call the big boss.

<comment><USER18> Hmm, I don't think Mainland Chinese call other people with Mr as honorific. We are more used to use titles or positions held by the person, like Manager, President, or the like. If it's some stranger you met on the street, master (师傅) is most likely used.

I've only seen people in Hong Kong movies or TV shows calling their boss Mr (生 rather than 先生). I think they actually do that in real life.

</comment></comment></comment><comment><USER19> The immense power of vertical integration at its finest

<comment><USER20> The immense power of being the only one to have the required license in a corrupt and bureaucratic system.

This sort of situation also has a tendency to perpetuate itself over there. The guy with the license can make monopolistic profits, which means he has greater financial resources to influence the licensing authority, which means unfortunately his rivals seem to have unexpected problems getting licenses of their own.

</comment></comment><comment><USER21> I think I don't understand this article. The container share graphic shows that Huayang market share is 2/3rds of traffic, but the numbers in all the rest of indicate that Huayang is a monopoly. 2/3rd is a lot but doesn't seem monopolistic to me.

It's also interesting that the article goes in depth with detail (because of data availability perhaps?) from the US side of the trade, but very light on detail (and full of implications) about stuff going on in the China side.

<comment><USER22> The first line of the article is: "Roughly 70 percent of all Chinese fireworks entering the United States come here under the control of a Chinese businessman who has used his influence to raise prices and block competitors, leaving many U.S. executives fearful of losing access to their most important Fourth of July inventories."

The word "monopoly" doesn't appear anywhere in the article. The article's claim is that Mr. Ding is anticompetitive, not that he operates a monopoly.

</comment></comment><comment><USER9> Why can't other companies start, which produce fireworks?

<comment><USER23> His price will most likely just come under what it would cost to produce somewhere else. Anyone else in China has to deal with laws and regulations. If the news article is correct he's essentially fixed the rules so that he has the best position out of anyone who could otherwise compete.

\- He has a permit

\- He has economies of scale

\- He owns the logistics and shipping

\- He is the defacto controller of the port considering how scared people are of him

\- He's cutting his costs of operation to a minimum by moving everything under his control since there are no middlemen siphoning of money for their own profit.

The nature of other markets like the US means the cost of production is prohibitive in most cases. This is literally the playbook on doing business from time immemorial.

Check out the billonaire cheese guy for more examples of good positioning and secretive ceos. [https://www.forbes.com/sites/chloesorvino/2017/05/23/james-l...](https://www.forbes.com/sites/chloesorvino/2017/05/23/james- leprino-exclusive-mozzarella-billionaire-cheese-pizza-hut-dominos-papa- johns/#ad2aca84958c)

</comment></comment><comment><USER24> Does this explain why every vendor seems to have exactly the same stuff? I feel like when I was a kid, there was a lot more variety, and going to different stands you'd see different stuff. In my town of ~8000, there are going to be four or five firework stands, all with exactly the same stuff for exactly the same prices.

</comment><comment><USER23> A question that is somewhat on topic: does anyone have any articles or books on the vertical integration of some car manufacturers in the past where they had raw iron ore come in one side and cars roll out the other? I would be interested in other industries as well.

<comment><USER25> I doubt that would work very well, considering the law of comparative advantage.

<comment><USER23> I believe that's when there aren't too many middlemen in the way or too many people driving up the cost of your materials when you can source them better at a different stage in the processing route. Logistics companies are middlemen. Vendors are middlemen.

Space X for example has a high degree of vertical integration, maybe not to the point of smelting their own raw materials but much higher than ULA. In the past it may have made sense given the environment.

</comment></comment></comment><comment><USER26> I'm surprised this is a surprise to anyone that does business with Asian, African or South American companies. Anyplace that has high levels of corruption has businesses and Govt hand-in-hand. Isn't this the whole point of accumulating Govt power. If there was no way to extract value from it, no one would care about running for office.

</comment><comment><USER27> In 5 years we'll all be watching drone light shows anyway

<comment><USER28> Nah. The 2020 Olympics in Tokyo are slated to have a man-made meteor shower: [https://qz.com/689794/a-man-made-meteor-shower-launched- by-s...](https://qz.com/689794/a-man-made-meteor-shower-launched-by-satellite- could-open-the-2020-olympic-games-in-tokyo/)</comment></comment>


Human Artifacts on the Moon - <AUTHOR> http://history.nasa.gov/humanartifacts.html

<comment><USER2> Some other interesting artifacts left on the Moon:

 _Lunar Laser Ranging Experiment_ arrays [1][2]. These are retro-reflectors that were left during the Apollo program. They are used for laser ranging. This is always good for getting a _" deer in the headlights"_ look from conspiracy theorists when I explain that humans have been studying the distance between the Earth and the Moon with the arrays since 1969 to further our understanding of gravity, along with the knowledge of the Moon's increasing movement away from the Earth. Also, the Soviets deployed retro- reflectors on Lunokhod 1 in 1970 [3] and Lunokhod 2 in 1973 [4].

 _Fallen Astronaut_ [5] commemorates astronauts and cosmonauts that died while working on their respective space programs.

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

[2] [http://www.physics.ucsd.edu/~tmurphy/apollo/doc/Bender.pdf](http://www.physics.ucsd.edu/~tmurphy/apollo/doc/Bender.pdf)

[3] [https://en.wikipedia.org/wiki/Lunokhod_1](https://en.wikipedia.org/wiki/Lunokhod_1)

[4] [https://en.wikipedia.org/wiki/Lunokhod_2](https://en.wikipedia.org/wiki/Lunokhod_2)

[5] [https://en.wikipedia.org/wiki/Fallen_Astronaut](https://en.wikipedia.org/wiki/Fallen_Astronaut)

<comment><USER3> > _Lunar Laser Ranging Experiment arrays_

I've always wondered why we don't have any actual photos of them (or anything else) sitting on the moon.

My understanding is that all earth-based telescopes don't have the resolution, and hubble can't focus down that close.

<comment><USER4> > I've always wondered why we don't have any actual photos of them (or > anything else) sitting on the moon.

We do.

[http://www.nasa.gov/sites/default/files/images/584392main_M1...](http://www.nasa.gov/sites/default/files/images/584392main_M168000580LR_ap17_area.jpg)

<comment><USER5> That picture is from Lunar Reconnaissance Orbiter Camera (LROC); you can find pictures of all the Apollo landing sites on its webpage.[1]

[1] [http://featured-sites.lroc.asu.edu/](http://featured-sites.lroc.asu.edu/)

</comment></comment></comment></comment><comment><USER6> Seems the Apollo guys didn't believe in packing out their trash:

"Defecation collection device"

"Urine collection assembly, large"

"Bag, emesis"

"Wet wipes, facial"

I certainly look forward to visiting that particular corner of Lunar National Park in 50 years :)

[http://history.nasa.gov/FINAL%20Catalogue%20of%20Manmade%20M...](http://history.nasa.gov/FINAL%20Catalogue%20of%20Manmade%20Material%20on%20the%20Moon.pdf)

<comment><USER7> "Golf balls (2)"

<comment><USER8> I'm also a fan of "Hammer and Feature": [http://www.youtube.com/watch?v=5C5_dOEyAfk](http://www.youtube.com/watch?v=5C5_dOEyAfk)

</comment></comment></comment><comment><USER9> This article doesn't really mention the reasons some items were left there, but my guess would be that every pound you can get rid of gives you a better chance at getting OFF the moon and safely back to the command module.

So at the end of the mission, everything no longer absolutely critical gets dumped.

<comment><USER10> They pretty much had a weight target (not leaving things up to chance). Every pound of equipment you don't take back is another pound of moon rock you could take back.

</comment></comment><comment><USER11> It surprises me that we can get crispy clear photos of Mars, or an asteroid, many millions of miles away, but we can't show a distinct photo of each of these artifacts where they rest.

Anyway, it seems we are very good at polluting.

</comment><comment><USER12> Private moon plan to send drones to steal those artifacts -- worth it?</comment>


Haskell in Production: Bdellium - <AUTHOR> https://medium.com/@folsen/haskell-in-production-bdellium-1df48de40e19

<comment><USER2> Good case study of why Haskell was a good choice. I took a Haskell course at edX and the instructor Erik Meijer had a good metaphor: pure Haskell functions are like islands in the ocean. The ocean is imperative code, monads, etc. It is a design decision of how much of your code base is islands and how much is ocean.

I have limited Haskell skills, but I find writing pure functions to be fairly easy. For the monad ocean code, web search and stackoverflow helped find boilerplate examples. So, I try to spend my time on the islands.</comment>