A yak shave with SGI's EFS - <AUTHOR> https://blog.pizzabox.computer/posts/sgi-efs-yakshave/ <comment><USER2> Good to see some folks using my 'irixboot' utility in the wild. Looks like it worked!

Also, the whole process by which the Development CD image is extracted could have been easily handled by irixboot and you can use irixboot as a 'dist' install source within the already-installed OS.

<comment><USER3> It's always great randomly coming across something you wrote in the past, isn't it? Even if it's only a small blog post.

</comment></comment><comment><USER4> A couple of years ago I got Octane2 and went through similar ordeal (new OS and a bunch of other fun things). SGIs and IRIX are a lot of fun, especially for us that saw those only at workplace or in adverts 'back in the day' (they were a highway robbery back then).

There's one advice from a friend here. If you ever want to use Octane2 on your desktop, let me warn you that it sounds like a jet engine. Not practical at all. Now I know why we kept only O2s on desktops and Octanes were in 'server room' when we did work on them.

<comment><USER5> On the bright side, the Octane2 is one of the few SGI machines new enough to support graphics hardware with DVI ports.

<comment><USER6> It does support it, but the DCD card has always been expensive/rare. Also requires V10/V12 graphics, which are almost as expensive/rare.

Every Fuel has standard DVI, although Fuels have other drawbacks

</comment></comment></comment><comment><USER7> Very fun read. There is something really enjoyable about stories of people solving the problem at hand in the most straightforward way possible, even when that means digging into all kinds of low-level details that are usually abstracted away for us.

</comment><comment><USER8> I had a SGI Indy as my desktop machine in the mid-90s. It was a really awesome system at the time and I still miss it. A couple of random things that I remember:

\- The 'lp' account (for the printing system) was not protected by a password on IRIX installs for the longest time. You could telnet in and exploit df(1) [1] and you'd have root. I obtained shells on a number of SGIs around the 'net in this manner back in the day. Good times!

\- The author mentioned not being able to run EZSetup over an X11 session. As I recall, many of the graphical system utilities SGI's proprietary framework, which used some proprietary extensions that would not render over vanilla X11. The only way you could run them was from another SGI (using X11 forwarding) or from the local console. I'll bet this is why EZSetup never ran for you.

So much fun. I'm alllllmost tempted to go looking for an Indy on eBay. :)

[1] [https://www.exploit-db.com/exploits/19274/](https://www.exploit- db.com/exploits/19274/)

</comment><comment><USER9> Not too bad. I was expecting the first shaving step to be about the OS media requiring 520 byte sectors and thus needing a "fancier" CD writer/reader. Maybe that was Sun, not SGI?

<comment><USER5> I think the whole 512 byte sector CD-ROM thing was common to all the 90's-era "Real UNIX" machines. They generally all wanted to treat CDs like a hard drive, for booting purposes. (PCs, on the other hand, did a different weird hack where they'd embed a floppy image at the state of the CD and the BIOS knew how to handle that.)

<comment><USER9> Yeah, you're right, they wanted 512 instead of 2048 bytes per sector to use the CD as a HD. But I think that at least one of the Unix vendors shipped the install media as 520 byte sectors, with 512 bytes of data and 8 bytes of checksum. In order to duplicate the discs, you needed to own a writer that was fancier than average (i.e. a SCSI unit, not an IDE one).

<comment><USER10> I keep a DEC RRD-40 drive (with its weird pre-caddy disc holder thing) around for the purpose of booting old DECstations. Not sure if it used 520B sectors though. I _think_ I have the manual .. somewhere.

</comment></comment></comment></comment><comment> cup-of-tea While interesting, a yak shave is where you go off on a long excursion to solve a problem that helps you solve the _real_ problem. This, on the other hand, is just having a hobby. Calling it yak shaving doesn't seem appropriate.

<comment><USER5> The long excursion might be seen as implementing all that code to do EFS-to- TAR. (Rather than figure out how to compile a Linux kernel module, or run an old version of Linux on something.)

If I was trying to do this project, I'd just do what it took to get an EFS- supporting OS up and running, expose via NFS, and be done with it.</comment></comment>


China to Ban Live Webcasts; Three Minutes Minimum Delay Required - <AUTHOR> http://chinascope.org/archives/20581 <comment><USER2> Does the word Live translate poorly or something?

There is no "almost live" when you've got a chat box running.

Half the streams start with "can you hear me" \- are they just gonna wait 3 mins for an answer?

Its just not practical

</comment><comment><USER3> Reminds me of how streamers in Germany are getting broadcast licenses even though some of them only have 3 viewers.

I'm wondering how long it will take until you need one for a skype call.

</comment><comment><USER4> This is surely going to be dead obvious when no one who is "live" responds immediately, even something as simple as a chuckle to something actually funny.

</comment><comment><USER5> Nice, the chinese are getting their citizens used to the delay's that interplanetary comm's like mars<->earth will imply.

It's the future

</comment><comment><USER6> I wonder what their rationale is? Don't most twitch streamers have a delay? I thought it was to deter trolls.

<comment><USER7> Probably to be able to react to "banned" content before its actual broadcast.</comment></comment>


The housing affordability crisis is generational warfare - <AUTHOR> https://slate.com/business/2019/05/california-housing-crisis-boomer-gerontocracy.html <comment><USER2> > that would have changed the character of many neighborhoods with bus routes, > according to state Sen. Anthony Portantino, a Democrat from the L.A. suburbs > who last week halted the legislation's progress to maintain the status quo > of single-family zoning. "It was the time to take a breath, and we took a > breath," he said. Portantino is the former mayor of a town that has not > built an apartment in a decade, one where the median home sells for $1.6 > million.

How does this guy call himself a member of the Democratic party?</comment>


The Node Ahead: JavaScript leaps from browser into future - <AUTHOR> http://www.theregister.co.uk/2011/03/01/the_rise_and_rise_of_node_dot_js/

<comment><USER2> Node is really good, until it's not.

I've actually spent a lot of time with Node since the company I work for was an early adopter. This all based on opinion but, my general feeling about Node is that the underlying concept is great but, Javascript is an awful language to do it all in. The lack of real support for continuations (and/or coroutines) means there is no escape from the callback hell and tracking down errors can be a real nightmare. Ultimately for simple projects Node works fine but reach a point where your application becomes at all complex and things can get hairy real fast (of course this statement could be made about client side Javascript as well).

I say this not to discourage anyone from trying Node because for many projects Node may be just what you need but, there are some downsides one should probably keep in mind.

<comment><USER3> After reading your post I struggled to decide whether I truly believed that coroutines were better than callbacks. This HN thread provided some useful discussion for me: <http://news.ycombinator.com/item?id=1549168>

I still don't know enough to take sides, but the thread I just linked helped me to better understand the issue.

<comment><USER2> I don't think one really needs to take sides one simply needs to know their tools and know that they can be dangerous if not used properly. Both sides of the coin have merits. Personal I am a big Haskell user so my views on IO should probably be disregarded.

<comment><USER4> On the contrary, as a Haskell user your views on IO should be kept in a thunk waiting for evaluation if they're ever needed. Unless you're one of those guys who've figured out how to do iteratee IO, in which case I tip my hat to you.

</comment></comment></comment></comment><comment><USER5> One page version: [http://www.theregister.co.uk/2011/03/01/the_rise_and_rise_of...](http://www.theregister.co.uk/2011/03/01/the_rise_and_rise_of_node_dot_js/print.html)

</comment><comment><USER6> Although the ideas and technology behind node.js aren't entirely new, the fusion of a well known client side language like Javascript and a robust server-side event based architecture really makes node.js great.

I really enjoyed the article because it approached node.js as it should have, as the new way of doing things on the server. I see node.js becoming as ubiquitous as ruby/python/perl are on the server (maybe even for desktop applications).

Even if node.js doesn't become as big as I think it will, I feel that the shift is has helped cause is a positive one for the server space and we will all benefit from it.

</comment><comment><AUTHOR> If you're into Node.js and Redis we (Voxer) are actually hiring engineers. We're building a Walkie Talkie for iPhone and Android. In more technical terms Voxer is a low latency messaging system for voice, images, and text. We have an iOS client in the App Store, and an Android version is in the works. We've had explosive growth in the last couple of weeks and are now in top 25 in a bunch of app stores and we are looking for someone to help us develop the server side components and make the system scale.

Email me firstname.lastname@example.com if you want to know more and I'll connect you with the right person.

Our servers are built out of Node.js, CouchDB, and Redis. If you are excited about node, server-side JavaScript, and new databases, this is an opportunity to work on this technology full-time.

<comment><USER7> any intern possibilities?

<comment><AUTHOR> yes, send me an email email@example.com

</comment></comment></comment><comment><USER8> This is going to provoke massive eyerolling over at the Erlang industry.

<comment><USER9> Somehow I don't think rolling their eyes at developers discovering a need for what they have to offer will do the Erlang community any good.

If they sincerely believe that Erlang offers a superior alternative to Node for what the influx of new Node developers need, then they should be looking to provide resources to help these devs "graduate" to erlang.

Not once have I seen a blog post saying "Like Node.js? Then you're going to love Erlang! Let me show you why it's better, with some snippets to compare and contrast."

<comment><USER8> Oh, I agree. Every time someone advocates Erlang they mention how it was used to build super-reliable telecoms and they start mentioning three-letter acronyms and immediately everyone's eyes glaze over. It just isn't sexy like node (yet?).

<comment><USER10> There are always Efene and Reia if you want sexy things. (However, I find it somehow disturbing that there are almost no documentation on Reia beyond the examples on its site's start page.)

One could compare Node.js to Twisted, Tornado or EventMachine. However, comparing Erlang to Node.js is somehow weird as they have different paradigms — Erlang is highly-concurrent with its "green" processes, while Node is single-process single-thread with "asynchronous" paradigm.

(However, there are some aspects, that could be compared. Erlang has "let it crash" motto, while in Node.js one has to be careful with any exceptions. Erlang is distributed and Node.js has no notion of processes.)

</comment></comment></comment></comment><comment><USER11> Was the problem really that Python was slow, or did they not discover event- driven until finding Node?

<comment><USER12> Just as this story came up I was watching the video of Ryan Dahl explaining Node.js (someone had shared this link in the recent thread about the event loop)

        http://developer.yahoo.com/yui/theater/video.php?v=dahl-node

In it, Ryan makes an important point about JavaScript being a natural fit because it was designed for a constrained environment. In particular, there is no way of doing I/O in JavaScript's traditional browser environment without providing a callback argument (I'm not counting interacting with the DOM as I/O here, and a couple of pedantic exceptions pointed out by judofyr below), and for the way in which the browser guarantees that only one callback will be executed at a time.

I think this idea of a constrained environment is very important. If blocking I/O functions are strewn about the APIs you have at your disposal, then programmers tend to default to using them.

The other point he makes is that often evented APIs are just missing from the underlying platform. Does every way of doing some sort of I/O in the universe of Python APIs have variants that take callback arguments? Even if the answer is 'yes' (which would surprise me) there is a minefield of blocking calls one would need to avoid in a disciplined manner.

...which may not be easy. Tell me: does myAwesomeFunction() do some blocking I/O under the hood? You can't tell from the name. Do the docs always make that clear, and provide an alternative with a callback?

 _Edited to include judofyr's exceptions — which bolster rather than undermine the point, because note that window.prompt's raison de'etre is to block for user interaction, and document.write is a RAM operation rather than disk or network I/O._

<comment><USER13>
        There is no way of doing I/O in JavaScript's traditional browser environment
        without providing a callback argument.

What about `window.prompt`? Or `document.write`?

<comment><USER14> I would hardly call window.prompt and document.write i/o since they never hit disk or network (to over-simplify). They're more like manipulating an object in memory.

For real i/o in JavaScript, look at AJAX: Callback based.

<comment><USER15> Conversely, some might say that input from the user and output to the user are really the only important i/o.

</comment></comment></comment></comment></comment><comment><USER10> Not too long ago I've written some simple CAPTCHA service with Node.js, node- redis and node-canvas. It was a simple application that generated a word from a specific grammar, saved it to Redis for further reference and returned a PNG.

While being ridiculously fast it leaked memory like crazy. So I've found that there were almost no debugging tools (except for old good gdb) to find out what was going on. (I've heard that there are some changes like `node debug`, though. Should dig the archives and try code with latest Node version.)

I believe this was an inherent consequence of JavaScript and V8 being tailored to short-lifetime (milliseconds of DOM operations, then lazy waiting for events to fire) applications with low amount of events (user in-browser activity).

<comment><USER16> _I believe this was an inherent consequence of JavaScript and V8 being tailored to short-lifetime (milliseconds of DOM operations, then lazy waiting for events to fire) applications with low amount of events (user in-browser activity)._

Nope, it's just bugs. Every programming language has memory-related bugs... just less of them as they get older.

</comment></comment><comment><USER17> >We're still a long way from a 1.0 release. Version 0.4 arrived just last month.

If memory serves, 1.0 is not so far way... half a year? When node hits 1.0 and there is a perception of API stability, third-party development will likely explode.

<comment><USER18> And there's plenty of third-party development already happening:

<https://github.com/joyent/node/wiki/modules>

</comment></comment><comment><USER19> The author coined "developerati" and I gagged.

</comment><comment><USER20> Node.js is great stuff. It's not new (as far as concepts used), but really nice to work with. Javascript tools and runtimes are growing up very fast; it'll probably go on to surpass Erlang for this purpose if the libs are stable enough. Node.js was the killer framework for JS anyway.

<comment><USER21> _Javascript tools and runtimes are growing up very fast; it'll probably go on to surpass Erlang for this purpose if the libs are stable enough._

I don't know whether to laugh or to cry... Node/JS may replace EventMachine/Ruby or Twisted/Python for quickly whipping up an evented app or service, but it will be quite a while before anyone would consider moving an erlang project to node. Node is little threat to the distributed, fault- tolerant, concurrent niche that Erlang occupies -- within that realm there is nothing you can do in node that can't be done better in erlang and a great deal of bulletproof infrastructure in the frameworks built up around erlang and its vm that node will never come close to.

<comment><USER14> Holy FUD! I'm sure all the Lisp and TCL fanboys thought the same of their supposedly superior runtimes all the way to eventual irrelevance.

Hubris much?

<comment><USER22> Um.

What he says is basically true. Node is never going to replace Erlang for the same reasons it will never replace C++. Erlang is simply _different_ from Javascript and no amount of runtime improvement can change that.

<comment><USER23> Not sure what "replace" and "threat to erlang" means, but: for shops that already run the JVM and .NET, I think many'd be inclined to look at akka (or scala actors) and asynch workflow as available today in F# (and promised for C# 5/.NET 5). But the important thing is that erlang is no static target, development is going very strongly: read the release notes for e.g. R14A, B and B-01.Ask questions on the mailing list if you're not sure what something is, they're very friendly. (maybe someday they'll fix apache not to give out direcotry listings like this ;->

<http://www.erlang.org/download/>

</comment></comment></comment></comment></comment><comment><USER24> It seems like event based programming would be really cumbersome in comparison to having lightweight threads ala Erlang. Perhaps Javascript needs lightweight threads?</comment>


I had to jailbreak my iPhone to change the default browser - <AUTHOR> https://raymii.org/s/blog/I_had_to_jailbreak_my_iPhone_to_change_the_default_browser.html <comment><USER2> I'm one of those people who is entirely happy wit Apple's default apps, but the opportunity to change "default apps" (such as the browser, email client, and so forth) is one of the things I have always looked forward to and am hoping that will come through on iOS/iPadOS 14 (if the rumours are to be believed).

The funny thing is that the elaborate process (including the jailbreak) he went through to "change his default browser" didn't _really_ change his browser since all 'browsers' available for iOS are actually mandated to be implemented as Safari webviews. So he might've changed the chrome and the collateral features, but he's still using the Safari/WebKit rendering engine.

<comment><USER3> Even tough the rendering engine is the same, the features that make the browser useful for them, like bookmark sync and appearance, can make more difference than underlying tech. No website I ever visit behaves badly in the three (two nowadays, we kit and gecko) major browsers...

</comment></comment><comment><USER4> Don't buy a toy buy a general purpose computer.</comment>


Learn Just a Little Awk (2010) - <AUTHOR> https://gregable.com/2010/09/why-you-should-know-just-little-awk.html <comment><USER2> I don't write much Awk code any more, but at one time it was my favorite programming language, and not just for little one-liners.

A while ago I ran across a couple of my old Awk programs and uploaded them to GitHub. One is an implementation of Mark V. Shaney (the infamous Markov chain program), the other takes source code and prints it out in a nice "two up" landscape format on a LaserJet II, including graphical boxes to replace the ASCII dividers in comments like this:

      //</comment><comment></comment><comment></comment><comment>
      // Some comment here
      //</comment><comment></comment><comment></comment><comment>

I wish I had a sample printout, but they are long gone.

Awk was the first language I used that had associative arrays built into the language, which made SHANEY.AWK almost trivial to write. Especially compared with implementations I saw in C and other languages of the day.

I think LJPII.AWK is a good example of how you can write a fairly substantial program in Awk and have it be (mostly) readable. (It was written for either MKS Awk or Thompson Awk, I forget which - so there are a few things in it that may not be available in a typical Awk today.)

[https://github.com/geary/awk](https://github.com/geary/awk)

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

</comment><comment><USER3> Awk is a fantastic "swiss army knife", and always included (in some form) on every *nix.

The article mentions FS but this is easier to access with -F. e.g. for some quick and dirty CSV munging-

awk -F, '{print $2}'

Something else I find super useful is the built-in regex matching, e.g.-

awk '/ERROR/{print $(NF-1)}'

or maybe picking out all 503's from an web server access log-

awk '/503/{print}'

edit: formatting....wow hn is bad for this

<comment><USER4> For some time I've been using both Awk and Perl for text processing, based on which offered the most convenient command for a given task.

There are two (IMO) glaring omissions in Awk:

\- using the captured group(s) of a regular expression

\- slicing the arguments array

Mawk supports the first functionality, but it's inconvient.

Then at some point, I've found that virtually every task I do in my text processing via Awk can be done via Perl in a comparable way... and much more - including the two functionalities above - so I've ditched awk.

The only thing inconvenient is to type something like `perl -lane` as opposed to `awk`, but this can be aliased :-)

<comment><USER5> AWK can be learned much faster than Perl though.

<comment><USER6> Yes, but as soon as your awk script becomes complex, you need to switch to a more complete language like perl (or python or ruby). Switch slightly earlier and avoid learning all the subtelities of awk (the same applies to sed). You need to learn well one scripting language and to know most common use cases of sed, awk.

<comment><USER7> No you don't. There is no reason to switch. I've written many full-blown programs in AWK and I see no reason to switch them to another language -- they're fast, portable and readable, with tiny memory requirements. It all comes down to mastery: someone who's mastered AWK will have no issues with a large AWK program and therefore will feel no urge to translate that program to another language. Large AWK programs are easy to maintain because the syntax is so small that the code is always intrinsically understandable.

</comment></comment></comment></comment></comment><comment><USER8> Reminds me of a similar article [1]

Once you get a hang of how shell constructs like pipes, redirections, globs, variable/command substitutions, etc, the various cli text processing tools like grep, sed, awk, perl, sort, tr, pr, paste, etc are worth to learn at least the basics. They have been through years of use and heavily optimized for performance. Just today, a friend of mine called to ask how to improve a Python script's performance for 5-10 MB text file. After confirming he isn't using any other special modules, I advised to check if the performance improves by implementing it using awk.

If anyone's interested in examples based tutorials on cli text processing tools, check out my github repo [2]

[1] [https://blog.jpalardy.com/posts/why-learn- awk/](https://blog.jpalardy.com/posts/why-learn-awk/)

[2] [https://github.com/learnbyexample/Command-line-text- processi...](https://github.com/learnbyexample/Command-line-text-processing)

<comment><USER9> The GNU Project hosts this essay, "The UNIX Shell As a Fourth Generation Language":

[https://www.gnu.org/software/nosql/4gl.txt](https://www.gnu.org/software/nosql/4gl.txt)

The concept of language "generations" is mostly lost now, much like how we stopped inventing names for how densely we pack transistors onto silicon once we'd gotten to VLSI (Very Large Scale Integration); the point of the essay is that the shell complete with a userspace is a programming language in itself, and one which is much more programmable and extensible than, say, getting all of your data into a database and using SQL to manipulate it. It's a programmable environment, as opposed to a data silo, where the only tools you have are the ones the silo's implementer deigned to provide.

<comment> marble-drink There is a short talk by Eben Moglen [0] which is only 10 minutes long but jam packed with wisdom. One part which changed the way I think about using computers is how he describes GUI interfaces: as a "point and grunt" or "caveman" interface. Using UNIX, on the other hand, is to use language to communicate with the computer and comes with all the benefits that we have when using it to interact with people.

[0] [https://youtu.be/uKxzK9xtSXM](https://youtu.be/uKxzK9xtSXM)

</comment></comment></comment><comment><USER10> Thinking over this, it just (finally) struck me that awk (and sed, grep, etc.) are basically just _libraries_ (more like DSLs), and the shell is _just another scripting language_ with a REPL/notebook environment.

When that's the case, what makes them particularly useful compared to some other language with a uniform syntax and possibly better forms of "glue" \-- say Python, or lisp, or whatever? Why not allow people to acquire proficiency in just one language, and use it consistently to communicate with their computer? I don't think ubiquity/portability is a compelling answer, since (for many/most people who care about this) it is relatively easy to install the environment of their choice on their personal computing device. BTW, we must also strive to maintain that flexibility in the next generation of computing devices.

As an aside, folks who do like the task-focused nature of shell DSLs might appreciate language-oriented programming with Racket.

<comment><USER11> Command line tools are very terse, heavily optimized (ie fast), interactive, and easily chainable. I would never want to write a python program for quick analysis of a log file when I can grep/sed/awk/sort/uniq my way to a solution.

The other day my boss asked me to find out if there was any second where we processed more than 100 transactions a second on our server in the last 90 days. I needed to go through 100s of GB of data which mawk managed in no time and in a relatively simple one liner. I imagine my idiomatic python script would still be running

Often times, analysis is an evolving thing. As you uncover one answer, new questions arise. It's far easier imo to tweak my command line pipelines than to modify program flow.

At the end of the day, general purpose programming languages are jacks of all trades and masters of none. They're inherently held back by their flexibility when compared to DSLs. Text processing is so easy in awk b/c it's a text processing domain specific language. If you really think that we should use on language for everything, you're ignoring the value that specialization can provide you, whether in speed, power, or ease of use

<comment><USER12> > I would never want to write a python program for quick analysis of a log > file when I can grep/sed/awk/sort/uniq my way to a solution.

Yeah but I would wager very few people actually know awk. I would also wager 90+% of awk programs are pasted directly from StackOverflow.

That's why I like the idea of pawk[1] - it's like awk, except with python syntax instead of some esoteric syntax that nobody knows.

[1] [https://github.com/alecthomas/pawk](https://github.com/alecthomas/pawk)

<comment><USER13> I guarantee that more people know awk syntax than pawk!

</comment></comment></comment></comment><comment><USER14> I've found the combination of sed & awk to be a really powerful duo.

One of my earliest development projects circa 2002 was to create a complex awk & sed program that took tons of database blobs with inconsistent semi- structured test from a publishing company and converted it to XML, automatically prompting the user for input (using the Pico text editor) whenever there was something that couldn't be resolved. It saved thousands of hours as part of a metadata digitization project that got their journals into ProQuest.

As only a semi-literate programmer at the time, it was significantly easier than trying the same thing with a "traditional" programming language. On occasion I still call to awk withing python code when I need to do a one-off quick & dirty <something>

For those interested, if you can find a copy, there'a truly excellent book on awk:

 _" The Awk Programming Language"_, by Alfred Aho, Brian Kernighan, and Peter J. Weinberger

<comment><USER15> A copy:

[http://gen.lib.rus.ec/book/index.php?md5=0AD0779BF3602F1EA22...](http://gen.lib.rus.ec/book/index.php?md5=0AD0779BF3602F1EA22734B6EEFCA0EA)

Also Arnold Robbins' books _Sed and Awk_ and _Effective Awk Programming_ are excellent, and also detail the many features added since the latest edition of _The AWK Programming Language_ (1988).

[http://gen.lib.rus.ec/search.php?&req=awk+robbins&sort=year&...](http://gen.lib.rus.ec/search.php?&req=awk+robbins&sort=year&sortmode=DESC)

<comment><USER16> Buy the books, do not pirate them.

</comment></comment></comment><comment><USER17> I use a lot of Perl and occasionally some awk. My experience is that Perl is a lot faster (it really shows when you have millions of lines of text to chew).

For example, I compared two scripts that find the longest line in a file: Perl took about a second when awk took 21s.

<comment><USER18> Same. Also, many tasks grew in complexity until I threw away my awk/sed combos and wrote some Perl instead.

</comment></comment><comment><USER19> I used to struggle at dtrace until I realized it was just awk for a probes instead of regular expressions.

</comment><comment><USER20> Prior discussions:

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

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

</comment><comment><USER21> I wonder. Unless you have this syntax (and their semantics) memorized so that it just flies from your fingers, it does seem much easier to me to use whatever your language of choice is (Python, Java, ...) to whip up a script. Sure, awk will be terser, but in my case at least, the bottleneck will not be typing, it will be looking up awk features and syntax.

Maybe if you do this every day though. I only have need for things like this once every few months.

</comment><comment><USER22> I love awk, grep and sed.

But I am wondering: in a professional setup, are there no better tools to analyse and interpret structured log messages out there?

</comment><comment><USER23> I recently learnt awk but had a hard time figuring things out (had been trying to learn it since 6yrs)

So I wrote a small guide which is hands on for awk

[https://github.com/thewhitetulip/awk-anti- textbook](https://github.com/thewhitetulip/awk-anti-textbook)

</comment><comment><USER24> Awk and sed can provide a better integration with "modern" formats like JSON/YAML/Protobuf/etc. And with corresponding tools like jq/pq/rq. It would help to keep them popular still.

</comment><comment><USER25> 403 Forbidden

</comment><comment><USER26> Why is this linking to the wayback machine? This blog post is live on the same website at the same url.

[https://gregable.com/2010/09/why-you-should-know-just- little...](https://gregable.com/2010/09/why-you-should-know-just-little- awk.html)

<comment><USER27> Some people link to archive.org to future-proof against dead urls.

<comment> why-oh-why That's kinda backwards. One should point to the source and if that is no longer available then fire up the Machine.

In this case the archive.org link is a 403 for me while the original works.

<comment><USER28> I suspect you misunderstand some of the point.

When you make a posting on HN or anywhere else and cite a URL, that URL could go down years later. Your historic posting then has a dangling URL. You can't go back and edit old postings to fix it.

Also, some content changes. The URL is valid, but the cited material is not there. With the archive, you can point to a specific date when that was retrieved.

<comment><USER29> I get a 403 as well, no point in linking to something unaccessible just because reasons. Gdpr is hard but people in Europe should not be denied access just for the sake of immutable URIs

<comment><USER30> Wait what? [https://web.archive.org](https://web.archive.org) is inaccessible to you because you are European? FWIW: I am European, and it works for me.

</comment></comment></comment></comment></comment></comment><comment><USER31> I think the traffic is too much. 403 Forbidden.

<comment><USER32> Weird. The site is served by cloudflare and backed by an s3 bucket. Totally static. You shouldn't get forbidden unless cloudflare or your isp are doing something odd.

<comment><USER32> Oh nevermind, the original url was archive.org apparently.

</comment></comment></comment><comment><USER33> A lot of the examples are just reimplenting cut.

</comment><comment><USER34> I have, and read, a book on awk (the AWK programming language, by guess-the- initials) and didn't see the point. If I need regexes I have emacs. For CSVs I use excel or LibreOffice.

It has been a while so could someone remind me why awk is so fab? Perhaps it's just I've never met the right use case to make me fall in love.

Sorry if it's a dumb question. TIA

<comment><USER35> excel can't handle millions of lines. Every job (only 2, but still) I've had, I've had a problem at least once where I'm given millions of lines and needed to parse them for something.

That being said, I used python in those instances, but I'm willing to believe I could've done it faster and more easily with awk.

<comment><USER34> Yes, this was my feeling too, why not just use python and save the effort of learning another language? Perhaps because you can't assume python will be present in a basic *nix install.</comment></comment></comment>


The Rise and fall Of social Networks - <AUTHOR> http://blog.homem-arvore.com/2012/09/the-rise-and-fall-of-social-networks/

<comment><USER2> Quite skewed analysis if it's based search terms, given that some parameters have shifted in the last years. Google used to be a jump-off/quick navigation point to go web-sites people were very familiar with. It was convenient instead of having to type in the web-site url to just Google it, and then go. But recently, most links are clicked withint/from a social media context; thus Google is becoming less and less a jump-off/quick navigation point. I would say, the graph shows the fall of Google more than the fall of Social Networks.

<comment><AUTHOR> The graphs show both search volume index and news reference volume.

While I think your point should be considered, I not sure if those distortions are presented in the graph. Google is still serves as the quick navigation point to get to the social networks.</comment></comment>


Will emoji become a new language? - <AUTHOR> http://www.bbc.com/future/story/20151012-will-emoji-become-a-new-language <comment> V-2 A bit of click-baiting here, however it is quite interesting how long before :) or ;) etc. become widely accepted eg. in newspapers (assuming that newspapers don't go extinct first).

<comment><USER2> I want news in news papers, not the associated emotions of the journalist. Emotions should be kept far away from news, anything subjective should be. Maybe it would work for certain magazines? Still, adding a crying face to a sentence like "Susan lost her first 5 babies" seems horribly inappropriate, this can change of course.

<comment><USER3> > Emotions should be kept far away from news, (..)

Yes.

> (continued) anything subjective should be.

No.

<comment> V-2 Subjective is fine, but good practice is keeping factual news and comments separate / distinguishable. Obviously comments are subjective by nature.

</comment></comment></comment></comment><comment><USER4> The arguments the author makes around technological constraints precluding language development seem wrong in a few ways, but I'm not that familiar with the field, so the column may be short handing more sophisticated analysis. Specifically:

1\. Most (all?) written languages are linear -- they are processed sequentially by the brain and then deeper meanings are extracted (particularly wrt metaphors and allegory, but also viz. complex sentence structure). Emoji are not unique on this count.

2\. Paper and pen (the surfer example) also have technological constraints. It's a "2D" surface, width of line, etc.

3\. The input difficulties of emoji today seems temporary. For example, a gesture interface to get you to the correct emoji.

4\. What about non-alphabetic written languages?

These seem like obvious first-order responses to the article, so I suspect I'm missing something (besides my first cup of coffee).

<comment><USER5> >What about non-alphabetic written languages?

Some English words can already be writen without using the alphabet. For example, '2015'. I believe numerals in English are used exactly as emoji (or Chinese characters) in Japanese now: embedded inside the sentences, which are composed according to the grammar of language.

>The input difficulties of emoji today seems temporary.

It depends on language, in Japanese input methods a lot of emoji can be written exactly the same way you write rest words.

<comment><USER6> As an example of the latter, the default first suggestion in my Japanese IME for "ha-to" is "" rather than "ハート".

EDIT: The symbol appears to have been stripped, but it was the unicode heart.

</comment></comment></comment><comment><USER7> A classic example of Betteridge's Law of Headlines.

[https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headline...](https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines)

</comment><comment><USER8> Though emoji is a young language, it already has great literature: [http://www.emojidick.com/](http://www.emojidick.com/)

EDIT: I tried to add something appropriate in emoji, but HN stripped most of it out.

</comment><comment><USER9> Predicted in the Diamond Age, it was called "mediaglyphs" I believe. (Or was that in Anathem?)

<comment><USER10> It's Diamond Age, and they were "mediaglyphics".

[https://www.goodreads.com/quotes/290233-what-are-letters- kin...](https://www.goodreads.com/quotes/290233-what-are-letters-kinda-like- mediaglyphics-except-they-re-all-black)

</comment></comment><comment><USER11> Emoji could be seen as introducing a common set of ideographs into the world's writing systems. They supplement existing languages, but seem unlikely to develop into their own language due to the conflicts in word order (SVO etc.) in the native languages of those using the emoji.

Nicaraguan sign language arose essentially in the absence of another language, i.e. deaf people couldn't speak Spanish. But the vast majority of emoji users already have a language and so there seems little impetus for them to develop a new one.

</comment><comment> guard-of-terra If they will, it will be not much easier to master than Chinese.

</comment><comment><USER12> Haven't emoji been huge in Japan and neighbouring countries for a long time now? They already are a language, but now it's spreading to western culture.

</comment><comment><USER13> I thought the same thing about rage-faces, which morphed into a kind of hieroglyphics before they went out of fashion.

</comment><comment><USER14> Isn't that APL?

</comment><comment><USER15> Betteridge's Law.

<comment><USER16> Lol, thank you for reminding us of this golden nugget!

</comment></comment><comment><USER17> Darmok and Jalad at Tanagra.

</comment><comment><USER18> Why is this even a question asked? It's child-like gibberish!

<comment><USER19> Will you please stop making fun of Visual Basic? Thank You.

Oh wait we were talking about emojis.

<comment><USER20> I thought I was still in the thread about UML ;)</comment></comment></comment>


Software engineering blogs - <AUTHOR> https://github.com/kilimchoi/engineering-blogs <comment><USER2> I expected to find a list of technical blogs but found "corporate" engineering blogs. IMHO, these are anything but engineering blogs.

Don't be fooled by engineering.company.com sub-domaines, most of them only scratch the surface of technologies and most of the time have unnecessary marketing noise.

If you really want to learn some technology, I advise against corporate blogs (except if your goal is actually to be aware of what technologies are companies using)

<comment><AUTHOR> I included airpair.com/posts and they actually contain interesting technical blog posts.

<comment><USER2> Didn't know about this one, looks interesting indeed. Thanks for sharing!

</comment></comment></comment><comment><USER3> Great stuff! Now if I someone can create a site with curated content from these sites so that I only need to visit only one site.

<comment><AUTHOR> Keep on the lookout! Working on it!

<comment><USER4> How about an OPML file we can upload it feedly?

<comment><USER5> Done: [https://github.com/kilimchoi/engineering- blogs/blob/master/e...](https://github.com/kilimchoi/engineering- blogs/blob/master/engineering_blogs.opml)

</comment></comment></comment></comment><comment><USER6> Shouldn't Swift's blog be included as well? [https://developer.apple.com/swift/blog/](https://developer.apple.com/swift/blog/)

Edit: Seems the OP did add it.

</comment><comment><USER7> _Software_ engineering blogs.

Not interested in opening up _that_ debate, but I thought based on the title this would be something else.

</comment><comment><USER8> What about [https://www.joyent.com/blog](https://www.joyent.com/blog), [https://strongloop.com/strongblog/](https://strongloop.com/strongblog/), www.brendangregg.com/blog?

Too devops-y?

<comment><AUTHOR> Not really. I think we can include all but Joyent one. Joyent one seems to have too many company PR stuff. Feel free to make a pull request if you wanna add something.

</comment></comment><comment><USER9> Great list. I enjoy reading corporate engineer blogs for the practical info vs purely technical ones

</comment><comment><USER10> Another one:

[http://yakking.branchable.com/](http://yakking.branchable.com/)

</comment><comment> 97-109-107 I used my prototype app for archiving-and-summary against this list - hopefully it makes it a bit easier (or entertaining) to browse: [http://server.wwwas.it/key/engineeringblogs2](http://server.wwwas.it/key/engineeringblogs2)

</comment><comment><USER11> Awesome news! Thanks for all your hard work!

Thesis](http://www.fairessays.com/services/thesis-writing">Thesis) Writing Service

</comment><comment><USER12> Ha! Great minds think alike. I did something similar awhile ago: [https://github.com/program247365/engineering- blogs](https://github.com/program247365/engineering-blogs) Would love to get contributions, and I'd host it.

</comment><comment><USER5> I was hoping for blogs by well known software engineers as opposed to lame company PR'ish blogs.

<comment><AUTHOR> I've started including blogs from individual software engineers. If you know anyone with interesting content, feel free to make a pull request. :)

<comment><USER5> Done. I guess next step would be categorizing them since, for instance, now I'm thinking of all the security-related blogs...

<comment><USER13> But then you have multiple dimensions: corporate vs. individual and security vs. non, so you have to start using a real CMS or your own code and tagging, not a plain file list on github.

</comment></comment></comment></comment><comment><USER14> I'm the editor for Redbubble's tech blog: [http://artplustech.com/](http://artplustech.com/)

Comments and Feedback welcome :D

</comment><comment><USER15> Would this count - [https://bvckup2.com/wip](https://bvckup2.com/wip) ?

<comment><AUTHOR> Looks more like a place to announce product updates than something that talks about interesting technical lessons or challenges.

</comment></comment><comment><USER16> [http://blog.lse.epita.fr/](http://blog.lse.epita.fr/)</comment>


Js framework to translate spreadsheet into webspp - <AUTHOR>

I am trying to translate logic from spreadsheet to webpage. spreadsheet basically is taking input from flat file and dbconnection and doing data transformation on the sheet. eventually user will only look at end result in small area which i will translate it into webpage. data input i will put in restful service and on the sheet transformation on client side. data binding and service in angularjs seems good solution. any suggestion very much appreciated. Some data needs to be real time as well. Thank you <comment><USER2> Google spreadsheets will let you view a small area of a spreadsheet in a web page. This would then leave the problem of getting the flat file and DB data into the sheet, options for this are google apps script OR google-spreadsheet- api.

You could post this to stackoverflow.

<comment><AUTHOR> cloud hosting is not my ideal solution as there is data protection issue. thanks for your suggestion</comment></comment>


Why Windows 8 Might Fail - <AUTHOR> http://www.pcmag.com/article2/0,2817,2389437,00.asp#fbid=rTzT1ufXaJM

<comment><USER2> More fundamental than the argument being made in this article is the rate of change.

I actually like Microsoft's Metro UI - I think it looks really good and makes a fair amount of design sense. I realize there are people who are with me and people who aren't. Now, that's not to say that I would or wouldn't take a WinPho over Android or iOS - I just like the way it looks and operates.

As a phone/tablet OS, it's great. But shoving it onto desktops this quickly is shortsighted (and, knowing what I know about Microsoft, probably a result of a bit of hubris). By forcing Windows users to make the switch to Metro (which is _completely_ different than explorer.exe), Microsoft is going to create a lot of user backlash - it's a completely different computing experience than what Windows users have come to expect.

What Apple gets that Microsoft doesn't is that, while both agree that simpler, more elegant UIs are the future of computing, you can't just force an entrenched desktop user to switch to a mobile interface overnight. Lion introduced a number of iOS like features to OS X, but it didn't completely reinvent the wheel like Microsoft is trying to do with Win8.</comment>


Macro-mind thinking - <AUTHOR> https://consciouscompanymedia.com/personal-development/macro-mind-thinking/ <comment><USER2> Switching context from, for example, focusing on a specific programming problem to taking a macro view about what you should be doing next in business can be challenging.

Over about ten years, I've come to a solution that works for me. My context is that I'm working on a startup. It's my third and I've had success previous ones (millions of dollars in annual revenue though not billions).

\- Every morning, I spend 25 minutes outside my office to plan my day which includes asking questions about what I should be working on that brings value. Because it's the first thing I'm doing, I start with a clear mind. Once I know why and what I should be doing, it's pretty easy to get into focusing. The reverse is harder to do.

\- Once a month, I take a day off outside the office to focus on strategy. I stay in a hotel though I recognize not everybody has the budget for it. Took a while to figure out this worked. I originally started with the idea of doing it when I think I needed it. Problem is that when you feel under pressure to complete something, is when you don't want to take the day to clear your mind and strategize but is precisely the thing that helps the most.

\- Still trying to figure out the best for this, but 2-4 times a year I'll spend 3-5 days on big picture strategy.

It took a long while to have the discipline to take the time to clear my mind and strategize. The idea of I'll take it when I need it didn't work well but scheduling it did.

Eventually, I realized that not wanting to spend time to clear my mind and strategize is a signal that I should be doing precisely that. It's helped to force me to take the time.

That said, I don't think it's necessary to force oneself to do this as a hard rule. I do break the guidelines under situations, but when it becomes extended, it's a sign to take the time.

</comment><comment><USER3> In the text, the author writes "Don't get me wrong. Focus is important, and it's worth developing this capacity". But titled the article "Stop Trying to Focus". Am I the only one to be annoyed with this sort sort of click bait?

<comment><USER4> Especially after just having read "Deep Work" by Cal Newport.

</comment></comment><comment><USER5> How ironic that a post created to help you be more productive is riddled with ads, social links, a subscribe bar, a register for an upcoming event bar, etc...

It's tough for me to ever take content from a website like this seriously.

<comment><USER6> > It's tough for me to ever take content from a website like this seriously.

No need to worry, the content itself is hard to take seriously.

> "Do nothing: This is the advanced practice, the double-black diamond > approach to developing the macro-mind."

Ah yes, double-black diamond, can't go wrong with that now can you?

Why do people (a) post something like this here and (b) upvote it? It implies a serious lack of critical thinking.

</comment></comment><comment><USER7> I didn't care to read all of this because by BS sensor tingled and it can all be summed up in a word: holism.

You can be intensely focussed with a holistic mindset in the exact same way you can be intensely focussed with a diagnostic mindset. It's not about being closed or open minded (macro/micro mind being synonymous).

You can focus on the whole or you can drill down to one of the parts. The focus in both cases is equal, you just have different objectives in mind.

You're either looking at all of it, or looking at some of it.

</comment><comment><USER8> I think this article touches a topic that exists under many names in different circumstances: micro vs macro, depth vs breadth, specialist vs generalist, etc.

This topic surfaces in various situations and with different granularities in life. Some examples:

\- should I just do B.S. in CS, or should I also do PhD to go deeper?

\- should I just focus on my interest in CS (study CS and develop career), or also spend some time to expand my interests in other areas of life (friends, fashion, tv shows/movies, video games, languages, poker, dancing, drinking, politics, history, etc)

\- should I continue focusing on one component of the company I am currently in, or should I try to understand everything?

\- should I continue seeking more success in life at the cost of some sacrifices, or should I eventually stop and focus on being a good father?

\- should I mostly explore and be happy with myself (introvert)? should I also explore and find joys with others (extrovert)?

These are some of questions I had to answer for myself. When I was younger, my answers used to be very polarized to one side. As I gain more life experiences, I realized that the answers for these kind of questions usually lie somewhere in between. It's important to explore where one's fine balances between extremes lie. I am happy that I found a set of balances that seem to work for me.

</comment><comment><USER9> Isn't it now called "Adobe Thinking"?

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

        MacroMind

        Industry:     Software
        Fate:         Merged with Paracomp
        Successors:   MacroMind-Paracomp (1991)
                      Macromedia (1992-2005)
                      Adobe (2005-present)
        Founded:      1984; 35 years ago in Chicago, Illinois, United States
        Founders:     Marc Canter
                      Jay Fenton
                      Mark Stephen Pierce
        Headquarters: San Francisco, California, United States
        Products:     MusicWorks, VideoWorks, Art Grabber / Body Shop,
                      Comic Works / Graphc Works, MazeWars+, Director,
                      Three-D, MacroModel, Fireworks, Mouse Practice

</comment><comment><USER10> If this isn't fluff, then I don't know what is. The usual run of the mill, new byte sized words and overcomplicating simple concepts that most of us inherently do.

Of course, the author is a consultant in corporate "well being". Nothing bad initially but when it's fluff.... nay!

</comment><comment><USER11> A long time ago somebody told me and I sort of agree, that the smartest people have no problem shifting between the two perspectives. I don't remember too well, but he may have even gone so far as to define or distinguish smart people by this criterion. (Not sure whether I agree with that part.)

</comment><comment><USER12> Man I really hate all the crap websites like this put on their page these days. What's wrong with reading the article as the first thing you see? Scroll-throughs and clickables and cookies oh my.

</comment><comment><USER13> Focus != perspective

Not in productivity. Not in photography</comment>


Why I Cloned My Dog - <AUTHOR> https://www.nytimes.com/2018/03/02/style/barbra-streisand-cloned-her-dog.html <comment><USER2> Dog cloning is brutal. Companies have to go through many many attempts before they get a good result. Who knows how many attempts they had to try before they got the result they wanted. They go through all of this and ultimately it is not the same dog.

I wish she would have gone to the pound to save a life there. I hope cloning doesn't become a trend.

[http://www.humanesociety.org/issues/cloning/qa/questions_ans...](http://www.humanesociety.org/issues/cloning/qa/questions_answers.html)

[https://io9.gizmodo.com/5949612/why-cloning-is-a-terrible- wa...](https://io9.gizmodo.com/5949612/why-cloning-is-a-terrible-way-to-bring- your-pet-dog-back-from-the-dead)

<comment><USER3> She know's it is not the same dog. From the article:

> You can clone the look of a dog, but you can't clone the soul. Still, every > time I look at their faces, I think of my Samantha...and smile.

Why or how is cloning brutal? I assume that the cloning attempts generally fail before any kind of viable multicellular life?

<comment><USER2> Some dogs are born and have to be euthanized since they don't meet the results they want. It's a hope and see process. They hope it will be good but there's no way to know until you have a real dog in many cases.

</comment></comment></comment><comment><USER4> Cloning a dog seems benign, but I suspect that, before long, people will be cloned, too. There are certainly creepy possibilities, e.g., "The Boys from Brazil," which imagines Hitler clones, but also thought-provoking scenarios, e.g., allowing parents to clone a child who died in an accident. What a brave new world we're entering!

<comment><USER3> Hitler clones would be interesting. Hitler didn't have a great early life - would he have been different if he grew up in a healthy household with two loving parents?

<comment><USER5> Yes. A recent twin incident proved that nurture plays a surprisingly large role, larger than was expected by the investigators.

[http://www.bbc.com/news/world-latin- america-35220779](http://www.bbc.com/news/world-latin-america-35220779)

<comment><USER6> I'm not sure, the article doesn't mention any of that.

It actually tries (weakly) to claim the opposite, with statements like "Carlos and Wilber both had very similar white mobile phones" and "We are a little bit more ego-centric, bigger flirts."

Nothing about nurture playing a role though.

<comment><USER5> It's the first article I could find that referenced the twins in question. But researchers said they were surprised how much impact upbringing had. Unlike a lot of twins separated at birth, these were raised in very different socioeconomic circumstances.

Project about them: [http://drnancysegaltwins.org/bogota-twins-project- gallery](http://drnancysegaltwins.org/bogota-twins-project-gallery)

The best reference I can currently come up with is this comment by tokenadult who has a longstanding interest in twin studies:

[https://news.ycombinator.com/item?id=10100109#10100644](https://news.ycombinator.com/item?id=10100109#10100644)

</comment></comment></comment></comment></comment><comment><USER7> $50k to clone according to the company's website - take that money and put it to a far better use.

<comment><USER8> Her net worth is $340 million. $50k is not a huge amount for her.

<comment><USER9> No, not for her.

But $50K could be life-changing for lots of people.

$50K donated to a battered women's shelter would probably do more good than $50K spent cloning a dog.

And I speak as one who has a dog whom I love so much that if I had Streisand's wealth, I'd be seriously tempted by the cloning option, but wouldn't do it.

If tech progress brought the cloning cost down to $1K, I'd rethink the matter.

<comment><USER10> _> If tech progress brought the cloning cost down to $1K, I'd rethink the matter._

Rich people splashing $50k on it when its brand new is exactly how this comes about.

Lots of people with "too much" money buy stupid cars you can hardly sit in and ridiculous mechanical watches that barely keep time for far more. This seems pretty tame to me.

<comment><USER7> Yeah, that's actually a thing I was thinking about. Rich people doing "stupid" things actually finances companies to improve and advance so that "stupid" things become affordable. $50k is dumb. $1k, I'd think about. $300, I'd do today for my 14 1/2 year old "bullet" (pitbull+basset) mix dog :)

</comment></comment></comment></comment></comment><comment><USER11> > Why I Cloned My Dog

"Because I have money"

</comment><comment><USER12> I'm probably just out of touch, but what's with the obsession with dogs, anyhow?

> I was so devastated by the loss of my dear Samantha, after 14 years > together, that I just wanted to keep her with me in some way. It was easier > to let Sammie go if I knew I could keep some part of her alive, something > that came from her DNA. A friend had cloned his beloved dog, and I was very > impressed with that dog. So Sammie's doctor took some cells from inside her > cheek and the skin on her tummy just before she died. And we sent those > cells to ViaGen Pets in Texas. We weren't even sure if the cells would take.

I mean, imagine if someone said this and it was a _human_. You'd look at 'em like they're insane [1].

[1] By the way, this is literally a Black Mirror episode, S02 E01 (edit: Thanks for the correction!)

<comment><USER13> I'm not sure how entitlement is relevant here, except to excessively shame her. Entitlement is the view that people owe you something; it's not like this person had the moral expectation that society owed her anything with regards to her pet.

</comment></comment><comment><USER14> I read about dog cloning a few years ago.

I _believe_ it was done in China.

One of the company's promises was that they would not charge for failed attempts at cloning.

That lead me to think that they clone dogs and kill them if they don't look like they should and keep doing that until they're happy.

Is this true?

<comment><USER15> You almost certainly read about the South Korean company. (I'm not sure if there are any Chinese ones yet, it's plausible, but they must get less publicity.) Killing dogs would probably cost too much since the yields won't be too great, and more importantly, they have to deliver both quickly and as puppies. No one pays ~$50k for a clone of their dog or cat and doesn't take delivery as a puppy/kitten. How do you know they will grow up to not look like they should? They're just cute little balls of fluff.

<comment><USER14> Well, they said there would be multiple attempts, so I assume they're looking for eye color, patterns in the fur and stuff like that?

<comment><USER15> I think by multiple attempts they mean the viability of the cloning process itself. It's a tricky process and a lot of the cells or embryos will just die on you for various reasons. This is true even of human IVF: if you harvest 5 eggs from a woman, she'll be somewhat lucky to get 1 child born. This is because some of the embryos are clearly abnormal, die while stored, when implanted don't 'take' and result in a pregnancy, or the pregnancy ends in a miscarriage or stillbirth, so on average you need 5+ eggs to start with and many women will have to do 2 (or even more) IVF cycles to get their child. (And you can lose them after birth too! As OP notes, the runt of the litter died.) Similarly with cloning: you just lose lots of embryos along the way from 'cell sample' to 'happy panting healthy puppy delivered to new owner'.

</comment></comment></comment></comment><comment><USER16> I'm not one to tell Barbra how to spend her money, but I think she should stop portraying herself as a textbook liberal and champion of the 99%. It doesn't ring very true.

<comment><USER17>
      champion of the 99%

In practice, she's most comfortable with the 1%.

[http://www.malibutimes.com/news/article_bdc5ada0-dd0e-5c38-b...](http://www.malibutimes.com/news/article_bdc5ada0-dd0e-5c38-b923-34902fc6fe82.html)

Hence the term, "The Streisand Effect"

[https://en.wikipedia.org/wiki/Streisand_effect](https://en.wikipedia.org/wiki/Streisand_effect)</comment></comment>


Lanhammer gaming competition - <AUTHOR> http://blog.readyforce.com/press-releases/readyforce-powers-lanhammer-2013-gaming-competition/?utm_source=HackerNews&utm_medium=post&utm_content=HN&utm_campaign=LANHAMMER

<comment><USER2> I went to 2 of the Winter Gamefests during my time at UCSD and they were both awesome. Last one I went to they had professional SC2 commentators and giant screens for the games. It was like being at a Korean stadium.

If Zhu and Wu can throw events like that on a meager public education budget, I can't wait to see LANHAMMER crush some faces with the backing of Readyforce. Blood for the Blood God, skulls for the skull throne!</comment>


Rumblr Is Tinder for Fighting People - <AUTHOR> http://venturebeat.com/2015/11/06/rumblr-is-like-a-dating-app-but-for-fistfights/ <comment><USER2> This was an idea originally from 4chan[1], it will be interesting to see if it passes approval.

1: [http://i.imgur.com/t8w4fvCh.jpg](http://i.imgur.com/t8w4fvCh.jpg)

</comment><comment><USER3> Hilarious.</comment>


Ask HN: How to share equity and talk to a potential partner ? - <AUTHOR>

Hello folks,
I have been working on a application for a Social Networking Platform. I did a version 1 (designed DB, implemented backend, and the front end ) and released it to test it out. Now, I am adding another feature to it for which I need someone with a good front end experience as it's too time consuming and distracting for me. I found someone to help me with the front end(Flash, as he is good at it). We both will continue the development along with our existing full time jobs, so basically weekends/evenings. The idea is based on my understanding of the user base and other demographics. I am treating it like a fun side project with revenue if any being tied to advertising/virtual currency.
My question is how should the potential revenue be divided once he jumps into the project as a Front End Dev ?
[ i. I already did some work already(how to quantify that),
ii. I am also paying for hosting, iii. I had the idea (even though it's not rocket science) ] <comment><USER2> Timeless piece: The Founders' Pie Calculator

[http://www.andrew.cmu.edu/user/fd0n/35%20Founders%27%20Pie%2...](http://www.andrew.cmu.edu/user/fd0n/35%20Founders%27%20Pie%20Calculator.htm)

<comment><USER3> How seriously should I take an equity allocation scheme that (1) ranks "writing a business plan" alongside "idea" and "execution" and (2) was written by someone who has never held an operational role in any company? (Yeah, I did look him up. 10,000 jobs created, you say!)

<comment><USER2> You are misrepresenting the paper - it requires assigning weight to each particular area. You can assign "business plan" smaller weight than "execution" if you and co-founders agree on the relative importance. But you have to have this conversation.

Also, the argument has value separately from the person behind it.

</comment></comment></comment><comment><USER3> My take: don't divide the revenue; that's like dividing equity. If he's unreasonable, anything else you do in the future is going to infringe on his perceived royalty rights.

Think about coming up with a conservative estimate of what you'll do with this product quarterly, and offer him a flat $N, based on a generous share of that estimate, for any quarter in which (a) he has in that quarter contributed code to the most recent significant version released as of that quarter and (b) you made at least $N. You take the risk in weak quarters, and you retain all the ownership.

</comment><comment><USER4> I think there are no hard and fast rules about equity sharing. What matters is not so much what each has done as what each _will do_.

So the question is not so much what each side has done but the role you see your new partner taking in the future. If you two see each other as partners in the venture, the split should probably be something like 60-40.

If you see him as someone who will do a bit of front-end dev and then move on to other things, you should give him less.

Although of course, it's always a negotiation and is based very much on intangibles: how much you guys like each other, see yourselves working together in the future, how talented you think he is, i.e. if you think he's a star you should give him a big share of the pie to entice him and keep him involved in the project.

In general though, the guy who started the company (i.e. you) should get a majority of the equity and the people who come later should get equity/options based pretty much on an asymptotic curve with equity on the y axis and time joined on the x axis.

This might be a bit complicated for a side project but you should think about founder options to avoid the "YouTube syndrome" of one founder bailing early and still getting a big payday if it comes to that, and give your partner an incentive to stay involved over the lifespan of the project.

So basically, if you think of him as a full-fledged partner, it should be something like 60-40, and if you see him as less than that it should be something less, and you should think about founder options.

<comment><AUTHOR> I am OK with the fact that if he is an equal contributor in this project that I would be happy to divide the revenue( or equity) equally.

However, I think I need to make it clear to him that I am taking a personal expense on the server cost as of now and into the future till if/ we make any money or just leave it behind as a fun project that we both collaborated on it. I think 60/40 sounds fair and reasonable. [I would love to hear other people's opinion on it]

A few questions further into it:

1\. Say we do it 60:40 (informally say over email records), what happens if he works on for a while and ...

      a. does a good job and then decided to not continue for X reasons.

      b. does not get anything done for X reasons and decides to move out of it.

2\. This is a pure fun project on the Social Networking platforms. So, it may or may not work like N other applications. Is this the right time to talk about it and how to bring this revenue sharing idea into the discussion without loosing the other parties interest?

</comment></comment><comment><USER5> 50-50 or else the project will never get done!

<comment><USER4> I'm no startup founder (yet!) but as someone who's worked with a lot of them when I was in law, that is the surest recipe for disaster, because as soon as there is a disagreement between the founders there is no one who can make decisions.

As one of my law profs (who also has tons of business experience) said to me: "If you remember two things from law school, it should be these: never share equity 50-50, and always have a prenup."

</comment></comment><comment><USER6> Did anyone else read the headline as a request for spousal advice?</comment>


Ask HN: Any chance to profit as C addicted? - <AUTHOR>

Hey fellas, I'm wondering if there is by chance a way to profit as a C addicted in today's web oriented world? <comment><USER2> This web orientated world is build on C. The interpreters, databases, servers are mostly written in C. The web has meant that companies now have access to more data then they can process so high performance code is becoming more important. Also, too many web apps don't care about the performance of their code because they just put an interface on something trivial. But there is a huge range of problems that require on-demand high performance.

</comment><comment><USER3> Embedded systems might work... that's (part of) what I'm doing.</comment>


Don't Hire Cheap Hackers – write simple programs yourself - <AUTHOR> http://www.cyrusstoller.com/2011/03/24/dont-hire-cheap-hackers/ <comment><USER2> It often takes an expert to know whether a job is simple or not. And it often takes that expert some investigation to find out. DIY is fine, but specialization of labor is fine too.

Also, web scraping is a great example of something that can either be simple or complex depending on many non-obvious things.

</comment><comment><USER3> A very good advice. One thing was left out, I think. Implementing the program one self the implementor may:

* Gain an insight into the problem he was trying to solve he would not have otherwise had

* When faced with unexpected complexity, the implementer may choose to solve a less complex version of the problem that may still provide added value, or choose to go some other route entirely.

I think this last bit cannot be overstated enough. The easy problems in programming are usually so easy that even novices can solve them in a sensible time, while the hard problems can be hard to get right no matter how many years you have under your belt. Often by changing ones approach the problem can be reformulated into an easier one.

If the work is hired, then the consultant may lack the initiative, intuition, courage or experience to go for the possible alternative approach to solve the given problem.

Of course, all this depends on the quality of a problem.

</comment><comment><USER4> It takes expertise and experience to know which problems are complex - on the surface all problems are simple.

</comment><comment><USER5> Thinking of "programming" as a completely separate field, to be "done" by specialists only, is highly unfortunate.

All "programming" really is, is formulating what you want done precisely. A compiler can take it from there. Where a specialist in "computers" comes in, is he can optimize your algorithms to run more efficiently. But in more cases than not, what "programmers" are tasked with, is to "just make it work", with little more specificity than that. And then the garbage inputer gets upset because he gets garbage back out.

SQL was originally, back when clarity of thought was still considered fashionable in executive suites, intended to be used by decision makers. "Specialist" IBM "programmers" provided the code that accessed and processed the relevant records efficiently, but the person who wanted an answer, often a C level, was the one tasked with specifying what he wanted done. With enough precision that his question made sense.

<comment><USER6> I agree with you that programming shouldn't be done by specialists only. I also think that's the way computers are supposed to be used (as Steve Jobs put it, a bicycle for the brain).

However, I also experienced the problems this will cause. I was working at a software company, where the software was started by non-specialists who then took over the development section. It was a mess.

</comment></comment><comment><USER7> It all depends on whether something is worth your time or not. A person whose time is worth more might find it more valuable to hire someone whose $/hr is half of his (not necessarily cheap) who can get the job done in less than twice the # of hours he would take. There are some problems / jobs that are just tedious that don't require a person with 10 years of experience to complete - those are the kind that are worth hiring for.

</comment><comment><USER8> My takeaway from this article: if a client tells you he needs a hacker to do an "easy" job, tell him to do it himself. If he thinks it is easy he won't value your work anyway.

"I know it is easy, I mean, how hard can it be? It's just not my area, you know, so I think you should do it... but since it's easy, I won't pay you much and I won't appreciate your work. So when can you start?"</comment>


Ask HN: What can be fixed easier now that people need to stay at home? - <AUTHOR> <comment><USER2> The roads.

</comment><comment><USER3> They could be doing a lot of road work esp on the interstates.

</comment><comment><USER4> homes (cleaning, small repair) and gardens (if people have them)</comment>


Hamburger icon: How these three lines mystify most people - <AUTHOR> http://www.bbc.co.uk/news/magazine-31602745 <comment><USER2> It would really be great if people stop calling it the "Hamburger" icon, and just dub it as the "Menu" icon.

When I ask someone (who is not clued into UX discussions, e.g. my parents) to look for the "Hamburger" icon, they expect to find a literal hamburger shape. Ask them to look for "three or four parallel lines", and they find it faster. I've then asked them to learn is as the "Menu" button, and that seems to stick. Otherwise, it is GOTO START ;) !

So designers everywhere, please change this horrible name and use a more easy to grok name.

<comment><USER3> oh. I though it meant "settings" and every time I see both the hamburger icon (that we're discussing) and the gears icon (a common icon for settings, preferences, configuration) I get confused as to how I'm supposed to guess where you've put what I want.

<comment><USER4> Just click around until you find what you need. You even get to know the entire app if you do that. You're not going to blast a nuke or kill someone by clicking, after all.

<comment><USER5> There's often no, or poorly implemented, undo on mobile so you risk data loss or mass-communicating something wanted to keep private or screwing up some setting and no way to retrieve it.

And it's not just "click the visible elements until you achieve the disired result", it's touch visible and invisible elements, combined with all the differen touch-gestures you know, in the hope that you'll get what you want, but possibly not.

<comment><USER3> This is actually how I always pictured the technology of the future. (Same as when I think about the interface from Minority Report - i.e. Tom Cruise is just gesturing around aimlessly, not able to actually do what he's trying to.)

Who would have thought that when it came to mobile tech, we actually WOULDN'T have figured it out! Just click around and hope you don't destroy anything. It actually _is_ just like it looks in scifi films :)

<comment><USER5> Someone needs to redub that Minority Report scene with error messages and frustrated tom cruise unable to achieve anything.

Or the star trek computer mis-hearing what everyone says.

</comment></comment></comment></comment></comment></comment><comment><USER5> > Putting the hamburger inside a box, so it looks like a button, increases use > by 22.4%.

I'm glad to see evidence that shows the extremes of flat designs has stupid ideas.

<comment><USER6> B-b-but skeumorphism sucks, right guys?..

</comment></comment><comment><USER7> Sadly Microsoft is in a rush to embrace the 'hamburger menu' in Windows 10 (mobile and otherwise), basically because it's common on the dominant mobile platforms: [http://www.windowscentral.com/why-microsoft-hamburger- menus-...](http://www.windowscentral.com/why-microsoft-hamburger-menus- windows-10-phone)

</comment><comment><USER8> Doesn't it represent a "list"? As in a menu, a list of things..

<comment><USER9> I Think people would pick up on that more if it had more but thinner lines. Or maybe broke up the lines into something that looked like text.

</comment></comment><comment><USER10> It's funny to read how differently this icon is interpreted. I always saw it as a menu and could for the longest time not figure out what this hamburger was.

I really like the "equal sign gone wrong"

</comment><comment><USER11> TIL - people call the menu icon the "hamburger icon". Am I the only one who's never heard of the "hamburger icon"?</comment>