Luau – A fast, small, safe, gradually typed scripting language derived from Lua - <AUTHOR> https://roblox.github.io/luau/ <comment><USER4> In case anyone is interested: Roblox (who is making Luau) is hiring.

We've been growing fast, and are looking for strong C++, systems, and application engineers. As a highly vertically integrate gaming platform, we've got a lot of hard problems to solve - from programming language design (see OP!) to debugger tooling.

You can email me at my username plus roblox.com.

<comment><USER5> Hi JHelms, I'm the author of the largest pure-Lua game engine on GitHub, Planimeter's Grid Engine 9 ([https://www.planimeter.org/grid- sdk/](https://www.planimeter.org/grid-sdk/)). I'd love to chat, and sent you an email.

</comment></comment><comment><USER6> I wonder how the interpreter works. In their _Performance_ page they write:

 _> It's similar to Lua interpreter in that it's written in C, but it's highly tuned to yield efficient assembly when compiled with Clang and latest versions of MSVC. On some workloads it can match the performance of LuaJIT interpreter which is written in highly specialized assembly._

One thing I've been experimenting for my own project, is using tailcalls. All main compilers (gcc, Clang, MSVC) are able to compile that into _actual_ tail calls (i.e. `jmp`, not `ret`, so that the stack doesn't overflow) (with optimizations enabled), even for indirect calls (i.e. dispatching depending on the next instruction). Function parameters (VM state) are assigned to registers, alleviating Mike Pall's main complaint about writing interpreters in a high-level language, that the compiler cannot optimize the huge loop as well as a human can. I need to test this on a full interpreter with 50 or so instructions, to see if the optimizations still apply.

<comment><USER7> I am currently exploring the similar approach. The idea is to compile to llvm IR and then augment it. There's a musttail marker in the language to enforce tail calls no matter what the optimisation level is.

Passing VM state via arguments is suboptimal since argument registers are often clobbered and one would normally use callee-saved registers. I have developed a patch for llvm allowing to specify registers used for passing arguments and making more registers available for allocation without spilling.

I intend to reimplement LuaJIT VM in C with IR augmentation to verify the performance.

<comment><USER6> Did you check out the "GHC calling convention"? They implemented it specifically for this purpose.

[https://llvm.org/docs/LangRef.html#calling- conventions](https://llvm.org/docs/LangRef.html#calling-conventions)

My understanding is, for "fast path" instructions (e.g. integer addition) there's no register spilling necessary, so passing VM state in registers makes sense. For more complex instructions, you rely on LLVM to optimize registers as it would normally, with callee-saved registers. Of course, one must still pass as little state as possible - e.g. just sp, cp, maybe top of stack / heap, and then a pointer to *vm_state for all the rest.

<comment><USER7> > Did you check out the "GHC calling convention"?

GHC allocates registers for arguments from the fixed list where most but not all registers are callee-save in other common CC-s. This is a big improvement; still there are valid reasons to want it customisable.

E.g. in LuaJIT next instruction is decoded as a part of an instruction handler before dispatching to the next handler. Instruction arguments are passed to a handler; they shouldn't use callee-saved registers.

Another complication is the stack frame. There's a requirement to keep the stack pointer aligned (16 byte on x86_64). Call instruction pushes the return address and the pointer becomes misaligned. If the called function wishes to call further functions it has to adjust the stack pointer to make it aligned, even if it doesn't use the stack. The stack pointer is adjusted in a function prologue, hence there's a slowdown even if a nested function call is on a cold path.

Whether these micro-optimisations are worthwhile remains to be seen.

<comment><USER6> I'm not sure I understand your complaint about callee-saved registers. The point is that _arguments_ are passed in registers, as opposed to on the stack, and most calls are tail calls anyways (so `jmp`, not `call`/`ret`). It doesn't matter if the registers are caller-saved or callee-saved, as the context is destroyed anyways, the function never returns.

In case of GHC, the functions _could_ return, but the fast-path is that most functions access VM state, and many functions have very little need for registers; therefore, forcing registers be caller-saved would just cause most functions to push and pop the stack without any reason. If non-standard calling convention (e.g. C calling convention) functions are called only rarely, then using caller- or callee-saved registers doesn't really matter.

<comment><USER7> We are on the same page irt tail calls. I assume that instruction handlers (non-standard calling convention, tail-calls next handler) need to invoke helper functions quite often. These helpers adhere to standard C calling convention. VM state is in registers. Unless they are callee-saved, registers have to be saved to stack and restored after each helper call. (LuaJIT VM uses helper functions heavily.)

</comment></comment></comment></comment></comment></comment><comment><USER8> Too bad MetaLua never took off, these could be macros embedded in Lua rather than a separate language. [http://metalua.luaforge.net/index.html](http://metalua.luaforge.net/index.html)

<comment><USER9> It may not be exactly the same but Terra [http://terralang.org/](http://terralang.org/) uses Lua a meta programming language and the Terra language itself is effectively a typed Lua compiled to machine code with LLVM.

<comment><USER10> Terra looks really interesting (Halide is another language along this meta- approach - [https://halide-lang.org/](https://halide-lang.org/)). It's too bad it never made it further than being used for a few PhD theses.

<comment><USER11> I like Terra, and I have played with it, but I have not found a use for it to push me to really explore it. I'd love to hear from anyone using Terra for cool projects. I had watched a talk about MAD-X [0] that I found very interesting, but it is specifically for particle accelerator design in physics [1].

[0] [https://mediastream.cern.ch/MediaArchive/Video/Public2/weble...](https://mediastream.cern.ch/MediaArchive/Video/Public2/weblecture- player/index.html?year=2016&lecture=487416c0&ftime=00:14:11)

[1] [https://mad.web.cern.ch/mad/](https://mad.web.cern.ch/mad/)

</comment></comment></comment></comment><comment><USER12> "Please note that at this time we are not ready to make Luau implementation publically available in the source form"

1/ Code source is not available, so it feels like the purpose of the page is just to brag about how good your interpreter is.

2/ s/publically/publicly/

<comment><USER13> Not necessarily, since it's in production they might be hoping for a bit of securty-by-obscurity if they haven't had time to get an audit the code (runtimes are always hard to get 100% correct since they're so generic, esp for a language such as Lua).

Seems like this runtime was announced to Roblox developers almost a year ago. But i don't think they've put much thought or effort into open sourcing it and it just happend to pop up in peoples feeds now since Arseny published an article(#1) about his 8 years working for Roblox 2 days ago and somebody probably took the link from that article (Quite an interesting read if you're into gamedev).

#1 , [https://zeux.io/2020/08/02/eight-years-at- roblox/](https://zeux.io/2020/08/02/eight-years-at-roblox/)

</comment></comment><comment><USER14> Possible to make this work on LuaJIT as well? If this is transpiled to Lua 5.1 it should be possible to make this work with LuaJIT runtime. Combined with Openresty and gradual typing this could be a quite a good language for writing Backend services.

<comment><USER15> Take a look at teal, it does exactly that.

<comment><USER14> Any links? Teal appears to be an assembly language from my google search.

<comment><USER16> Here it is: [https://github.com/teal-language/tl](https://github.com/teal- language/tl)

<comment><USER17> It's also made by the same person who created LuaRocks and htop.

I'm personally hoping tl or something will take off as the de-facto TypeScript for Lua. I'm already convinced that types are better. I'd use types all the time if I could. It's just that not a whole lot of people seem to care about Lua, even with how fast LuaJIT is, so you have to compromise with projects adding types to Lua that are only in their infancy, assuming they'll still be around after a couple of years. TypeScript has proven that gradual typing can be done right and had a bunch of innovations I never would have thought of (the keyof operator for creating a type of "the set possible key names of T" for instance). Having that kind of power in Lua on top of one of the fastest JIT compilers on Earth is my dream.

<comment><USER15> Together with Teal, LuaJIT can become a very safe platform. Vela (fork with many improvements to LuaJIT) has optional, native recursive immutability built into the JIT for Lua-land objects and also compiles next() to dig pairs out of the nyi hole.

Also Moon+ (even more expression version of MoonScript) is considering implementing the teal checker natively: [https://github.com/pigpigyyy/MoonPlus/issues/15](https://github.com/pigpigyyy/MoonPlus/issues/15)

</comment></comment></comment></comment></comment></comment><comment><USER18> Lua runs the same risks as Scheme which is another small language - <USER2> multiple incompatible implementations cropping up because it is so easy to create an implementation. [Dont mean to downplay the difficulty of writing an implementation just to highlight that the engineering cost of doing so is not prohibitive enough]

<comment><USER19> I was almost semi-proud of having done my implementation, why did you ruin the party.

Jokes aside, and not to boast about what I did, honestly, but Lua is (in hindsight - I wish I realized before) full of gotchas which are definitely not easy to implement (just one word which still makes my stomach hurt: COROUTINES).

I honestly think there are simpler (and better) languages to target. With hindsight, experience and pain, of course.

<comment><USER18> You have every right to be extremely proud of what you accomplished - <USER3> your own compiler is extremely gratifying and you have my respect!

</comment></comment></comment><comment><USER20> The front page sample does not explicitly use the Point type in the declaration of p. Typo or does the compiler actually match table variable definitions to available type definitions?

</comment><comment><USER21> Very happy to see this, Lua has a bunch of great properties (small footprint, speedy JIT, simple datastructures). It's great for quickly hacking together some script functionality, and it (already) handles enormous scale in enterprise applications (e.g. Cloudflare).

I maintain the Haxe Lua target, and have a good understanding of how Lua relates to other languages (at least through a "Haxe" lens).

I think the main things I get hung up on is the 1-indexing scheme, and the lack of true "null" fields on tables (Lua treats these as missing). This makes Lua tricky to integrate with other languages, especially if they serialize/de- serialize data. You essentially have to pick a work-around, and unless you know what you're doing (and what you're doing 5 years from now), you're going to feel a lot of pain.

I realize changing these things would make Lua less "Lua", but virtually every other language Haxe supports has straightforward support for these behaviors. It's really the only two nits that have marred an otherwise pleasant experience working with Lua.

</comment><comment><USER11> Interesting. Seems like a Typescript for Lua. The Roblox platform is a great testing platform for it I am sure.

<comment><USER22> I gave this game a try last night, it was amusing all the different types of games you could potentially play, I was wondering who developed each one. It seems you can build your own games (game modes? unsure of the term for Roblox) and earn some income on it. I had no idea it was done in Lua, might give it a shot to see what is possible.

<comment><USER23> My son spends his life on Roblox. If you're ever after beta testers? ;)

<comment><USER24> Hmm, that's a good idea - connecting interested kids directly with Roblox developers and letting them play around in/QC alpha-stage worlds.

That would teach the value of iteration, failing forward and how to deal with imperfection at a very early age.

Of course reality is not a vacuum and there would be a lot of noise though :)

</comment></comment></comment></comment><comment><USER25> If this sort of thing interests you, you might want to look at

[https://github.com/teal-language/tl](https://github.com/teal-language/tl)

It implements types on top of Lua. In a single (middle-sized) Lua file. And it is open source.

</comment><comment><USER26> I like the mention of an internal tool called "SECRET TOOL". It makes me wonder why the name would be redacted, although I'm amused by the idea of that actually being its name.

<comment><USER27> Don't know Roblox, but I guess this could be also a name of some kind of an in-game-world tool? I.e. like a sword or pickaxe?

<comment><USER28> As a Roblox user, I believe it might be their tool that allows Luau code to be stored on the filesystem and automatically synced to games. There are references to "FileSyncService" in the binaries, but the engineers refuse to open it up for some reason.

</comment></comment></comment><comment><USER29> I'm curious what they do to the garbage collector; over the last few years we've made quite a few optimizations to our Lua 5.1 codebase to reduce the impact it has and yet just last week I was in there again squeezing blood from that stone.

<comment><USER30> What problems have you had with the garbage collector? Excessive pauses? Insufficient throughput?

Many other game-focused scripting languages use reference counting instead of tracing GC to eliminate pauses at the expense of throughput. Would that help in your situation?

<comment><USER29> We use a hybrid of ref-counting for many things but Lua still needs to do sweep phases in its GC that cannot be amortized across multiple frames. While we do most of Lua's GC asynchronously some of the phases take so long that they can stall the main thread that wants to execute some bytecode.

Here's an older tweet with some examples (I'm not the one tweeting but I made the optimizations):

[https://twitter.com/sj_sinclair/status/1097920762147733506](https://twitter.com/sj_sinclair/status/1097920762147733506)

</comment></comment></comment><comment><USER30> > Note: our garbage collector optimizations are still in progress, so this > section doesn't document them.

It will be interesting to see whether they make any major changes to Lua's garbage collector, which is an incremental tracing GC.

Several gaming-focused scripting languages use reference counting instead of tracing GC, even though throughput is lower. This is because RC (almost?) eliminates the need for stop-the-world pauses, making it easier to maintain a consistent frame rate.

</comment><comment><USER31> So another typed Lua, huh? What are the main differences to teal?

<comment><USER32> Hello! I am the lead developer of the Luau type checker.

I actually hadn't heard of Teal! I don't think it existed when we started.

Judging from the Teal documentation, I'd venture that it looks pretty similar to Luau in everyday use.

If I were to guess, I'd venture that the biggest differences are probably the kind of type inference we do (Luau's inference engine draws inspiration in equal parts from OCaml and TypeScript), a bunch of Roblox-specific features, and that our inference engine is all C++ for performance.

<comment><USER31> Oh, that's interesting :D

I've been meaning to try out roblox for a while and lately I've been getting pretty hyped about teal (for context, the guy behind it is the creator of luarocks and htop, among others) so I might see the differences up close sooner rather than later :D

EDIT: (unrelated) Already not looking forward to people asking "Lua" questions about typing and constantly having to explain that Lua is not just a roblox thing xD

</comment></comment></comment><comment><USER33> Missed opportunity to call it Lau (Lua was sometimes called such jokingly in the Garry's Mod community)

<comment><USER5> Created by "John Lua," another Facepunch gag.

</comment></comment><comment><USER34> Video summary of the optimization process by the designer: [https://www.youtube.com/watch?v=vScM- nk5Avk](https://www.youtube.com/watch?v=vScM-nk5Avk)

</comment><comment><USER35> Can someone ELI5 why Lua is so popular?

I don't know anything about it, but just looking at it, it seems like a giant mess. 1-based indexes. Semicolons required here, but forbidden there. Like... why?

<comment><USER36> I use Lua(JIT) extensively.

cons:

\- 1-based indexing

\- you basically always want a local but you have to ask for one, it's a bit noisy. 'strict mode' is easily applied to the global environment, and catches most outright errors here.

\- there is an adequate amount of library and extension code, but less than you'd expect coming from Ruby or Python. The lack of a blessed object system sometimes means taking more effort to understand what other people's code does.

pros:

\- variadic functions and multiple return values make for a truly dynamic language

\- first class functions which are fast and work well: everything is a closure, a whole file is just an anonymous function called a chunk

\- the table as a single compound data structure works very well, and metatables are a unique and excellent solution to extending behavior. Array portions are required to be compact (non-nil from 1 to #tab), which can be worked around on the few occasions when it's inappropriate.

\- asymmetric coroutines.

\- first class environments, which are just, yep, tables. this allows for a few really nice things.

\- fast. LuaJIT is very fast. Both Lua runtimes fit in a typical L1 cache, and it uses a register VM, which is a good fit for real processors vs. stacks. No global interpreter lock, all C level Lua functions receive a Lua_state as the first argument and are fully reentrant.

\- in general the emphasis on minimalism means the whole language "fits in head", and the tools provided are more than adequate to get jobs done.

\- the LuaJIT FFI, which parses C declarations directly, is simply a pleasure to use, and is the only one of which I'm aware where you pay an absolutely minimal penalty to use it. There's just nothing like it. More languages need to have this.

miscellaneous:

Semicolon insertion is simply a non-issue, unlike JS it was implemented properly. I have well under one semicolon per file, less than one per project, even. It's very, very occasionally nice to write more than one statement per line; that's what the semicolon does.

It's a nice language.

<comment><USER37> > [...] and multiple return values make for a truly dynamic language

If you are using a word "dynamic" as "once-good-but-now-increasingly- considered-worse-and-worse", I agree. Lua is definitely too dynamic to be safely used.

Weeks ago I had to debug a Lua code looked like this:

        commands = commands_template:gsub("<arguments>", arguments:gsub(" ", "\\ "))

If you can catch a problem, great! But most wouldn't be able to do so. And I used Lua for a prolonged time, to the extent that I have made a type checker which absolutely flags this case [1] and developed a very good list of intrinsic problems of Lua which obviously includes this one and _still failed to notice the problem_. Lua is a small language, but packed with lots of similar problems.

[1] [https://github.com/devcat- studio/kailua/blob/323caab59c06230...](https://github.com/devcat- studio/kailua/blob/323caab59c06230af7ee22835a681064de0ab165/kailua_check/src/check.rs#L2668-L2669)

<comment><USER36> What is that even supposed to do?

I tend to use lpeg for any complex string manipulation. gsub has bitten me once or twice by not thinking through whether something is a pattern nor not, sure.

<comment><USER36> But, no: I meant that after the fiftieth time I had to modify every call site of a Python function because I realized I needed to return a tuple rather than a scalar sometimes, I came to _really appreciate_ multiple return values.

<comment><USER37> If that's the only real reason why do you keep using dynamic languages after all?

</comment></comment></comment></comment></comment></comment><comment><USER38> Is Luau available for other developers to use? Or is this a secret VM exposed to Roblox?

Put another way, if I don't play Roblox is there a reason for me to care?

</comment><comment><USER39> [Offtopic]: The name Luau reminds me of an episode from It's Always Sunny in Philadelphia :)

</comment><comment><USER40> Most important question not asked or answered: Is it pronounced Lua-you or Lu- au?

<comment><USER32> Author here. :)

It's Lu-au. It's like a party in your development environment!

</comment></comment><comment><USER41> Why not local-by-default? And have a global keyword instead?

</comment><comment><USER42> Seems much less of an invasive change than MoonScript is.</comment>


Successful Lisp: How to Understand and Use Common Lisp - <AUTHOR> http://www.psg.com/~dlamkins/sl/contents.html

<comment><USER2> Would be useful if, in chapter 1, section "Lisp is a huge language", the author mentioned approx how many pages of CLtL is devoted specifically to the core of the Language. Comparison to the size of Scheme would be helpful as well (one regularly hears that the size of the entire Scheme R5RS spec is smaller than the _index_ of the CL book).

<comment><USER3> It takes 100 lines of bloated Common Lisp to do the same thing as 100 _pages_ of tiny, elegant Scheme.

The standardized parts of Scheme are 45 pages. The parts of Scheme necessary to get work-done is the size of Common Lisp; without that pesky document from ANSI and ISO, and the support of 5+ vendors, or the large body of existent code that only comes with 30 years of cooperative work by a community with industry, government and academia.

I happily code in Scheme as well as Common Lisp; both languages have their places, and both need to be learned for the unique pleasure each has. Btw, Scheme SRFIs are some of the most enjoyable pieces of literature one has the fortune to read on Software Engineering.

<comment><USER4> > I happily code in Scheme as well as Common Lisp; both languages have their > places

What places? Common Lisp for production and Scheme for learning? Thanks.

<comment><USER3> No. I would use Scheme where I need to have absolute control over the application along with the implementation. That includes any type of hardware hacking, full-stack networked distributed apps, mobile apps, gaming platforms, experimenting on new OSes, etc.

Common Lisp is better on maturer platforms, while Scheme is like a little wedge that you can slip into cracks to open it wider, before you sneak in more and more Lisp. See how Kawa does Java applets while Common Lisp does the web server, etc.

Common Lisp is the 1-wood/driver, Scheme is the putter. To use a golf analogy. (and sadly, many of the people that advocate scheme-everything don't have messy problems; their ball is already on the green, so to speak.)

<comment><USER2> This discussion seems to focus on the plain spartan Scheme standard, when -- comparing to CL -- it should focus on an implementation that contains standard-ish libraries as well.

Although CL might be the whole well-stocked golf bag (1-wood, 2-wood, irons, wedges, putters, ball-cleaner, radio...), wouldn't, say, Chicken be a smaller but still fairly well-rounded set?

<comment><USER3> Chicken is the size of Common Lisp, but without the benefit of standard specification or a community.

What exactly are arguing about then?

</comment></comment></comment></comment></comment></comment><comment><USER5> "It's not quite true that no mass market product uses Lisp. Microsoft's "Bob" environment for naive computer users was developed (and delivered) in Lisp."

...</comment>


In limbo after beta testing - <AUTHOR>

This is my first venture. I got a bunch of beta testers, bettered my product,and have rolled out with something slicker, faster and smarter. People like it.
What should be my goal now? Enroll more beta users until I feel I've built a solid enough foundation to open registration for everyone?
Furthermore, my beta testers were sourced organically. (word of mouth, phone calls, personal contacts) I've definitely hit my limit (surprisingly large!) in that respect, and I'm wondering what you would do if you had to take the next step to break from beta 1 to beta 2.
I'm ready for more action, I just need someone to point me in the right direction. I know I'm about to enter the realm of marketing and to be honest I'm quite lost.
Gracias <comment><USER2> I think you should start to charge money for your product. If you didn't promess your beta testers a "forever free" product, you should start with them. I saw you said that people answered that "yes", they would pay. That is not enough, they must actually pay for it, real money. If you think that wouldn't be nice to charge your beta testers, so the next step is two steps at once: test marketing channels and pricing.

You must know if you have a business, so you must learn if and how much people will pay and find out how are you going to find your customers. Marketing is not a monster, just enumerate all possible channels (online: Adwords, Facebook Ads, SEO, Twitter, LinkedIn, content marketing, Pinterest, Press, etc. - offline: seminars, the obvious or weird strategies on [http://fiverr.com/categories/advertising](http://fiverr.com/categories/advertising), conferences, etc.). Don't try to be a visionary marketeer, just test every channel on small scale and see what works.

Oh, and you should read last PG essay: [http://paulgraham.com/ds.html](http://paulgraham.com/ds.html)

</comment><comment><USER3> Just few quick, (hopefully) thought-provoking questions: 1\. Is this a business or a hobby project? 2\. Do you really need Beta 2? 3\. Do people like it enough to pay (assuming it's a business)?

Without any info about your product/users/market it's quite hard to give you anything more precise.

<comment><AUTHOR> I figured. You'd be surprised how your reply still provided me great stuff to work with. It's what I was aiming for, actually.

It's a business. Not sure if I need a beta 2, how can I tell? My market is small, but I'm doing this to see if I can start and run a successful business. As for willingness to pay, I've asked most them personally or by survey and most of them have said YES.

<comment><USER3> Glad I could help - I strongly believe that often the best answers are already between asker's ears :) Regarding the beta I guess that if your product is already working properly you can drop this label. IMHO "beta" used to be a nice way to inform the users that they can expect some bugs in a work in progress. But with a popularization of the Lean approach and with availability of A/B testing tools, there's no need to call self a "beta". Someone once said "Don't build a startup, build a business". I think "beta" badge is one of the things that distinguishes one from another.

<comment><AUTHOR> Totally taking your advice on that. I just assumed that to be the status quo, but I can't believe I never realized that it really cuts into the sense of continuity I want my business to have.</comment></comment></comment></comment>


U.S. regulators approve the Long-Term Stock Exchange - <AUTHOR> https://www.reuters.com/article/us-usa-sec-siliconvalley/u-s-regulators-approve-new-silicon-valley-stock-exchange-idUSKCN1SG21K <comment><USER2> Hey everyone, Eric Ries here, founder and CEO of LTSE (and also you may remember me from such roles as the Lean Startup guy). Day one of approval has been kind of exhausting with all the attention but I wanted to stop by this thread and say hello.

Have questions? Happy to answer as best I can. Keep in mind that this is a highly-regulated startup so we are sometimes limited in what we can say publicly. I'll do my best to give you a straight answer if I can.

Thanks for all the support over the years, this project has been a true community effort,

Eric

<comment><USER3> Thank you for driving innovation in equity markets! We need more focus on long-term capital allocation, and less on the casino aspect of stock prices.

Have you considered incorporating some form of _low-frequency_ trading? With an auction for shares held once a day, once a month, or even once a year?

(I have heard Warren Buffett say that, if it were possible, he would prefer if investors could buy or sell Berkshire Hathaway shares only once annually at a price close to intrinsic value. The low frequency would encourage investors to focus on understanding businesses instead of short-term price movements.)

<comment><USER2> Yes

</comment></comment></comment><comment><USER4> Engineers, product focused entrepreneurs and innovators would like a Long-Term Stock Exchange (LSTE) quite a bit if it works out.

Usually to list on public markets the whole bizdev/marketing/operations/VC/board/lawyer/executive machines end up taking most companies away from innovation and the founders, as well as taking large chunks of the company and the rewards, where the efforts become clouded in power struggles.

If the LTSE market helps stop short and distort, pump and dump schemes, it could be very attractive to long term investors and innovative/engineering focused companies. A company like TSLA or a company rebuilding like AAPL in the 90s would probably love to be in a longer term, less short term focused exchange. The new market may encourage deeper dives for innovation and protect the companies on the exchange from the eviscerating games of the public markets where long term investors get skimmed and are 'suckers' to the big fish.

LTSE is a very welcome direction and attempt to clean up the public markets problems including the short term quarterly focus, high bar for entry, constant attacks after going public and loss of power/percentages by founders and innovators/engineers/product once the company goes public.

<comment><USER2> Thanks!

</comment></comment><comment><USER5> Anybody have a good, technical/professional doc on how the LTSE mechanisms work? Some of this seems crazy, but smart people have looked at it.

Example: It seems like stock transfer would reset voting rights, which should depress prices and (intentionally, I think?) discourage sale. But what keeps a fund that owns vested shares from effectively selling their economics _and_ voting rights through a secondary contract?

<comment><USER6> Here's the exchange rulebook.[1] This is rather long. I haven't found the "long term" part yet. It appears to function as an ordinary short-term exchange. It's not like stocks trade once a minute or once an hour to eliminate high-speed trading. They allow day trading and margin.

There have been proposals for exchanges designed to discourage short term churn, but this doesn't seem to be one of them.

The web site seems unhelpful. Not much solid info.

[1] [https://longtermstockexchange.com/regulation/docs/LTSE%20Rul...](https://longtermstockexchange.com/regulation/docs/LTSE%20Rulebook.pdf)

<comment><USER7> Fta:"The new exchange would have extra rules designed to encourage companies to focus on long-term innovation rather than the grind of quarterly earnings reports by asking companies to limit executive bonuses that award short-term accomplishments.

It would also require more disclosure to investors about meeting key milestones and plans, and reward long-term shareholders by giving them more voting power the longer they hold the stock."

<comment><USER8> I don't blame our OP for wanting more information. Certainly anything trumpeting the zeitgeist or offering a suspiciously tuned Worry De Jour should be evaluated carefully. (That is, it's obvious that "we want to fix short term ism in the stock market" will be a popular and marketable idea, whether that is the intention/actual end result or not.)

Even in the parts you've quoted, the language seems very careful.

They'll "ask" businesses not to give huge executive bonuses, but asking is free and non-binding. A large portion of the American public has been "asking" for this for a long time. Is the problem really that no one has asked?

They'll require "more information" about key milestones and plans for investors, which sure, that's nice for investors, or will be if it's more information than is usually given by CEOs to a board, which I doubt. (Investors already demand to know what the plan is, and even startups usually have plans for several years out even if they're goals more than plans.)

But is that actually the problem that causes short term ism? Are we insinuating that investors love long term investments and the only reason they don't make them is because CEOs don't tell them enough?

Etc. Now, maybe these worries are invalid, and the actual charter does actually prescribe effective regulations to solicit the desired behavior.

But to confirm that, we will need more information than the vague assertions provided in the article. Which is why our OP was trying to investigate the source documents.

(Also, doesn't it seem odd that a medium length article about an exchange's sole reason for existence contains almost no information about _how_ that exchange intends to achieve the reasons for which if exists? Just assertions that it will do so with all language carefully qualified?)

<comment><USER8> I think I'd add that my concerns aren't just, or even primarily, that they are trying to do something nefarious.

Rather, I tend to view issues as having a certain amount of public mindshare, and the success or failure of initial attempts at a solution tend to have an outsized influence on public willingness to assign resources to a problem.

So I think that if this is a poorly implemented solution, and fails, we may not try again for some time, even if the actual idea is perfectly workable. Since I also agree that this short term...uh...ism...is a genuine problem, I would very much like to see a successful solution to the trouble.

And I do mean the traditional public: this problem of poor implementation scuttling perfectly good ideas also afflicts the efforts of for profit corporations as much as it does democratically controlled public servants or charitably beholden non-profits.

</comment></comment></comment></comment></comment><comment><USER9> Excited to see this. I hope it leads to a trend to listing sooner and giving access to retail investors much earlier. Buying Uber at a few dollars instead of $42 for example. The markets will operate like they want to unless there are explicit rules to stop it. Right now it's wait to IPO as long as possible, and HFT only accessible to huge companies. Retail is left with the scraps.

<comment><USER10> Retail is left with "the scraps" because it is much riskier to invest early on. Companies that fail early aren't heard about as much, because Joe Average's pension plan hasn't invested in them, but are still plentiful. And maybe Joe Average's pension plan shouldn't be investing in what are effectively PE-stage firms.

I don't know if I'm right about this, but it seems such an exchange might contribute to something like 2008. Then, it was the common man investing in over-heated real estate; now, it could become the common man investing in over-heated tech.

I feel like those who work in tech often forget that it can fail, have cycles of boom and bust, etc. like any other industry.

Of course, I do think it can serve a useful purpose, but there is reason early-stage, private investment is restricted to qualified investors.

<comment><USER11> A Joe Average is legally allowed to walk into a casino and lose all his money, pretty much guaranteed over long term.

A Joe Average is legally allowed to play all kinds of lotteries, pretty much guaranteed loss over long term.

A Joe Average is legally allowed to invest his 401k in the riskiest penny stock one can find.

This has nothing to do with risk, it's 100% gate keeping.

<comment><USER12> Yep, penny stocks, options and margin trading are all available to a retail investor. But hey, I want to invest in a new business? I want to buy Bitcoin? I want to participate in an ICO? Sorry. It's all about gatekeeping and not letting me do what I want with my money.

<comment><USER13> I don't like the gate keeping either but so called "entrepreneurs" would just go around washing people. The point is that you have enough money so no-one cares that the space mining company you invested in only hires website designers. Pumping penny stocks is illegal, but when it wasn't, salespeople were washing people.

</comment></comment></comment></comment></comment><comment><USER14> To be a company that's operationally mature enough to list on an exchange they're likely of the size of a company that could IPO on NYSE or Nasdaq. I don't think this will suddenly allow a flurry of startups to suddenly become public on a different exchange.

<comment><USER15> What is a flurry startup and what is a mature company is relative.

For example, Amazon originally IPO'ed in 1999 after raising only 10M USD.

Especially since the last financial crisis over regulation has hindered SMEs access to the public markets. Being a public company means that you can often raise money on better terms. If only large enterprises can access good money, then SMEs and indirectly innovation is hurt.

EU has realized this and is now trying to make SME listing easier (mostly through de-regulation).

> Currently, out of the 20 million SMEs in Europe, only 3,000 are listed on > stock-exchanges. "We want to change this," said Valdis Dombrovskis, EC vice- > president responsible for financial services: "We propose rules that will > make it easier for SMEs to access to a wide range of funding at all stages > of their development and to raise capital on public markets."

[http://europa.eu/rapid/press- release_IP-19-1568_en.htm](http://europa.eu/rapid/press- release_IP-19-1568_en.htm)

[https://www.eubusiness.com/news-eu/sme- financing.24fl/](https://www.eubusiness.com/news-eu/sme-financing.24fl/)

<comment><USER16> > For example, Amazon originally IPO'ed in 1999 after raising only 10M USD.

Small correction, Amazon's IPO was in May 1997. The $10m in venture capital is correct though ($2m common, $8.2m preferred).

They of course had a relatively small business, which matches with the $10m in VC and times. $15.7m in sales for fiscal 1996. Their sales ramp is impressive considering the Web at the time: $875k in 1Q96, $2.2m in 2Q96, $4.1m in 3Q96, $8.5m in 4Q96, $16m in 1Q97.

They raised $50x million in the IPO, and had a $560 million valuation at the end of the first day of trading.

Their S1:

[https://www.nasdaq.com/markets/ipos/filing.ashx?filingid=124...](https://www.nasdaq.com/markets/ipos/filing.ashx?filingid=1244088)

<comment><USER2> I cite this fact all the time when talking to people about how capital markets have changed dramatically. But even I find it hard to remember the actual numbers. They are so mind boggling by modern standards. It wasn't that long ago!

</comment></comment></comment></comment><comment><USER17> > And the Council of Institutional Investors has argued (pdf) that LTSE's > voting mechanism could hurt shareholders by giving too much power to > founders.

I mean, the most high-profile tech stocks to hit the market as of late already give all the power to founders via voting class stock, so I don't think it's a big change other than truly standardizing it.

</comment><comment><USER18> _The new exchange would have extra rules designed to encourage companies to focus on long-term innovation rather than the grind of quarterly earnings reports by asking companies to limit executive bonuses that award short-term accomplishments._

And what are those rules? Nowhere in the article does it actually say what this actually is.

<comment><USER2> Stay tuned. This initial approval is for the base set of listing standards that are similar to other exchanges (that's just how the process works). Over time we will add more, but we can't share the details until we get further in the regulatory process.

</comment></comment><comment><USER19> The title of the story is "U.S. regulators approve new Silicon Valley stock exchange"

Despite the actual name of the exchange, the title of the article seems much closer to how the exchange is described:

> The LTSE is a bid to build a stock exchange in the country's tech capital > that appeals to hot startups, particularly those that are money-losing and > want the luxury of focusing on long-term innovation even while trading in > the glare of the public markets.

From the HN guidelines:

> Otherwise please use the original title, unless it is misleading or > linkbait; don't editorialize.

</comment><comment><USER20> Why don't we just levy a 5% tax on every stock trade? That would provide a lot of funding and also get rid of front running, flash crashes, and a lot of kinds of market manipulation in a hurry. It would also make sure that any stock trade was with the intent of making longer term investments.

<comment><USER21> HFT and front running is a plague upon the markets, but there are already effective ways to stop it (order batching, and time delays like IEX does). The only reason it even exists is because the exchanges make tons of $$$ from selling access to the HFTs.

On the other hand, day traders provide valuable liquidity to the markets, making them more efficient and better for everyone. They ability to operate would be severely harmed with even a 1% fee on every trade. And more fees also harm normal people like me, who conduct trades that generally last from a few days to a few weeks each. For the most part, we're not harming other people, and we make the markets more efficient and legitimate.

The weird market effects are enabled by what is basically corruption by large entities involved with the markets, and by the ineffectiveness of the SEC at fighting a wide range of anticompetitive practices. They are caused by people who are making a small amount on every trade, but not all of the people making a small amount on every trade are bad.

<comment><USER20> Personally I think that there is such a thing as _too much_ liquidity, and we are at that point now. It certainly undercuts the power of the workers in a region if its that easy to pull money out, but the people can't leave. So the holders of the capital have all kinds of leverage (they can pull their money out in a nanosecond) but the people have none (they are stuck where they are and must take what they can get).

</comment></comment></comment><comment><USER22> > emphasize governance standards like sustainability, executive pay, and > diversity

What would a company gain by choosing to list on here (over other far more established options) while having to commit to these additional rules? Access to a group of investors who don't complain too much about quarterly profit objectives?

<comment><USER23> And a group of investors who don't complain about founders retaining majority voting power.

<comment><USER24> Which probably isn't an issue for retail investors. Retail investors are already unlikely to have much actual power and I would bet a majority of them never actually participate in any voting. I can't speak for everyone in that situation, but I know I would be perfectly happy to forfeit my stockholder voting rights if it meant I got some more assurances that a company was being held to some higher ethical standard.

</comment></comment></comment><comment><USER25> We are thrilled that the SEC has officially approved the Long-Term Stock Exchange as a national securities exchange!

<comment><USER26> I am happy for LTSE.

The article doesn't explains what makes LTSE different than NYSE? How will it actually encourage looking beyond the next quarter? Where can one learn about that?

<comment><USER27> It's designed for long term investing. Not a place for day traders, high frequency trading and all sorts of sharks and piranhas that like to eat up pensions and 401k funds...

<comment><USER28> How exactly do you believe high-frequency traders "eat up" pension funds?

The only time any limit order gets executed is when it is the best price available. From the other perspective, the price a market order is matched at is the price of the best limit order available.

In the absence of high-frequency traders, the best price available will be _worse_ , not better.

<comment><USER29> Example of how HFTs would "eat up" money, at least in the past: many instruments trade on multiple exchanges. So when a trader wants to execute what is conceptually a single large order, in practice this order may need to be split and routed to multiple exchanges.

HFTs will see the first order executing on one exchange, and will then jump in front of the rest on the other exchanges. For the trader it looks like large orders don't work; he can't buy every offer that's on his screen. Only part of his order works, and a price rise prevents the rest from executing.

Nowadays this may be less of a problem, because large traders now probably all use software that tunes injected latency to make all related orders arrive simultaneously at their different destinations. But I would still be careful about assuming that HFTs can't do any damage anymore.

<comment><USER28> The HFT can't just know that you're going to place a market order, and then jump in front of all of the other limit orders that you're going to match with, without offering a _better_ price than the other limit orders.

The only way that _could_ work is if the lowest price you can buy on exchange A is $100, and the HFT knows that you're about to submit a market order, so he buys up the $100 orders until the best price is $101, and then he lists what he bought for sale at $100.99, which your market order matches against. OK, in theory this works.

To avoid this, you can just submit a limit order at $100 instead of a market order. You should always use limit orders for exactly this reason, anyway: even in the absence of foul play, the order you're trying to match against might get matched by someone else in the mean time and you could get a worse price than you expect.

</comment></comment></comment></comment></comment></comment><comment><USER30> With dual class shares lacking accountability and leading to corruption among founders, founders and investors clashing over dual class or multi class shares, and allowing a sense of corporate loyalty to appear among founders who run companies with dual class shares, I do see a good sense of demand for tenure voting. With increasing calls for banning dual class shares and the scandals at Facebook and Google shining light on the dictatorship held companies by founders, we will see regulators and many retail and institutional investors become aware of dual class shares and either regulate or ban them. So tenure voting is the best way to go!

I think that tenure voting is the next step forward and it is a good way to attract an alignment between investors and founders as well as employees since they get incentivized with more votes for holding a stock long term. We've seen this work really well in France especially with companies like LVMH that investors are patient towards due to this tenure voting incentive.

But like how dual class stock caught on with startups starting with Google and Facebook, can we see the same for tenure voting if there are hot startups in the future with this structure?

Will LTSE allow dual class or multi class share structures or only tenure voting among companies wanting to list on the exchange?

Also will all sorts of companies be able to do this or will LTSE only be open to tech companies?

</comment><comment><USER31> I don't really see how the rules mentioned will change things that much.

> asking companies to limit executive bonuses that award short-term > accomplishments.

Why would I care as an investor? I still want the stock to go up quickly. Executives own stock and without a cash bonus wouldn't this incentive trying to get quick increases in stock value.

> more disclosure to investors about meeting key milestones and plans, and > reward long-term shareholders by giving them more voting power the longer > they hold the stock

Seems relatively minor vs the benefits of a stock jumping significantly in a short time. As a minor stock holder I have no interest in voting power. There still isn't a downside to short term deals.

<comment><USER32> People worry that execs game the metrics investors use to evaluate stock. To give an example close to home, imagine if tech companies were evaluated by how many lines of code they produce per quarter. Now people are scared that execs will tell people to just write a bunch of whatever.

Making the company look good on paper (short term stock gains) but actually worse (perform worse in the long term as those lines don't translate to profit). But when these hidden faults are discovered the execs are long gone and their bonus checks already cashed.

<comment><USER31> I agree. I just don't understand how the rules described in the article actually incentive it. I get that they're small step towards it but they don't seem enough.

</comment></comment></comment><comment> integrate-this I remember when a bunch of nobel prize winning economists founded "Long-term Capital Management" on the theory that, because they only traded relative value arbitrage, they couldn't lose money. Then they levered the strategy without realizing that these value arbitrages could shift against them and result in additional margin requirements. Those were the smartest people in finance at that time, and they nearly took down the world's financial system. The only real similarity here is the "long-term" name, but I don't think that anyone with a true understanding of capital markets would name their firm "long-term" after that fiasco.

<comment><USER33> so, your argument is that using the phrase "long-term" is forever poisoned?

doesn't seem super strong.

<comment> integrate-this The equivalent would be an architect naming their new building project 'the world trade center'. A lot of people just aren't going to touch it because of the image it evokes. LTCM nearly broke the world's financial system and I don't think that's an exaggeration. Naming a firm LTSE is a good way to make sure a lot of people won't want to work with you.

</comment></comment></comment><comment><USER34> Having been exposed to the shell games that go on at a large corporation, I think this could be really good.

If this is actually executed properly, I think this could be a good exchange for more than just tech start ups.

<comment><USER2> I think so too :)

</comment></comment><comment><USER35> I couldn't see it in the reuters article so apologies if this is no longer relevant. Is the plan still to give different number of votes depending on how long the shares have been held? If so, wouldn't selling your shares you've held for a long time destroy value i.e. by resetting the votes to zero? Also, if different shares have different values, would they each have different prices, or would the listed price be some weighted average?

<comment><USER2> I can't share our future plans until we file with the regulators. It won't be exactly the same as what we filed and won staff approval for last year, but that filing can give you some sense of how possible rules could work: [https://www.sec.gov/rules/sro/iex/2018/34-82948.pdf](https://www.sec.gov/rules/sro/iex/2018/34-82948.pdf)

Note that this particular system does not have either of the problems you raise as questions

</comment></comment><comment><USER36> I can imagine some kind of OTC exchange where people dont have to worry about Sarbane-Oxley and other SEC rules as being useful. Is this what it will be?

If you have to comply with SEC and the CEO can't post jokes on twitter, I dont really see what advantage there is over NYSE or NASDAQ.

<comment><USER37> The SEC has jurisdiction over all publicly-traded companies and exchanges and will have the same authority over LTSE as they do NASDAQ & NYSE.

And SarbOx has nothing to do with CEO tweets... a CEO can't provide materially misleading information to shareholders or potential shareholders. Period. Not on twitter, not on TV. Not in the rain, not on a train.

</comment></comment><comment><USER38> Congrats Eric and the team!

What does the ideal LTSE "customer" look like? IOW, what are the signals or attributes of a company that would be a great fit for considering an LTSE listing?

</comment><comment><USER39> I think it's worth it to allow this but I fail to see it's true relevance. If companies don't innovate sufficiently for the long term they will die to other companies that do. Hence the market takes care of itself.

<comment><USER40> Shareholders aren't incentivized to act in the company's long-term interest; only to maximize apparent growth for as long as they hold the company's shares. This leads to companies making shortsighted moves that aren't in their long-term interest, due to shareholder influence.

<comment><USER2> It's astonishing to me how clear this is in the research literature: [https://corpgov.law.harvard.edu/2019/04/30/short-term- invest...](https://corpgov.law.harvard.edu/2019/04/30/short-term-investors- long-term-investments-and-firm-value-evidence-from-russell-2000-index- inclusions/)

</comment></comment></comment><comment><USER41> Kind of bad luck — naming anything in finance "long-term". It attracts the attention of quite a few angry gods to smite you.

Some of us still remember what happened with LTCM — "Long-Term Capital Management" hedge fund, who was heralded back then as the pinnacle of innovation. It was back in 1998, which looks like eternity for Silicon Valley types... but some remember.

Naming a financial entity "LTSE" is inviting trouble.

</comment><comment><USER42> Will any capital use it if they know the short term exchanges are available?

<comment><USER43> I think the idea is that capital wants to invest on stock of company X, which is listed on LTSE, so capital grudgingly accepts LTSE rule.

</comment></comment><comment><USER44> This is great news. Congratulations. How are you going to help companies and their investors define performance for the long term in this new age?

<comment><USER2> As the old saying goes, "very very carefully."

Just kidding. We will make extensive filings on this subject, coming up soon.

Until then the best way to think about this is as a set of principles.

This next generation of companies believes in \- defining success in generational terms, not beating the quarter or some transient competitor \- considering their impact on multiple stakeholders: shareholders, yes, but also employees, partners, customers, communities \- building products that are fundamentally healthy for humans and the societies they inhabit

</comment></comment><comment><USER45> Is this more than a Regulation ATS approval?

If this is a national stock exchange, then that would be fitting for silicon valley and California. If bankers here would like to take other parts of the transaction for IPOs and direct listings it could really be a boon for the state and remove a lot of the pressure from New York investment banks, as California is economically larger than other most countries with relevant financial centers. On many lists, California is only in 5th place GDP worldwide because the United States as a whole is above it and double counts California.

<comment><USER46> nope this is a real national securities exchange approval: [https://www.sec.gov/rules/other/2019/34-85828.pdf](https://www.sec.gov/rules/other/2019/34-85828.pdf)

</comment></comment><comment><USER47> Eric, Congrats man! What unbelievably good news for the planet. I have been telling anyone who would listen for the past year that the LTSE simply HAS TO HAPPEN!!! You have the solution to the currently flawed version of shareholder focused capitalism. Now, all stakeholders can enjoy the ride. When you get a chance check out: TorreyProject.org to see how we are going to use LTSE to change the world.

</comment><comment><USER48> Eric, Could companies listed on NYSE and Nasdaq eventually move over (not dual list) to LTSE? If so, what does such road look like?

<comment><USER2> Yes, they will be able to do so (this is called a transfer in Exchange parlance). We support this in addition to dual listing.

</comment></comment><comment><USER49> I think there is big potential value in a new exchange that optimizes for cheap IPO'ing rules. Something between Nasdaq and Wefunder.

I'm not persuaded by some of the ideas they have (like adding diversity to their governing board, seems designed to be exclusive to tech-startups that already have a bias toward that "value"). But if only by competition they make listing cheaper and easier it could have a big impact.

<comment><USER50> >I'm not persuaded by some of the ideas they have (like adding diversity to their governing board, seems designed to be exclusive to tech-startups that already have a bias toward that "value").

What on Earth does this mean?

<comment><USER51> I strongly suspect the parent is one who buys into the James Damore thing of companies adding diversity for the sake of it and the like...

<comment><USER49> I can see you preach tolerance.

</comment></comment></comment></comment><comment><USER52> Does listing on ltse absolve the company ofthe standard rules around going public like Sox compliance?

<comment><USER2> No

</comment></comment><comment><USER46> here is the SEC filing:

[https://www.sec.gov/rules/other/2019/34-85828.pdf?mod=articl...](https://www.sec.gov/rules/other/2019/34-85828.pdf?mod=article_inline)

question to LTSE employees: do you plan to host your matching engine in California?

<comment><USER2> We will share more details on the technical implementation soon.

</comment></comment><comment><USER53> This is a silicon valley exchange, silicon valley VCs can't compete with multi-billion dollar "vision funds" so they'd use retail investors to drive their moonshot bets. Silicon valley startups would get a much better deal with an IPO on LTSE than a private deal with vision funds.

</comment><comment><USER54> How does this differ from the OTC market?

</comment><comment><USER55> What are the downsides of this?

<comment><USER56> It looks like founders and VCs get the majority voting shares by default. It's not clear if it's good for the company or not, but it helps founders to pick it as the stock exchange to go to.

The slow vesting shedule makes a lot of sense though.

<comment><USER57> Where did you read about the slow vesting schedule

<comment><USER56> [https://www.cnbc.com/2019/05/10/sec-approves-new-silicon- val...](https://www.cnbc.com/2019/05/10/sec-approves-new-silicon-valley-stock- exchange-backed-by-marc-andreessen-other-tech-heavyweights.html)

The interview with Eric Ries is a bit clearer than the article, but it still misses a lot of details.

</comment></comment></comment></comment><comment><USER58> Any investor who limits themselves to the "long-term" is doing nothing more than allowing execs to get away with bad behavior.

There is absolutely zero evidence that current stock prices don't price in the long-term. Indeed, if there were, savvy investors would arbitrage for that... and then it would no longer be the case. This is pretty much by definition, just Econ 101. (Also, somebody who thinks stocks are biased to the short- term... please explain AMZN's valuations over the past two decades.)

The _only_ people calling for limiting investor ability to sell are executives of companies themselves, who are afraid of accountability from investors. Because sometimes CEO's would rather be lazy or work on their fun (yet unjustifiable) pet projects, than actually build a profitable, sustainable business like investors want. (It's just human nature.)

A "long-term stock exchange" is one of the greatest cons ever played by execs. It is good only for management, at the expense of investors, customers, and everyone else generally. It is simply the removal of accountability, which can never be a good thing.

<comment><USER59> Doesn't that same accountability today result in execs selling out the long- term for short-term gains, also for their own benefit at the expense of shareholders?

<comment><USER58> That's certainly a tricky question which essentially is connected to their "insider information", but the answer certainly doesn't rely on limiting _others '_ ability to sell.

Solutions to that generally involve long-term vesting periods for _executive_ shares, e.g. executives can't sell their shares for some extended period of time that is sufficiently "long-term". If the board really made sure incentives were aligned, ideally it would be some period of years _after_ they left the company, so they could never sell while they were in a position to influence the value of shares.

But again, there is absolutely _zero_ reason that should ever apply to someone without insider information, i.e. investors generally.</comment></comment></comment>


Making of Crash Bandicoot - GOOL - <AUTHOR> http://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/

<comment><USER2> From the article,

"Programming languages are not immutable truths handed down from on high, but tools created by people to solve particular tasks."

Or, as the foreword to "Essentials of Programming Languages begins,

"This book brings you face to face with the most fundamental ideas in Computer Programming - the interpreter for a computer language is just another program"

Insightful, but often forgotten, . Great post (and series). There are other thought provoking paragraphs in the other posts in the series.

 _"my partner and friend Jason Rubin offers the following thoughts on this section:

Andy and I always liked trying to find opportunities that others had missed. Fill holes in a sense. We had done Way of the Warrior in large part because the most popular games of the time were fighting games and the new 3DO system didn't have a fighting game on it. Our decision to do a character action game on the PlayStation was not only based on bringing the most popular genre on consoles into the 3D, but also because Sega already had Sonic and Nintendo already had Mario. Instead of running headlong into either of these creative geniuses backyard, we decided to take our ball to a field with no competition.

Filling a hole had worked to an extent with Way of the Warrior. The press immediately used Way as a yardstick to make a comparison point against other systems and their fighting games. This gave it a presence that the game itself might never have had. And as a result, ardent fans of the system would leap to defend the title even when perfectly fair points were made against it. The diagonal moves were hard to pull off because the joypad on the 3DO sucked? No problem, said the fans, Way of the Warrior plays fantastically if you just loosen the screws on the back of the joypad.

Why couldn't the same effect work with a character action game on PlayStation?"_

from part 1 [http://all-things-andy-gavin.com/2011/02/02/making-crash- ban...](http://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot- part-1/)

 _"While all this art design was going on, I, and then in January 1995, Dave, struggled to build an engine and tool pipeline that would make it possible to render these grandiose cartoon worlds we had envisioned on paper. .... Our motto was "bite off more than we could chew, then figure out some crazy complicated way to make it work.

....

In those days, most people used a simple skeleton system with "1 joint" weighting, and very few bones. This gives a very stiff look, so we went instead with vertex animation. This allowed us to use the more sophisticated 3-4 joint weighting available in PowerAnimator, which the Playstation had no hope of matching at runtime (until the PS2), instead we stored the location of every vertex, every frame at 30 frames a second. No one else had the guts, as while this was easy to render, it required inventing some totally hardcore assembly language vertex compressors. First me (three times), then Dave (twice), then finally Mark took a crack at it. Mark's was the best — being the best assembly programmer of us three — but also the most complicated.

Complexity became the name of the game at Naughty Dog. ...

So we decided to use an entirely SGI and IRIX based tool pipeline. In fact the game itself even ran on the SGI (with terrible keyboard control). This meant buying programmers $100,000 SGIs instead of $3,000 PCs. Gulp again. No one else did this. No one.

...

Jason says:

The secret to Crash's success was its Art. And the secret to its Art was its Programming.

Andy and Dave broke a lot of rules. First and foremost, they didn't follow PlayStation's library restrictions. Other developers often complained that Crash was using some sort of secret Sony library. That is the exact opposite of the truth. The truth is that Crash used as little as it could of Sony's library and the programmers basically hacked everything right to the hardware.

Years later Sony tried to create a game called Harry Jalapeño to compete with Crash. No, I am not making that up. Besides the name fail, the internal team in San Francisco also utterly failed to create the complex worlds and characters that we created in Crash. Let me repeat – an internal Sony team couldn't create Crash. Let the rumors of "insider information" forever rest.

Hitting the hardware directly was against the rules. But by the time Sony saw the results they needed a Mario killer. It was too late for them to complain. "_

if _that_ isn't "hacking a real world system", like the YC app asks for, I don't know what is.

from part 3. [http://all-things-andy-gavin.com/2011/02/04/making-crash- ban...](http://all-things-andy-gavin.com/2011/02/04/making-crash-bandicoot- part-3/)

Good Stuff.

</comment><comment><USER3> This series is fascinating. Loads of stories about weird hacks to make the graphics cleaner, to up the polygon count, to make the animation more cartoonish, writing a dialect of Lisp to define the gameplay.

Related: an article about making Ratchet and Clank using some Jak and Daxter rendering code which Naughty Dog basically gave Insomniac for free. [http://www.gamasutra.com/view/feature/2842/postmortem_insomn...](http://www.gamasutra.com/view/feature/2842/postmortem_insomniac_games_.php?print=1)

Another great series: Jordan Mechner's diary about making the original Prince of Persia.

<http://jordanmechner.com/category/old-journals/>

<comment><USER4> Thank you for the Prince of Persia series. I really wish that there was a maintained index of all such series :(

</comment></comment><comment><USER5> Did I already say I love this series? Great stuff. Crash is one of my favorites and I read a lot about how it was made already. Of course the LISP part is what makes it really cool. This article is a fantastic read about that. If you think tools/languages are inadequate; just roll your own.

Shame we don't all get paid to do that... (Or even consider that option)

</comment><comment><USER6> I'd really love to see Naughty Dog do a series of articles with this kind of technical depth on making the Jak and Daxter games, or even Uncharted although I can see why they'd want to keep some of the tech private in that case.

Naughty Dog has always been one of the developers that raised the bar for both visuals and gameplay on the Playstation and reading these articles it's clear to see why.

</comment><comment><USER7> this is a great series of articles.

There's alot of great technical detail about how they forged their own path rather than using the typical PS1 libraries.

</comment><comment><USER8> I just posted another technical article on the Crash series:

[http://all-things-andy-gavin.com/2011/03/26/crash-bandicoot-...](http://all- things-andy-gavin.com/2011/03/26/crash-bandicoot-teaching-an-old-dog-new-bits- part-1/)

or the HN link:

<http://news.ycombinator.com/item?id=2372240>

</comment><comment><USER9> Wow what a great article. Time to read the entire series.

LISP macros are what makes me want to learn me some LISP.

</comment><comment><USER10> There's a terribly large number of parallels between video-game design (teams) from years ago and the way certain contemporary technical yet creative projects could run. I wish there were articles like this written by members of Sonic Team.</comment>


Building a Distributed Log from Scratch: Scaling Message Delivery - <AUTHOR> https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-3-scaling-message-delivery/ <comment><USER2> > In Kafka and NATS Streaming, reads (and writes) are only served by the > leader. Similarly, Amazon Kinesis supports up to only five reads per second > per shard (a shard is Kinesis' equivalent of a partition). Thus, if we have > five consumers reading from the same shard, we've already hit our fan-out > limit.

Long live DistributedLog. One of the great aspects of DistributedLog is the read scaling. Start reading from any replica. Even read proxy node caches records for all consumers. Launch as many read proxies as you need, since read proxies are stateless.</comment>


Quitting the GUI wars - <AUTHOR> http://sdegutis.github.io/2014/08/07/quitting-the-gui-wars/

<comment><USER2> "Sorry, you found a dead link."

I guess the author did quit.</comment>


Tesla can sell vehicles in Michigan under legal settlement - <AUTHOR> https://www.freep.com/story/money/cars/2020/01/21/tesla-sell-michigan/4533227002/ <comment><USER2> The title seems a little bit misleading, as they will still have to title the vehicle in another state before transferring it in. Hopefully the new subsidiary will be able to open a service center, though. It seems like that was the largest pain point for Michigan Tesla customers.

<comment><USER3> Yes; they will be able to open service centres and also facilitate purchases through the showroom, both of which were not previously possible.</comment></comment>


Bird and reptile tears aren't so different from human tears - <AUTHOR> https://phys.org/news/2020-08-bird-reptile-human.html <comment><USER2> I'd like to have a beer with the zoologists who conducted research. "So what do you do, mate?" "Oh, I study crocodile tears."

<comment><USER3> I would really like that, neurodiversity hahaha

</comment></comment><comment><USER4> I really enjoyed that summary; cool study.</comment>


Huge ritual arena discovered near Stonehenge - <AUTHOR> http://www.theguardian.com/uk-news/2015/sep/07/stonehenge-archaeology-ritual-arena-neolithic-monument <comment><USER2> Whenever I hear about things like this, it reminds me of how superstitious humans are and the lengths they will go to validate their beliefs. At the time this was created, moving these giant stones around was the technological equivalent of a moon shot, requiring a great deal of very hard work.

<comment><USER3> I don't know. I am not totally sure of course, but there are rather significant examples where it was discovered that past civilizations were far more advanced than they were given credit for based on the scraps that were the most obvious evidence and remains. I am sure that certain events like invading hordes and economic / ecological collapses have destroyed way more than humanity has achieved. 5 steps forward 4 steps back. Jut take the invasion of the Americas as a rather perfect example, it is now seen as a type of progress, but all the skill, knowledge, and capacity of the Mesoamerican cultures was totally and utterly vanquished and had to essentially be restarted by the people that came to the Americas. Who knows what all was lost. Just imagine what all was lost when the Library of Alexandria burned, I believe that single event set back humanity at least 1,000 years if not more considering opportunity cost and compounding advances. Imagine if humanity had discovered electricity and computation 1,000 years ago.

<comment><USER4> See the book _Ancient Inventions_ for some descriptions of stuff the ancients had.

[http://www.amazon.com/gp/aw/d/0345401026/](http://www.amazon.com/gp/aw/d/0345401026/)

</comment></comment></comment><comment><USER5> > house of the dead where defleshing was performed as a burial ritual

Ah yes... spooky enough.

<comment><USER6> Well, some of our own practices are quite spooky. Consider all the boneyards and catacombs in France and I wonder what people will think about it in a few thousand years...

<comment><USER7> Many of us use toxic chemicals to ensure that our loved ones look alive, and then preserve them by burying their body in dirt with the rest of our family.

This is based on the idea that a long-dead Palestinian malcontent will be floating down from heaven and ruling the Earth, and we'll need our bodies for the after-party.

</comment></comment></comment><comment><USER8> nice to see the detail in the article, many times these sort of things are light on information.</comment>


Warning: Software Startups are Not as Easy as Everyone Says (2007) - <AUTHOR> http://www.softwarebyrob.com/2007/11/06/why-starting-a-software-company-is-not-as-easy-as-everyone-tells-you-and-why-facebook-apps-are-crap/

<comment><USER2> This guy is statistically correct, but reading stuff like this is like kryptonite for entrepreneurs.

What this guy doesn't take into account is that in practice, not everybody is equal. If you learn from the right people and think in the right ways, you can position yourself much better so that your odds are much greater than 2% or whatever random number he threw out there.

It's lame when you see posts like this because all it does is make people want to quit when they are actually learning a lot and taking a chance and seeing what's possible. If you are enjoying what you are doing, keep on doing it for as long as you can.

Clearly it's not easy, and most entrepreneurs would love to face the challenges that successful ones do.

<comment><USER3> I think you're misunderstanding the post - the author is not encouraging entrepreneurs to quit, but instead highlighting the importance of choosing your niche carefully.

This seems like sensible advice to me - if you want to maximise your chances of success then pick an area to compete where the number of competitors is proportionally smaller or existing competitors have missed the point.

Just because a market may seem boring doesn't mean the technology used to address it will be.

<comment><USER4> To give an idea of how important this is. If twitter had a real competitor in the early days they would have been toast due to technical issues. However, because they where stumbling alone in the dark nobody was there to rob them of customers. Which game them time to grow large enough and competent enough to become a much harder target.

</comment></comment></comment><comment><USER5> Persistence allows luck a chance to happen.

I'm a strong beliver, having spent a lot of time consulting with various companies, that most of them become successful because they get lucky at some point in their history.

I've rarely seen or worked with perfect companies that have smart leaders and ideas that area too good not to succeed. However, what I have found common is these successful companies usually spent a long time (>5 years) not being successful until one day they land their whale, great PR/marketing opportunity, big idea, etc and become successful.

What did they do different? They weren't smarter, had more money or worked harder than their competitors. What they did was persevere until they got lucky. Luck is a factor of probability and, as long as you don't have a real lemon of a product (and even sometimes if you do), you will be lucky… eventually.

</comment><comment><USER6> Does anybody really believe startups are easy? When I talk with people, I always make it a point to say "startups are _hard_" -- and everybody nods in agreement.

<comment><USER7> Note the date on the article. It's from 2007, which was the height of the Web 2.0 / FaceBook App craze, before the market cratered. Everybody - myself, my future brother-in-law, several of my friends, a few of my current coworkers - was creating a startup back then.

<comment><USER8> _Everybody - myself, my future brother-in-law, several of my friends, a few of my current coworkers - was creating a startup back then._

That's funny - I feel like I'll be saying the same thing about 2010-2011 in a few years.

<comment><USER9> Except this time it'll be with _Apps_... :)

</comment></comment></comment></comment><comment><USER10> This is what kills me about the "startups are really hard" stats: it perpetuates the "you're bad if you're a failure" mantra. There have been numerous posts saying how a failing startup is not a failure and something to be congratulated here in the US, particularly in the Valley. Someone recently posted an article as to why entrepreneurship is lagging behind in Japan for exactly this reason. So why scare entrepreneurs here in America?

I've learned, without even having started my own company, that if you build something...ANYTHING...it can only be a good thing. If I created a project and the best stat I ever received was that 5 people used it, the WORST possible thing that could happen is I spent a couple of bucks on hosting, and now I can demo it to every future job I decide to take. If you build something in your spare time, it shows passion, initiative and excitement. Who doesn't want to hire someone like that?

</comment><comment><USER11> Possibly a reality check for someone who might have been chugging the ol Kool- Aid a bit much.

Unfortunately the "bottom line" section makes the whole article sound like a jaded entrepreneur who made a 'me too' social application that didn't bring in the easy dollars.

So Software startups are hard unless you try a 'boring' idea like 'bug tracking' or 'invoicing software'? Huh? So a software startup is 'easier' if you have have found people suffering problems that cost them real time or money, which your piece of technology can solve?

Guess what - those 'boring' ideas, or the lessons and rationale behind them is the real thing you are learning about building a business. Will it be 'easier' than your me too social app? Not a chance - it will have its own set of challenges and pitfalls - but you will learn even more about process and be be a little more likely to be 'successful' the next time round when you are thinking "Oh, man it would have been easier if I had have done this 'boring' thing over here that these people were successful with".

</comment><comment><USER12> Who on Earth said startups were easy?

</comment><comment><USER13> "I returned, and saw under the sun, that the race is not to the swift, nor the battle to the strong, neither yet bread to the wise, nor yet riches to men of understanding, nor yet favour to men of skill; _but time and chance happeneth to them all_."

Luck is a huge factor in success. Napoleon used to ask of candidates for lieutenant "is he lucky?", and he meant it.

Time and chance, folks. The idea for Facebook is as old as dirt in internet time.

<comment><USER14> And for Groupon, as well!

<comment><USER15> Thing is there can be a dozen great ideas out there but it won't necessarily be the best one that succeeds but rather the one that people actually hear about.

Amazing how many people believe if they build it "they will come" with nothing else planned. Oh if only the world were so easy.

<comment><USER14> Yeah, making "them come" is almost as hard as building a product that will keep them coming back...

</comment></comment></comment></comment><comment><USER16> This is a poster case of political correctness gone wrong. Making millions of dollars does not make a woman significantly attractive. Case in point, Kathy Bates, who has a terrible time meeting men, despite her success/wealth/talent.</comment>


WikiLeaks Put Women in Turkey in Danger - <AUTHOR> http://www.huffingtonpost.com/zeynep-tufekci/wikileaks-erdogan-emails_b_11158792.html <comment><USER2> Wikileaks statement:

"@Sulliview @TheWorldPost Please issue a correction. The story is a fabrication. WikiLeaks did not publish the databases concerned"

[https://twitter.com/wikileaks/status/757940726198042624](https://twitter.com/wikileaks/status/757940726198042624)

<comment><USER3> To see the corrections made to the article to reflect this information, see the following link.

[https://web.archive.org/web/20160726000303/https://trln7wscq...](https://web.archive.org/web/20160726000303/https://trln7wscq2jjwlnl.onion.to/)

<comment><USER4> {+This blog has been updated to reflect that WikiLeaks promoted links to the+} {+databases via its social media accounts but did not host those databases on its+} {+own site.+}

So they tweeted / or retweeted it essentially?

<comment><USER5> yes, the tweet is still live: (but the linked url is taken down so I don't see any reason not to share this tweet)

[https://twitter.com/wikileaks/status/756147693802643456](https://twitter.com/wikileaks/status/756147693802643456)

I think the misunderstanding (if there is any) is that they share this link by calling it 'theirs'. So I suppose that would be the reason the author was referring to them.

</comment></comment></comment></comment><comment><USER6> They loved wikileaks until it went after Hilary. Of course.

<comment><AUTHOR> Who are "they"?

<comment><USER7> The editorial staff at the Huffington post.

</comment></comment></comment><comment><USER8> There is a lot of confusion surrounding this, which I can hopefully clarify. Wikileaks released a dump of email obtained from a hack of the Turkish ruling party (AKP), which can be found on their main page.

It turned out that the source of these documents was Phineas Fisher (@GammaGroupPR on twitter), the hacker who previously released documents on FinFisher, Hacking Team, and a few others. Due to some miscommunication with WikiLeaks, he was actually still in the AKP network when the WL release happened:

> I hacked AKP (the ruling party in Turkey) because I support the society > people

> are trying to build in Rojava and Bakur [1], and they're being attacked by

> Turkey [2][3][4]. I don't see leaking as an end in itself, so I was talking > with

> people in Rojava and Bakur to see how best to use the access I'd gotten. > There

> was a miscommunication between some of them and someone gave a copy of the > first

> file I'd downloaded (which had about half of @akparti.org.tr's email up to > that

> point) to wikileaks. They quickly corrected the miscommunication and asked

> wikileaks to hold off on publishing it, but wikileaks decided to publish now

> anyway with the international attention from the recent coup attempt. To be > fair

> to wikileaks, they didn't know I was still in AKP's network downloading > files at

> the time they announced they were publishing [5], but they did know that the

> source who had given them the file was asking them to wait...

I am not certain whether the voter database Zeynep Tufekci described is contained in the WikiLeaks dump (e.g. as an attachment). It is definitely contained in the larger AKP dump released by Phineas Fisher.

Here's a writeup on what is contained in the full AKP dump, which confirms the claims made by the Huffington Post article. I have done some light checking against my own copy of the dump and verified that what they say seems to be correct.

[https://medium.com/@crymora/when-leaking-turns-into- dumping-...](https://medium.com/@crymora/when-leaking-turns-into- dumping-61efcd20c96a#.s2lk3we00)

Note: I am deliberately not linking directly to the source documents, because I agree that their full and unredacted release was dangerous. You can no doubt find them if you search around, but I'd urge you to think about the possible repercussions carefully before propagating it.

</comment><comment><USER9> This article doesn't make it clear what was actually leaked. Was it the actual private info or links to it? Was this info already publicly available? Honestly this article seems like retaliation for the earlier DNC leak and is heavy on accusations, light on facts.

<comment><USER10> Anyone who has been paying attention knows that WikiLeaks has always been careless about sharing private information that puts ordinary people at risk. The only time they've been somewhat responsible is when they partnered with newspapers who know better.

The DNC leak for example includes lots of social security numbers and credit card numbers. If they cared at all they could have done a search and replace to get most of them.

<comment><USER9> I would rather they didn't manipulate or censor their leaks. I'm sure I'm not alone in that.

<comment><USER11> Would you mind sharing your SSN, credit card numbers, address, and date of birth?

We don't yet know if that information will be useful to the world, because we didn't really look at it, but we'd like to have it out in the public record - for completion's sake. I'm sure it'll be valuable to someone.

I realize that you may not be involved in any impropriety, but you may have at one point e-mailed someone who is, or someone who works for someone who is.

No more secrets, right?

<comment><USER9> You should blame the people who made the leaks necessary, not the people doing the leak. Again, manipulating the data in anyway undermines their legitimacy.

<comment><USER12> I'm not sure it ever was "necessary" for Wikileaks to indiscriminately release large collections of emails sent to the Turkish government, especially if the HuffPo report is correct and it pertains largely to ordinary citizens' messages.

"If you have nothing to hide, you have nothing to fear" is even less true of releasing citizens' sensitive information to the entire world (including factions in a country where people are being killed over their political actions) than it is of allowing governments to collect and share it.

Just because some of the things revealed by Wikileaks are very much in the public interest doesn't make it an entirely benign actor.

<comment><USER9> If the data exists it may get leaked. It's up to people to protect themselves through encryption and not messaging bad actors. If someone makes malicious actions post-leak then they should be dealt with. Information wants to be free. There's no fighting it.

How exactly do you plan to police Wikileaks? Twitter shaming? Thankfully they've proven to be immune to that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> "WikiLeaks should take down its links to all personal information as soon as possible." Do they now how the Internet works?

</comment><comment><USER14> > a special database of almost all adult women in Turkey.

Now I'm wondering who put this together and why.

<comment><USER15> Yeah, this was my first thought. Things that aren't addressed in the article: why did this database exist and was it even legal for the government to collect and store this information?

</comment></comment><comment><USER16> Is this what they are referring to? [https://news.ycombinator.com/item?id=11420139](https://news.ycombinator.com/item?id=11420139)

<comment><AUTHOR> No

</comment></comment><comment><USER17> Sounds like an accidental oversight, but one I'll gladly accept for the preservation of free-distribution of information; a force that's essential to democracy.

Much in the same way that a well-meaning country have police officers that shoot innocent people, or engage in bad wars, but that misstep doesn't invalidate the whole.

</comment><comment><USER18> "Bloody and brutal coup"... oh the hiperbole.

<comment><USER19> The brutality seems to have been mostly by Erdogan supporters; though this is probably not what the article was trying to convey...

<comment><USER20> The casualty numbers are out there.. no need for "seems"

Anti-coup casualties: 161 civilians and police officers

Pro-coup casualties: 104 military

I'm no fan of Erdogan's "reforms" after the coup, but there's no need to alter the narrative in favour of a preferred agenda.

<comment><USER21> "People of Turkey, go be human shields for my illegal reign by standing in front of the tanks."

Erdogan was willing to let any number of people be killed to prop up his illegal reign. The soldiers in the coup were humanitarians who were unwilling to kill indiscriminately.

By the time Erdogan is done purging the country his body count will be three orders of magnitude higher.</comment></comment></comment></comment>


Ask HN: I want to learn Deep learning / machine learning - <AUTHOR>

I'm a software engineer, mainly focused on apps and web development. In the past 2 years, I've been constantly bombarded with Machine learning and now, Deep Learning. I can only assert that this is a field that is growing and growing exponentially.
I would love to get into this field and any suggestions / recommendations on getting started would be appreciated!
Any pre-requisites needed to get started would be a big bonus. Not being in the field, I actually do not even know what the technical requirements are.
I also plan on creating a github repo listing all the resources and guides. Please help. <comment><USER2> [http://karpathy.github.io/neuralnets/](http://karpathy.github.io/neuralnets/)

[http://jmozah.github.io/links/](http://jmozah.github.io/links/)

[https://github.com/ChristosChristofidis/awesome-deep- learnin...](https://github.com/ChristosChristofidis/awesome-deep-learning)

[http://metacademy.org/roadmaps/](http://metacademy.org/roadmaps/)

[http://cs231n.stanford.edu/](http://cs231n.stanford.edu/)

[https://class.coursera.org/neuralnets-2012-001](https://class.coursera.org/neuralnets-2012-001)

</comment><comment><USER3> Take it from me: Before you jump headfirst into machine learning, take a refresher course on Linear Algebra. Make sure you are _very_ comfortable working with matrices and vectors.

</comment><comment><USER4> I would recommend going through the CalTech Course - Learning from Data run by Yasir Abu Mustafa as the first step. [https://www.edx.org/course/learning- data-caltechx-cs1156x#.V...](https://www.edx.org/course/learning-data- caltechx-cs1156x#.VQB5M_mUdlo)

It is one of the best places to start. Please see that the course will require you to spend considerable time. If you find this challenging, you can also look at the Machine Learning class by Andrew Ng on Coursera.

Once you have undergone these courses, you can take up Coursera course on Neural Nets or look at tutorials on deeplearning.net

</comment><comment><USER5> Enroll this course about NLP and Deep Learning at Stanford [http://cs224d.stanford.edu/](http://cs224d.stanford.edu/)

<comment><AUTHOR> Thanks. Seems like the class will be available online. Is that the case?

<comment><AUTHOR> Also know of any classes in Southern Cal by any chance?

</comment></comment></comment><comment><AUTHOR> Found a resource that was posted on HN before.

[https://darshanhegde.wordpress.com/2014/08/19/learn- machine-...](https://darshanhegde.wordpress.com/2014/08/19/learn-machine- learning-the-hard-way/)

</comment><comment><USER6> Startup.ML has a fellowship program focused on practical experience of building real-world ML applications: [http://Startup.ML/blog/fellowship](http://Startup.ML/blog/fellowship)

</comment><comment><USER7> You can also check this : [http://www.erogol.com/machine-learning- pathway/](http://www.erogol.com/machine-learning-pathway/)</comment>


10x Developer - <AUTHOR> https://got.phillipwills.com/10x-as-an-individual-contributor.html <comment><USER2> The article is correct about force multipliers but not necessarily about shorter code. Simple code is often not always shorter.

A 10x developer is a 10x writer. They write where those writings contribute to a software product directly. They aren't wasting time crawling through process hell or hoping some tool or framework does their job for them.</comment>


Can you turn a terrorist back into a citizen? - <AUTHOR> https://www.wired.com/2017/01/can-you-turn-terrorist-back-into-citizen/ <comment><USER2> Of course not! "Terrorist" is a person so extreme that they have near super powers! Senator Lindsey Graham, a wise person indeed, fights against letting Terrorists coming on to US mainland soil, because they're so crazy! If a Terrorist were to go to trial, he or she might actually convert members of the Court or the Jury to Terrorism! It's like magic! Almost.</comment>


Hey HN: I'm proud of this CSS3 CL Jobs Post, check it out - <AUTHOR> http://seattle.craigslist.org/kit/sof/1772248892.html I was browsing the typically ugly posted-by-a-recruiter Craigslist job postings, and thought to myself "I'm sure I can do better." So, I hand-coded the above. I'm interested in improvements, hit me with them. One beef is that the preview box on CL is grey (like HN's box), but the site shows white -- I forgot that, and had coded a nice white rounded pull-out box for the listing which gets lost on view.
Craigslist doesn't document what's allowed, and what's not, but I have this theory that a lot of the CSS3 stuff isn't well filtered by their system.
This is all CSS3, no images. Any other good ideas?
Also, we're hiring a developer in Seattle: PHP, Javascript, HTML5. You can read more about it in the listing. <comment><AUTHOR> To explain:

I was browsing the typically ugly posted-by-a-recruiter Craigslist job postings, and thought to myself "I'm sure I can do better." So, I hand-coded the above. I'm interested in improvements, hit me with them. One beef is that the preview box on CL is grey (like HN's box), but the site shows white -- I forgot that, and had coded a nice white rounded pull-out box for the listing which gets lost on view.

Craigslist doesn't document what's allowed, and what's not, but I have this theory that a lot of the CSS3 stuff isn't well filtered by their system.

This is all CSS3, no images. Any other good ideas?

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>---

Also, we're hiring a developer in Seattle: PHP, Javascript, HTML5. You can read more about it in the listing.

<comment><USER2> > I'm interested in improvements, hit me with them.

Don't let the text in your colored boxes go all the way to the right-hand edge.

<comment><AUTHOR> Mm, margin-right. Agreed.</comment></comment></comment>