Martini: Classy web development in Go - <AUTHOR> http://martini.codegangsta.io

<comment><USER2> I really like the look of this. There's some very clever API design going on here, and it's clearly taking advantage of Go's language features rather than just trying to be a clone of a framework from another language.

I particularly like the service injection concept. Django forces every view function to take a request object and return a response object. Flask makes these optional, but then requires you to use global variables to access more information from the request. Martini attempts to resolve any arguments it sees by looking up their static type against a service directory. I think that's really clever.

The way it allows you to stack up Handlers is neat too. Django does this with either globally applied middleware or per-view-function decorators, but there's something really neat about just taking a list of functions for things like authentication and "stacking" them on top of each other - or having that same function applied as middleware to every request using m.Use(func...). Using Context.Next() to allow that middleware to "wrap" a request (the equivalent of Django's process_request and process_response pair) is clever as well.

Colour me impressed!

<comment><USER3> > The way it allows you to stack up Handlers is neat too.

Ditto. I _especially_ like that it's fully compatible with the existing http.HandlerFunc interface, which is a big deal. This means you can just write "regular" handlers as middleware (or bring them over from existing code) without having to reinvent the wheel.

I also very much like the way it leaves sessions up to you. A few other Go frameworks leverage http.Cookie, instead of letting you use something like gorilla/sessions. I'm a big proponent of server-side sessions (wherever possible) given how simple gorilla/sessions + Redis can be to set up.

I'm a little tempted to use this myself (I've been going mostly naked so far) for my weekend (read: also weeknight) project, given that all the "real" logic (middleware, DB queries, etc.) can be dropped in alongside it.

<comment><USER4> Yup. Making the "dropping in" part easy is partly why Martini can be kept clean on the number of dependencies it pulls in. The only external dependency on Martini is [https://github.com/codegangsta/inject](https://github.com/codegangsta/inject) which I maintain anyway :)

</comment></comment></comment><comment><USER5> A list of Go webframeworks. Sorted by activity. Last commit as of 14. Nov 2013

[https://github.com/codegangsta/martini](https://github.com/codegangsta/martini) Last commit: 2 hours HN discussion: [https://news.ycombinator.com/item?id=6731022](https://news.ycombinator.com/item?id=6731022)

[https://github.com/astaxie/beego](https://github.com/astaxie/beego) Last commit: 1 day ago

[https://github.com/robfig/revel](https://github.com/robfig/revel) Last commit: 4 days ago [https://news.ycombinator.com/item?id=5996712](https://news.ycombinator.com/item?id=5996712)

[https://github.com/aaronlifton/Gooo](https://github.com/aaronlifton/Gooo) Last commit: 1 month ago [https://news.ycombinator.com/item?id=5057108](https://news.ycombinator.com/item?id=5057108)

[https://github.com/hoisie/web](https://github.com/hoisie/web) Last commit: 5 months ago [https://news.ycombinator.com/item?id=6715547](https://news.ycombinator.com/item?id=6715547)

[https://github.com/paulbellamy/mango](https://github.com/paulbellamy/mango) Last commit: 9 months ago

<comment><USER6> here another one :)

[https://github.com/pilu/traffic/](https://github.com/pilu/traffic/)

</comment></comment><comment><USER4> Author here. Super flattered to see all the feedback coming in. I built this package to suit my own picky needs.

Martini is meant to be non-intrusive and braindead simple to use. Hope you guys like it!

<comment><USER7> looks great, thanks!

</comment></comment><comment><USER8> I usually don't like video walk-throughs, but this one was very snappy and a pleasure to watch.

By a happy coincidence, I was just going to start building an API backend in Go today or tomorrow for a side project, and was thinking about doing it with vanilla Go but now I'll probably give Martini a shot (!).

<comment><USER9> This one was good, I don't know if there is sound as I watched it silently, but it was perfect even without it.

Im hooked, likely to start learning go soon. P.s. Big respect for being able to make the video below 3 min.

</comment></comment><comment><USER10> Would be really nice if the demo was in a normal web page instead of a video. (Also, I'd love to know what vim(?) extension provides the interactive completion with the function signatures! That looks really cool.)

<comment><USER11> Probably gocode, which is a daemon that works with different editors to offer autocompletion (i.e. vim, emacs, etc): [https://github.com/nsf/gocode](https://github.com/nsf/gocode)

<comment><USER12> GoSublime also utilises gocode for ST users: [https://github.com/DisposaBoy/GoSublime](https://github.com/DisposaBoy/GoSublime)

</comment></comment></comment><comment><USER13> This appeared in reddit[1] before Hacker News and he has already been asked[2] how does this compare to revel and beego.

[1] [http://www.reddit.com/r/golang/comments/1qlfvp/martini_class...](http://www.reddit.com/r/golang/comments/1qlfvp/martini_classy_web_development_in_go/)

[2] [http://www.reddit.com/r/golang/comments/1qlfvp/martini_class...](http://www.reddit.com/r/golang/comments/1qlfvp/martini_classy_web_development_in_go/cde0yez)

</comment><comment><USER14> Great work Jeremy. Although there are a number of web frameworks similar to Sinatra on go, this feels to me to be the most natural. The care taken to present this well shows this project has promise.

Are you looking to make this more full featured with an ORM/persistence layer (i.e Rails) or keep it small and similar to Sinatra?

<comment><USER4> The idea is to keep it small with lots of packages that work with it. It is easy enough to add any ORM instances (gorp, gorm) as a service so it can be injected into a Martini Handler.

Thanks for the feedback!

</comment></comment><comment><USER15> Very cool. Reminiscent of express.js, but statically typed and in Go. I may look at this for future projects.

<comment><USER16> Looks like a lot of reflection. At that point, I would just stick with express and node. All that magic comes at a cost.

<comment><USER3> > Looks like a lot of reflection. At that point, I would just stick with > express and node. All that magic comes at a cost.

There's _one_ use of reflection[1], and it's to ensure that the argument is a function.

Reflection isn't inherently bad; using it at the drop of a hat is.

[1]: [https://github.com/codegangsta/martini/blob/master/martini.g...](https://github.com/codegangsta/martini/blob/master/martini.go#L102)

[edit]: Looks like I missed the `inject` import (thanks breakpete)

<comment><USER17> There is more. The dependency injection implementation is based on reflection, using the [https://github.com/codegangsta/inject](https://github.com/codegangsta/inject) package.

See e.g

[https://github.com/codegangsta/martini/blob/master/martini.g...](https://github.com/codegangsta/martini/blob/master/martini.go#L136)

[https://github.com/codegangsta/martini/blob/master/martini.g...](https://github.com/codegangsta/martini/blob/master/martini.go#L75)

Still, the end result is a nice API.

</comment></comment></comment></comment><comment><USER18> Newbie question here, I've looked into gorilla/mux before, how does Martini compare to it? Do they serve the same purpose? Does it offer more features? Is it easier to use?

Great-looking website by the way. The first impression is a good impression, it's very polished.

<comment><USER12> Martini seems to be a bit more of an inclusive solution more akin to something like Revel, whereas Gorilla seems to be tackling the problem by making a number of standalone components that you can tie together yourself.

I've done a small project in both Revel and with Gorilla components and found that I actually enjoyed implementing things using Gorilla packages more, giving a great deal of flexibility and not hiding too much in the framework like Revel does.

</comment></comment><comment><USER19> Very nice. It can be easily used to serve subtrees of another go web framework that accepts http.Handler (e.g. appengine):

        m := martini.Classic()
        // ...
        http.Handle("/", m)

</comment><comment><USER12> This is amazing, I love the DI with services! I always preferred Gorilla to things like Revel because it wasn't so opinionated, and this seems closer to Gorilla but with this clever idea of services.

I threw together an example app with templating and database access as services, I'm impressed by how concise it is.

[https://gist.github.com/mickhrmweb/7479583](https://gist.github.com/mickhrmweb/7479583)

</comment><comment><USER20> Seems to be missing documentation.

<comment><USER2> The docs in the README are a good start: [https://github.com/codegangsta/martini](https://github.com/codegangsta/martini)

In fact, having now read the rest of the code, they're pretty much comprehensive.</comment></comment>


33554428 in safari  - <AUTHOR> http://d.pr/i/IHi3

<comment><AUTHOR> so i just wrote a page with "bfc" method.

and the "main" div has a really big width like:

      width: 100000000000000px;

however when i inspect this element in safari's inspector, it shows as "33554428px" width, it seems to be a safari upper boundary huh?

<comment><AUTHOR> by the way:

> 33554428 .toString(2) '1111111111111111111111100'</comment></comment>


The Congressional Throughput Problem: Do We Need More People in Congress? - <AUTHOR> https://medium.com/@datarade/the-congressional-throughput-problem-do-we-need-more-people-in-congress-3aa8280da157

<comment><USER2> P(lose|can't raise money)=low ??

Also, raising the number of Congresspeople would raise communication costs between them significantly, making it harder to coordinate on bills.

<comment><AUTHOR> oops. thanks for catching the error. just noticed that.</comment></comment>


The Human Cost of the Ghost Economy - <AUTHOR> https://longreads.com/2017/12/13/the-human-cost-of-the-ghost-economy/ <comment><USER2> Great organizations hire their own janitors into full-time roles.

The short-term-profit seeking that's become pervasive in our economy heavily discourages any hiring you can out-source (and similarly discourages any R&D that won't pay out this quarter).

Organizations that outsource all but their "core competencies" to temp agencies will remain fully incompetent outside their core, and due to extra layer of employment abstraction, they have little chance of seeing a cross- pollination between folks in the undervalued roles they outsource, and overvalued roles they hire for.

edit: I can't help but be reminded of this interesting article: [https://www.nytimes.com/2017/09/03/upshot/to-understand- risi...](https://www.nytimes.com/2017/09/03/upshot/to-understand-rising- inequality-consider-the-janitors-at-two-top-companies-then-and-now.html)

<comment><USER3> What great organizations are left that hire their own janitors as full FTEs?

<comment><USER4> We just changed from a cleaning agency to two full time cleaners and it was a great move.

Rather than having an agency that has a specific list of things they will clean (and nothing outside of that unless you negotiate with the agency), the cleaners just have the goal of making the office a nice place for our staff.

That means they can feel free to use their initiative to make the office not just clean but also tidy.

It's made a big difference in just a few weeks.

<comment><USER3> So you give them health insurance? That's nice!

</comment></comment></comment></comment><comment><USER5> I'm pleasantly surprised to see the author comment on a positive aspect of the experience. That is usually not done, or, worse, is done in a manner that negates the overarching point that this a net negative.

It's a good read, but I have my reservations about pieces like this. It wallows in the experience, making of human suffering entertainment, often for better off people who will never experience such. Meanwhile, for all that it provides criticisms, it doesn't suggest solutions. And that makes me uncomfortably aware of the possibility that the article itself is one more means for the most desperate and destitute to be used for the benefit of the relatively comfortably well off.

</comment><comment><USER6> To paraphrase the old paper towel ad: Is your logistics/warehouse division breeding _Bolsheviks?_

<comment><USER7> I have to ask what ad this is, it sounds pretty funny from the description.

<comment><USER8> [https://thesocietypages.org/socimages/2010/11/09/is-your- was...](https://thesocietypages.org/socimages/2010/11/09/is-your-washroom- breeding-bolsheviks/)

</comment></comment></comment><comment><USER9> "When you are poor..."

When you are poor, then every DECENT and legal job is fine.

People say that there is not job and its not true. If you find then you could get. However, most jobs are crap but crap that its legal and decent. My first job was 12h x 7 days, however, i enjoyed and earned money. In my second job, i doubled my salary and so on.

There are a lot of people that simply don't want to work. Usually the first job is crap. But most people want a perfect job without having the degree, experience and expertise.

And if you can't find a job then join the army.

<comment><USER10> Yeah you give some horrible advice.

<comment><USER11> Would you please stop posting unsubstantive comments to HN? We eventually ban accounts that do that. Instead, if you'd read [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html) and [https://news.ycombinator.com/newswelcome.html](https://news.ycombinator.com/newswelcome.html) and maybe even [http://paulgraham.com/hackernews.html](http://paulgraham.com/hackernews.html) and take the spirit of the site to heart, we'd appreciate it.

<comment><USER10> What else should I say? Telling people to just join the army OS horrible advice? Do I need to write a 30 page novel about it?</comment></comment></comment></comment>


High-Tech Push Has Board Games Rolling Again - <AUTHOR> http://www.nytimes.com/2014/05/06/technology/high-tech-push-has-board-games-rolling-again.html?hpw&rref=technology&_r=0 <comment><USER2> My family with two teenagers has recently discovered that board games (specifically Dominion) are the most effective and enjoyable means of communication. We have spent over $250 on expansions and accoutrements. It is worth every penny and more.

If anyone is struggling to connect with your teenagers in a meaningful way, you should really try board games. It sounds funny to say, but board games have improved our relationship within our family more than any other experience we have tried. I would be devastated with family game nights now.

I'm thankful that I stumbled on Will Wheaton's TableTop series on YouTube ([http://geekandsundry.com/shows/tabletop/](http://geekandsundry.com/shows/tabletop/)). If you need tips on good games, this is a great place to start.

<comment><USER3> Teenage son refuses to play most games. Although we can get him in for a few rounds of "Geek Battle."

<comment><USER4> Try heading to a game night in your community in order to explore different games that are out there.

Some games that go over well with teenagers at the monthly community board game nights that I co-host in my community have included:

Pandemic - A cooperative game where all the players play different riles within the CDC as they try to work together against the game to defeat global disease outbreaks.

Forbidden Desert - Another cooperative game where the players are a crew of adventurers who have crash landed in an ancient city that is being buried by a sandstorm. They have to work together against the game to recover and assemble the necessary parts needed to repair a flying machine and affect their escape before they are buried alive or die of thirst.

The Resistance - A social deduction game where players are members of the Resistance fighting to bring down a common enemy. The only problem is that a few of them are spies sent to sabotage their mission. They spies know who each other are and can more easily work together. It is up to the Resistance to ferret them out before it is too late.

Summoner Wars - A two player strategic card game in which two wizards summon forces to do battle with each other across a map. There is a great mix of factions and the simple ruleset combined with the asymmetric faction powers leads to a lot of interesting emergent properties in the play of the game.

Zombicide - Basically, it is Dead Rising the cooperative board game.

Rampage - A dextexerity board game that is largely influenced by the classic video game. You flick discs to move your Kaiju monster. You drop your large wooden monster on buildings to destroy them. You blow on buildings to shoot people out of each floor of skyscrapers or a football stadium. You flick wooden cars off the heads of your monster's pawn to simulate throwing them at buildings or other monsters for even more destruction.

Escape From The Aliens In Outer Space - A hidden movement game where haklf of you are scientists and the other half are mutants on a derelict space station. The scientists have to try to sneak to one of a number of airlocks that may or may not be functioning before being caught and eaten by the mutants. The trick is that you don't know which players are scientists or which are aliens and all your movement is secretly plotted on your own blueprint of the space station. Some spaces are safe zones. Others require drawing event cards. If you are lucky, no sound is detected. If you're slightly less lucky, a sound is heard somewhere else in the space station and you get to announce it; maybe your there and maybe your not (hopefully it throws off the mutants in pursuit). If your really unlucky, you make a sound at your coordinates, but hopefully you can bluff it so that the aliens think you aren't actually there. Teenagers LOVE this game and you can play with up to eight players at once. Its fun to watch a large group of teenagers play this together as you can watch it change their concept of what a board game is before your eyes.

Pitchcar / Roadzters - Wooden (or plastic, respectively) track dexterity racing games where your car is represented by a wooden disc (or plastic ball, respectively) that you flick around the course. The first to finish a prescribed number of laps wins. These games a lots of fun and always draw a crowd of spectators.

Small World - A "dudes on a map" light war game like Risk, but way more fun. Each faction is a random pairing of a trait like "seafaring" or "flying" with a race like "giants" or "skeletons". You do your best to control as much of the board as you can for as long as possible. When you can no longer hold out, you put your current faction in decline where ispt still earns points, but not as much and pick a new pairing that you think will help you hold the most ground.

Telestations - Combine Pictionary with Telephone and you get this game that's really,more of a gaming activity. Each player gets a random clue that they have to illustrate and then pass to the left. The next person guesses apwhat the drawing is and writes it as the next clue before passing to the left. At which point the next person illustrates the most recent clue. Wash, rinse, repeat. I've seen the clue "Bar of Soap" morph into "War of the Worlds." This is another that pre-teens and teenagers love and is only made better by people who are terrible at drawing (so most of us).

Dixit - Kind of like Apples to Apples, Dixit is a game where players hold a hand of surreal paintings. One you turn, you choose a card and make up a short story or say a phrase or word that you associate with it. Then all the other players choose amcard from their hands that they think matches your spoken clue. You all place the cards face down in the play area and then mix them up before turning them over. Then each player (other than you) votes on which one they think is the card you put down. If all the players or none of the players choose your card, you earn zero points; you clue was either too obvious or too obscure. Otherwise all the players and you score three points if they chose your card and every other player whose card was also chosen scores one point.

Neuroshima Hex 2.0 - Mad Max meets the Terminator, the abstract tactical puzzle game. Take one of a group of assymetric postapocalyptic gangs represented by a stack of hex tiles and try to figure out how to destroy the other faction bases using a combination of skill, luck, and timing, before they destroy yours.

Kill Doctor Luck, the Deluxe Edition - Think of this game as Clue's evil prequel. You're all stuck in a mansion with Doctor Lucky, an old coot that you all hate for some reason or another. You want him dead and you want to be the one that does it. The trouble is that he a slippery sun of a gun and it is incredibly hard to pull off the deadly deed without getting caught so you have to find a way to get him alone and out of direct eyesight so that you can try to kill him with whatever is on hand from "a killing joke" to "bad cream" to "a tight hat" and more normal fare like "a dagger", "a candlestick," and a "gun." Kids like this because they think it is subversive; they feel like they are getting away with something. If you like this one, make sure to check out Save Doctor Lucky, a prequel game where you have to make sure that Doctor Lucky survives the syncing Titanic so that you can kill him later.

These should get you started. In general a lot of the kids that come to our monthly board game nights like either direct confrontation games like Risk Legacy, Summoner Wars, Neuroshima Hex, and Small World where they can try out one upping each other in playful ways or the like cooperation games like Pandemic, Ghost Stories, Forbidden Desert, Shadows Over Camelot, and Zombicide; the harder the better. Kids love the challenge, but don't feel on they are on hook for any one decision as they can get input from the other players.

Good luck.

</comment></comment></comment><comment><USER5> Board games can connect people in ways video games cannot. There is a level of rapid interaction, brought about by being at a shared table, which cannot be mimicked digitally.

If you like Settles of Catan, and you are looking for something more advanced, I'd highly suggest Eclipse, Twilight Imperium, and Puerto Rico. These are challenging games that require careful resource management, political negotiations, and long term strategic thinking. In many ways these games mirror the challenges of building a company.

<comment><USER6> _a shared table, which cannot be mimicked digitally_

Not to dispute your point (I like tactility too), but I am very interested to see where the next wave of 'coffee tble computers' go, eg Panasonic's 4k toughpad ([http://www.panasonic.com/business/toughpad/us/windows-4k-tab...](http://www.panasonic.com/business/toughpad/us/windows-4k-tablet- specs.asp)) when they reach commodity rather than vanity pricing (they're $5-6k now, aimed at medical/media professionals).

<comment><USER7> I think board games on table touchscreens would already be common if there were an open platform/framework to program them on, and they took advantage of additional phones/tablets over IP. The manufacturing cost on big touchscreens is already pretty low.

<comment><USER8> The term you need to google for is "vassal engine"

Note the engine might be open but there's all kinds of schemes WRT the data files ranging from "we don't care" to DMCA takedowns to the max.

Also some people are simply tactile and really want meeples and feelies in their games, so an ipad is going to be a very rough sell to them simply because they very explicitly don't want a screen experience.

Also the resolution of a tablet is incredibly low. Maybe some kind of google glass thing can be implemented, walking around in a backyard? I've occasionally considered this problem and I feel cramped at a mere 5-ft round table and 5 feet at 300 dpi is something like eighteen thousand pixels, assuming you can "invest" in a 5 foot round screen and the best COTS available now is only about a tenth of that resolution at that size...

<comment><USER6> Most interesting, thanks! I don't expect board games on touch screens to take over and your points about allowing games to spread out is well made. But it will be interesting to see how they continue to evolve in parallel.

</comment></comment></comment></comment></comment><comment><USER9> Boardgames are quietly one of the most lucrative categories on Kickstarter. Multiple miniature-based boardgames have out earned Oculus Rift and up until the end of 2013 5 of the top 20 projects were board games. There are a couple companies that are approaching $10MM in revenue by running multiple campaigns. There are also lone artists who have raised millions.

It's fascinating on a number of levels, from the individual creator stories (Frustrated designer quits job, raises $2MM) to the way small businesses are evolving the platform (some co's have turned stretch goals into a marketing artform). I've written about a few of these companies in the past if you'd like more details:

[http://www.wired.com/design/2012/12/kingdom- death/](http://www.wired.com/design/2012/12/kingdom-death/)

[http://www.wired.com/design/2012/08/reaper-miniatures- bones-...](http://www.wired.com/design/2012/08/reaper-miniatures-bones- kickstarter-success/)

[http://www.wired.com/design/2012/06/coolminiornot-success- ki...](http://www.wired.com/design/2012/06/coolminiornot-success-kickstarter/)

[http://www.wired.com/design/2012/05/zombie-apocalypse- board-...](http://www.wired.com/design/2012/05/zombie-apocalypse-board-game/)

[http://www.wired.com/design/2012/05/game- salute/](http://www.wired.com/design/2012/05/game-salute/)

[http://www.wired.com/design/2013/02/designers-kickstarter- an...](http://www.wired.com/design/2013/02/designers-kickstarter-and-uspcc)

<comment><USER8> Kickstarter seems to be turning into a market research technology.

Ask the internet, "Would anyone like a Lovecraftian Cthulhu themed card game?"

The internet says, "Sure, here's $30K".

According to the blog, my copy is in the mail...

<comment><USER10> I did a little business startup competition over the weekend (aside: won too), and one of the main discussions in the marketing panels provided was on the use of Kickstarter not purely for the money influx, but more as a way of price and feature discrimination. By cleverly arranging your stretch goals, or making them fluid, and then by providing price determined plateaus for models or entry points, Kickstarter actually provides a lot of information that you might have to do some pretty painful market research, survey's, ect... to get.

The Reaper miniatures Kickstarter linked above was a particularly well done form of this, which has continued to experiment with the follow-ons. They were one of the first (maybe the first?) to provide the "buy once, get them all" tier for accessing stretch goals. They also got a lot of good market data and well discussed customer feedback with every post on what types of models people liked, how they liked them made, what they were willing to pay for them, and where the breakpoints in value / model were in the consumer mind. It was a pretty amazing shift from the ways of Games Workshop and the like with $5 / figure, $10-20 / big boy, take it or go home.

</comment></comment></comment><comment><USER11> The BoardGameGeek Gift Guide opened up a whole new world for me: [http://boardgamegeek.com/wiki/page/Board_Game_Gift_Guide_201...](http://boardgamegeek.com/wiki/page/Board_Game_Gift_Guide_2013)

I now own about half of the games on it.

I discovered early on to buy only games that are either suitable for my two young kids (like Carcassonne, King of Tokyo, Blokus and Labyrinth) or are suitable for two players (my wife and me; Dominion, Pandemic and Ticket to Ride Europe).

We seldom get to play the games that require four or more adults.

Incidentally, my favorite board games on iOS are Dominion, Blokus, Neuroshima Hex, Hive and Chess.com's app. However, I'd recommend against getting games on your phone that you also play with your family, because you'll either become too good at them or you'll get bored of them before your family does.

<comment><USER12> > I discovered early on to buy only games that are either suitable for my two > young kids (like Carcassonne, King of Tokyo, Blokus and Labyrinth)

How old are your kids? I would love to add more board games, but my kids are pretty young.

I have a five year old daughter with whom I started playing Forbidden Island about a year ago. She loves the game, though she has her own way of playing, she just loves collecting the "treasures", I usually have to feed her cards so she can do this ;) Adds a bit of a challenge for me to get her the cards before the island sinks!

My son is three, we haven't really added him into the fun yet.

<comment><USER13> With a five year old, you can try playing Carcassonne without farmers, or pick up Catan Junior. Cockroach Poker is a fun and simple bluffing game -- and kids love bluffing. Other card games, like Coloretto, may also work. Takenoko is more complex, but it's colorful, and comes with a lovely panda.

<comment><USER12> Excellent! Thanks for that list! I have Carcassonne and have been thinking about seeing if she'd be into it. You're right, take farmers out, I'm not even good a farmer strategy myself :p

</comment></comment></comment></comment><comment><USER14> I would posit that Meetup.com and other public social networking sites are also a significant factor in the recent board game boom. Finding and playing games with 3 to 6 adults is much easier when you can quickly find multiple free events each week in any major U.S. metro area.

<comment><USER8> That is insightful and correct, also advise hitting google to keep track of "fellow travelers" like the paper/dice RPG crowd and of course local cons. Most cons have a boardgamer presence even if they're supposedly for RPG folks or card gamers. Somebody who plays Pathfinder Society probably is up for a board (or card) game, and unless you're truly in the hinterland there's probably a PFS group "nearby".

From observation, it seems most cons, not just gaming cons, have some kind of board / card / rp gamer meetup.

</comment></comment><comment><USER15> Shameless plug for our product which lets you play RPGs and board games online with others for free: [http://roll20.net](http://roll20.net)

<comment><USER16> Looks like a great product, just haven't had the chance to actually give it a full spin yet.

</comment></comment><comment><USER17> I love board games (own a little over 150) and enjoy them a lot more than video games. You can extract pretty good optimization problems form many of them (especially Eurogames).

In fact I own quite a few games that I haven't really played a lot but spent quite some time thinking about AIs for those games...dunno it's a strange but fun hobby :D

Cooperative games are probably the most popular ones in my collection. Incidentally they make for excellent solo puzzles as well.

</comment><comment><USER18> My son (9 next month) loves playing Munchkins, Risk, Monopoly, Settlers of Catan. We've also played Puerto Rico, but it's not very fun with only two players.

<comment><USER19> There are various 2p variants for puerto rico. We play 2p all the time, see [http://boardgamegeek.com/thread/650038/puerto-rico- as-a-2-pl...](http://boardgamegeek.com/thread/650038/puerto-rico- as-a-2-player-game-and-which-variants) Sometimes we play behind the laptop with tropic euro (anagram) exchanging some tactile and atmosphere for time

<comment><USER18> Thanks, I'll definitely check that out!

<comment><USER20> San Juan, while a slightly different dynamic, is also a fun Puerto Rico-like game that works well with two players.

</comment></comment></comment></comment><comment><USER21> When I was younger (14-21), we had LAN parties. The older we got (starting at around 18), the rarer they became, what happened instead were board games: Descent, Axis & Allies, Twilight Imperium (or pretty much anything in the 6-12h range or sometimes more).

My friends from school and me moved all to different places, but we still meet up once in a while to spend a day and night playing, all of us getting close to being 30 :)

I love board games.

</comment><comment><USER22> My six year old daughter loves this game and Monopoly.

</comment><comment><USER23> Here's a good episode of The Incomprable podcast where they discuss their favourite board games, helped me discover new games to play: [http://5by5.tv/incomparable/184](http://5by5.tv/incomparable/184)

</comment><comment><USER24> Board games are great because they are one of the last refuges of shared attention.

I'm personally a big fan of Axis & Allies, Puerto Rico, Castles of Burgundy etc. There's something really nice about people coming together and focusing on the same thing.

</comment><comment><USER25> Were board game sales ever suffering? You wouldn't know it after dealing with some of my insufferable board game aficionado friends.

<comment><USER8> You've gotten massively downvoted (why?) but before the eurogame invasion around the turn of the century, sales were not as good.

There's a pretty good documentary called "Going Cardboard" focused around the early years of the eurogame invasion, mid to late 00s products, tells the story fairly well in an hour or so.

<comment><USER26> When I was younger, if you wanted to play a board game and actually have fun across multiple ages and skill levels, you had to read the GAMES Magazine's "GAMES 100" issue, pick out a few candidates, go to one of these places called "shopping malls" that were popular in the 80s, enter the specialty game store, and shell out a decent amount of cash for your choice. The resident geekployee was probably busy setting up a table for the Warhammer 4k miniatures game that they hosted in the store on alternate Nerdsdays, so if you asked him about the game you were buying, you might get a lukewarm positive response. He was really more into "Axis and Allies"-scale games, anyway.

Nowadays, you can find a game you might like on boardgamegeek any day of the year, order it off the Internet, and play it a few days later. You can pile up a bunch on your public wishlists, and lo, they are priced just right for birthdays and holiday giving.

Best of all, the intense competition tends to weed out or downvote games that are not at least good in their niche. So the games you buy are by gamers for gamers _and_ the people gamers want to socialize with, not by Hasbro marketing executives for bored kids, or by detail-obsessed simulation engineers for detail-obsessed consumers.

I think the "Eurogame" phenomenon was more about Internet commerce and niche social networks than the games themselves. You could still find non-mainstream games before then, but it was harder to get them into widespread distribution. You couldn't ever get them into a department store, and only the geeks and nerds even went into the specialty games shops. But when Amazon shows up, these games are on the virtual shelves right alongside the horrid and overrated Monopoly.

As Kickstarter et al lower the startup cost barriers, you will see all kinds of new entrants ramping up the competition. And while more bad games will fail, I think the market will probably expand to accommodate more good ones rather than squeeze out the ones at the margin.

<comment><USER8> I believe there's also a narrowcasting / local maxima / monopoly (in the .biz sense) effect, where Hasbro and friends hyperoptimized for American 6 year olds, leaving a gigantic empty unserved market which the eurogame folks never abandoned, so someone translates from German to English, the games hop the Atlantic with the help of internet publicity and online stores, and take the country by storm.

To help the HN readership, WRT board games, Germany is more or less the Silicon Valley of board games.

<comment><USER26> And to extend that analogy, Klaus Teuber, Reiner Knizia, and Wolfgang Kramer are like the Larry Page and Sergey Brin, Bill Gates, and Steve Jobs and Steve Wozniak of board games.

</comment></comment></comment></comment></comment><comment><USER27> Tabletop games are also great for helping people overcome social anxieties, which are common among smart people. The "flow" state is deeply anxiolytic. Games are good for getting people, who don't know each other, together to do something that isn't drinking.

This is why I thought Google+ should have focused on putting German-style board games (using Hangouts, then an enormous technical advantage) instead of Zynga dreck in its Games product. The original G+ vision was that Hangouts would actually be something people "hang out" in, coming and going like it was a dorm room in college. That was a long-shot, an attempt to centrally direct culture, but games provided the perfect context for getting that motion going.

<comment><USER28> Totally agree. I used to play D&D with friends and it really helped with my anxiety. I could contribute to the conversation if I wanted, be quiet and just listen if I wanted, or read something else. I was an excuse to socialize, but also something productive to do if you want to socialize.

<comment><USER29> I remember being part of a D&D group (all preexisting friends). When the social atmosphere would get going well and everyone would be laughing and enjoying themselves... there'd always be someone to say "hey, everyone, quit trying to have a good time and pay attention to the game instead!"

Socializing isn't always smiled upon. :/

<comment><USER12> > quit trying to have a good time and pay attention to the game instead!

I admit it, that was me. Playing the game (and the fantasy that goes with it) was always more fun for me :)</comment></comment></comment></comment>


Creating my own web analytics system from scratch - <AUTHOR> https://www.ctrl.blog/entry/ctrl-analytics.html <comment><USER2> I'd urge you to open it up sooner rather than later, since you state that it is your intent to open-source the code. There's no harm in declaring that it's alpha/beta quality, and also no harm (indeed I'd regard it as a strong positive!) in being strongly opinionated about the direction you're taking it.</comment>


Chrome Canary - <AUTHOR> https://tools.google.com/dlpage/chromesxs/

<comment><USER2> whats new about it? canary has been around for quite some time now.

<comment><AUTHOR> well, was new to me, thought it might be to others as well.</comment></comment>


Houston's sprawl drives up transportation costs - <AUTHOR> https://www.texasmonthly.com/news/houston-affordability-transportation-costs/ <comment><USER2> The problem as I see it with Houston is that there are few inhibitors to the sprawl, and few options to navigate it. Land to the west of town(where a significant part of the growth is happening) is plentiful and relatively cheap. I sometimes joke that Houston and San Antonio will merge at some point.(they are technically ~180 miles apart)

There are now 3 rings around the city: 610, 8 and 99. The best way to get in and out of the city is by car, there just isnt a comprehensive public transport system to be found. There is talks of rail every few years, but they usually end up being shot down because

a) nobody wants to give up their land to build it(imminent domain fighting)

b) the city is so damn big it would be cost prohibitive to build a rail system.

The only way I manage to deal with it is to work 6am to 3pm so that my commute is in front of rush hour. I'm admittedly part of the problem, as I live 30 miles southwest of the city. If I were to commute at the 8-5pm time, I would be on the road for 110 minutes each commute. As long as I get on the road by 5:30am, I cut that to 45 minutes in the morning and 55 in the afternoon.

<comment><USER3> > the city is so damn big it would be cost prohibitive to build a rail system.

But yet there is endless money for roads and parking lots as if they are free or cheap. I'm so sick of people acting like there is no money for public transit.

In my hometown of San Diego they are spending close to a billion dollars adding a single lane to a freeway.

Also, public transit is not the same thing as rail. Public bus systems work amazingly well in other parts of the world. But in America they are stigmatized (as being for poor people) to the point that they aren't even mentioned as public transit options.

<comment><USER4> Cost prohibitive doesn't mean there's no money, it means money used wouldn't be worth it. The Dallas area has the longest light rail system in the US, yet it barely covers the sprawl. Same with buses. There are too many people, living dozens of miles away from each other, going in all directions at all times which makes public transit often cost prohibitive. Of course they try anyways to service their citizens. But without a mind shift change _and_ a recentralization of people _and_ a significant increase in expenditure, it's a real waste to grow the barely used system. Especially since most of the people we're talking about with the sprawl don't live in the city anyways.

As for road expenditures, in both Houston and Dallas, a large amount of new money towards them use private money on toll roads. This includes joint ventures for toll lanes on public highways which is of course regressive, but keeps at bay this kind of comment complaining about public funds.

<comment><USER3> > Cost prohibitive doesn't mean there's no money, it means money used wouldn't > be worth it.

Yes, light rail sucks (you will get no argument from me on that). Its basically the least functional of all public transit, and often times I believe is put in to make people hate transit since it is less functional

> As for road expenditures, in both Houston and Dallas, a large amount of new > money towards them use private money on toll roads

That's great that they have toll roads. I still think most people completely underestimate how unsustainable this type of development is. In 50 years these sunbelt cities will be falling apart with strip malls collapsing and pot holes in the roads.

<comment><USER5> I remember when light rail was proposed. The thing that got me at the time was it was a single line and it went a very short distance (the goal was to have people not park in downtown if I remember because downtown Houston is a pain to park). After the first line was built the number of people who had traffic accidents with the light rail trains were staggering. The light rail even switches lanes from one side of the street to the other with cars having to stop for the train to cross. Downtown is where they aimed it but there wasn't much room to properly develop and design a line there. If they had developed/designed it to bring people into town from the suburbs it would have been better I think.

</comment></comment></comment></comment></comment><comment><USER6> According to the Citizen's Budget Commission >The Citizens Budget Commission (CBC) is a nonpartisan, nonprofit civic organization whose mission is to achieve constructive change in the finances and services of New York City and New York State government. Our mission is rooted in serving the citizenry at large, rather than narrow special interests; preserving public resources, whether financial or human; and focusing on the well-being of future New Yorkers, the most underrepresented group in city and state government.

[https://cbcny.org/about-us](https://cbcny.org/about-us)

See Figure 1 of their Report at [https://cbcny.org/research/rent-and- ride](https://cbcny.org/research/rent-and-ride) for a comparison of housing plus transportation costs for a median income household for 20 cities. Miami is the lowest; San Jose is the highest. Figure 3 shows housing and transportation as a percentage of median income. Washington, DC is the lowest; Phoenix is the highest.

The study appears to be based on the city, not the metro area. Cities vary considerably in how much of the metro is covered by the city, what percent of city workers live outside, what percent reverse commute, etc.

</comment><comment><USER7> Turns out building in a flood plain leads to flooding too. Maybe no zoning laws has drawbacks.

I stayed with a friend in Houston for a week. As a New Yorker, I took the bus a few places. I also found a farmers market within walking distance to his home and organized a few people to shop there. They were pleasantly surprised at this wonderful, affordable source of delicious, healthy produce.

But these social activities were swimming hard upstream. Telling people I took the bus to meet them prompted reactions like I came from another planet. Not many people looked like they ate a lot of vegetables. They liked it far more when I told them I went to a firing range and shot a gun for the first time.

<comment><USER8> This sounds exacty like the kind of bigoted drivel you'd get from someone who _thinks_ they know what Houston is like, but has never actually been there. First, Houston has pretty strict zoning laws, second, the metro system is pretty widely used where it is built out, and thirdly, Houston with some exceptions, is one of the blue-est (and some areas are the red-est, to be fair) cities in the state, with a pretty wide spectrum of political opionons represented in between. Where exactly in Houston were you? Edit: 'zoning laws' is the wrong term. Houston, does not, in fact have zoning laws as we we think of them traditionally, but are instead governed by '[https://houstontx.gov/planning/DevelopRegs/'](https://houstontx.gov/planning/DevelopRegs/')

<comment><USER9> > Houston has pretty strict zoning laws

My understanding is that Houston does _not_ have zoning laws. In fact from their newspaper:

> The city of Houston does not have zoning but development is governed by > codes that address how property can be subdivided. The City codes do not > address land use."

Houston is also the 4th largest city in the US and extremely diverse (not just in race), I imagine depending where you are in the city is whether or not you're more likely to see mostly healthy people or mostly unhealthy people

[https://www.chron.com/news/houston- texas/houston/article/Wei...](https://www.chron.com/news/houston- texas/houston/article/Weirdest-images-from-Houston-s-lack-of-zoning- laws-9171688.php)

<comment><USER8> Yep, I was wrong, and the OP and you are correct - there are no zoning laws as such, only a series of what would be considered building codes in other cities.

<comment><USER10> From the standpoint of land-use regulation, there are "de facto zoning laws": [https://kinder.rice.edu/2015/09/08/forget-what-youve- heard-h...](https://kinder.rice.edu/2015/09/08/forget-what-youve-heard- houston-really-does-have-zoning-sort-of).

</comment></comment></comment></comment></comment><comment><USER11> One thing unaccounted for in the comparison is the type of housing that each respective city affords. Housing costs may be similar (Houston is still less compared to NYC in the article), but Houstonians are certainly getting much more space, both inside and out of their home, than NYC residents. This matters when it comes to things like larger families. Spending time on the road is definitely a huge pain in Houston, but in the end where you live doesn't just come down to a numerical comparison.

You pick your priorities.

<comment><USER3> > getting much more space, both inside and out of their home

I recently visited Dallas (which I assume is similar to Houston) and I asked my airport Uber driver what there is to do in Dallas and he couldn't name a single thing. I ended up spending my small time there at a Texas Roadhouse (on recommendation) which is some horrible corporate restaurant chain getting served luke-warm mushy green beans that were mostly inedible.

Say what you will about space, I don't know how anyone could live in a place as culturally dead as Dallas.

<comment><USER12> You visit a city apparently without doing any planning or research, you rely on an Uber driver for recommendations, then declare the city culturally dead when you end up at (what is essentially) Applebee's?

I currently live in the suburbs of Austin and I hope that one day I have a self driving car so that I can live further out of the city and have more space because I want a big workshop. I'll gladly trade easy access to restaurants and museums for access to tools and quiet.

<comment><USER13> How does a self driving car help you live further out? You're still limited by speed limits, traffic lights and so on.

<comment> o-__-o The monotonous drive between Texas cities

</comment></comment></comment></comment></comment><comment><USER14> It would really be interesting to see the amount spent on fuel -- as a proxy for driving -- in the summer vs the fall/spring.

While everyone on here advocating for fewer cars and more alternatives (walking, biking, public transportation) is correct for all the usual reasons (environment), there are several issues that make it harder in Houston:

1\. The heat in the summer

2\. There isn't mixed use housing. Walking by restaurants and cafes and people in NYC is a pleasant experience. Walking over sidewalks in the heat without a person in site is not as pleasant.

I think if they start more mix use housing (several brave souls try every year), and as they become successful, we will see more walking in the good seasons.

I know, it feels like we don't have that kind of time, but hopefully we can plant more trees in the meantime to slow it all down.

<comment><USER15> Native Houstonian turned New Yorker (25 years!) here. I often say to my Houston family and friends that while it may be hotter in Houston, we New Yorkers deal with the summer heat way more than they do. They go from their air conditioned houses to their air conditioned cars to their air conditioned destinations. We New Yorkers are out in it all day...we walk a hell of a lot more, and stand around in the ovens otherwise known as subway stations. And there are just way more spaces that simply lack A/C in NYC.

Yes we do have smaller living spaces, but I will say that my household electricity usage is about 50% less than most of my Houston cohorts, especially in the summertime.

</comment></comment><comment><USER16> I've not spent much time studying this but is it not the case that there's basically some sort of 'ideal suburban-ness' beyond which things start to get horribly congested?

If you want the sort of front and back garden, big detached house lifestyle, then it feels like you want to get in early whilst a city is still small. Once it's beyond a certain size, even if you can afford it, traffic is just awful at any time of day so you're not getting anywhere.

Public transport isn't the answer either - taxi services can work, but if you bought in to a place for the sprawl, you just can't get buses and trains to every corner of it. (It's theoretically possible, but people who move to these places don't want it by definition - the whole point of having that big old house is to fill it with big toys, the workshop in the garage, the big chest freezer, etc etc).

<comment><USER17> There's a natural push-pull here, though. Big cities have the best, most high- paying jobs. People move to Houston for the earning opportunity and then put up with the traffic because they have to (not realizing how much it's costing them). Small cities with less sprawl and less traffic don't have those same job opportunities. The network effect is very real for companies.

</comment></comment><comment><USER18> > However, median transportation costs were $1,152, a figure 38 percent higher > than for New Yorkers. In total, the study found, living in Houston was only > $79 cheaper each month than New York.

What isn't clear to me from this if if the median transportation costs are higher in Houston because they have to be, or because people have more free income and are simply choosing to spend it on more expensive vehicles. I'd guess you'd find plenty of SUVs and trucks in and around Houston, which are expensive luxury vehicles that are not _needed_ to commute. So you're paying a higher lease price and higher gas prices for your gas guzzling status symbol, but that's your own choice - you could drive a used beater sedan and have lower costs.

<comment><USER19> Not an expert on Houston, but did spend the past weekend there.

There's definitely a big car factor there. I had reserved a mid sized rental car to get to and from the airport and around the car centric area I was staying. When I got to the rental car center they apologized and said they were out of mid sized cars and said I could take a truck, a large suv, a jeep wrangler or what she referred to as a 2 door. It turns out a 2 door was a dodge challenger (large, overpowered and fuel inefficient car). The representative said they got rid of all the smaller cars because no one would be willing to rent them.

The concentration of pickup trucks being driven as day to day commuting vehicles seemed quite high as well.

</comment></comment><comment><USER20> Perth Western Australia needs to look _very_ hard at this.

Its rapidly becoming affordable to live and work in the States capital, and the rest of the state gets their costs driven up and resources strangled off to try and pay the escalating cost of sprawl.

</comment><comment><USER21> News flash: general living activities, working and housing being far apart from each other is expensive. See Mr Money Mustache for supporting evidence.

</comment><comment><USER22> Former Houston native here so I will weigh in. Houston being less affordable that NYC is debatable. I have lived in 3 other states and 5 other major cities and everywhere I have been has been a give and take situation.

For example, property taxes in Texas are legalized robbery. But in Ohio, property taxes are pretty low. But I get to pay state, and local city income taxes so my savings in that category is made up for in another. Same goes for food, rent, transportation, etc.

Sprawl has to do with annexation. Texas allows larger cities to annex smaller ones and that is how Houston is getting bigger via sprawl. Last thing Houston, Dallas, or Austin wants is to be locked in geographically. Houston would rather go to court to fight Dallas to annex a city than build skyscrapers used for housing.

It's money and power. Cost of living...eh...

</comment><comment> collective-intl Sounds like a success. The city grew huge until an equilibrium was reached that slowed growth. With restrictive zoning, you would just have a smaller, poorer city which fewer people would have wanted to move to.

</comment><comment><USER23> Every growing city reaches peak suburb eventually and going back to normal (transit, bike, and walk oriented) land use patterns just harder and harder the more car-oriented your city gets

</comment><comment><USER24> Yep, lived in Texas and LA. Sprawl is expensive.

</comment><comment><USER25> yea but a bunch of stuff is a ton cheaper and we actually have enough housing... fuck city planning

</comment><comment><USER26> While transportation in Houston's sprawl is a factor (and yes, duh, requires a car for almost everybody commuting), the quality of life in Houston, even considering the heat, humidity, and potential for flooding if you buy too close to a flood-prone bayou, is literally orders of magnitude higher than NYC. Seriously, NYC (or any other congested city like it) is just below Hell on the list of places I NEVER want to be, much less live...) . I lived in Houston for 10 years, and although I like Austin better overall, there are things I really miss about Houston. I would not live in NYC for any level of income. Seriously - offer me $3M/yr and I'll say you're not even close...

<comment><USER27> As a Houston native I strongly disagree. You spend a huge % of life in a car there, and not in a fun way driving down twisty roads either. That is much more unpleasant than being cramped in NYC for many, where at least you can walk everywhere.</comment></comment>


Google Mobile App Analytics Public Beta Launch - <AUTHOR> http://analytics.blogspot.com/2012/10/mobile-app-analytics-updates-and-public.html

<comment><USER2> Has anyone used their new variables stuff? The whole custom variables thing was ludicrously complex. Google's competitors just let you supply a JSON object with each event so you could add whatever you wanted. Google also bafflingly would only show the average value of numeric variables which is beyond useless.

Hopefully they also fixed the major problem with their previous analytics library which was that it only supported one reporting id at a time. (Under the hood it would correctly work with multiples but the API ensured a singleton for the top level "tracker" which then forced only one id.) This causes problems if you have multiple libraries or components who want to do their own reporting.

The previous mobile libraries were very much the minimal work to pretend they worked like web sites, which really doesn't work well. I wrote about this at [http://blog.appington.com/2012/08/13/technical- differences-m...](http://blog.appington.com/2012/08/13/technical-differences- mobile-app-analytics-are-not-web-analytics/)

<comment><AUTHOR> As announced at Google I/O, app tracking is now a first-class citizen in Google Analytics. The old SDKs used web tracking concepts, but now anybody can use the new SDKs and the new reports, which are designed just for mobile apps.

To answer your questions, the new App Analytics SDKs (Android and iOS) support multiple reporting IDs. The new custom variables are essentially named dimensions and metrics that can persist for the duration of a session, and are much simpler to work with than the custom variables in the old SDKs.

</comment></comment><comment><USER3> Yes. I hate my app having "pages" as the analytical tracking medium and using "page-views" to quantify it. I wanna' measure more.

</comment><comment><USER4> Now if only they had an iOS app to view the data...</comment>


The great Moldovan bank robbery - <AUTHOR> http://www.bbc.com/news/magazine-33166383 <comment><USER2> Moldovan here. This run for quite a while in our national media and was charged in a political manner beyond what I imagined to be possible. These kind of things happen in Moldova and I got used to it after a while. I guess now the attention has something to do with European Association Agreement that put our country on someone's map and sight. It may for all this agitation to cause some real change though, at least in some limited degree, as the "actors" have to become a little bit more wary now.

</comment><comment><USER3> Here is the full Kroll report, which is the main basis for the article: [http://candu.md/files/doc/Kroll_Project%20Tenor_Candu_02.04....](http://candu.md/files/doc/Kroll_Project%20Tenor_Candu_02.04.15.pdf)

</comment><comment><USER4> Two paragraphs from TFA seem to contradict each other. The first seems normal, business-as-usual with big banks:

 _As a result, the state was forced to step in to bail the banks out - protecting depositors but creating a hole in the public finances equivalent to an eighth of GDP._

The second makes one wonder how the banks got paid twice for the same loans:

 _And in a final layer of obfuscation, they now owe all the money not to Banca Sociala, but to another UK-registered entity, Fortuna United LP, that 's said to have bought the entire combined loan._

</comment><comment><USER5> On a small and large scale, this stealing happens across all continents. Who will be help accountable? When and how, and by whom?

I sit here behind a desk in a fancy office and chair, trying to solve my own problems, and find it scary how much is going on around us that we simply can not control in our lifetime. It is beyond a big picture issue.

Seems like the surest path to happiness is still to focus on what counts, what is close to you, family and friends, and table the rest. We are only human.

<comment><USER6> "The best way to rob a bank is to own one." \--William K. Black

The difference between this robbery and those that occur in countries with a longer history of private banking is that this one actually had an identifiable suspect.

I believe that no one will be held accountable, because no one ever has been held accountable for this type of crime. The most that ever happens is that torch-and-pitchfork murder-mobs lash out at whomever they can reach, such as the guillotine operators of The Terror (during the French Revolution).</comment></comment>


Hyper 1.0.0 - <AUTHOR> https://github.com/zeit/hyper/releases/tag/1.0.0 <comment><USER2> I'm skeptical of the value of electron-ified applications when fully native alternatives suffice. However, ignoring that, there are a few (pretty severe) problems with this release:

* The .deb package seems to install everything in /opt. This seems to be pretty common practice for electron apps and isn't a _huge_ deal, except for the fact that a wrapper executable/link isn't installed anywhere else on the system. As a result, I had to go looking for the install directory and invoke hyper as a fully-qualified path (i.e., /opt/Hyper/hyper).

* Hyper tries to run `npm prune && npm install --production` on every startup, which (naturally) fails when the user doesn't have node (much less npm) installed globally.

* Most control modifiers don't work on Linux at all, making it impossible to work inside of programs like nano, alpine, etc.

* Throughput seems to be an issue. Running `cat /dev/zero` locked the entire application up.

These problems are understandable considering the (often unappreciated) complexity of terminals, but they're also surprising in a 1.0.0 release.

<comment><USER3> > I'm skeptical of the value of electron-ified applications when fully native > alternatives suffice.

Me too, although in the case of terminal apps, they really haven't moved on since the 70s. How many support images? Completion popups? Browsable history? Current directory widget? Collapsible output?

Honestly if it takes some insane over-engineering to get some actual innovation in terminal apps I'm all for it! And when I say "innovation" I mean "obvious features that should have been there decades ago".

<comment><USER4> I'm busy exploring some of these ideas in my little project Extraterm [https://github.com/sedwards2009/extraterm](https://github.com/sedwards2009/extraterm) .

This little gif demonstrates what it can do now: [https://github.com/sedwards2009/extraterm/raw/master/docs/ed...](https://github.com/sedwards2009/extraterm/raw/master/docs/edit_direct.gif)

Some more demos of its features are here: [https://github.com/sedwards2009/extraterm/blob/master/docs/t...](https://github.com/sedwards2009/extraterm/blob/master/docs/tour.md)

It is still early days for Extraterm although I use it myself daily (mostly on Windows and Linux). It too is built on Electron. It makes it possible to try out ideas relatively quickly and grants access to a megaton of 3rd party libraries and tools.

<comment><USER5> Very cool looking project!

</comment></comment></comment></comment><comment><USER6> OK, I just installed it on Windows. Right out of the box, it does not recognize ctrl+c. What am I supposed to think about the quality of this?

(I literally have not tried a single other thing. I made a typo on the very first command I wanted to try. I tried ctrl+c to start over, and it did not recognize it.)

EDIT

I gave it another chance. If I start a bash shell, it recognizes ctrl+c, but it does not recognize the up arrow key. Not impressed. Don't get the hype. Sorry.

EDIT2

Is this being brigaded? It's the first result on HN without clear reason, and I'm being downvoted immediately for posting this feedback. What's going on?

[https://github.com/zeit/hyper/issues/1127](https://github.com/zeit/hyper/issues/1127)

[https://github.com/zeit/hyper/issues/1126](https://github.com/zeit/hyper/issues/1126)

[https://github.com/zeit/hyper/issues/1121](https://github.com/zeit/hyper/issues/1121)

[https://github.com/zeit/hyper/issues/1129](https://github.com/zeit/hyper/issues/1129)

EDIT3

OK, seriously, what's with the downvote brigade? I'm at -3 now.

<comment><USER7> I think the downvotes may be that you're posing a rhetorical question based on a sample size of one. As opposed to spending 15 more seconds to try a few more things and saying "I tried 10 commands, nothing worked" or "I tried 10 commands, works great, but Ctrl+C is broken on Windows and that really needs to be fixed"

My experience with the Zeit team is that they're very responsive and interactive via GitHub - I'd be surprised if the issue isn't fixed soon

<comment><USER6> Did you miss the part about the next four things I tried also being broken along with the github links in which I filed the bug reports?

<comment><USER7> "I literally have not tried a single other thing"

And without clicking through to all four links, there's no indication that they were from you trying things.

<comment><USER6> So you completely didn't read the part that begins "I gave it another try.." before downvoting? (Yes, it's an edit, but also, yes, it was made less than 5 minutes after my initial post and a good while before you replied and before the downvote brigade hit.)

Anyway, I put my money where my mouth is and I reported each issue that I encountered with hyper on Github (the links are above) before giving up on it (for now). I'm not a bandwagon hater nor a bandwagon fan, at the moment, hyper is not ready for use or worth the hype. In a month, it may be. I'll revisit it periodically in order to re-evaluate my findings in the interest of using the best tool for the job. All these years later, putty remains the most compatible, but I can't figure out how to use it locally on Ubuntu/bash for Windows (if I can get an ssh server working, I could just start a loopback session and use that). For now, I'm using cmd.exe and conemu.

</comment></comment></comment></comment></comment><comment><USER8> This is really cool and it's clear that a lot of work went into it. I've used it a bit and it's generally solid.

I've been looking for improved terminal clients for years. To that end, I have a simple benchmark that I run:

        find /

Then repeat the same within a tmux session. In both cases I check to see if I can interrupt the output with Ctrl+C.

Hyper on linux under X actually stops rendering the output very quickly, but all subsequent input is ignored. The tmux case was the same. In addition, CPU usage spiked to 2 procs each @ 100%. Interrupting the shell was not possible with Ctrl+C or other means, though I was able to `SIGKILL` it.

This particular test is my personal benchmark of whether I can use a terminal - because nothing is more frustrating than having to kill an entire session because of a typo or bad command that generates a lot of output. Too, clients that struggle with this also have a tendency to slowly render changing curses layouts on large terminals - such as when resizing tmux panes, or rendering large amounts of scrolling content in a sub-region of the terminal.

This is a simple case, and many native clients struggle with it as well. So far, although it's not my most-favorite to use, `konsole` is the only one that handles this well.

<comment><USER9> _To that end, I have a simple benchmark that I run:_

        find /

Well crap. Years ago during an phone interview for a position that wasn't going to use Python, I was discussing that the current python script was exponential, then I wondered what would happen if I just let it run. It very quickly completely froze my laptop. In VisualWorks Smalltalk, I would have been able to Ctrl-Y interrupt into the "emergency evaluator." Python has nothing like an "emergency evaluator." How uncivilized of it! Interpretation of my interviewer: I am a stupid fake programmer person who doesn't understand exponential time/space complexity. _[sigh]_ \-- No I just don't understand why someone would build a tool like that! I guess I was spoiled.

<comment><USER10> And C-c didn't work? You must have let it run a _really_ long time. I'm surprised it didn't error out.

<comment><USER9> _You must have let it run a really long time._

All of about 5 seconds.

</comment></comment></comment></comment><comment><USER11> And I was hoping that was referring to this hyper: [http://hyper.rs/](http://hyper.rs/)

<comment><USER12> Typesafe HTTP implementation? Meh. I go back and forth on stringly typed vs strong typing. Just this weekend I wrote an app in Objective-C instead of Swift, and it's already close enough to 1.0 that I can start using it myself. I originally tried to do it in Swift but the IDE support is just way too lacking and buggy (still!) compared to ObjC. Point being, string-typing and dynamic typing aren't really all that terrible as I keep thinking they are. It gets the job done. Sure, something will always be better. But I've given up at aiming at perfectionism in programming. There's no such thing as The Perfect Language / Paradigm / Type System / etc.(TM). I'm too old and tired to keep chasing that rainbow. Pretty sure the pot of gold's in front of me all along and I keep just not noticing it and tripping over it.

<comment><USER13> > But I've given up at aiming at perfectionism in programming.

Optional typing is the sweet spot.

<comment><USER14> I agree, the next missing bit is runtime structural typing (not optional of course) that allows constructs like:

```

const whatIsFoo = match (foo) {

      case : nil : "nothing, really"

      case : string : "it's a string"

      case : number | boolean : "it's bool or number"

      case [ head, ...tail ] : string[] : `it's array of strings with head ${head} and tail ${tail.join(', ')}`

      case { value } : { type: 'NodeFoo' } : `it's Node Foo with value ${value}`

      default: "well, something else."

}

```

<comment><USER15> If only there were a decades-old system that allowed that[1]

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

</comment></comment></comment></comment></comment><comment><USER16> > We are shipping a fix for a very common issue: if you're using a _foreign > keyboard_ , such as Portuguese, Norwegian, Swedish etc, you weren't able to > type some characters like á, ä, ~ and so on. That's not the case anymore!

emphasis mine.

I have to say I'm pretty tired of this attitude that the whole world should use the anglo-centric defaults (but in case you won't we add support for you later).

Regrettably most of us developers (even those of us who live in non-english speaking counties and don't speak english natively) seem to just "settle" for the english keyboard layouts when we are developing. We tell our self that the english layout is "superior for programming". Perhaps we are correct (I doubt we are), but that is irrelevant. When we think like that we are causing accessibility problems to a _huge_ portion of the users of our products.

What bothers me most, as an Icelandic developer who prefers my native keyboard layout, is how we shun ISO third level shifts[1]. For example, when I type TILDE (U+007E; ~), I press and hold the third level shift (remapped to <Caps Lock>; traditionally <Alt Gr>), press and release <?>, and release the third level shift. Most English speaking developers use the ANSI keyboard layout[2], which historically doesn't have a notion of third level shift. Mac OS X is a terrible perpetrator by mapping the third level shift to the <⌥ option> key, which also serves as a modifier. I never know when I type COMMERCIAL AT (U+0040; @) (<Third Level Shift> \+ Q) whether I will input the character or quit the program.

[1]: [https://en.wikipedia.org/wiki/ISO/IEC_9995#Levels_.28.E2.80....](https://en.wikipedia.org/wiki/ISO/IEC_9995#Levels_.28.E2.80.9Cunshifted.E2.80.9D_.E2.80.9Cshifted.E2.80.9D.2C_.E2.80.9CAltGr.E2.80.9D.29)

[2]: [https://en.wikipedia.org/wiki/Keyboard_layout#/media/File:AN...](https://en.wikipedia.org/wiki/Keyboard_layout#/media/File:ANSI_Keyboard_Layout_Diagram_with_Form_Factor.svg)

\---

Edit: Formatting

</comment><comment><USER17> Erm... What is it?

I've clicked through several pages and still don't know, aside from the fact that apparently it extends the command line in some way.

But I might just be missing something.

<comment><USER18> It says right at the top of the home page, it's a Terminal emulator, it just happens to be written with JavaScript and HTML.

It would be nice of the title of the HN post said this (Hyper 1.0 Released, A Terminal Emulator built using Web Technologies), but it's easy to figure out once you go to the home or github page.

I fault the OP for the poor title, not the project.

<comment><USER17> You're absolutely right - I missed that.

BTW, it might just be the fact I have scripts blocked, but it doesn't appear to say that on the homepage at hyper.is - just the Github page.

</comment></comment></comment><comment><USER19> Windows support is really appreciated! I just switched from a MacBook to a Surface Book, and the biggest pain point has been finding a good terminal to replace iTerm2. I'll definitely try this when I get home!

<comment><USER20> The bash shell that comes with Git for Windows is the best terminal on Windows. [https://git-for-windows.github.io/](https://git-for- windows.github.io/)

<comment><USER21> I'm actually using the bash that's bundled with git-for-windows as the shell in Hyper and it works great.

Just kind of pointed it to that bash for easy switch and didn't really see a reason to try and find anything else.

<comment><USER22> May I ask what your launch options are? I've spend hours trying to wire up these two without success...

<comment><USER21> Yeah, the only thing I changed is the `shell` key in the .hyper.js file to point directly to the bash.exe that's bundled with git for windows.

        // the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
        // if left empty, your system's login shell will be used by default
        shell: 'C:/Program Files/Git/bin/bash.exe',

If you want, here is a link to my full .hyper.js config, i haven't really done anything else except change the shell, font, font-size, and plugins.

[https://gist.github.com/Klathmon/355386261e4477d9b6ee237019c...](https://gist.github.com/Klathmon/355386261e4477d9b6ee237019c38951)

<comment><USER22> Looks like I had been pointing at the wrong bash exe the whole time... Thanks!

</comment></comment></comment></comment></comment></comment><comment><USER23> I tried hyper a week or two ago. It's fun and nice... zippy enough in everyday use and fairly pretty. But I had problems pasting commands into it, and it seems incapable of remembering multi-window layouts between sessions.

But, everybody has their own list of must-haves and deal-breakers. I'm sure hyper 1.0.0 does enough for a significant number of people out there. Congrats to the team.

<comment><USER18> I've been using it since I saw this post. Impressions so far:

1\. It's actually not that zippy. Do a "find /" and watch it lock up.

2\. Rendering is very glitchy. Resizing the window seems to cause all hell to break loose for me and I have to restart to get things working again.

3\. There are hot key problems. Sometimes hot keys (i.e. COMMAND-1 open tab 1, COMMAND-2 open tab 2) don't work, sometimes they do. Clicking in the window makes them work (temporarily) but doing some other stuff can break that again.

4\. Sometimes it seems like I'm focused ON that tab, not IN the tab and I have to use my mouse fix that. That's a problem for something that's supposed to be keyboard driven.

Edit:

5\. I tried to exit the application and now I'm stuck in an infinite modal dialog "uncaught exception" loop.

It looks like a very promising application, but a replacement for iTerm 2 it is not. This feels like this should be a 0.10 release and not a 1.0 release to me. This app is not robust enough to justify 1.0. :(

<comment><USER24> I've had good luck with wetty: [https://github.com/krishnasrinivas/wetty](https://github.com/krishnasrinivas/wetty)

It seems reasonably stable and fast, I suspect because it leverages the hterm terminal emulator that's built into ChromeOS. May not work on Windows or OSX though.

</comment></comment></comment><comment><USER25> A 50MB download ( zipped ) for an Terminal App. 64MB for Slack on Windows.

150MB+ when installed, Few hundred MB Ram when running.

And just like Web Browsers, lot of little lock up and Jank.

Seriously I dont mind Apps with Web Technologies, but these problems needs to be taken into account for improvement. Opera, before switching to Chrome / Blink, were an Full Browser, with Email, RSS Reader, all packed under 11MB.

<comment><USER26> I'm curious, on what modern computer would 150MB cause storage issues?

<comment><USER27> For work I am running a 13" MPBr with 128GB SSD. 150MB for a terminal app is... I don't know. iTerm is 14MB.

</comment></comment></comment><comment><USER28> Terminal is one of those mission critical apps that I must be able to depend on at all times. The last thing I want is for my terminal program itself to be leaking memory all over the place which seems to be common with electron type apps.

Dependability has to come before the bells and whistles and this appears to be a long ways out just skimming through the amount of bugs that are caught in this comments section.

</comment><comment><USER29> I tried switching to Hyper from iTerm 2 and found it a bit too sluggish with no real advantages over iTerm (but I haven't tried any extensions)

I'd probably use it on Windows though.

</comment><comment><USER30> Zeit team is amazing, thier OSS is examplary; what they've achieved/ing in relatively short time is astounding. I highly recommend their blog [1], an absolute joy to read.

Congrats to the team and all the contributors.

[1] [https://zeit.co/blog/](https://zeit.co/blog/)

</comment><comment><USER31> I'm incredibly confused about why I should switch from iTerm. If you've been using Hyper, can you tell me why you switched and what was better?

<comment><USER32> \- looks nicer

\- easier to customize (at least for me)

\- runs super smooth (not that iTerm was slow or anything)

\- I'd have to confirm, but a lot syntax highlighting and things that I just want to "work" out of the box seemed more applicable to Hyper than iTerm

\- extensions (not sure if iTerms extension community could rival npm)

<comment><USER33> Does it automatically recognize divisions printed by programs running in the terminal and use that to determine what text to select? (i.e. if I do a vertical split in vim, does it restrict text selection to one side or the other of the split?

</comment></comment></comment><comment><USER34> Yay! My favorite new feature is "vibrancy" using the modern OS X API for that. Terminal.app still uses Quartz filters for the blur effect, which while more flexible offers way slower performance whenever there's something animated on the background, like a video playing.

</comment><comment><USER35> Looks really cool but I'd want to better understand how a web technology console application would fare performance and stability wise compared to terminal.app, iTerm 2 and other console applications. Looks cool though and congrats to the team on hitting 1.0.0

<comment><USER36> I have been using using Hyper kinda since the beginning and eventually switched back to iTerm because it's way faster if you use it all day long.

Maybe they improved performance with this version, I will see.

<comment><USER12> I tried iTerm and then Hyper, and didn't really see how either benefited me over Terminal.app so I stuck with that. But these days I do most of my development work inside Emacs, and the vast majority of my Terminal.app usage has been replaced by either a first-class Emacs plugin (like Magit[0] for git) or Eshell[1] within Emacs.

[0]: [https://magit.vc/](https://magit.vc/)

[1]: [https://www.gnu.org/software/emacs/manual/eshell.html](https://www.gnu.org/software/emacs/manual/eshell.html)

<comment><USER29> The main thing for me is split panes, but I don't primarily use an editor like Emacs that can do split panes, and I never bothered to learn tmux (iTerm does have neat tmux integration though)

<comment><USER12> Ah right, split panes are pretty nifty. Very easy to do in Emacs and convenient too. When I'm using Terminal.app, I just use two windows and place them side-by-side if needed. But most of the time a single windows suffice for the small things I'm doing.

</comment></comment></comment></comment></comment><comment><USER37> I've been very surprised so far by how little memory and how performant this terminal is even though it's written in JavaScript and runs on electron. All the other electron apps I know of are kind of known to be performance hogs (atom, slack). So it's refreshing to see something neat like this that also works well.

<comment><USER38> VSCode is probably the best example of performant Electron app.

<comment><USER39> Truth.

Every time there is a thread about VSCode or Atom, you always get people asking why does VS Code run so well while Atom is sluggish.

</comment></comment></comment><comment><USER10> Why? I don't need a hyper extensible terminal emulator. All I need is some form of customization (so I can use solarized: I happen to like it), the ability to select fonts (Terminus is the best font, by the way), and the ability to produce Unicode characters properly (and even that is optional). Oh, and VT-100 emulation at the very least. That's just kind of expected.

URxvt, XTerm, etc. do this very well, and they're also quite fast. Why would I switch to an implementation that is demonstrably worse at everything I care about, and better at things that don't matter? Do I just really hate my DRAM, and want to see it under constant max use?

</comment><comment><USER40> I find the idea interesting, but the execution leaves much to be desired. I'm using it on Windows and some of the basic readline shortcuts don't appear to work correctly (e.g. ctrl+a is doing select all instead of moving the cursor to the beginning of the line.) It also doesn't seem to have any mouse support, like the ability to scroll or resize panes in tmux. There's a very real need for better terminal emulation on Windows, but this doesn't seem to deliver.

</comment><comment> 52-6F-62 I've been using Hyper on and off for a while now. I recently returned to zsh in iTerm2 for the same reasons many others mentioned here. It _works_.

I still do toy with Hyper from time to time. A feature I do like is the hotkey-enabled pane-splitting. CMD+D to open a vertical pane. CMD+SHIFT+D to open a horizontal pane. CMD+W closes them — though I wish this option would prompt as I've accidentally closed panes a number of times by a poorly-timed keystroke. For somebody who doesn't use swap files with VIM, this can be a killer.

I am very much looking forward to installing this on my Windows machine tonight, however. ConEmu is a beast, but sometimes I just want quick, simple access to a text editor or a few commands in a familiar environment.

Some days jumping into ConEmu feels like an alien world (especially when it comes to setup/options), and Powershell just so different from what I work in most of the time.

The bit of crossover, even if there are a few sacrifices, is appreciated as an option here.

<comment><USER41> > I've accidentally closed panes a number of times by a poorly-timed > keystroke.

PSA: In iTerm you can hit CMD+Z within a few seconds to unclose a tab or window.

<comment> 52-6F-62 Thanks for the tip. That will be useful.

</comment></comment></comment><comment><USER42> The 'rewrite everything in Javascript' hysteria reminds me of the 'rewrite everything in Java' hysteria we saw a couple of decades ago.

I wonder if it will end the same way. Will Javascript eventually go on to die where all languages go to die -- as as enterprise backend language?

</comment><comment><USER43> I tried Hyper out a while back because I thought the customizability offered interesting options and the ability to have terminal and browser tabs literally side by side, in the same window, had the potential for a good workflow.

I ended up switching back to iTerm2 because encountering minor bugs was a frequent enough occurrence and iTerm2 works perfectly well for me.

I'm now curious what people who have been using Hyper consistently think about its usability and whether it's worth it to switch over? For me, worth it means at least matching iTerm2 in basic functionality and utility, having no noticeable performance issues, and not being a high battery drain. Thoughts?

</comment><comment><USER44> I have a idea for a kind of terminal (but not a terminal emulator) more in the style of ipython. But the trouble is that multi platform is complicated.

Is possible to have a _fast_ html rendered just for the UI and use native code for the rest?

<comment><USER45> Sure, with Electron/Node you can easily do that: [https://nodejs.org/api/addons.html](https://nodejs.org/api/addons.html)

A good example for a performant Electron/Node application is Microsoft VSCode

<comment><USER44> Mmm... maybe I was not clear.

I like how html/css work for build the UI, but wish not to use node at all. Also, exist a engine more light and fast than webkit?

</comment></comment></comment><comment><USER46> This is amazing. It looks 100 times better than anything available.

It doesn't have tab reordering, nor "close other tabs"/"close tabs on the right", but I'm sure there are plugins for that.

</comment><comment><USER47> This should be the default terminal software for all IoT devices. >:)

</comment><comment><USER48> Is this what used to be HyperTerminal?

I thought this was about Hyper, the Rust crate for HTTP functions.[1] That's at 0.9.14 and has major outstanding bug reports. If that had reached 1.0.0, that would be significant.

[1] [https://crates.io/crates/hyper](https://crates.io/crates/hyper)

</comment><comment><USER49> It feels pretty performant and I don't mind the extra ram usage, however, I can't afford the constant 10+% cpu usage. Even when it's just sitting there, it's constantly eating tons of cycles.

Is that a problem exclusive to the Windows version? Is there any setting I should tweak?

</comment><comment><USER50> Funny this comes out today, I was looking for a good terminal that would look decent when used with bash on ubuntu on windows. I tried xming and urxvt but fonts and colors were a nightmare, maybe this will be better.

</comment><comment><USER51> Just tried in windows and compare it to cmder by opening a small json file in vim. cmder is much quicker rendering the next page of code. I guess is still much more good looking than cmder though.

</comment><comment><USER52> So let me get this straight. This is a mini-webserver written in Javascript running the terminal as a webapp in a mini-webbrowser, right? This makes sense why?

On the other hand: My favorite iOS SSH/Mosh client seems to be built on top of this and it's awesome.

<comment><USER53> It makes sense because JavaScript has, through several bizarre turns of events, become the _language du jour_ , which means all sort of clueless people are falling over themselves to abuse it in increasingly convoluted ways, so that the clueless people in corporate HR who've been told "We need someone who is a JavaScript rockstar!" can be wowed by the description of some nightmarish contraption that "really takes insane JavaScript chops".

Language fads are _very_ tiring.

<comment><USER54> You know what's tiring? People getting out of their way to gratuitously criticize the collective effort of a coordinated group of passionate people who just want to have fun reinventing the wheel.

<comment><USER55> > passionate people who just want to have fun reinventing the wheel

Maybe instead of building square wheels they should work on improving some of the existing round wheels.

<comment><USER56> Some people make round wheels better. Some people try to create a better wheel than a round one. Both types are usually good for society. The former is most likely to yield any results at all; the latter, when it yields any results, is most likely to produce massive steps forward.

Where would we be if Einstein had spent all his time trying to improve Newton's gravity rather than reinventing it?

<comment><USER57>
        Where would we be if Einstein had spent all his time
        trying to improve Newton's gravity rather than
        reinventing it?

Einstein did just set out to improve Newtonian Mechanics. Special Relativity is just Newtonian Mechanics over the Lorentz Transform.

General Relativity is the implication of Special Relativity being true, generalized for all observers.

Einstein's approach was very much step 1, just repeated 2-3 times.

Special Relativity didn't necessarily destroy Newton's gravity. To be generalized in GR gravity had to stop being force. It was just a natural implication of a prior step.

The idea you can chase a total alien solution nobody supports and pull complete magic out of thin air is rarely true. Normally it is just a myth created by people who don't actually understand the solution or process that attained it.

<comment><USER56> General relativity was seen as a _huge_ leap forward at the time, and it still is today. I offer two quotes in support of this:

"As an older frield I must advise you against [generalizing relativity to incorporate gravity] for in the first place you will not succeed, and even if you succeed, no one will believe you." \- Max Planck to Einstein, 2 years before Einstein succeeded. It was a big deal to even attempt to do this, and people tried to talk Einstein out of it.

And why did Planck say no one would believe Einstein? Because Einstein was trying to do something fundamentally different; he was trying to create a new kind of wheel.

"Newton, forgive me." \- Albert Einstein -- why ask for forgiveness?

Einstein's role was something quite different from the role that most physicists play. Most physicists add small refinements to existing theories. Einstein upended quite a lot of existing physics and replaced it with something new. Newton saw gravity as action at a distance. Einstein showed that it was something quite different.

<comment><USER53> Einstein got there by starting with the conventional models and knowing it didn't fit, and working on a way to make it fit.

Einstein didn't start out in left field, he didn't set out to invent a new wheel. He just saw some problems in the old one, and suggested an updated wheel that would resolve them. That's the difference. One is being contrarian or experimenting on their own, which is not necessarily wrong and can certainly be useful experience to draw on, but it's just not likely to yield large advancements on its own.

Large advancements occur when someone is current with the cutting edge, accepting of the established truths, and still striving to solve the larger puzzle (which may involve rotating the puzzle pieces that make up parts of the "established truths" \-- but you can't get there if you don't have the pieces at your disposal).

Do you suggest that these people set out to make a great terminal emulator, and were eventually driven into the arms of JavaScript as the one true answer to the fundamental problem?

I think it's more likely that they said "Let's try to do this thing that's been done hundreds of times ... IN JAVASCRIPT!!!" And again, there's not anything wrong with that _per se_. It just doesn't make a good value proposition when you're trying to convince users to use your product.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER58> One of the worst possible things: to get a sense of what the hell Hyper is, you need to scroll down and find it.

I really don't understand why their first line isn't: "Hyper is a ..."

<comment><USER59> Because we're looking at a link to release notes, which I would expect the hyper devs expected people to come to -after- looking at the project page.

One of those situations where submissions being a single URL isn't quite ideal.

</comment></comment><comment><USER60> uses quite a bit of cpu on my little dual core i5, terminal looks great tho

EDIT:

Also who came up with using the hotkeys (Alt + Ctrl + tab) & (Alt + Ctrl + Shift + tab), How are you even supposed to use those O.o

</comment><comment><USER61> If you choose to install this via homebrew, be aware that there are actually two hypers that can easily be installed.

This Terminal Emulator: brew cask install hyper

Docker Hosting: brew install hyper

</comment><comment><USER62> As much as I love this project, the commit messages and release notes are terrible for figuring out what's been fixed. Actually the only way I was able to track bugs was by watching the repo and seeing everything or checking in on an issue every so often. For releases they've streamlined it but I still have to dive into the code between releases to find fixes and reverts.

I've switched back to iterm2 due to these two issues which can easily be fixed by the maintainer(s)

</comment><comment><USER63> Looks cool, but for some weird reason I was expecting something related to Apple's HyperCard <3 :D

</comment><comment><USER64> Fails my standard "Too many clicks to understand what this is" test.

Posted link has virtually no description of what the project is.

Going to the root of the github repo has release notes and with the most detailed description as "HTML/CSS/JS Terminal" but burned into a PNG file.

Best description of the product is on "hyper.is" in an animated GIF form.

People working on project like this need to understand that without a reasonable textual description of their product, outlining basic features and benefits over other existing systems, that the uptake is going to be very, very low.

<comment><USER65> I wish more projects would adopt this mentality. I feel like there was a time whenever you went to a project page the first thing you would find was a description and how it was helpful, followed by screenshots and a quick start guide.

Nowadays they all just tell you what was in the latest release, or give some instructions on how to install it without telling me why I should even bother take time out of my day to install it.

<comment><USER66> It's the version release notes

</comment></comment></comment><comment><USER67> What's startup time like? Is it instant?

</comment><comment><USER68> Why is there no "clear" command?

</comment><comment><USER69> It's a nonsense.

</comment><comment><USER70> Why do I want this?

</comment><comment><USER71> I mean, I don't get how your supposed to run all these web browser based apps on a mac, when you know, the default mac has 8gb... chrome alone is taking up half that already.

<comment><USER72> My Chrome is only using 200 MB + ~100 MB per tab, depending on the page size. It's a lot, but not a constraining amount.</comment></comment>


Telegram Remote Code Execution  Zero-Day Vulnerability - <AUTHOR> https://securelist.com/zero-day-vulnerability-in-telegram/83800/ <comment><USER2> Calling it "remote code execution" is veeeery clickbait-y. By this logic, any website with download links uses "remote code execution".

Even the source article says just "zero-day".

Also, tldr: Using Unicode Right-To-Left, you can make Telegram show file name "gpj.js" as "sj.jpg". That's all.

<comment><USER3> Yeah, I was disappointed as well. This "zero day remote code execution" actually is not much more than good, old "important_document.pdf.exe" just slightly more obscure.

</comment></comment><comment><USER4> This article is atrocious. It has a clear agenda motivating its publication that is simply at odds with facts.

1\. This is not a vulnerability with Telegram. The headline is deliberate clickbait, and the article's Telegram-centric presentation doesn't redeem it.

2\. This is not a remote code exeution vulnerability, or even a "0-day" (for whatever meaning that term still has...). This vulnerability is a malicious file upload combined with a clever phishing vector.

The reporting is _exceptionally_ bad - so much so that it is difficult for me to attribute it to simple ignorance. It is very clearly trying to hit several checkboxes for what is otherwise a non-story:

* Telegram

* Cybercrime

* Cryptocurrencies/Mining

The entire narrative is carefully constructed with keywords that have no hard relation to the vulnerability _whatsoever_ \- it feels like I'm reading a bug bounty report where someone extrapolates a minor endpoint security or phishing vulnerability to whatever they think will get the most attention to the report.

Reporting like this almost makes me wish for Gell-Mann Amnesia in my own field.

</comment><comment><USER5> "Hello! I'm russian remote code execution vulnerability, please run me and ignore system security warning. Also, you may want to delete your Documents and Settings folder, just press Del button and then Continue"

<comment><USER6> As a security researcher who tends to focus a bit on user interaction and phishing vectors you are 100% correct, but also representing part of the problem. Too often we discount vulnerabilities which users have to click- through to execute. Unfortunately users do ignore system security warnings. Unfortunately when given a dialog where they can choose security over doing their job, they'll do their job.

I've actually presented user interaction vulnerabilities to development teams in an interactive environment where I describe the vulnerability. I show them where it's at, I show them the dialogs they must be cautious about and even with all of this education they still fall for my attack running on their network. As an industry we've got to stop discounting vulnerabilities as not serious because they require user interaction which involves clicking through security warnings.

<comment><USER7> > As an industry we've got to stop discounting vulnerabilities as not serious > because they require user interaction which involves clicking through > security warnings.

Maybe give it an actual name. Something like Vibkac: Vulnerability is between keyboard and chair.

</comment></comment></comment><comment><USER8> This should be renamed to "Telegram right to left vulnerability"

This is just not an RCE. It's just pretty good phishing.

</comment><comment><USER9> I didn't quite understand the "Remote control" scenario; is the victim becoming a telegram bot, where the attacker sends commands to the bot and the bot executes stuff on the victim system?

<comment><USER10> I think its basically that the malware uses telegram bot API as a CGI. Probably not a smart attack and sounds like something someone naive but familiar with writing messenger bots might try.

</comment></comment><comment><USER11> Mods need to change the title -- this is deliberately dishonest reporting as it stands.</comment>