Quicksand: Lightweight Probabilistic Programming Implemented in Terra (2014) [pdf] - <AUTHOR> https://dritchie.github.io/pdf/qs.pdf <comment><AUTHOR> I am trying to see how the procedural model generation of this paper stacks up against Rosetta [1], which I intermittently use with Racket [2] to do procedural geometry generation for computational design, sculptural, architectural, game dev, and other endeavors. It seems lengthier, but more diverse in its iterations.

I am hoping to leverage my early C programming with newly-found Terra, and Lua to allow me to move across legacy low-level, meta-programmable low-level, and scripting for the many things I play around with, even creating DSLs. I've used Grasshopper in Rhino, and others, but I like staying away from having an AutoCAD or Rhino license, and just use code. I need to make another backend target for Rosetta other than OpenGL. FreeCAD [3] is my current target, so I can create some type of geometry for the CAD folk, and 3D printing. I really like Lisp, so Racket and Rosetta tick a box for that, but I am now thinking I can use Terra/Lua/Fennel [4] for a toolchain. It's easy to hook into FreeCAD's API using C++ or Python, which is uses and has a terminal for in the GUI. Maybe Fennel terminal in FreeCAD?

[1] [http://web.ist.utl.pt/antonio.menezes.leitao/Rosetta/tutoria...](http://web.ist.utl.pt/antonio.menezes.leitao/Rosetta/tutorials/introduction.html) [2] racket-lang.org [3] [https://www.freecadweb.org](https://www.freecadweb.org) [4] [https://fennel- lang.org](https://fennel-lang.org)</comment>


Show HN: Dominus – Multiplayer browser game made with Meteor - <AUTHOR> http://dominusgame.net <comment><USER2> Your Tree page ( [http://dominusgame.net/tree](http://dominusgame.net/tree) ) is showing some people's emails (and their first/last names as some email addresses seem to contain) in the open -- seems some people are using their email as the username.

Filtering out emails on that page and/or sanitizing the username field on signup would be good.

</comment><comment><USER3> No way. Is this a successor to the old DOS game by the same title? [http://en.wikipedia.org/wiki/Dominus_(video_game)](http://en.wikipedia.org/wiki/Dominus_\(video_game\))

I spent a great deal of my childhood playing Dominus, admittedly badly. I'd love to see its spirit live on.

</comment><comment><USER4> Still painfully slow getting started. 30 minutes to move 3 tiles? Same thing happened now as the first time this was posted. An army is moving, but they're probably going to grow old and die there.

<comment><AUTHOR> It's designed to not take a lot of time to play. Something that you can spend 10 minutes moving your troops around then come back after a few hours.

<comment><USER4> Yeah I guess I spoke too soon... I've left the tab open on two machines and have continued playing.

</comment></comment></comment><comment><USER5> A dupe of [https://news.ycombinator.com/item?id=7865844](https://news.ycombinator.com/item?id=7865844).

</comment><comment><USER6> I've enjoyed the first couple rounds Surprised me with how it sucked me in. Nicely done!</comment>


For business school graduates, investment banking is out and consulting is in - <AUTHOR> http://www.economist.com/news/business/21623673-graduates-worlds-leading-business-schools-investment-banking-out-and-consulting <comment><USER2> That's unfortunate. MBAs are toxic to businesses. They're the classic middle- manager, the random internal goal creators, the inefficiency masters, and so on. They also, as this article makes clear, only care about short term profitability over long term growth or stability (as they won't be there in five years anyway!).

You can look at tons of formally successful businesses that took in too many MBA types and lost their edge (e.g. IBM, Microsoft, HP, Cisco, et al). Google is also starting to go in that direction. Amazon has actually been fairly successful in avoiding that culture (partly due to their own internal culture being almost anti-MBA philosophy).

I'd happily hire an accountant, a lawyer, or even an economist. They're all specialists who bring different knowledge and perspectives to the table. I'd avoid hiring an MBA as they're largely useless people who just want to gum up the works with bullshit.

Engineers for engineering managers aren't perfect, but at least they aren't so far removed as MBAs are. At least once in their lives they knew what it took to deliver, and I'd prefer to train up an engineer into a decent manager than take in a pre-trained MBA.

<comment><USER3> I'll play devil's advocate as your brush strokes are hyperbolically broad. Couldn't one just as simply say "Programmers are toxic to business. They're classically myopic optimizing for 'fun' technical stacks without understanding the business they're working in." That's obviously untrue as well. I've been lucky enough to work with some very good folks who are MBAs. I would suggest the issue you're seeing is similar to what we try to avoid in the tech culture. We want to hire the best engineers out there...not the average code monkeys. Similarly, if you hire great MBAs they should not be toxic to businesses.

<comment><USER4> _Similarly, if you hire great MBAs they should not be toxic to businesses._

I agree. We get burned by the Damaso Effect: the good MBAs work on billion- dollar private equity deals and the ones who fail out end up going West and managing nerds. Further reading: [http://michaelochurch.wordpress.com/2014/01/05/vc- istan-8-th...](http://michaelochurch.wordpress.com/2014/01/05/vc-istan-8-the- damaso-effect/)

<comment><USER5> Interesting. Looking at Michael O. Church's premise, I wonder if it might be possible to bootstrap a professional organization by (initially) inviting only those engineers who already work at a level we'd consider professional: basically, the false negative rate here would need to be <~5%. One option might be to pick only those who have worked, for 2+ years, at a level above "terminal" levels: [http://www.quora.com/Engineering- Ladders](http://www.quora.com/Engineering-Ladders)

So the initial invite would be for E6s+ at a few organizations (Google, Facebook, others?). Those people would know others they can vouch for, at either the "senior" level (the E6+ level) or at a "junior" level, but who are on a trajectory to make the "senior" level, eventually. At some point, this group would need to establish either which schools, or which certifications (i.e. MOOC programs) qualify someone for "aspiring junior" or similar roles, much like the bar. Or it could be entirely "project based", i.e. you show the organization some work you've accomplished, and the source code, in order to qualify. I haven't fully thought this through, so I don't really know how to get this right.

Given enough cachet, this should allow SDEs to form partnerships, with relatively little "reputation verification" required from their clients, much like how for most lawyers and doctors, people don't really care which one they go to (at least at first), just that they're seeing someone qualified.

</comment></comment></comment></comment><comment><USER6> Peter Thiel, last week, on MBAs getting jobs:

 _The conceit of the MBA is that you don't need to have any substance at all. It's just this management science, and you can apply that equally well in [any company].

At the end of [their MBA program], a large number of people go into whatever was the last trendy thing to do. They've done studies at Harvard Business School where they've found that the largest cohort always went into the wrong field. So in 1989, they all went to work for Michael Milken, a year or two before he went to jail. They were never interested in Silicon Valley except for 1999, 2000. The last decade their interest was housing and private equity._

[http://www.washingtonpost.com/blogs/on- leadership/wp/2014/10...](http://www.washingtonpost.com/blogs/on- leadership/wp/2014/10/10/peter-thiel-on-what-works-at-work/)

<comment><USER7> "... They were never interested in Silicon Valley except for 1999, 2000..."

I wonder if this means that MBAs starting to flock to the tech sector again is an indicator that another crash is coming. :-)

<comment><USER8> Maybe causation goes the other way around; maybe it's the influx of MBAs that crashes the sector... ;).

</comment></comment></comment><comment><USER9> I figured this would be a lively comments section. MBA-hatred might be the most common blind spot in the Valley, and it bums me out.

Within the historical context, the animosity makes sense; during the 99-00 bubble, fast-growing companies that were founded and led by engineers realized that they couldn't grow managers organically and maintain their growth rate -- so, they recruited MBAs from the top schools, especially HBS and Stanford. In so doing, they made a categorical error -- they inferred that all Harvard MBAs are, at a minimum, competent managers in the same way that all Stanford CS master's degree holders are, at a minimum, competent programmers. Many people got burned for making this assumption.

Anecdotal evidence suggests that the MBAs who "answered the call" and/or beat down the doors of hot startups in the bubble years exemplified the worst of the MBA stereotype: arrogant, entitled pricks whose life plan from high school was get the right grades, do the right extracurricular activities, go to the right college, get the right grades, get the right internship, get the right job, kiss everyone's ass and get good evaluations, get the right GMAT score, get into HBS, and then be anointed as the elite, highly-paid business person that they were born to be. They were process-oriented people who didn't care about creating value, they just wanted their slice of the pie.

I'll be honest, I knew a few people like this in business school, but they were a small minority. It's unfortunate that people who meet this stereotype have punched above their weight when it comes to making an impression on popular opinion in the Valley.

In my case I got a lot out of going to business school. It was a great transition from military service: I got a comprehensive crash course on a lot of relevant topics, got a recruiting platform from which I got a good job where I subsequently learned a lot, and got a broad and deep network of a lot of people (most of them not douchebags) across a wide set of industries.

On the topic of the article itself....I think the author is trying to squeeze the data too hard. The story here is not "i-banking no longer cool for trend- following MBAs", it's "i-banks are cutting costs and realizing that it's cheaper to hire more people out of college and try to keep them around longer".

<comment><USER10> Thank you for the viewpoint.

MBAs, as used to segregate people in a bureaucracy, are a good idea. Your company has a pretty good idea that you have heard of accounting and it's theory, marketing as a profession, and the business and it's place in law and society having done an MBA. Yes, to many people, this is 'common sense' but with thousands of people working for you 'common' is very hard to come by. MBA degrees fill a function, to get everyone the same vocab, ideas, and implementations of those things. It leads to group think by design, it has to. You simply cannot have 500 people working together with different definitions or fuzzy ideas of what accounting actually does. It would be chaos.

MBAs are a symptom of bureaucracy, not a cause of it. Group Think as well, you have to have standard definitions, processes, and procedures. The issue is when you loose sight of that need and create orthodoxy.

<comment><USER11> So your saying MBA's teach zero skills save for vocabulary necessary to enforce bureaucratic segregation? I guess you can say the same thing about law.

I don't see the same thing happening at my company though. Concepts discussed at the management level are usually communicated in a way any layman can understand.

<comment><USER10> No, the skills are a part of the vocab too, so to speak. Accounting, for example, has definitions as well as methods. If your department uses MatLab then trying to get the other department that only uses Excel is going to be hard. It's not just 'software' issues either. The ethos, the rounding of fractions of a cent, knowing when to run an internal audit, how to deal with Janet's crappy way of writing 9 and 4, all those little tricks and 'common sense' things need to be sussed out in a huge bureaucracy. Multiply this over hundreds of different fields of work, states and nations and you see why a training course that is not just 1 weekend long is needed.

Glad to hear your company is well run though.

</comment></comment></comment></comment><comment><USER12> I don't think it's ever fair to generalize and hate on people just because they have a specific degree. Sometimes grad school is a good place to reboot your career and I'm of the belief that education is never a bad move.

There's plenty of insanely smart people I know who have an MBA and can get their hands dirty and hustle (versus the stereotype that they can just build a powerpoint on execution but can't actually deliver). It's just a matter of finding the right people.

</comment><comment><USER13> On a contrarian point of view it is probably a good time to be on wall street and it is probably a bad time to be in tech.

<comment><USER14> Applying the same contrarian point of view, it's probably a good time to work for a record label or a physical bookstore.

I don't think IB is on the same level of obsolescence as those industries (it's not obsolete at all, although banking as a whole has surely changed since 2008), just pointing out the flaw in that reasoning.

<comment><USER15> Either way they're just looking to be middlemen. Industry doesn't matter.

</comment></comment></comment><comment><USER16> To me, "business" in any generic sense just seems incredibly boring. It always has, it always will. I could care less about what the trends are or where I perceive the money is.

In contrast, "technical challenges", have and will always be of interest to me, even if they are pointless, like the Euler Project or going to ground on some obscure syntax question.

It seems likely that sharp graduates coming into tech because they perceive they can make a lot of money there or because they perceive it is a good launching pad into an executive lifestyle is not going to be a net benefit to the technical community in the long run. This group of people, as a whole, will never share in the ESR-style hacker ethos.

<comment><USER17> A meaningful system, one that _gets stuff done_ in the real world, comprises people, processes and technology. All are hackable.

<comment><USER18> This is very true and too many people overlook it. Many "generic" challenges faced by "business" are similar in nature to technical challenges.

For example, a common business challenge is organizational design.

How do we create an organizational structure that serves the needs of the business and the people who work there? Well to start, what are the basic inputs and outputs of the business? What is needed to transform those inputs to the outputs in a manner that is efficient, adaptable, safe etc. Are there common groups of people that tend to work on common inputs and create common outputs ? Within those groups, are there specific people needed to do specific tasks? Imagine person A, in group A, needs an output from person B in group B. Does person A need to know exactly how the output was created? If you've got this far, hopefully you realize the parallels I'm drawing.

Same types of thought experiments can be applied to all kinds of operational and financial aspects of running a business- most are clear optimization problems. It's unfortunate that too many "hackers" hear the word business and assume it's about boozy dinners with other business people, or boring powerpoints that tell us nothing.

There's plenty of interesting challenges in business, and strong MBA-types are often better prepared to address them because they understand the various design patterns available to them.

<comment><USER16> I suppose this is true, but I'm talking about what these MBAs coming out of top-tier programs are all about. In my experience, they're not interested in technical challenges, they're interested in money and status.

That is why the Economist can write headlines like this in the first place; in other words, why the "interests" of MBAs can shift at all. I don't think that legions of MBAs were going into investment banking because it was just so fascinating to them, and I don't think that's why they're gravitating to SV, either.

</comment></comment></comment></comment><comment><USER19> Anecdotally, I work in tech in New York City, and holy shit do I see a lot of this.

</comment><comment><USER20> There are two serious problems with this:

\- Many "Managerial" people flocking to Tech only and solely because they see it as a shortcut to making a quick buck. When a field becomes inundated with people who are not core to the field but still wield power - guess what is going to happen

\- Many MBAs are convinced that there is some mystical science of "Business Administration" that applies equally well in any company irrespective of size, type of business, types of customers etc. This has led to some spectacularly BAD decisions and programs that could be ruinous in the medium to long term but look good on the shorter timescales.

A crash in the "Tech Sector" has now become a real possibility in the next 1-2 years

<comment><USER17> Just for arguments sake: aren't _we_ convinced there is a mystical science of "systems administration" that applies equally well in any company...?

</comment></comment><comment><USER21> not sure if this is the correct headline. finance overall is less popular but in 2008/9 most investment banks where either bought by "normal" banks or where simply allowed to convert their bank type from investment to "normal":

Goldman Sachs and Morgan Stanley "abandon their status as investment banks" by converting themselves into "traditional bank holding companies", thereby making themselves eligible to receive billions of dollars each in emergency taxpayer-funded assistance.

[http://en.wikipedia.org/wiki/History_of_investment_banking_i...](http://en.wikipedia.org/wiki/History_of_investment_banking_in_the_United_States)

</comment><comment><USER22> The subject (due to length constraints) unfortunately left out technology too.

For all the knock that MBAs get, it's worth noting that to make money and survive, businesses must do two things:

1 - Create Value

2 - Capture Value

Many of the people here excel at #1, but there are plenty of CS majors who don't create any value. Good MBAs help in capturing value. This can come from turning the business into a monopoly (a goal of Peter Thiel) or from figuring out how to incentivize a sales force. These are things generally not well understood by great programmers.

That said, MBAs also tend to be a tailing indicator. Which tells me that it's probably time to be a banker, and look for cash over equity for the next few years. :-)

</comment><comment><USER23> the headline is another way of saying 'tech is officially in bubble mode'

</comment><comment><USER24> For those in the know, the prospects for an investment banking career just haven't been the same since 2008—2009, so it's not surprising to see graduates go elsewhere.

</comment><comment><USER25> MBAs follow the money, and right now that's in tech and consulting and not as much in finance.

</comment><comment><USER26> The article seems to imply MBAs are consulting right out of business school, in other words without experience? The education is valuable, but unless consulting is very different in the "business" side of things, this sounds dangerous.

<comment><USER27> Most MBA programs only accept students with several years of work experience. There are always a few straight from undergrad, but the vast majority aren't. Typically , fresh MBA grads that are 'consulting' are just juniors on the projects. They are basically just excel monkeys for a few years until they gain more specific experience.

</comment></comment><comment><USER28> I think it is not just MBAs.

</comment><comment><USER29> That is when you know tech is in a bubble

</comment><comment><USER29> Thats when you know you have a bubble.</comment>


Ask HN: Can You Find Me a Show HN Post - <AUTHOR> There was this site/project that was collecting developer tools in a nice wiki-like format, along with some metadata (description, platform, category...etc) but I can't find it anymore.
It seams like I am going to revisit saving sites, because google doesn't seem to be helpful enough these days
I would really appreciate some help trying to find that Show HN post <comment><USER2> 1) [https://github.com/cjbarber/ToolsOfTheTrade](https://github.com/cjbarber/ToolsOfTheTrade)

from this post

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

2) [https://engigogo.com/developer/](https://engigogo.com/developer/)

from this post

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

3) [https://www.hellobonsai.com/best-freelance- tools](https://www.hellobonsai.com/best-freelance-tools)

from this post

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

4) [https://founderkit.com/](https://founderkit.com/)

from this post

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

5) Assorted:

[https://startupresources.io/](https://startupresources.io/)

[https://www.stacklist.com/](https://www.stacklist.com/)

[https://stackshare.io/](https://stackshare.io/)</comment>


How a Single Front-End Engineer Can Replace a Team of Two - <AUTHOR> http://www.toptal.com/front-end/learn-to-code-as-a-design-learn-to-design-as-a-coder

<comment><USER2> Perhaps more accurately: "How a Single Designer Who Knows HTML and CSS Can Replace a Designer Who Doesn't Know HTML or CSS and a Junior Developer Who Can't Design."

<comment><USER3> ...which fits the general pattern, "How one person can replace two people who do a subset of that person's job."

Which does not require an article's worth of explanation.</comment></comment>


UK Parliament Vote in Favor of Airstrikes in Syria - <AUTHOR> http://www.bbc.com/news/uk-politics-34980504 <comment><AUTHOR> How is it that there is no discussion of those countries that feed the ISIS beast? I'm talking about Turkey, Saudi Arabia, etc?</comment>


Uber Drivers discuss giving 1-star ratings to passengers who don't tip - <AUTHOR> https://uberpeople.net/threads/uber-tipping.313017/ <comment><USER2> Lyft really screwed this up for everybody. We had a good thing going where this inane concept was missing from digital ride share. But no, they had to pretend they're doing something "pro-driver" by allowing tips and now we end up here.

I'll never tip via an app. I'm paying for a service and expect the price to include everything. Note that I _do_ tip in cash but that's done on a case by case basis because I decided to do so, not because I feel obligated.

<comment><USER3> I don't tip often for Uber/Lyft, but I do always tip for Uber Eats and other food delivery apps, mostly because my condo unit is kind of hard to get to. I find that if I don't explicitly say "Will tip for door delivery" in my Uber Eats delivery instructions, about 15% of drivers won't come anywhere near my door and will just wait for me outside of the building. After adding that line, it went down to 1%.

So for me, tipping is kind of just an added cost I have to account for to get the app's actual promised service.

</comment></comment><comment><USER4> I use Uber precisely because of its predictability and lack of social dances and pressures. At this rate it will just be another taxi company before long. I want the drivers to be paid fairly, and if that means making the rates more reasonable then so be it I'm happy to pay a fair price. Just don't make the drivers livelihood depend on how well he can pretend to be interested in my day etc to eek out as much tips as possible. The dynamic it creates is not fun for either side.

<comment><USER5> Changing human nature is really really difficult, maybe impossible

EFIT: because of the downvotes I want to clarify that I meant: if Uber is developing towards other, older taxi companies it's maybe because of human nature and not because they wanted to become like that

<comment><USER6> Not in this case. The culture around tipping is not universal.

</comment></comment></comment><comment><USER7> In the US, Uber doesn't show the presence or amount of an in-app tip until after the driver has rated the passenger, so this is impossible. I can't imagine why they'd implement it any other way in other countries.

Whatever one's view of tipping, this specific problem isn't likely to be an issue.

</comment><comment><USER8> Correct me if I'm wrong, but how can they give you a 1-star rating? They don't know if I tipped or not as a rider, right? Isn't it all just added into their pay, no way to tell if a specific rider they had tipped X or Y? Or do they mean cash tips?

<comment><AUTHOR> In the thread it shows that passengers that tipped are given a green check next to their ride.

[https://uberpeople.net/threads/uber- tipping.313017/post-4777...](https://uberpeople.net/threads/uber- tipping.313017/post-4777382)

<comment><USER7> At least as of 2018 (I haven't seen the driver app recently), after giving a ride, a driver is basically restricted to the passenger rating screen until they complete it. Screens like this one, if they exist, are only visible after a driver has rated a passenger.

The driver's rating of a passenger can only be changed by opening a support ticket, not in the app ([https://help.uber.com/partners/article/i-want-to- change-my-r...](https://help.uber.com/partners/article/i-want-to-change-my- rating-for-a-rider-?nodeId=a139da41-17b0-49ef-b226-0a8587b08178)).

</comment></comment></comment><comment><USER9> This is why I don't use Uber. I find their whole corporate culture to be really bad, and that has filtered down to the drivers. As for Lyft, they should just pay people a proper amount and get rid of tipping altogether. Why are we STILL supporting this relic of slavery?!

<comment><USER10> Without tipping, the base fare isn't enough to be a "proper amount". If they raise the base fare, people won't use ridesharing as "too expensive".

The economy is at full employment (in the US; Australia has a substantial minimum wage already). 68% of Uber drivers churn within six months [1]. I doubt that's sustainable.

[1] [https://therideshareguy.com/7-reasons-why-uber-and-lyft- driv...](https://therideshareguy.com/7-reasons-why-uber-and-lyft-drivers-are- quitting-rideshare/)

<comment><USER11> Then ridesharing is too expensive. If the only way to make it work is to trick people at seemingly lower prices and then have them feel obligated to make up the difference for the drivers salary.

<comment><USER10> That's the situation in a nutshell. You either burn up VC money or you exploit drivers (or a combination of the two).

</comment></comment></comment></comment><comment><USER12> Who the hell tips uber drivers. And why. I sometimes "tip" taxi drivers if the change is not worth getting(like if the ride was £28.84 then I'll just hand then £30 and not bother with change), but to consciously pick a tip on the app? Yeah it might feel nice for the driver, but all you're doing is sending an email to Uber that says "hey guys it's fine if you pay like shit, because we customers are totally willing to subsidise it instead. Thanks!".

<comment><USER13> I live in America. I rarely tip Uber. I have tipped before, one that comes off the top of my mind is when I asked for a ride into downtown, where there was a huge parade/celebration going on. Due to traffic from other vehicles, there was no way they were getting out of there in any reasonable amount of time after dropping me off. It easily would have taken them 10 or 15 minutes just to get to the point where they'd be able to get out of the area I put them in. I genuinely felt bad for them.

</comment></comment><comment><USER14> It's not obvious from the title, but this is Uber in Australia. Australia doesn't have a culture of tipping generally, because we expect that people are getting paid a living wage by their employers. Not just a minimum wage, one that's sufficient to actually live.

Moving to the US I encountered a huge culture shock when I learnt that there was such a thing as working for almost nothing from your employer and relying entirely on the variable generosity of random strangers to make ends meet. It seemed rather backwards to me.

I don't think this will fly too much in Aus.

</comment><comment><USER15> "Well boys and girls, you're about to find out how tight pax's really are. Uber about to allow tipping via the app. We're all rich!!! If only. Looking forward to my additional $5 per month."

I have been able to tip for years, what am I missing?

Edit: I was missing the location, it's AU specific

<comment><USER16> which is even weirder, because tipping generally isn't a thing in Australia.

</comment></comment><comment><USER17> Is there any reason cities haven't rolled out an app similar to Uber/Lyft for the actual licensed taxi drivers? The whole idea of Uber was that you could get a ride on demand and didn't have to fight for or wait for a cab as well as paying less. The paying less part isn't really all that true anymore, from what I have seen - they are about on par. Especially if tipping is now expected.

But I think the taxi drivers would benefit greatly from an app like that. I see no reason that there couldn't be something akin to what ParkMobile has done for public parking.

<comment><USER18> I don't know about cities, they're usually not the ones running the taxis. But taxi companies most definitely have mobile applications.

In Singapore, the largest taxi company has an application that's much better than Grab. It's faster, doesn't force you to rate the drivers, and doesn't bombard you with ads in the notification area.

(yes, I know Grab doesn't force you to do it anymore, but it used to be that the only way to not rate the driver was to hard kill the application)

</comment></comment><comment><USER19> I'm currently on vacation in "bargaining countries", last in Vietnam. People use Grab there because they don't want to bargain before going to the cinema.

You can leave a tip - but generally, you pay the price from the app. This is the damn reason you use the app.

</comment><comment><USER20> Just don't tip the uber driver. Tipping leads to more discrimination and confusion.

</comment><comment><USER21> No, fuck this. You think riders care about their rating? We care about not having to tip where it's not customary because it's a stupid fucking idea. It's bad enough you have to tip in the US for restaurants because business owners are too cheap to pay their workers a living wage and the US doesn't give a fuck about its people making a living as long as the rich get richer. Now this stupid custom is even spreading outside the US. I was in Prague and every restaurant wanted tips. What the fuck? I'm tired of having to pay others' salary because the fucking laws don't protect people and business owners prefer it. Fuck them and fuck this tipping culture. Uber drivers don't do shit to deserve tips and they don't deserve tips. Not killing me is not a fucking tippable act. It's expected as part of the fucking service. Fuck them for expecting it and fuck Uber for not paying enough and fuck the government for not fixing this.

<comment><USER22> So without tipping, going to a restaurant, you aren't paying the employee's salary?

I can see how it can be confusing, the first few times you are in a tipping situation, coming from a non-tipping culture. But after that, what is the issue? If the tip is an onerous financial burden, then you shouldn't be eating out anyway.

I mean, how many times are you going to grumble to yourself, "the bill says x but I gotta really pay 1.2x" before you just understand that's the way it is.

<comment><USER21> No, you completely misunderstood and jumped to the wrong conclusion. I have no problem tipping at restaurants in the US, and I tip well because I realize the US system and culture are broken. The problem is with this ridiculous system and culture spreading everywhere else, to other industries and to other cultures. And no, I'm not paying the employee's salary directly anywhere else. That's the employer's job. It's absurd to suggest otherwise.

</comment></comment></comment><comment><USER23> This is so much like the Black Mirror episode "Nosedive" that it's almost not funny

</comment><comment><USER24> I remember days when you can not tip in uber app and It was a articulated feature that tipping is not requited.

</comment><comment><USER25> Reading this makes me want self driving cars to put all of these people out of business ASAP.

</comment><comment><USER26> Tipping really makes your budget unpredictable. I am travelling there (not for the first time) from a country. What's the current tip rate?

</comment><comment><USER27> This type of correlation would be pretty easy for an Uber ML model to detect and flag those drivers.

<comment><USER28> Why do we have to "ML" everything? A simple database query should provide good evidence.

I'm confident that a significant portion of problems that ML is applied to today can be solved by some Excel sheets.

<comment><USER29> Machine learn is also called statistical learning. It does not mean deep learning which is a subset of ML.

Creating a model in python or R is going to be much easier than in excel.

<comment><USER30> >Creating a model in python or R is going to be much easier than in excel.

True, but my boss will ask for it in Excel anyway.

</comment></comment></comment></comment><comment><USER31> The scale one of the posters provides is laughable. Why would they implement having the driver view the tip prior to rating anyway?

</comment><comment><USER32> Can't drivers just raise their prices?

</comment><comment><USER33> Wait before rating the driver...

</comment><comment><USER34> I might be in the minority but I actually like tipping for good service. It is personally gratifying to help somebody out that might need it and it rewards and encourages better service for everyone.

</comment><comment><USER35> Not tipping is a lazy action where you are taking out your annoyance at the system on the people who are most damaged by the system. It does nothing to change the system.

Tip heavy, if you can afford it, and lament how annoying the whole system is over a drink with friends.

If you really hate it actually take political action (vote, protest, etc.).

<comment><USER36> Counterpoint: Not tipping IS voting (with your pocketbook).

<comment><USER37> You are then voting by decreasing your waiter/waitress's salaray for the night. We shouldn't punish the people who depend on the money to live, we should protest the politicians too worried about corporate money.</comment></comment></comment>


The 100 Most Influential Taglines - <AUTHOR> http://www.taglineguru.com/survey05.html <comment><USER2> Not a lot of technology companies in that list. IBM "Solutions for a small planet" is one I don't even remember a little bit--and I've been serious about computing since the mid-80's. So I think I have to disagree with them. Apple's "Think Different" is pretty darned good, and "Intel Inside" was definitely a winner...and the right thing for them at a time when they were facing stiff competition from AMD, with very little to differentiate them (the CPUs were pin-compatible at the time, so one could drop an AMD CPU into any system and manufacturers could switch on a whim).

I'm having a hard time thinking of good tech taglines...Microsoft's "Where do you want to go today?" always seemed like a parody (with the obvious answer being, "Somewhere far away from this infernal blue-screened machine"), but that's not the fault of the marketer who came up with the tagline.

Anybody have any favorites among recent companies, particularly software companies?

<comment><USER3> Do you... erm... Yahoo!?

And, of course: I'm Feeling Lucky!

</comment></comment><comment><USER4> I cannot think of any company that has motivated me more with their advertising than Nike. I don't know how much it influenced by purchasing but "Just Do It" is still part of my day-to-day life.

Subway's current run of "5 dollar footlong" commercials is likely to become a classic too. Incredibly simple message + annoying but unforgettable jingle + hand gestures + vivid imagery (woman vs. Godzilla). It makes you think that buying a sandwich for $5.00 is a good deal.

The difference is the Subway thing will not last too much longer but "Just Do It" and that swoosh have been embedded in my generation's heads permanently. Nike could bring back "Just Do It" at any time and it would never get old.

Of course, "Just Do It" is just a pale shadow of the most powerful one ever: <http://en.wikipedia.org/wiki/Lord_Kitchener_Wants_You>

</comment><comment><USER5> only one thing in the list is from this decade (Las Vegas, 2002).

i'm guessing this isn't so much a matter of "lack of memorable advertising of late" as it is a matter of time. it probably takes a decade to cement a good tagline. in fact, i bet time matters a dozen times more than any other variables (aside from the company continuing to operate and advertise).

because of that, I find that the only impressive thing on that list IS Las Vegas.

</comment><comment><USER6> An old joke. (Almost) every one of these could be used to advertise condoms. (Go over the list, if you don't believe me.)</comment>


Ask HN: Where should I eat sushi in San Francisco? - <AUTHOR>

I am headed to San Francisco for the first time next week and I'd like to find a couple good sushi places to go to while I am there. Any recommendations?<p>Google Places or Yelp links appreciated! <comment><USER2> I come from Vancouver, where I am spoiled with sushi selections at very reasonable prices. There is a sushi restaurant/take-out within 2km walk from where ever you are in the city/suburbs. Coming to San Francisco, I was disappointed in the limited sushi places considering San Francisco is 3x more populated than Vancouver. However, for the last four months I've been testing out as many sushi places as I could. Best tasting and freshest around my neighbourhood is a tiny place in Castro called Warakubune Sushi ($$). Another good place is Sushi Time, a hidden gem with very fresh fish,($$) and Osaka Sushi, Japanese owned with bigger maki rolls ($). My friends have recommended BlowFish Sushi in the Mission area but I haven't tried it yet. It's more unconventional type of sushi and more on the pricey side ($$). Good luck!

</comment><comment><USER3> If you can drive south to San Mateo (about 30 miles from SF), the best sushi is Sushi Sams. They are one of a few places that serves toro, and it's the best you'll find in the Bay Area. Melts in your mouth.

</comment><comment><USER4> None of my friends will shut up about <http://www.yelp.com/biz/zushi-puzzle- san-francisco-2> \- probably worth checking out.

</comment><comment><AUTHOR> One recommendation I've been given already is - <http://www.yelp.com/biz/akikos-sushi-bar-san-francisco>

</comment><comment><USER5> A tiny tiny shop..

[http://www.yelp.com/biz/kiss-seafood-san- francisco#query:kis...](http://www.yelp.com/biz/kiss-seafood-san- francisco#query:kiss%20sushi)</comment>


Ask HN: What do I do? - <AUTHOR>

I've recently started a blog where I document potentially good startup ideas I come up with.
The cofounder of my current startup said that he thinks I've come up with some good ideas, but we're unsure of how to go about them.
We don't want to abandon our current startup, but at the same time, we don't want to leave these ideas alone to be forgotten, or even stolen.
Ideally, we would like to at least pursue them all (similarly to how Google goes after their numerous ventures), but we obviously don't have the money or manpower to do that.
We're unsure of what to do. Any thoughts/advice? <comment><USER2> Same is happening with me. I have over dozen really good startup ideas that I would like to pursue but can't do that right now due to lack of time. Apart from that I also get few requests from other hackers/startups to be their co- founder.

I have been thinking about it from some time now and have found a way around. I will do something similar to ycombinator minus funding. I will give my full attention as a founder to only one startup at a time but for other startup ideas (mine or other people's) I will work as technology/business adviser for 5%-10% equity. I will give them technology/business related advice or will code/design on weekends. Networking with other hackers/founders will be important as I would need people who can give their full time and take these startups forward with little guidance and help from me. I'm sure there are many hackers looking for good ideas for startup or stuck with wrong ideas.

For my own ideas, I will quickly develop a functional prototype using bootstrap/django and will look for hackers who can take the work forward.

I'm not sure whether this strategy will work or not but there is no harm trying it.

<comment><AUTHOR> This is the option I was thinking of pursuing. I don't have nearly the connections to successfully shop these ideas around, so I guess I'll hold onto them until someone "worthy" comes around. If worst comes to worst and I don't find any founders, I'll just wait until I have the time and/or funds to make my ideas a reality.

<comment><USER2> I would suggest you to -

1\. Keep working on these ideas as weekend projects(when you want to do something other than your regular work, for change). You can keep refining the idea, make UI mockups using bootstrap, code functionality using your language/framework of choice. You don't need to worry about doing it quickly or completing it before some deadline date. Just work on it as a fun projects. When you will get time to actually do it full time or when you find someone who can do it, you won't be starting from zero. Even having a HTML mockup is better than nothing and trust me it doesn't take much time. A good HTML mockup for your ideas can be easily developed at weekends. It will help you with [2]. If you get more time at weekends, you can try adding some functionality - generic(authentication etc) or idea specific.

2\. Start networking. Be active on g+/twitter/hn/quora etc. and actively look for good hackers from your area. Attend startup events and make friends. Tell them about your ideas and your vision. Show them your html mockups. Try to bring them in your team.

</comment></comment></comment><comment><USER3> As a startup, you're resources are extremely constrained. Your most constrained resource is time, esp when you have customers.

The hard fact is that you really can only focus on one idea, so make the most of it and pick the one that you're most frustrated doesn't exist yet.

Popular advice these days is to just do something you're really interested in, but it's resulting in a bunch of redundant nonsense in popular spaces like music and geolocation social networks. I would only do something based on interest if I had a really unique offering (Turntable.fm comes to mind). Otherwise, focus on something that just sucks and that's begging for a solution. You don't need to convince the market that they want/need what you have. They already know they do and have been waiting for it. If you can do something that you're uniquely positioned to do, even better.

Best of luck!

</comment><comment><USER4> Do one thing and do it well. Forget about everything else - ideas are cheap. Can you come up with just one example of a startup that's had success in it's initial stages that's been doing more than one thing? I can't.

</comment><comment><USER5> If you have a blog and you have readership and you think someone that reads that blog might want to pursue one of the ideas you may want to try to position the blog as a mentorship forum, where people can submit and find ideas and group together to pursue them. You may be able to create a system in which their is an upsell for people that take the ideas and execute to contribute back some equity.</comment>


Venture Capital Could Shrivel Away - <AUTHOR> http://online.wsj.com/article/SB10001424052748704229004575371533586548818.html?mod=djemheard_t

<comment><USER2> Shrivel, yes; away, no.

<comment><USER3> Do you think it's going to get easier or harder over the next few years to raise an initial $500k - $1000k?

<comment><USER2> I think it will be easier for good startups, and harder for the type of startups that used to raise money from the mediocre VCs who are now getting GCed. Which are roughly though not exactly startups run by hackers and startups run by suits respectively.</comment></comment></comment>


Show HN: An easy way to learn, test and deploy Rails apps - <AUTHOR> https://github.com/farslan/RailsDashboard.kdapp

<comment><AUTHOR> I've got also some invites for Koding.com. Just drop me an email at: firstname.lastname@example.com</comment>


OW2 ASM to Generate Descriptors and Signatures from TypeMirrors/Elements - <AUTHOR> https://github.com/soabase/asm-mirror-descriptor <comment><USER2> FYI

This is for Java byte code, rather than ASM as far as I can work out.</comment>


Apple is building its own GPU for the next iPhone - <AUTHOR> http://www.theboxinternet.com/apple-building-gpu-next-iphone/ <comment><USER2> Not only for video, but also for better ML and AI purpose.</comment>


Anybody else think we need a HN meetup in Austin? - <AUTHOR>

I read HN way too many times daily and I know a few of my friends that do too. I'm positive there are thousands of others here in Austin that do as well and it would be too much fun to have a meetup sometime in the near future!<p>If anybody else in Austin feels this way on HN, comment / message me and I'd love to get something going! <comment><USER2> Sure!

There were three previous threads on this you might be able to get other interested usernames from: <http://news.ycombinator.com/item?id=2613176> && <http://news.ycombinator.com/item?id=897565> && <http://news.ycombinator.com/item?id=2236845>

Could also maybe co-opt this group: <http://www.meetup.com/Co-Founders- Austin/>

</comment><comment><USER3> I am game. What area of town would yall wanna meet at? Downtown is popular, but pushing it closer to campus will likely lead to a bigger crowd.

<comment><USER4> Is there a way we can get a mailing list or some other kind of group set up to manage this rather than posting repeatedly on this thread? I don't typically do group meetups so I'm not sure what is appropriate.

</comment></comment><comment><AUTHOR> Everyone shoot me an email at firstname.lastname@example.com.

I'll make a new Meet up and an email thread and we can start coordinating from there / inviting more people.

</comment><comment><USER4> I was actually going to search for this later tonight because I recently moved to Austin. I'd be game for a meetup.

</comment><comment><USER5> I'd be interested in hearing more as well.

</comment><comment> wh-uws Yes. What should we use to organize it?

</comment><comment><USER6> No, I want it in Houston...

</comment><comment><USER7> I'm in.

</comment><comment><USER8> In.</comment>


Show HN: Five Things Today – a super simple to-do list - <AUTHOR> https://fivethings.today <comment><AUTHOR> Hey HN.

Before you go 'not another to-do list'; I wrote this for myself much earlier in the year, after using the "only set yourself 5 things to do every day" hack on paper for a few weeks, and it works quite well.

I put it on its own domain shortly after so I could access it when out and about. I had some vague plan to 'market' it at some point, but other stuff took priority.

Early this week I was talking to a friend about this article: [https://taylorpearson.me/fast/](https://taylorpearson.me/fast/) \- basically, at 70% you should just launch something. It coincided with a great book I've been reading ('How to Be an Imperfectionist'). This project seemed to be a (/another) prime example of something I start, that gets to 70% and remains un-launched. So he said "Why don't you just launch it?"

The 'perfectionist' in me hates the idea of sending something out now - I'm actually kind of nervous doing it. But I know if I don't, I probably never will. I'm sure you'll be able to find some bugs and issues, but I've been able to use it personally relatively successfully. The homepage / landing page hasn't been designed to encourage signup (which would have been on the roadmap), and the whole site was a result of 'build and see', rather than any kind of logical planning. The design needs a bunch of 'prettying', but… well, 70%. And if you find it useful, then great :-)

The mailing list comment in the join box refers to the fact that I may, at some-point, send a 'checkout my site I actually got to 100% on', but I'm not adding anyone to anything now. Feel free to test, use, whatever. There's a delete option on the settings page - it'll (permanently) delete everything in the database relating to your account (including any email address before I've added it to any kind of list).

So here you go. Go easy. Feedback welcome!</comment>


Ask HN: Good resources about legacy code? - <AUTHOR> Hello HN: I got offered my first consultant job for a company with a really old&bad (no documentation, spaghetti, monolithic...) PHP codebase. Most parts of the codebase is working fine in production but some parts have to be replaced. Can you recommend any good books/papers/websites on how to get started? i don't need language-specific material. i need methodic/abstract advise. <comment><USER2> I sencond Working With Legacy Code. A lot of advice comes down to writing tests so you don't break existing functionality. You should write a lot of tests, particularly high level stuff that tests the entire system because with tightly coupled systems you'll modify part A but part Q will break. Integration level tests help find this stuff out.

You have two problems on your hand. One is understanding what the code is doing from a technical perspective but another is understanding the business rules.

If you haven't already, get a high level view of the system. Maybe it can be divided into 4 chunks, and chunk 1 can be broken down into 8 components, etc. Then start documenting the different components in the codebase. Try to understand what the different components do — how are they called, what's the input, output, do they mutate objects, etc.

Once you have a road map you search for "seams" where you can break things apart. Maybe component A, B and C are tightly coupled, but you can split A into two parts — A1 and A2 — and write something that encapsulates all of them (A1, A2, B, C) pinto a cleaner interface. Try to write wrappers that use existing code, then you can have higher confidence that behavior isn't changing. If you rewrite low level components there's no telling what the side effects may be.

Lastly, learn the language well. I work on a similar code base but it's in Python. Knowing "advanced" features of the language has helped. Often a lot of boiler plate code can be eliminated by an advanced language feature. By knowing the "seams" of the system and the language you can bend the system to your will.

<comment><USER3> Can you share a python example of replacing boilerplate code with advanced features?

<comment><USER4> Context handlers come to mind and can often save a lot of error handling code.

</comment></comment></comment><comment><USER5> I have learned that it's good to approach something like this with a level of humility. What looks like a big pile of spaghetti code may actually have a structure, just not one you may like. I often think "How stupid can these people be?" only to learn later that they actually had a reasonable design. It pays to take the time to understand the code.

Otherwise I'd try to refactor the code into testable modules as much as possible. Unfortunately PHP is not on your side when it comes to refactoring. Especially in the older version people used a lot of "tricks" that make refactoring hard.

</comment><comment><USER6> "Working Effectively with Legacy Code" is a classic read. It dates back to 2004 but the techniques are still relevant.

<comment><USER7> +1

It's on my list of books that every developer should read.

<comment><USER8> What's the rest of that list?

<comment><USER7> The Pragmatic Programmer, The Design of Everyday things, Peopleware, Hacknot, Clean Code

</comment></comment></comment></comment><comment><USER9> > spaghetti, monolithic

[https://www.joelonsoftware.com/2000/04/06/things-you- should-...](https://www.joelonsoftware.com/2000/04/06/things-you-should-never- do-part-i/)

It can be tempting to declare entire sections of legacy code - or even the entire project - to be an unmaintainable mess that isn't worth fixing. _Reading_ code for a true understanding of how it works can be a slow, laborious, _annoying_ process. Simply rewriting everything from scratch often appears to be easier than trying to read, understand, and fix a legacy pile of spaghetti.

Giving in to that temptation and rewriting a project instead of fixing and refactoring the existing code is almost always the wrong decision. The messy spaghetti probably started out a lot cleaner. The mess that accreted over time is often important _bugfixes_ and design changes. Some problems only show up in the field and sometimes requirements change. The spaghetti of bugfixes, workarounds, and changes might be the most valuable part of the codebase. Throwing it out might be throwing away the accumulated knowledge and experience of many expensive developer man-years.

Instead of rewriting, preserve the bugfixes and real-world experience by _refactoring_ the spaghetti. It can be annoying and tedious, but it's probably _less work_ than re-debugging old problems until the "clean rewrite" accretes it's own spaghetti-like layer of bugfixes and workarounds.

</comment><comment><USER10> My advice be will be: don't put your soul inside it. I had lots of projects supporting/rewriting legacy code. Less emotions you dig in it the better. Otherwise it will be torture. One day when you will have chance to rewrite it, you will be exhausted and empty.

</comment><comment><USER11> Are you me?

This is the exact position I was in 6 months ago and it wasn't just legacy code (legacy code isn't inherently bad) it was/is _bad_ legacy code.

[https://leanpub.com/mlaphp](https://leanpub.com/mlaphp) is very very good, it's a roadmap/process to get a legacy PHP project to a reasonable state efficiently.

</comment><comment><USER12> If pieces of a codebase need to be changed, I break it into a few general steps (varies depending on specifics):

1) Look at the code and examine what it would take to make it testable.

2) make tiny, safe refactorings to prepare the code to be tested -- only if you are absolutely certain these changes can cause no side-effects (usually I'll rely on tools to help me do this, just to increase the confidence level). If you can safely extract related code into appropriately small & related files / objects, that can be a great start.

3) Put the existing code under tests. Write tests around that code -- preferably unit tests that exercise the legacy code, as written, to verify its behavior.

4) refactor the code that the tests are using to represent a cleaner codebase -- maybe you extract some objects / functions.

4) Write new tests to demonstrate the desired changed behavior. Write them as if you're writing them for a brand new codebase.

5) Make the code pass those tests. Some old tests may fail -- if they represent the old requirement, you can delete them. If they don't represent the old requirement, you know you have a bug.

Repeat this process for each piece of the application that needs to be changed. NOTE: In a legacy app, you sometimes have to make peace with the fact that some of the app in production will remain legacy, untested code. If it doesn't need to change, then you don't necessarily need to sink a huge amount of time trying to refactor / put all the code under test. Get in the habit of doing it whenever you need to make a change (and factoring in that time into any estimates, etc.) -- over time, the cost of a change will hopefully go down as you pay off that technical debt.

If you're trying to figure out what the cost of change will be, sometimes you can use static analysis to look at a codebase and show potential issues for a given section. Using such tools can sometimes help you understand how heavy of a lift it will be to modernize the code.

As has been suggested, "Working effectively with legacy code" is a guide book here. You'll likely also want to seek out language-specific material about refactoring, unit/integration testing patterns & tooling, etc.

Good luck!

<comment><USER13> Since you are working with dynamic language, step 2 should include adding type annotations or whatever they are called in php. Specifying stricter types makes refactoring much easier.

<comment><USER5> Agreed. Adding type annotations is already a huge refactor in itself though and pretty risky with PHP. Once you have that done life will be much easier.

<comment><USER14> For those unfamiliar with php, or its type annotations, why is adding type annotations a risky step? Do they become enforcing?

        function foo(string $bar) { ... }
        foo(1234) // kaboom?

<comment> w0rd-driven Yeah pretty much. It's risky because type checking produces fatal errors that aren't always easy to trap properly. You don't realize how much a code base relies on PHPs type coercion until you add annotations and watch it blow up, in often subtle ways.

<comment><USER5> "Subtle" is the keyword here.

</comment></comment></comment></comment></comment></comment><comment><USER15> In addition to _Working Effectively with Legacy Code_ , _Re-Engineering Legacy Software[1]_ is pretty decent. It's really a lot of the same recommendations; put a test harness in place to guard against regressions, then start pulling out things and making them into more sane, SOLID components. For that aspect, you can look at things like the Uncle Bob Clean Code series, or my personal favorite _Adaptive Code via C#[2]_ which despite the title is pretty general and all about writing code with the SOLID principles.

[1] [https://www.manning.com/books/re-engineering-legacy- software](https://www.manning.com/books/re-engineering-legacy-software)

[2] [http://amzn.to/2CfxK8w](http://amzn.to/2CfxK8w)

</comment><comment><USER16> I've worked with Paul Jones in the past and he has actually modernized one of my own legacy PHP codebases. He wrote down his experiences and advice in "Modernizing Legacy Applications in PHP": [https://leanpub.com/mlaphp](https://leanpub.com/mlaphp)

It might be worth your time. ( _Edit_ : noir_lord also recommended the same book in this thread.)

</comment><comment><USER17> Others have already recommended Legacy Code by Michael Feathers, that's the place to start. The only other suggestion I have is Refactoring: Improving the Design of Existing Code by Martin Fowler.

</comment><comment><USER18> "Object-Oriented Reengineering Patterns" has some good advice on how to approach a legacy system and rewrite parts of it, pdf available from the authors website:

[http://scg.unibe.ch/download/oorp/](http://scg.unibe.ch/download/oorp/)

</comment><comment> w0rd-driven This mirrored my experience joining a company when my prior PHP usage was also custom code. I struggled for about a month with the current workflow of writing code, pushing it live to a hidden test area, and then getting feedback from the changes I made. Fortunately, vagrant was newish and I learned of the site [https://puphpet.com/](https://puphpet.com/).

I set out on a mission to recreate the production environment as closely and as primitively as possible. Instead of the full 16gb legacy database for instance, I only dumped the structure and added rudimentary test data. Now my primary workflow involved local, manual testing but the feedback loop was orders of a magnitude faster than waiting for subversion changes to get deployed. Recreating the production environment 1:1 was wrought with large annoying challenges.

Barring full conversion there's various techniques that required less effort. Using scratch scripts and running the local server in phpstorm helps but stripping code down to run locally can be cumbersome. Another option I took was getting lightweight functions working in an environment like [http://sandbox.onlinephpfunctions.com/](http://sandbox.onlinephpfunctions.com/) and slowly integrating them into local scratch scripts or production.

Fortunately, the future at the company involved selling Laravel as a viable option, which makes everything so much easier. I'm a big proponent of frameworks or packages over custom code or NiH as they often soften edge cases or work around quirks in the language.

</comment><comment><USER19> The core idea is that you need to imagine what would be the condition of the artifact in question if it'd be _reasonable_ to do the required modifications, and (slowly) push the environment towards that state, filling in the gaps.

IMHO it's to be expected that you won't get where you want to be, you'll fill _some_ of the gaps but not all of them.

The key issue is to identify what is the major pain point that prevents you from doing this. For example, in a particular similar situation for me the key points were (a) ability to reliably build a deployment package that's sure to work; (b) brief documentation about the functionality of the main components of the software and their interaction/interfaces; (c) creating a basic suite of tests to ensure that key functionality keeps working as intended if we change/rewrite certain parts fo the codebase.

The pain points will be different for you, but that's the direction that needs to be identified and taken to proceed properly.

</comment><comment><USER20> This has been the bread and butter of my work life - I either inherit a pile of garbage or get a green field.

Your first chore: getting a working dev instance with a debugger. Depending on the stack, and dependencies this might be a mountain that is rather hard to climb but it is going to make your life easier.

Second chore: look at the history you have. God bless you if you have source control, with commit history, and any sort of sane commit messages. Bug trackers are also your friend. Lastly there has to be SOMEONE with lore/knowlege of how the code base got to be the way it is - if you find them and TALK to them. Knowing WHY is almost as important as knowing what.

Third chore: Pull the schema. Get a schema dump of the production database, and look at what query logging is set at (might not be sane) and what it should be (query sampling might be your friend). If your lucky enough to have a MYSQL setup then use workbench to help generate a diagram or any other tool you prefer. You want to have an artifact when your done, one that you should maintain.

The fourth and fifth tasks are going to occur concurrently: Walking the code base and understanding or building in logging - Your going to walk the hot spots in the code base first - think home page, log in, and the core functionality. Every time you find something interesting add a comment, and LOG where you think is appropriate (remember you can always shut this off later).

Really this is an exercise in reading and understanding what exists today with as much context as to WHY as you can discover (see step 2). Don't be afraid of either using the @bug and @todo syntax in comments and opening up tickets against yourself/the codebase. You may end up with a list of 200 things to change in the first week and that is OK.

Once you can READ the code base as it exists make sure you REVIEW the code for what your replacing -- even money says that there are bug fixes and edge cases that have already been solved for in that code, ones that your replacement may have to solve for even if it isn't in the "requirements"

Lastly, find someone to commiserate with and someone you can "bounce ideas off of" \- rubber ducking works up to a point but sometimes in explaining to someone else they ask the critical question and it sets off your thinking/exploration in a new direction. They don't HAVE to work where you do but if they don't having history with them (even at another job) sure does help.

</comment><comment><USER21> Some advice from someone who has done the same thing multiple times. Find yourself someone who knows the application really well and become their best friend. You'll find some weird things in the codebase and often they'll be able to give you context

</comment><comment><USER22> Some really good suggestions here, so I'll just add: become acquainted with a code search tool (I used grep for a long time, now ag -- I don't think the tool matters that much for most purposes as long as you are comfortable with it).

</comment><comment><USER23> The Legacy Code Rocks podcast is pretty good. They have a nice community on Slack too: [http://legacycode.rocks](http://legacycode.rocks)

</comment><comment><USER24> It's funny how you can write something terrible now and put it into production anyways, skipping the process of slow but steady degradation altogether. BAM! Instant legacy code.

</comment><comment><USER25> How did you get this job with no experience? How did you estimate the price and time to completion? Congrats and good luck

<comment><USER26> Possibly the OP has got hourly/daily rate gig.

<comment><AUTHOR> Yes exactly. My first task is to examine the system and give recommendations on how to improve it.</comment></comment></comment>


Shopify Files for Proposed Initial Public Offering - <AUTHOR> https://www.shopify.com/blog/18032644-shopify-files-for-proposed-initial-public-offering

<comment><USER2> It amazes me how many IPOs are happening. This seems like the 1990s again....</comment>


CA Proposes Terrible Bill to Ban All Unlicensed Bitcoin Businesses - <AUTHOR> https://www.techdirt.com/articles/20150310/15522730277/california-proposes-bill-to-ban-all-unlicensed-bitcoin-businesses-without-even-defining-what-that-means.shtml

<comment><USER2> I guarantee this was lobbied for by existing payment companies.</comment>


How accurate are suicide risk prediction models? Asking the right questions - <AUTHOR> https://ebmh.bmj.com/content/22/3/125 <comment><AUTHOR> Full title is "How accurate are suicide risk prediction models? Asking the right questions for clinical practice".

Suicide prediction tools do not work and current advice is that they should not be used to predict a person's risk.

This is for a few reasons.

Reliance on risk predictors means you don't provide services to people who go on to take their life. It also means you "section" (detain under the mental health act) people who are depressed but who are not going to kill themselves. This causes harm.

<comment><USER2> _First, findings were not compared with current clinical practice, where risk assessment is routine_

This undermines the conclusion of the paper regarding allocation of resources. Actual services are _exclusively_ allocated within current practice. It advocates a policy based on logic, not field experience.

More troubling is that it misses the point that suicide risk assessment in clinical settings is an _intervention_. Suicide risk assessment is clinicians talking with patients about suicide. Assessment is part of treatment.

<comment><AUTHOR> > Suicide risk assessment is clinicians talking with patients about suicide. > Assessment is part of treatment.

That's not the assessment they're talking about. They recommend that type of assessment.

The assessments they're talking about are structured tools that have checklists.

<comment><USER2> In clinical practice, the structured tools typically are based on patient response...a set of standard questions like a medical history or an ordinary diagnosis by a physician. In the US a typical assessment includes "Do you have guns in your house?" with follow up about their status, storage and use when the answer is affirmative. Or in terms of intervention, the clinician and patient discuss guns because firearms are a common means of suicide in the US.

See more: [https://en.wikipedia.org/wiki/Assessment_of_suicide_risk](https://en.wikipedia.org/wiki/Assessment_of_suicide_risk)</comment></comment></comment></comment>


Why Google Apps Haven't Taken Off in Large Enterprises - <AUTHOR> http://creese.typepad.com/pattern_finder/2008/08/why-google-apps.html

<comment><USER2> One thing the article does not mention is that maybe Fortune 500 companies do not want Google reading their email.</comment>


Nvidia will build 700-petaflop supercomputer for University of Florida - <AUTHOR> https://venturebeat.com/2020/07/21/nvidia-collaborates-with-the-university-of-florida-to-build-700-petaflop-ai-supercomputer/ <comment><USER2> One of Nvidia's confounders is actually a UF alumnus. Good way to give back!

</comment><comment><USER3> Sigh, I wish people wouldn't say "peta _flop_ " for these.

[https://www.nvidia.com/en-us/data-center/a100/](https://www.nvidia.com/en- us/data-center/a100/) is the most official reference. If you scroll to the bottom, you'll see that an A100 part can do ~20 Teraflops (either FP32 or FP64 in little-matrix aka tensor mode). When they say "each A100 can do 5 petaflops", they mean each DGX which has 8 such cards and thus they mean 600-ish something-ops per card. The generous assumption is that's FP16 or bfloat16 for sparse ops, and therefore they are "flops".

The reality is that if someone says "supercomputer" in the general sense, they mean scientific computing and so mean a double-precision LINPACK benchmark. The 1120 A100 parts (8x140) doing 20 "real" teraflops each has an absolute peak of about 22 Petaflops (and older code without tensor mode would be half that on FP64).

tl;dr: ML isn't scientific computing, and those are different flops, but "10 petaflops" just doesn't sound as impressive.

<comment><USER4> I agree with you as well as with the response to your comment, in that both nVidia and Google are engaging in misleading claims about their TPUs. But I'd like to add two points:

\- I don't think they can get away with it when it comes to Top-500 rankings. Those rankings are based on LINPACK scores and this supercomputer would end up not scoring high enough and will be placed in the right spot in the list. So it's not a big concern to me.

\- "ML isn't scientific computing" goes both ways. Sure tensor-tera-ops are not teraflops, they're specific to operations involving artificial neural networks (ANNs). But when you take the claims from the past about how much computing power it'll take for rivaling that of a human brain, and folks came up with 100 petaflops, or 1 exaflop. Well those should not be called "f"lops either. Because when it comes to brain inspired computing, ANN tensor-tera-ops are a more reliable number than FP32 or FP64. And if it's 100 peta-ops of ANN compute, well we're already past that, and can easily create a supercomputer with 1 tensor-exa-ops. And that means we have reached the hardware capacity required to emulate human-level intelligence in a machine (i.e., the only thing missing is the right set of algorithms).

Conclusion: Tensor-tera-ops are not FP ops and should not be used for placement in the Top-500 list. But tensor-tera-ops have enough significance that it warrants creating a new list Top-500-Tensor and ranking Tensor- supercomputers on that list.

<comment><USER5> Fuly agree - TL;DR pick the right benchmark.

If you are doing AI the Top500,is meaningless and if you are doing classical HPC these ExaFlop int8 supercomputers are meaningless

</comment></comment></comment><comment><USER6> I'm a bit baffled.

How high are the tuitions at the university of florida?

This supercomputer is more powerful than many at the national labs and must cost a fortune (multiple 100 millions of dollars).

<comment><USER7> It's $50 million. That's all. See [https://blogs.nvidia.com/blog/2020/07/21/university-of- flori...](https://blogs.nvidia.com/blog/2020/07/21/university-of-florida- nvidia-ai-supercomputer/) for the numbers. It's probable the hardware is being offered at a deep discount.

The building and infrastructure will cost an additional $20m, covered by the University.

<comment><USER8> [https://lambdalabs.com/blog/demystifying- gpt-3/](https://lambdalabs.com/blog/demystifying-gpt-3/)

According to ^, that's about 11 GPT-3s trainings worth in the cloud.

<comment><USER9> No one who's training GPT-3 pays those prices.

</comment></comment></comment></comment><comment><USER10> Great name for the computer: "HiPerGator"

<comment><USER11> That's an awesome name. Just like hipermercado or KluckKluckBell.

</comment></comment><comment><USER12> Just baffling that they were on the verge of closing their CS department 8 years ago.

[https://www.forbes.com/sites/stevensalzberg/2012/04/22/unive...](https://www.forbes.com/sites/stevensalzberg/2012/04/22/university- of-florida-eliminates-computer-science-department-increases-athletic-budgets- hmm/#78eb901b56a1)

<comment><USER13> I think this was a bit of a clickbait headline, and the real story was bit more nuanced. They were trying to do some reorgs (kind of like merging/splittling different CS, ECE, Information Systems etc. depts.).

</comment></comment><comment><USER14> Does anyone know why everyone is still buying Nvidia instead of custom AI accelerators from other vendors? For example, on paper the new Graphcore machines look like an easy win, or at least a risk worth taking. (I see this particular supercomputer was funded by Nvidia but my question is about the general trend).

<comment><USER15> Risk mitigation, maintenance, resell value (?), support, reliability. The custom AI accelerators you mentioned, how long have those been in business for? How many units have they moved? How many generations of hardware have they produced? Will they still be around to replace or upgrade units in 5-10 years? How flexible are they in their workload?

That's a lot of factors to keep in mind when you're spending millions on a supercomputer. I'd go for an established hardware provider as well. I'm not knocking the custom AI chips, but I wouldn't try and max out my budget with those - keep them for smaller applications for now.

<comment><USER16> TPUs are perfectly positioned to capture this market. There are an endless number of reasons why, but to keep it short: Wanna see a magic trick? [https://twitter.com/theshawwn/status/1286426454171975680](https://twitter.com/theshawwn/status/1286426454171975680)

GPT-2 117M training at 1 _million_ tokens/sec.

Now, I don't have experience with DGX clusters, so I'm not going to make a firm statement. What I will say is that I, as an outsider, managed to achieve a performance level that is ~unheard of for GPT-2 training. And you can too; TPUs are pervasive.

A TPUv2-512 isn't even as far as the gas pedal goes, either. v3-512 can train all of imagenet to 75.9% accuracy in 4 minutes: [https://twitter.com/theshawwn/status/1223395022814339073](https://twitter.com/theshawwn/status/1223395022814339073)

v3-1024 can do it in 2 minutes: [https://twitter.com/theshawwn/status/1234654848114520065](https://twitter.com/theshawwn/status/1234654848114520065)

I once attached a debugger to a training run during startup, after the infeed loop began (meaning it was feeding inputs to the TPU, but no training was happening yet; it was "winding up") and was shocked to discover that when I hit c to continue, it trained on all of imagenet in like 54 seconds. That blows the lid off of every perf result here (under "image classification"): [https://mlperf.org/training-results-0-6](https://mlperf.org/training- results-0-6)

(It's not a fair comparison, but it was quite astonishing to see the raw horsepower in action.)

So, nVidia has some catching up to do. And I don't know if they'll be able to. The TPU ecosystem may be clunky at the moment, but boy is it effective. Your options are to invest your time in this ecosystem, which will likely be around in ten years, or in DGX-cluster-type knowledge, which ... might be less pervasive in 10 years.

The distinguishing feature of a TPU is that it has a CPU on board. In fact, it has a CPU with 300GB of memory _for every 8 cores_. Friggin' love these things.

<comment><USER17> Last time I worked on TPUs, a lot of very pervasive LA operations (e.g. Cholesky decomposition) were unoptimized and slow compared to the NN-style operations. I'm sure that can be fixed, but for the time being, it seems inappropriate for anything beyond the obvious NN operations.

</comment></comment></comment></comment><comment><USER18> It seems like supercomputers are still generally many times more powerful than what AI researchers at top universities or orgs are using.

Has any well known AI research been done on supercomputers?

It seems like the case that literally just throwing money at the problem is a solid idea nowadays.

<comment><USER19> GPT-3 was another buckets worth of evidence in favor of the scaling hypothesis. Performance kept improving (and cost to train kept increasing) as more parameters were added. Even with 175 billion parameters, the performance had not yet plateaued. One take-away is that throwing a lot of compute at the problem helps tremendously :).

You can read more about GPT-3 here: [https://lambdalabs.com/blog/gpt-3/](https://lambdalabs.com/blog/gpt-3/)

<comment><USER20> Are you alluding to "The Bitter Lesson" [1] by Rich Sutton [2]?

[1] [http://incompleteideas.net/IncIdeas/BitterLesson.html](http://incompleteideas.net/IncIdeas/BitterLesson.html)

[2] [http://incompleteideas.net/](http://incompleteideas.net/)

</comment></comment></comment><comment><USER21> I predict this supercomputer will be a flop.

<comment><USER22> Yup, all almost 11 of them :)

</comment></comment><comment><USER23> _> It will also benefit from Nvidia's suite of AI application frameworks_

Sounds like lock-in.

<comment><USER24> Is it lock-in when it's the only thing or the best thing on the market?

<comment><USER23> It is lock-in when it makes it very hard to move to anything else even if it's better. That's Nvidia's point. They don't play fair. They give this "for free" with hard strings attached to Nvidia.

</comment></comment></comment><comment><USER25> How bad is this for the environment?

<comment><USER14> Seems like it has about 700/5 = 140 GPUs. And they are about 0.4kW each. Let's say it is 50% utilized for a year. That is 140 * 0.4 * 0.5 * 365 * 24 = 245280 kWh.

Let's say electricity generation creates 0.5 kg CO2e per kWh. So 122640 kg CO2e per year.

For comparison, driving a cars creates about 0.2kg CO2 per km. Or 0.32 kg per mile. So about the same as driving 122640 / 0.32 = 383250 miles per year. Call it 38 cars.

Edit: Corrected the above CO2 per km figure to fix a factor of 100 error.

Obviously there are a million things wrong with this analysis. For example, we don't know if they're going to use the machine to do climate modelling that will lead to a headline in the media that causes the green party to be elected ;-)

<comment><USER26> HPC system utilization is typically upwards of 90%, these things are not idle. There's almost always a queue of jobs waiting to run, at least in my experience.

<comment><USER27> Definitely, also it makes you hate those who hog up the resources. A good scheduler will take into account the past usage however.

</comment></comment></comment></comment><comment><USER28> All these big companies giving free stuff to university students to hook them into their proprietary technology. I remember some of my friends graduating and realizing marlin wasn't free.

<comment><USER29> So you're suggesting they should charge them instead?

</comment></comment><comment><USER30> Maybe they can use it to simulate load and stress on pedestrian bridges for some of the other Florida Universities:

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

</comment><comment><USER31> This being NVIDIA, University of Florida would be wise to hire an independent company to benchmark their "700-petaflop".

</comment><comment><USER32> They should build proper Linux driver first without enormous signed blobs. One of the worst companies for FOSS community.</comment>


Why Do All My Friends Want to Kill Themselves? - <AUTHOR> https://medium.com/s/story/why-do-all-my-friends-want-to-kill-themselves-cd0f21609ee6 <comment><USER2> After reading that I still don't have a clear understanding of why his friends are suicidal, but I suspect it has a lot to do with boredom and over-coddling parents.

<comment><USER3> I would guess the internet/social media/news media info overload environment.

Usually anyone dealing with too much info have to be trained to handle it - soldiers/pilots/ER docs/air traffic controllers etc etc. Most people who have to deal with it without the training just break down.

Kids are esp vulnerable as they are targeted specifically with all kinds of info.

I teach part time and see a lot of anxiety and depression. The current thinking about this is to not take away the internet but the device. The device makes us face these environments alone. But it you put the kid in a group setting...class room or a living room with internet access the way they handle the overload changes. They feel safer and less depressed/anxious about the negative triggers. Still lot of research needs to be done though...

<comment><USER4> In this regard I agree, because of the way media approaches people specially teenagers, media approaches the way how things are needed rather than how can it be utilized. That's why it's building gaps getting them more insecure about what is happening around.</comment></comment></comment>


Ask HN: What can i do to study abroad? - <AUTHOR> So i'm an Egyptian at the last year of high-school which is the most crucial and life changing year of all and you have to get at least 95% grade or more to have an opportunity at Fucking LIFE!!
((yes we use the percentage system as retarded and backwards as it sounds))
-so i want to study abroad specially in these following countries: {{Finland(University of Helsinki)/Germany/USA/Canada}} any country that truly values the educational system and treat the students well.
so my question(S) is/are:- 1-what are the requirements do i have to have to move and study abroad?!
2-is there any cheap way to approach these tuition fees?! 3-what are the precautions do i have to take so nothing would get in my way studying abroad?!
Simply please explain what in the absolute F do i have to do to study abroad?!! *cause it seems really complex
THANKS FOR READING...PLEASE HELP ME I'M ON THE VERGE OF ENDING IT ALL :) <comment><USER2> For Germany see [http://www.internationale- studierende.de/en/home/](http://www.internationale-studierende.de/en/home/) and the 'entry into Germany' part [http://www.internationale- studierende.de/en/prepare_your_stu...](http://www.internationale- studierende.de/en/prepare_your_studies/entry_into_germany/visa/)</comment>


Freshermeat – Open-Source Security Software - <AUTHOR> https://open-source-security-software.net/ <comment><USER2> For those who were wondering what "Freshermeat" has to do with the website (since it's not mentioned anywhere on the front page): The website is based on "Freshermeat"[1]. The GitLab page[2] describes it as "an open source software directory and release tracker".

[1] [https://open-source-security-software.net/about](https://open-source- security-software.net/about)

[2] [https://gitlab.com/cedric/Freshermeat](https://gitlab.com/cedric/Freshermeat)

<comment><USER3> I believe both are a callback to Freshmeat.net, one of the original OSS release trackers.

<comment><USER4> I remember almost getting in trouble in high school because I had freshmeat.net bookmarked on my lab computer.

The counselor was afraid to even click it!

<comment><USER5> Same here but at my first job. It took me a while to figure out why they thought I had downloaded hundreds of megs of porn. Finally told them to just click through and got an oh, nevermind.

</comment></comment></comment></comment><comment><USER6> There are a lot of projects listed that seem to have a questionable connection to "security software": liquidsoap, pelican, geoplot, lounge, Julia, pytesseract, etc. Am I missing something?

<comment><USER7> A list with only relevant Oss security tools can be foundation on [https://github.com/nocomplexity/SecurityPrivacyReferenceArch...](https://github.com/nocomplexity/SecurityPrivacyReferenceArchitecture/blob/master/secsbb_list.rst)

</comment></comment><comment><USER8> Nice. I use some of these.

Unfortunately,commercial software is a few years ahead for some of the more complicated projects.

I prefer opensource but lack of support is a deal breaker in many professional environments.

<comment><USER9> Security is a funny old thing. I don't think that a discussion that starts with worrying about open source vs not open source is too relevant. I use quite a few of those tools as well and I'm blowed if I'll spend much money on software in this sphere. I'll spend it on expertise though, if I need help. I do have a sub for a Nessus scanner for some simple marking of my homework and laying a baseline.

If you need "professional grade" support for this stuff, then you are probably in the wrong line of work.

<comment><USER8> Not true at all. I have stood up some of those projects in this post and when I left the org,there was no one else to support them and it became cheaper to pay some vendor to give you an appliance than run it all in-house.

With abundance of internal staff who can support it,opensource is viable but not always competitive either.

</comment></comment></comment><comment><USER10> Just curiosity: why did you choose python flask?

<comment><USER11> Simply because I like simple and little things (to not call it framework) like Flask. I did some other projects with, like for example: [https://shelter- database.org/](https://shelter-database.org/) ([https://github.com/rodekruis/shelter- database](https://github.com/rodekruis/shelter-database))

Before I was working with CherryPy. I switched to Flask like 6 years ago.

<comment><USER10> thanks for your reply! BTW I believe you should check that shelter db project, does not show any shelters.

<comment><USER11> yep, I didn't noticed this. Thank you. This should be recent. I have no more access to the database.</comment></comment></comment></comment>


Build your own dial-up ISP in 2019 - <AUTHOR> https://dogemicrosystems.ca/wiki/Build_you_own_dial_up_ISP_in_2019 <comment><USER2> I've built something like that from a bunch of used hardware in my teens. DSL connections were just available (in Germany) and came with a data flat rate. I was in the lucky position that I could convince my parents to get such a contract.

A friend of mine, who could not get a DSL connections because back then he lived in an uncovered area, could at least get a telephone "flat rate" for free telephone calls on Sundays.

So, he dialed in my Pentium 133 server and used my DSL connection behind a NAT every Sunday.

<comment><USER3> This is friendship.

</comment></comment><comment><USER4> I operated something like this around 2005 in a big hotel building (~400 bedrooms and various offices) with a dinky internet connection and no wifi yet (very thick walls, up in the mountains, limited budgets...).

So I built a dial-up pool on an internal number (this place had its own PBX with ~500 phone lines) hooked to a Debian box, served by a bunch of USR Courier modems. Good times :)

<comment><USER5> Please, one day, do a write up on this!

<comment> 52-6F-62 I second!

<comment><USER6> I third

<comment><USER7> forth

</comment></comment></comment></comment></comment><comment><USER8> This article came at just the right time. Maybe the HN crow can help me with this one.

I have a lot of old hardware that i want to connect to the to my network. Most of them have a 56k modem the rest a 14/28k modem. What can i use to bring them all online at the same time. I tough to use some voip adapter (from pots to ethernet) but from what i understand there are not good for modem/fax style signal, also i need something that can handle at least 8 client at the same time (the number of computer to connect is 22 at the time but i don't know how realistic is to connect all of them at the same time using this method).

When i searched (i couple of month ago, so i might get wrong some terminology) i only found some enterprise pbx that were awfully expensive (1000$) i hope for something more cheap. I didn't find anything that work. EDIT: Also i'm not sure how to understand if the hardware that i plan to use can do what i need. What do i need to look in a pots to voip converter to work as modem "server". If i sound confused is because i am.

I have a plan B, that consist of using serial port and emulate old style Hayes modem by a central more powerful (and modern) computer using a lot of usb2serial adapter, but i would rather avoid that since some computer have only 1 serial port and is already used for other hardware forcing me to choose between connectivity and the other device. Also some of the hardware it's not compatible with serial modem. I've already test this approach and (expect the aforementioned shortcoming) it works quite well.

Thank you all in advance

<comment><USER9> You need a terminal server: it has multiple serial ports on one side, ethernet on the other. You will need serial cables going from client devices to the terminal server. The serial cables should be the "null modem" variety, so no actual modem is needed. Hopefully you have spare serial ports, or can replace the modems on the clients with serial cards.

Take a look on ebay for "terminal server", "console server", etc.

<comment><USER8> I planned to use a lot of cheap usb to rs232 converter. I didn't know about console server. They seem very neat! I have only two question:

1- They seem to all use RJ45 i'd imagine that i would use a cable RJ45<->RS232. I found some on amazon, but i don't know if they are standard or i need to look for some specific type of cable.

2- Do they allow the "master" ethernet port to talk to all serial port at the same time? I found some conflitting information about it. If not the usb<->rs232 seem a better solution.

Thank you a lot!

<comment><USER9> 1) Yes, you will need those cables... The RJ45<->RS232 cables are not standardized. You will need to buy the exact cable, or do some research to make your own: Example: [http://pages.cs.wisc.edu/~ajkunen/wiring.html](http://pages.cs.wisc.edu/~ajkunen/wiring.html)

2) The ethernet port can communicate with all serial ports. Depending on the model, you can program the serial port for PPP, SLIP, telnet, SSH, etc. Back in the old dialup ISP days, we connected modems to these terminal servers and users could either telnet to a host, or initiate a PPP session.

And yes, you can basically build your own terminal server with a bunch of those USB<->RS232 adapters.

<comment><USER8> Thank you, i will look into it. I found some on ebay, now with a bit of researchi should be able to find one that fit my need!

</comment></comment></comment></comment></comment><comment><USER10> > Note: You will have a lot of trouble using a softmodem/winmodem! You are > much better off using a hardware-based modem.

Some things never change

<comment><USER11> Yep, I definitely remember the 'winmodem' as the primary villain in my early attempts to get my first linux box online ca. 1999

<comment><USER12> Been there. Had to reboot into windows to download half the missing deb packages, then find out there were more missing ones!

</comment></comment></comment><comment><USER13> Back when we used dial-up I couldn't outright switch to Linux because I couldn't get on AOL from Linux (or I didn't know how) I tried everything too. Then once we had a normal router it was wireless drivers that was my issue, nowadays it's mostly my GPU drivers. I have used Linux more exclusively now, but if I can't get online out of the box that's the biggest deal breaker for a distro for me.

<comment><USER14> I remember the fun of trying to get PPP working in Linux the first time.

Dial in. Search for instructions. Print them out. Reboot into Linux. Try it. Doesn't work. Write down error. Reboot into Windows. Dial up again. Search for error. Repeat until you hate yourself.

Wait, you need a new package. Go back to Windows and download it. Stick it somewhere Linux can see it. Reboot into Linux. Install the package. Find out it has missing dependencies. Go back to step one.

Got all the dependencies. Start at the top again.

I don't remember if I ever got PPP working before I had Ethernet based net access and no longer needed dial up.

<comment><USER15> I'm working on a project that will be using PPP or SLIP to sync CouchDB over a serial-based RF link. It's really weird to see code in the slip.c file that's older than I am: [https://github.com/torvalds/linux/blame/master/drivers/net/s...](https://github.com/torvalds/linux/blame/master/drivers/net/slip/slip.c).

<comment><USER16> Whoa, sounds like that project will make a cool write up one day

</comment></comment></comment></comment><comment><USER17> But what's it like surfing the web on 56k6 nowadays? It was painful 15 years ago, doesn't seem like it would be feasible today. ('feasible' as in 'would actually use this for something', not as in 'technically works')

<comment><USER18> Chrome DevTools has a feature that will let you try it out. I am right now. On the Network tab there is a throttling option. I added a profile for 56k, and based on some research set it to 6kb/s upload and download as well as 100ms ping. It is painful. Loading this thread's comments page took about 23 seconds, though loading the form I am submitting this comment on only took about 4 seconds.

I think it could be workable if you were to set uBlock to block all images and scripts.

<comment><USER19> I'd do 56kbps download, 48kps upload, at 100ms. Still loads this comments page fairly fast!

<comment><USER20> Kilobits or kilobytes? A 56k modem is max 56 kilobits/s, a.ka. 7 kilobytes/s (although realistically I never synced over 50k, and more common something like 48k)

</comment></comment></comment></comment><comment><USER21> I quickly went from "what a fun weekend project" to "where on Earth would I find two landlines to test with?"

<comment><USER22> The article didn't even use them. They hacked a single voip ata with two ports and connected _those_ together. That's a pretty elegant (albeit impractical) solution to that rather unique problem.

<comment><USER23> Internet over phone over internet :D

</comment></comment></comment><comment><USER24> Ah the dial-up ISP days. As an young enterprising middle schooler 20+ years ago I started one with the help of my father. I remember stringing together a bunch of modems to a Postmaster and getting a rollover PRI line from the local telco. If my memory serves me it had 24 lines and would roll over if one was busy. We even made some of our own installation floppy disks and placed them at the local video rental store so people could self install. Fun times!

</comment><comment><USER25> Back when we used dial-up for Internet access, and it was charged by time, we used P2P dial-up connectivity to share downloaded stuff - one person would set up a dial-up server (Windows had that capability even in 9x days; still does, I think), the other one would dial in, and then we'd use IRC and FTP on the resulting intranet, chatting while the data was transferred.

</comment><comment><USER26> Nostalgia aside, can a network without border gateway peering be considered an ISP? It seems like a more apt term might be dial-up network provider.

</comment><comment><USER6> I wonder as many do not actually use the mobile phone as a phone and we have sometimes 1000 min free, can we use mobile phone as a kind of isp. It can connect to internet via calling?

Not sure any notebook with sim card can do as not sure they take call.

<comment><USER27> You might be able to, but you won't be happy with the results -- cell phones use low bandwidth compression codecs, around 12kbs if I remember correctly, but for use as a modem, you'd be lucky to get half that or less.

Browsing the modern internet at 6kbs sounds painful.

<comment><USER28> Depends, GSM codec is indeed low bandwidth, G722.2 is not.

<comment><USER27> Even G722.2 is low bandwidth compared to speeds you'd want: to surf the internet at:

 _When used in mobile phone networks, there are three different configurations (combinations of bitrates) that may be used for voice channels:

        Configuration A (Config-WB-Code 0): 6.6, 8.85, and 12.65 kbit/s (Mandatory multi-rate configuration)
        Configuration B (Config-WB-Code 2): 6.6, 8.85, 12.65, and 15.85 kbit/s
        Configuration C (Config-WB-Code 4): 6.6, 8.85, 12.65, and 23.85 kbit/s*

<comment><USER28> Oh, I'm sorry, I had a different bandwidth in mind, the audio bandwidth.

</comment></comment></comment></comment></comment><comment><USER29> Wouldn't it be cool if you could use your cellphone instead of using a data plan?

<comment><USER30> I was actually thinking of this recently. People have:

* unlimited minutes,

* limited mobile data,

* many don't use their home phone, and

* their home internet is rate limited instead of data limited

So, what's stopping anyone (besides know-how) from getting unlimited (albeit slow) data by making a call to one's home computer, and using it as a proxy to get access to one's home internet service from anywhere?

All one needs is something to hookup their home computer to a phone-line.

<comment><USER31> Fair use agreements usually. You'd probably have someone asking "Are you using your personal plan for business use" or similar.

<comment><USER32> Are they listening to the content of my phone calls? Because if not, I'm just a guy who has talks on the phone a lot.

I know people who talk on the phone for hours and hours. Doing so should be well within the realm of normal consumer use!

</comment></comment></comment></comment><comment><USER6> A related question when Putin ask to cut off Russia from the Internet or China's eGreat Wall, can the BGP with your own ISP can override it.</comment>