Scottish Tech Map - <AUTHOR> https://docs.google.com/spreadsheets/d/1dAWR1pabLYIMMuZs5noi7OIOV-g8fzTl-FdzVXVYoCU/edit?pref=2&pli=1 <comment><USER2> Hello, I'm the founder of [https://opentechcalendar.co.uk/](https://opentechcalendar.co.uk/) mentioned in the events tab.

We are a open site listing tech events around Scotland. Open means anyone can add an event, like a wiki. We can import data from suitable open sources, and most importantly we have many Open Data feeds. Our data is reused many times by many different people and sites.

We are about to celebrate our 4th birthday, and are the main listings site in Scotland. There is a great community around, and we are proud to be part of that (we are based in Edinburgh). Our software is Open Source to!

Give me a shout if any questions, Thanks, James

<comment><USER3> Awesome work. Down here in England we have something very similar - [https://www.techdiary.co.uk](https://www.techdiary.co.uk) \- it might be worthwhile reaching out to that site for some sort of data sharing arrangement, especially for the London events.

<comment><USER2> Think I've seen that before - I'll check and reach out. Always happy to chat - email hello at the website.

We're not just Scotland, we have a lot of events listed in Sheffield to.

It's an interesting one - looking at the site, we have more tech features in terms of working with events data. One of the big things we do that we haven't seen many others do is have a system where anyone with a user account can add and edit data directly. We think this is very important - if only one or a few ppl can work on events the burden on them to make sure it's kept up to date becomes very big. If this burden is spread over many editors, then "many hands make light work". (We also have several other tricks to make sure our data is kept up to date!)

That said tho, for a community site like this the community is more important! It's very interesting to see the variety of approaches that are taken. If people from an area want to talk about using Open Tech Calendar in their area or have feedback, do get in touch.

</comment></comment></comment><comment><AUTHOR> What it is:

Freely editable google spreadsheet with information on where tech is happening in Scotland. Currently lists >300 companies and 90 groups/events.

What it's not:

\- A startup/VC map.

Challenges:

\- getting people to add/curate existing content (current theory: I think people browse mostly on phones, and can't edit without installing the Google Sheets app), as I can't put a lot of time into it.

\- better quality categorisation of companies

\- finding dev teams within organisations like local government

\- identifying what's missing (my gut feel is there's easily another 300-1k companies to add, but most existing entries have come through business directories or searches on twitter for "developers/python/java/etc near me").

How it began:

The wikipedia article on Silicon Glen is short and out of date.

I was finding out about companies geographically near me in similar industries that I just wasn't coming across unless they were hiring.

I heard of Eden Shochat, who successfully crowdsourced the Israeli startup scene in a Google spreadsheet.

<comment><AUTHOR> Google spreadsheets can't handle the concurrent users coming from HN.

To add:

Try this form to add a company: [http://goo.gl/forms/5OEg6TahHdLrPmaG3](http://goo.gl/forms/5OEg6TahHdLrPmaG3)

And this form to add an event: [http://goo.gl/forms/LI36LptYhqbuudY83](http://goo.gl/forms/LI36LptYhqbuudY83)

</comment></comment><comment><USER4> Not sure this is relevant but it might be helpful to people looking for a similar project like this to work on:

Heres a curated tech calendar for Dublin, Ireland.

[https://www.startupdigest.com/digests/dublin](https://www.startupdigest.com/digests/dublin)

The Dublin startup commissioner just launched this is week as well:

[http://www.techireland.org/](http://www.techireland.org/)

Basically a database of the Irish tech scene.

<comment><AUTHOR> That's really cool!

It speaks volumes for how well connected and supported the startup scene is there that Dublin has a funded "startup commissioner". We're lagging a lot behind in Scotland at the moment.

</comment></comment><comment><USER5> Really cool list. I'm founder of RookieOven - [https://rookieoven.com](https://rookieoven.com) \- a coworking space for tech startups in Glasgow based in a Victorian shipyard.

If anyone is ever in Glasgow and looking to meet the local community feel free to pay us a visit.

<comment><USER6> I'm just down the road - I might pop past at some point for a nosey :-) The only things of note I'd ever spotted in Govan were Titan Props and Film City - live and learn!

<comment><USER5> More than welcome. We're in the recently restored Fairfield Shipyard Offices on Govan Road so not been open for too long. We also do a monthly meetup for local startups in The Raven on the first Monday of each month.

</comment></comment></comment><comment><USER7> Very proud to see the medical company I work for listed here, and not even by me.

Optos was acquired last year by Nikon, and we're going strong and expanding into new tech for devices we're releasing this year and next.

We're hiring a few positions right now if shooting lasers into people's eyes to _save_ their sight is your kind of thing: [http://www.optos.com/en- GB/About-us/Careers/Europe/](http://www.optos.com/en-GB/About- us/Careers/Europe/)

</comment><comment><USER8> This is great. We love being part of the Scottish tech scene. There are some really great meetups around Edinburgh and Glasgow areas too.

</comment><comment><USER9> On this topic, is anyone in the Glasgow area doing anything cool with Golang? I'm looking to dive in and wondering if there is any kind of local community around it - travelling to Edinburgh for meetups is inconvenient to say the least!

</comment><comment><USER10> Love it! Scotland has a fantastic tech scene which I'm super happy to be part of :)

</comment><comment><USER11> There's also a list of Edinburgh-based software companies on [http://www.nobugs.org/deved/](http://www.nobugs.org/deved/), though the last update was 2015-09.

</comment><comment><USER12> Very cool! I've been looking for something like this for a while in hopes that I could get a better feel for the tech industry through Scotland. I lived there for 7 years during middle school and high school and I'm always flirting with the idea of heading back. Sadly my EU residency lapsed, making it a little more difficult (not that it would help for much longer..).

It would be great to have more sorting options, particularly if I wanted to get back to the Granite city :).

</comment><comment><USER13> Calendar of events for belgium: [https://hackeragenda.be/?section=all](https://hackeragenda.be/?section=all) (source code: [https://github.com/psycojoker/hackeragenda](https://github.com/psycojoker/hackeragenda), fork and enjoy o/)

</comment><comment><USER14> Great resource, thanks for posting this.

Would like to see more Scottish robotics startups & meetups.

</comment><comment><USER15> I'm building something similar for Romania: [http://www.it- events.ro/](http://www.it-events.ro/) (very early stage ATM).

<comment><USER2> Just saw your comment - you interested in Open Source software for this? :-) [http://ican.openacalendar.org/](http://ican.openacalendar.org/)

</comment></comment><comment><USER16> How do we add to the list? The Companies page doesn't seem to be editable.

Perhaps you should consider adding the data to a simple WordPress site. I'd be happy to set that up for you on my server.

<comment><USER17> Maybe a better idea would be a Google Forms instance to submit listings, then some manual validation and normalisation, and s script to pull it from the Google Docs spreadsheet and generate a static web page. Makes for cheap and easy hosting, and you could easily map the events and companies on Google Maps or OSM if you add a lat/long field.

That way, it'd be easy to submit and even easier to consume the data.

And if you kept the dataset open, people could reuse it in a bunch of useful ways.

<comment><USER2> Did you have any comments on [https://opentechcalendar.co.uk/](https://opentechcalendar.co.uk/) ? We are not static* or Google Docs but we do the rest - people can add, we work with lat/lngs on maps and have many Open Data feeds that already have lots of users.

* Tho last year we did start playing with a static site generator for fun, tho it's not production ready yet.

<comment><USER17> I incidentally found Open Tech Calendar for the first time a few days ago and really like it.

Besides a few small design niggles, I think it's great.

The data export (and the fact the data is in the public domain) is really useful. The lack of adverts (besides a little sponsor shout out) makes me much more comfortable contributing data here. I appreciate the OSM maps.

Honestly, you really don't need to go the static route. That was perhaps a more useful suggestion for the OP as they don't have any dynamic web infrastructure in place and it would offer a quick win in terms of usability. Same goes for Google docs - it was a good for the OP's situation but it's not necessary in your case, especially with your strong export functionality. Stick with dynamic, you've done a good job there!

If I could make a couple of little suggestions:

1\. A few wee design tweaks might help: on desktop browsers the font size is really big in places (24px in the header explanation text), the background image is a little distracting and difficult to make out, and the max width of 1200px reduces readability a bit for some users). Nothing major, just some little tweaks.

2\. I only found the site recently and wish I'd come across it before now. Do what you're doing here - keep reaching out to people in the community.

3\. Slim down the terms and conditions a bit and adopt an open license. The footer says that event data is in the public domain, but this term is a little fuzzy and the legal meaning isn't always clear. On the terms page, you talk about a limited license. I'd suggest going with CC0 [0] for event data (it's like public domain, but with specific and universally understood legal meaning). And perhaps just state that all rights are reserved with regards to site name and logos. It makes things clearer for people who might want to use the data.

[0] [https://creativecommons.org/publicdomain/zero/1.0/](https://creativecommons.org/publicdomain/zero/1.0/)

<comment><USER2> Hello. Thanks for your comments :-)

Don't worry, Open Tech Calendar will never go Static - there are to many features that just won't work. However, the static site was something we tried as an experiment to make us look afresh at this problem. We may carry on with it someday, but it has already driven a bunch of code quality improvements in the main app which is great.

If you are interested, could you join [https://groups.google.com/forum/#!forum/openacalendar](https://groups.google.com/forum/#!forum/openacalendar) ? This is for the Open Source software, and we discuss features and design issues there. Very happy to have any constructive criticism discussion there! But let me try and address some points very quickly now, tho it's late and I'm off to a hackday tomorrow! (That's the Excuses in :-) )

1\. I want to recheck all font sizes - they've all been picked piecemeal. I do want to make sure the fonts are slightly large tho - while I have no problem with lower size fonts I know some people with vision problems do.

For the max width, do you want it wider than 1200px? We actually have just done some design work that touches on this: [https://groups.google.com/forum/#!topic/openacalendar/HvsKB3...](https://groups.google.com/forum/#!topic/openacalendar/HvsKB3IXmag)

The image isn't really meant to be fully detailed, it's just to add a bit of texture. I was thinking of trying some different images, maybe it's time to!

2\. Thanks! :-)

3\. I would like to be clearer on the legal side, but I have some questions of my own about legal points and could really do with a discussion with a friendly lawyer! But rest assured I want the data to be open for all sensible uses.

Anyway, hopefully this makes sense. Please do join the email list or email hello at the site domain with more points. Thanks, James

<comment><USER17> Hi, well thanks for listening :)

I'll take a little look at the Google Group tomorrow and would like to give some feedback! I think the project is fantastic.

I've got a couple of little follow-up comments on accessibility...

One important thing to remember about visually impaired users is that they almost always have their base font size in their browser set high already, or are using a magnifier. So 150% of an already large font becomes an unusably ginormous font. While the intention is definitely good, it can have the opposite effect (I speak from experience working with both technical and non- technical family members who are partially sighted). A base size of 14-16px (depending on font), increasing to 1.5em or 2em for headers works really well, and doesn't overcompensate when visually impaired users have their own font magnifying solutions in place (as they most often do because they're needed for the vast majority of websites).

And in terms of the max width, I'd definitely take it down from 1200px. Long lines are harder to read [0 (also a really good example of readable width)]. Playing with the site in Chrome dev tools, "max-width: 54em;" works really well. It stops the right-aligned/floated elements being across a wide chasm from the left-aligned elements, and it keeps line lengths at a really readable limit. And by using ems instead of pixels, if visually impaired users have a higher base font size (which doesn't scale non-text elements with sizes in pixels), it won't distort the page layout.

[0] [http://baymard.com/blog/line-length- readability](http://baymard.com/blog/line-length-readability)

<comment><USER2> > almost always have their base font size in their browser set high already

I've come across people who don't - but still, maybe this is generally the way to go.

Thanks for your detailed feedback and encouragement. I've made 2 issues at [https://github.com/OpenACalendar/OpenACalendar-Web- Core/issu...](https://github.com/OpenACalendar/OpenACalendar-Web- Core/issues/649) and [https://github.com/OpenACalendar/OpenACalendar-Web- Core/issu...](https://github.com/OpenACalendar/OpenACalendar-Web- Core/issues/650) \- but if you had time to comment on the Google Group that would be great :-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> What's the point of this thread? Honest question.

I have the feeling it is pointless keeping such map from the perspective of Brexit. Soon Scotland will be off of Eu, and all these businesses will be facing very different realities in short time. I would refrain make business with companies with whom I'd face more taxes or red tape just because their countries would left the EU.

So what are we trying to do here? Explore more the Scottish market? The soon- to-be limited UK market?

I am lost. Could someone explain it to me?

<comment><AUTHOR> The point is to raise awareness of a basic tool that tracks Scotland's tech industry. That is of interest to lots of people.

Potential uses of the tool itself:

\- Helping people find potential job opportunities in Scotland

\- Helping tech companies in Scotland find other tech companies within Scotland

\- Getting people excited about some of what's happening in Scotland. It's a small country but it has some $1b tech companies and lots more are on the way.

\- Encouraging international companies to start divisions/design houses/engineering centres in Scotland due to the quantity of comparatively- cheap talent. This is happening a lot already.

If things are getting harder internationally for Scottish businesses (which I don't believe or expect for the tech industry), then surely this becomes even more important as those companies will want to partner more within Scotland?

</comment></comment><comment><USER19> Is there a list of tech companies/agencies for NYC out there? Asking for a friend.

</comment><comment><USER20> Wouldn't wiki be a better format for this than a Google sheet?

<comment><AUTHOR> Any suggestions for ones that are easy and free to setup?</comment></comment>


CadQuery: A Python parametric CAD scripting framework based on OCCT - <AUTHOR> https://github.com/CadQuery/cadquery <comment><USER3> Big fan of Cadquery! I used it to generate circuit board enclosures in an old project of mine[1]. Once you have it set up it is much nicer to use than Openscad and you have the ability to export STEP files, which is pretty huge. I haven't played with it in a while but the new improvements look great. The maintainers are also very welcoming/helpful to newcomers. Overall a great open source project.

[1] [https://enclosuregenerator.com/](https://enclosuregenerator.com/)

</comment><comment><USER4> Off-topic: I've seen a few posts about CAD programs recently, and it reminded me of a product that I want but haven't found yet.

I often need to draw 2D vector graphics for digital or print. Since I suck a bezier curves (and they feel imprecise anyway) and manually arranging and combining geometric shapes can be tedious I want an interface for drawing that mimics the sketch function of SolidWorks or Fusion360 and the like with the constraint system and so on.

<comment><USER5> I have also long desired something like this. I'd love a parametric vector (+ image) editor; it's an unfilled niche. (If any startup people are looking for ideas, here's your million dollar opportunity.)

There are the CAD programs, like SolveSpace/AutoCad/QCAD, but they aren't really designed for illustration: you would have to constantly export the blueprint to style it. I think the closest you can get now is UI design software with constraint features, but that software isn't really made for free-form work like Illustrator/Inkscape.

This discussion may be of interest to you, though it is not UI-based and none of the software has been open-sourced (yet): [https://news.ycombinator.com/item?id=21774018](https://news.ycombinator.com/item?id=21774018)

EDIT: Looks like Inkscape can do a few vaguely CAD-like things with "live path effects", but it's by no means a proper constraint solver. See the feature request here for a full constraint solver, which includes a summary of past progress and proposals: [https://gitlab.com/inkscape/inbox/-/issues/1465](https://gitlab.com/inkscape/inbox/-/issues/1465)

<comment><USER6> Just curious: in what sense is that startup niche not yet filled by any of the usual 3d parametric CAD programs like Rhino etc.?

<comment><USER7> The full blown 3D CAD programs _do_ have easily definable dimensions and a constraint solver for drawing sketches. The problem is that in these softwares, it's typically assumed those sketches are going to be used to make a 3D part. So you'll extrude the sketch along a line or sweep the sketch around an axis or something to create a 3D part. Consequently, what you can do artistically with the sketch ends there.*

I'm not looking for that 3D aspect of the software. Once I have the sketch dimensioned and constrained, I want to start doing artistic stuff with it like changing the line style or color, adding a gradient fill, adding text inside it—-stuff you'd use Inkscape and the like to do. But Inkscape doesn't have the constraint solver or easy to use dimensioning tool.

*To be fair, you could probably export the line after fully defining it in CAD and import it into Inkscape, but that's not much fun.

</comment></comment></comment></comment><comment><USER8> I wish more people would try this over openscad. I like openscad but the UI and with cadquery you use python! and now I noticed "CadQuery supports Jupyter notebook out of the box"

<comment><AUTHOR> I actually like the GUI way of designing in FreeCAD/Fusion 360 (which I wouldn't say about much) but for me it's about the file format on disk. I would love it if they had a sane human-readable format, git-friendly. I appreciate that wouldn't be trivial.

So I'm really interested in learning something like OpenSCAD or CadQuery, even if only for files I can use and read anywhere.

<comment><USER9> I managed to integrate Jupyter notebook with FreeCAD to get some of both worlds. In the future I'll try to put CadQuery into that mix, also.

</comment></comment></comment><comment><USER10> Another open source alternative in the wake of the Fusion 360 debacle it seems.

I will have a look. I'm no CAD expert and I have tried FreeCAD but it seems it's almost there but not yet. My use cases are very simple and this may be enough but nevertheless I think a GUI is the way to go for these kind of applications.

<comment><USER11> What is the Fusion 360 debacle?

<comment><USER12> A few days ago they announced changes to the free/hobbyist version - over the past year or so they've crippled some things and overall there's a bit of an off-putting vibe towards hobby users.

I used Fusion360 a ton for 3D printing and overall it was really nice (it has its warts but it's a pretty amazing app); the past few days I've started looking into alternatives unfortunately.

</comment></comment></comment><comment><USER13> This almost made me stop working on my own openscad inspired system in lua. It has almost everything that I think is missing from openscad: * A full programming language * Fillet and chamfer support * A better viewer

The thing that I'm planning to add to my lua cad is materials and PBR in the viewer. Also, I'm still thinking if native bom support is a good idea.

But this looks slick, will definitely give it a try. Python models should be shorter than lua. But I like the lua dsl so far.

Also I'm attempting to write my own cad kernel, which is a dubious choice. But will see where that gets me.

<comment><USER14> Damn I didn't realize OpenSCAD didn't have filet/chamfer! Lua certainly has its advantages over python. The dubious choices are usually the most fun even if you end up in the deep end though.

<comment><USER13> Yep. Lua has a bunch of advantages even over python.

* It can be embedded in the viewer, so the user doesn't have to install a separate distribution of libraries. Only the viewer.

* It should be faster than python, even without luajit. Currently everything is done in lua, but I'm planning to write the main loop (converting the object graph into meshes and the rendering) into Rust. And have lua dsl fill in some arrays via C FFI.

* Lua has a special syntax for function calls that pass an object. Ex: do_something(obj) can be written as do_something { field = value }. This and some partial application can be used to make some very nice DSLs. Ex:

difference ( sphere { r = 3 }, cube { w = 2, h = 2, d = 2 } )

* Lua is a very simple language, which can be easily picked up. That being said, Python as used in CadQuery is also simple.

And yes, fillet and chamfer seem to be missing openscad. There is a way to do a 2d shape then add rounded corners then extrude it. But that seems to be new, and it's a bit tricky. I'm thinking about adding a fillet modifier that finds all the sharp edges in an object and rounds them. It might be more difficult than it sounds, but, will see. Fillets and chamfers are also important for visualisations, since in nature there are no perfect sharp corners afaik.

<comment><USER9> The big advantage of Python over Lua is that the ecosystem is bigger and more mature.

You can use SymPy for constraint modeling, for example.

</comment></comment></comment></comment><comment><USER15> This is really interesting and compelling to me. I tried FreeCAD recently and couldn't get into it, and went back to onshape. I notice that it doesn't appear to have constraints in it, which is usually a significant part of the CAD workflow. What does one do about that?

<comment><AUTHOR> Doesn't it being Python (any programming language - OpenSCAD/declaracad too) basically give you constraints for free?

I haven't actually played around with it yet, but surely it's just a matter of combining (or computing from) your (python) variables appropriately? And even having the ability to `assert x > 10` or whatever to validate allowable parameter ranges.

<comment><USER16> Most of the graphical 3D CAD programs include a constraints solver that work over the domain of real numbers. A quick search doesn't turn up such a python library.

[https://wiki.freecadweb.org/Sketcher_Workbench](https://wiki.freecadweb.org/Sketcher_Workbench)

[https://forum.freecadweb.org/viewtopic.php?t=17868](https://forum.freecadweb.org/viewtopic.php?t=17868)

[https://en.wikipedia.org/wiki/CLP%28R%29](https://en.wikipedia.org/wiki/CLP%28R%29)

<comment><AUTHOR> Ah sure, I was thinking quite loosely about 'constraints'. I think you can get pretty far without a solver, with a dependency order in a procedural language like python. Of course it's not _as_ expressive, but I think it goes a long way, and just isn't possible or at least wouldn't be natural in GUI CAD.

e.g. Scripted CAD pseudocode:

        x = param('length')
        y = param('width')

        z = 2*x + y

        base = rect(x, y)
        box = base.extrude(z)

        radius = y/2 if y < x else x/2
        cutout = circle(radius=radius, centre=(radius+base.x, radius+base.y)).extrude(z)

        obj = box - <USER2>

The circle cutout inherently has tangent constraints on the sides of the box, without needing library support or a solver.

I realise there are limits, I just think you could do a lot without hitting them, and when you do.. you're just programming, find a constraint solver to use.

<comment><USER17> Make a triangle with side lengths 7,8, and 9.

Also, one doesnt usually just find a constraint solver to use. You'll want a geometric constraint solver which will be built on top of a non-linear algebraic constraint solver. It really needs to be integrated into the CAD system.

<comment><AUTHOR> > Make a triangle with side lengths 7,8, and 9.

        p, q, r = params("side1", "side2", "side3")

        pq = arccos((p^2+q^2-r^2)/(2*p*q))
        pr = # ... similar
        qr = # ... similar

        assert pq + pr + qr == 360, "Side lengths invalid"
        pside = line((0,0), (p,0))
        xy_qr = (r*cos(180-pr), r*sin(180-pr))
        qside = line((p,0), xy_qr)
        rside = line(xy_qr, (0,0))

        triangle = sketch(pside, qside, rside)

Or whatever this fictional API is to look like.

 _Obviously_ to do generic constraint solving, you need a generic constraint solver. My point is that if you have fixed known constraints, and a programming language, you _can_ just compute what you want explicitly.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> There's also declaracad, similar idea but seems to be in an earlier stage of development: [https://github.com/codelv/declaracad](https://github.com/codelv/declaracad)

</comment><comment><USER11> I don't really have experience with the architecture of CAD applications. What's the relationship between a CAD program and the OpenCascade kernel? Since both this and FreeCAD use OCCT are files compatible between them?

<comment><USER18> Open CASCADE is the geometry kernel that does all the heavy lifting (all the geometry related operations and mathematics etc). FreeCAD is a primarily a user interface plus Python script bindings around this kernel. CadQuery implements a Python-based scripting DSL around Open CASCADE to let you build models using code.

File formats between these tools do not necessarily have to be compatible. Open CASCADE ships with exporters for a small number of common CAD file formats, STL being the one that is compatible with most other CAD tools. It also has it's own format for exporting just the geometry (.brep files), and the API provides storage facilities for building your own application-specific container formats (OCAF). I think FreeCAD uses OCAF to implement its native file format.

I know FreeCAD can import/export STL using Open CASCADE, so that's one way transfer models from/to other CAD tools, I would not be surprised of CadQuery can also do this (but I haven't used it so I can't say for sure).

<comment><USER19> STL (and .OBJ) are common exchange formats for mesh output. For solids, which FreeCAD and OpenCASCADE mostly deals in, the typical exchange formats would be STEP (and IGES). Solids can have perfect circles, surfaces etc - where as meshes are just a bunch of 3d vertices with straight line between them. But still there is much information not present in a solid exchange format, like how the model was made: Constraints, feature operations, constraints, undo stack etc.

<comment><USER18> >> _STL (and .OBJ) are common exchange formats for mesh output. For solids, which FreeCAD and OpenCASCADE mostly deals in, the typical exchange formats would be STEP (and IGES)._

Ah yes I meant STEP instead of STL of course, always mix those up. OCCT does not even have support for STL or OBJ import/export.

</comment></comment></comment></comment><comment><USER20> It has been compared to FreeCAD for parametric open source scientific hardware: [https://journals.plos.org/plosone/article?id=10.1371/journal...](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0225795)

</comment><comment><USER21> How does it deal with the problem of geometric robustness, [1]?

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

</comment><comment><USER22> If you like this sort of thing, I can recommend SALOME for its excellent Python bindings, each of which corresponds to a GUI action as well.

</comment><comment><USER23> I like the use of Roots blower rotors in the example screenshot --- as something that can be mathematically described relatively simply, but far more tedious to draw manually.

I was a little perplexed at the OCCT acronym at first; it refers to the stress testing tool overwhelmingly more than this.

</comment><comment><USER9> That looks similar to efforts I made with Blender (Vraag) and FreeCAD. But probably more mature.

</comment><comment><USER24> I've never seen an actual money making project that would require case that was designed by script. It seems odd but maybe I'm in the wrong I dustry.

<comment><USER25> Here is one: shafts for power transmission equipment, in our case belt conveyors for bulk material handling. Shafts for pulleys come in all shapes and sizes, ideal use case for code generated models and Cadquery.

I'm very excited that such project exists, API is super nice, you can hook it up with a web server and anything else in python ecosystem. Then our sales people who are tech knowledgeable, but are not engineers can do this for customers without going to engineering. This saves time and shortens the sales cycle

<comment><USER24> How can you size shafts without engineers? Who does the calculation and review? Who is liable if it fails and someone gets hurt?

<comment><USER25> It comes from the customers. They know what they want.

<comment><USER24> You guys aren't manufacturing from the cad files, are you? Like convert to gcode and send to a CNC? Or is it just for models only.

I'm not in that industry, but it makes sense you'd have a use for it at least.

The thing is that fusion360/solidworks/etc does parametric modelling so can probably be used just as easily, with the added benefit of being industry standards.

<comment><USER25> Where I see potential for using tools as cadquery is with product type configurators which are often part of ERP software aka CPQ (Configure-Price- Quote). Cadquery generated model would be part of the Configure. Of course this wouldn't work for complex product, but there are companies out there that may need a configurator for relatively simple product</comment></comment></comment></comment></comment></comment>


The Chinese Flanker Knock-Offs - <AUTHOR> https://nationalinterest.org/blog/buzz/mirror-mirror-wall-chinas-j-11-fighter-looks-awfully-familiar-100597 <comment><USER2> > This article first appeared in 2016. It is being republished due to reader > interest.

Yep, sounds like a normal National Interest post...</comment>


Should you call people resources? - <AUTHOR> http://emilywebber.co.uk/should-you-call-people-resources/ <comment><USER2> I don't. They are people, have skills, etc...

Dehumanizing others leads to s lower value for all of us.

<comment><USER3> I agree. It seems that calling people "resources" is encouraged by the existence of a "Human Resources" (HR) department. There are surely better names for that too.

<comment><USER4> "Human Resources" is an excellent name for what such departments exist for.

If you want something better, you need a better mission first, and the name will be a natural outgrowth of the mission. Looking for a friendlier name without reconceiving the mission is just wrapping the existing problem up in a lie (which plenty of places do, to be sure.)</comment></comment></comment>


How many websites have exposed entire source codes? - <AUTHOR> https://twitter.com/mixnode/status/969265512680075264 <comment><USER2> We did an analysis a few years back. it would surprise you how many of those are actual web apps (saas, ecom...) and not just catalog or small biz websites.</comment>


Too Much Revenue, Not Enough Growth - <AUTHOR> http://blog.tomevslin.com/2008/08/too-much-revenu.html <comment><USER2> The foundation of this whole bubble is too much (often its not that much) growth and no revenue or even future hope of revenue what-so-ever.

In short, there's a lot of bullshit start ups out there.

</comment><comment><USER3> It'd be interesting to hear what 37s make of this, as it seems like they went for revenue rather than growth. Personally I agree with the growth then revenue strategy, but I guess it depends on what you want to create, and what size market you think you could get.</comment>


Ask HN: Review my experimental API - <AUTHOR> http://apiim.atamurad.com/

<comment><AUTHOR> Hi folks,

This is the experimental project I've been working for last couple of weeks.

It is HTTP API to access IM networks.

Why do we need it? For example, IM status message is really interesting place to publish real-time status updates that haven't been exploited yet by web applications. Twitter is really not suitable for high frequency updates coming from media players or live scores of games. That kind of information doesn't have historical value and it doesn't make any sense to store them at all.

Here's the API documentation: <http://apiim.atamurad.com/apidoc.html>

Simple tutorial: <http://apiim.atamurad.com/tutorial.html>

Any feedback is appreciated.</comment>


New Pennsylvanian Governor proposes $500 million budget cut in education  - <AUTHOR> http://www.post-gazette.com/pg/11067/1130526-100.stm

<comment><USER2> "[...] while asking districts to negotiate with unions to freeze teachers' salaries and to eliminate salary bumps for those who earn master's degrees."

Good thing, I'm tired of all those teachers driving by in their Bentleys ashing their Cuban out the window. Why should they be rewarded for being better educated? That doesn't happen in priv... oh wait, it does. Nevermind.

I live in Philly, so this issue is pretty frustrating.

<comment><AUTHOR> I attend one the affected universities, so it's really frustrating for me too. At least they've thought the whole circular plan through:

\- Teachers won't get rewarded for master's degrees

\- Cut funding for universities, resulting in less teachers being able to afford master's degrees

\- Teachers don't bother with master's degrees

<comment><USER2> And then they can just keep going!

\- Lower requirements for teachers.

\- Cut funding to schools due to lower salaries needed to employ teachers.

\- Scratch heads at failure rates.

\- Take your hatred for the unions out on the teachers.</comment></comment></comment>


"Customer First" Healthcare - <AUTHOR> http://abovethecrowd.com/2017/12/18/customer-first-healthcare/ <comment><USER2> This article is spot on but misses two important points: 1) as customers are driven to the more convenient urgent care clinics such as The Little Clinic or Minute Clinic, they are losing the long-term consistency of medical review and care they once enjoyed through a relationship with their primary care physician. Second and most importantly, fewer and fewer people are going to medical school and of those that are, fewer are being general practitioners or internists so by and large your medical care is primarily given by PA's and NPR'sboth of who. Require physician supervision.

I am all for customer centric healthcare but decreasing reimbursement rates and increasing government unfunded mandates are resulting in fewer people going to medical school. When a doctors patient load continues to increase they have less time to spend with patients and reviewing labs, etc.</comment>


Grasping at straws and the perils of performative, scolding environmentalism - <AUTHOR> https://thebreakthrough.org/index.php/voices/grasping-at-straws <comment><USER2> Performative scolding is about the egos of those who initiate it or perform it. It's not about the goals of a movement like environmental action. It's a "social disease" free of any particular ideology, and it is a destructive epidemic.</comment>


Uber CEO: ride hailing will be eclipsed by scooters, bikes - <AUTHOR> https://techcrunch.com/2018/09/06/uber-ceo-ride-hailing-will-be-eclipsed-by-scooters-bikes-and-even-flying-taxis/ <comment><USER2> I didn't realize that Dean Kamen became the CEO of Uber. In Chicago, there's only two seasons: Construction and Winter. Until my city gets covered in a glass dome, I think I will stick to trains and automobiles. I do bike occasionally, weather and motivation permitting.

</comment><comment><USER3> I have thought of this for a while. But, why has there never been a fully covered 2 wheeler / single seater on the market ?

It seems like the kind of thing that can exploit the pros of a car, while mitigating atmospheric and safety related problems associated with bikes.

I am genuinely surprised that there hasn't even been a startup that has tried to dabble in this, let alone an established company.

My only guess focus groups might hate the idea of it.

On topic:

I welcome the push towards bikes as a primary method for transport. If the necessary traffic rule adjustments are made, then biking can be a very safe method for transportation on a daily basis

<comment><USER4> Well there was this: [https://en.wikipedia.org/wiki/BMW_C1](https://en.wikipedia.org/wiki/BMW_C1) but production has stopped.</comment></comment>


A Cautionary Word on the Deferred Life Plan - <AUTHOR> http://ecorner.stanford.edu/authorMaterialInfo.html?mid=1791 <comment><USER4> I have a client, nice old lady, a widow, in her 70's and while working on her computer she started talking about her life and times. She warned me about working too much and told me her tale of woe.

She and her husband worked all their lives, raised a family and saved their money. Their plan was to retire early at 55-60 and then travel the world once kids were grown. All was going according to plan and they both retired but then her husband got colon cancer and died 6 months after he retired before they took a single trip.

She wasn't bitter but clearly regretted deferring life for work, and she did not want me to make the same mistake. After her husband died she tried to travel but said it was just too difficult to carry on without her husband. Sad to see her living with a broken heart.

<comment><USER5> This is a very sad story, and something I caution my parents about as well. Unfortunately, the retirement age before you get any benefits keeps rising.

<comment><USER6> Yeah, but if you're smart and plan ahead you can do things like _take breaks from work_ , and it doesn't even need to be the super-fancy live-it-up European vacation. Or even just retire before 65ish and live off your _own_ savings before tapping government benefits. These are both options available to you...

<comment><USER7> Its not one or zero, Its not like suffer on the short run to enjoy on the longer or vice versa.

You need to plan both for the longer and shorter terms in life. I wouldn't be OK if I get a exotic vacation every now and then but a horrible time when I get old. Or the vice versa.

I think whats appropriate in life is to have short sprints of hectic work schedule where you can make you moderately big cash, then save and invest a part of it for retirement. Enjoy the rest to the fullest.

</comment></comment></comment></comment><comment><USER8> I took an investment banking job right out of college and spent the next few years working like crazy. It was good work experience - and a great chance to save money - but it was exhausting work that I wasn't passionate about. My close friends and family lived in different cities, and I saw them only a few times a year. Some of my colleagues planned on working 80-hour weeks for 15 years and retiring at 40, but I wasn't interested in that plan.

So after 2.5 years, I quit to start my own business. I'm pretty tech savvy, but have nowhere near the programming skills as many here on HN. I am, however, a good marketer so I started an eCommerce drop shipping business. Within a year, I was making an income that could support my family - <USER2> two years, a good income. And I also had the ability to work wherever - <USER3> whenever - I wanted. I'd work like crazy for a few months on a business project I was really interested in, get a ton done and then take a few months off to travel. It was the best of both worlds: I'd be super productive when I was interested and had the energy, and take time off when I needed it. Best of all, I saw the people I cared about much more frequently.

With the dawn of the internet, there's never been a better time in history to start your own business (low risk, high reward, global scope), especially if you're technically minded. We have the unique opportunity to do work we love while being able to maintain a health work/life balance. It's amazing.

If anyone's interested in the full story of how I made the leap from corporate workaholic to a more balanced life, I've written about it below:

<http://www.ecommercefuel.com/my-corporate-escape-story/>

<comment><USER9> The most impressive part to me about the story was picking a niche, CB Radios, that doesn't appear to be a business you were already familiar with and building a successful company anyway.

<comment><USER8> Thanks Joshcrews!

That's one thing I try to advise people when they ask me about doing something similar: a research driven approach to picking a business usually works much better than trying to pick something at random, or something you're really passionate about. That's what brought me to CB radios. If you're interested in the process / criteria I used, I wrote a free eBook which I offer on my blog - just hit up the link above.

In most areas, especially for sales, if you spent just 2-3 weeks learning about a market you'll know more than 98% of your customers, so becoming an expert in an area doesn't take too long, which makes it easier to pick a niche, become an expert and then market your business.

</comment></comment></comment><comment><USER10> It's very easy for a wealthy VC to sit on a stage and pontificate like this.

Not everyone has opportunities in front of them to work on a project they believe in and make enough money to pay the bills with it.

Most of us have to struggle through years of working at jobs that hopefully use our skills well, putting in time on nights and weekends pursuing something we do believe in and feel passionately about.

Our passion projects go through half-starts, frustrations, and down blind alleys; sometimes having to battle against our own pessimism, peer pressure, time demands, and the sense that everyone else is doing it better, and more easily. (The truth is it's not coming more easily to everyone else, but it's human nature to see things that way.)

If we're lucky, we get it right, and maybe that personal project gets a foothold (fuck "traction," it's hard enough to get a toehold at the beginning). For a few, there's a chance to even quit that job that's making you prematurely old and finally do just what you want. For many people, that doesn't happen for years and years, if it happens at all, and there ought to be a medal for anyone who can simply stay motivated and persistent for that long, whatever comes of it.

And in all of this, I'm still talking about a small subset of the American public, and an even smaller subset of the world. We're talking about some of the luckiest people on the planet—those of us who can even consider things like "life plans" because the circumstances of our lives have landed us so far up Maslow's pyramid. If you're working at a job that you don't care about, where your manager is a capricious idiot, the office is ugly and the coffee sucks, but you're at least using your skills, you're already in a position that 95% of the world would love to trade places with right now.

Don't let a billionaire with perfect 20/20 hindsight tell you you're doing it wrong. If you have to spend part of your life with your excitement and enthusiasm deferred because that's what it takes, don't pile on your own troubles by telling yourself that you're "deferring life." Life is one long journey of ups and downs, discovery, pain, joy, frustration, accomplishment, and every other damn thing. Take it as it comes, meet it with your head up, and when you have to slog through the bullshit, slog through it. Just because your passion might flag for a bit doesn't mean it's not going to rise again, and just because you have to "sell a product you don't believe in" doesn't mean you're doing it wrong.

<comment><USER11> Deferring life is a risk. And there are degrees of risk. If your plan is to work consistently at an average job and defer life until 65 there's the risk you die first, but at least you had your weekends free.

If your plan is to work double hard and smart on something that may pay off sooner, there's the risk you burn out and the opportunity costs of those additional working hours (not spending time with friends, family, hobbies, for instance).

I saw a show on TV once, and don't remember what it was, but they had a guy in the middle of nowhere working his butt off every day. He said something to effect of "I work like a horse so that my children can work like dogs, so that my grand children may work like humans some day". That stuck with me. I realised I could have it _much_ worse, and the only reason I might not _choose_ to work like a horse is because I earn more than enough to be pretty comfortable working my 8 hour day. But the rewards if I _did_ work like a horse... And if somebody else can do it, then I can push through the half- starts and frustrations you mentioned.

What's the point of living to less than my full potential?

</comment></comment><comment><USER12> I think the key is to wait for a local maxima in savings and employability before you take off on your big "deferred life" trip.

The trade-off is always portrayed as between ending up an unemployable 22-year-old with $10,000 in credit card debt, or a 70 year old widower who tried to put it off until after kids but missed the window.

But there's a middle road.

I, for instance, saved like crazy until I was 27 before taking off on the first big trip. By then I'd established enough of a professional reputation that I could quickly find a job when I got back, and enough savings to not worry about going broke on the road. Over the next 13 years I averaged about six months off every year, getting more employable at every step and usually ending each year with more savings than the last.

I don't think there would have been any chance of pulling that off had I started off by maxing the credit card on a gap year trip straight out of school.

<comment><USER13> Do you have a wife and kids?

<comment><USER12> Yes. If you shop around, you'll find that wives come in a portable model that you can take with you around the world. In fact, they're much easier to find if you're already halfway around the world, as then they've at least demonstrated the capacity to get there and a predisposition towards traveling.

Kids are pretty portable for the first several years as well. We've only had this one for a little over a year now, but he's got a dozen flights and seven countries under his belt already.

(And heading off the inevitable 3rd piece of that question: Yes. I've found that houses can remain happily unoccupied for months on end, so long as you either bring along enough money to keep paying their mortgage or pay it off before you leave.)

</comment></comment></comment><comment><USER14> I don't know why but it's always hard for me to accept that kind of advice from rich people. People for whom money is not an issue and can basically live a life of luxury without working.

I'm not saying the advice isn't sound advice. Just that doing more of what you love Or want to do is far easier for them therefore it's easier for them to say it

<comment><USER15> It works both ways. I think I'm more likely to take advice from someone who appears successful in their field.

Perhaps the choice to work on something they're truly passionate about helped them to be successful, while others who merely did what was expected did not have the drive to excel at it.

<comment><USER16> "I think I'm more likely to take advice from someone who appears successful in their field."

Problem is he's not giving you advice tailored to your specific situation. He is giving general advice. And with any general advice it's hard to account for all the nuances and judgement that might change with knowledge of specifics.

General advice might be "marry someone with a good education" or "marry a doctor". But a Kennedy might have good education but they also come with a host of other issues (and benefits) as a result of their fame and family name. With respect to the latter I'm sure Zuckerberg marrying a Physician is less important then it would be to someone else who could benefit from the stability and income that occupation brings.

</comment></comment></comment><comment><USER17> If you have ever encountered "lifers" people who have worked their entire lives in a single job of little importance then you will realise this is great advice. I have personally made a commitment to never let comfort and fear prevent me from living life with passion.

</comment><comment><USER18> The way I see it, you've got three chunks of time in any work day. 8 hours of work, 8 hours of sleep, and 8 hours of whatever you like.

Now, other things do eat into the last block, like travel and washing the dishes. But you still wind up with a healthy chunk of time every day, and _that_ is where Life happens. So, make of it what you will.

<comment><USER19> I know what you mean, but I find that so brutally sad. The best, most alert, most productive hours we have, we trade away for enough money to live. That third block of 8 you mention are the scraps left over. You're lucky if you have enough energy left to do anything worthwhile with those last 8 hours :(

<comment><USER18> We have _always_ traded our time for survival. That is _why_ the species is intelligent. If anything, celebrate that you only spend 40 hours a week on surviving. Celebrate that the alert, productive, valuable time you invest is slowly building even better futures.

Besides, work is demonstrably good for our mental health. I'd go insane if I didn't have responsibilities, just like a sheepdog will.

<comment><USER20> Current hunter-gatherers populations that can be observed in the world nowadays "work" only 20 hours a week. So 40, or even 50 for some, is way out of what would be "natural". Of course we now live longer, etc. I'm just countering the argument that 40 h is little to survive.

<comment><USER21> I would have to agree with you. When agriculture was invented, so was "work", that is, something that is separate from your real life. There's a reason agriculture didn't properly take off for hundreds of years, even though people knew that planting stuff makes it grow. Tending the earth was a shitty business, hard work that took most of the day without proper tools. Gathering stuff was a lot easier.

Work is in no way "natural". Having to eat is quite natural but for most of humanity's history you could just eat stuff from your immediate surroundings, with little time spent on gathering food. These days we spend 10 hours a day to a acquire the means to eat. I'd say people we're a lot smarter thousands of years ago.

<comment><USER22> I'd say people were a lot fewer thousands of years ago.

<comment><USER5> Yep, and that was mostly before some fool introduced agriculture, which led to 1000-fold increase in the human population... not to mention the introduction of diseases because we're not meant to digest agricultural products. Doh!

<comment><USER18> And what diseases are these? If you are thinking of the classic diseases of civilization, that isn't a problem with agricultural crops.

<comment><USER5> autoimmune diseases? grains?

<comment><USER18> Wow, that was specific.

<comment><USER5> so you think the advent of agriculture was a godsend to humanity?

<comment><USER18> I am not interested in playing this game.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> I read The Millionaire Fastlane recently, and it was fantastic. The author talks at length about the potential folly of saving your whole life in order to have fun at the end. Who knows how long you will be around or what your health will be like when you finally "retire"? The book has lots of great insights and strategies for the startup crowd. There's a Mixergy interview with the author available here: <http://mixergy.com/mj-demarco-limos- interview/>

Book link: [http://www.amazon.com/The-Millionaire-Fastlane-Wealth- Lifeti...](http://www.amazon.com/The-Millionaire-Fastlane-Wealth- Lifetime/dp/0984358102)

<comment><USER24> I completely agree with this. Once you get over the cheesy metaphor, the book really is packed with a ton of information on starting a business and actually achieving wealth at a young age. Also, the author (MJ Demarco) has made himself accessible for anyone that wants to contact him and ask questions.

I can't recommend this book enough.

</comment></comment><comment><USER25> Lately I've been thinking on traveling around the world for a year after college (so late this year). I haven't thought it out yet, but it seems possible to have enough savings for about two months of life (for contingency) and then freelancing remotely two or three days a week to support myself for the year.

At least I think it should be possible for a 25 year old to travel the world on 2k euro a month ...

Anyone ever done something like that?

<comment><USER8> I spent 7 months traveling last year, and think you could definitely pull something like this off. As far as maintaining your budget, the two biggest things you'd need to consider would be how frequently you travel and where you're traveling to.

A lot of people tend to sprint from place to place when traveling, which is both exhausting and expensive. If possible, I prefer to pick one spot and spend between 1 to 4 weeks there to really get a feel for it. This would be much more conducive to freelancing (staying put) and to your budget as transportation eats up funds quickly. It also lets you travel for longer periods of time as you don't tire nearly as quickly.

Secondly, as you already know, your location will determine if your 2K / month budget is realistic. Planning on spending lots of time in Zurich? You "might" be able to swing it at 2K Euro a month, but you'll have to be really, really careful. On the other hand, you can live like a king in South America on that every month. In Ecuador, I spent $10 dollars / day for a beachfront hotel room with two daily meals. It wasn't 5 star, but it was beautiful, authentic and amazingly affordable.

Best of luck! You can definitely make it happen...

</comment></comment><comment><USER26> I'd love to hear more information about how to pick a decent niche. There's always some vague mention of "research" but really, what is this - what's involved. Surely you need an idea of what to do BEFORE you research it?!

</comment><comment><USER27> Watch later: <http://bit.ly/LTsuUY>

</comment><comment><USER28> I took 18 months off work to follow my dreams. I tried to strike it rich, but I got experience instead. It was quite the roller coaster ride. In America, if you are not working a job and receiving a salary, you are seen as a leech, a useless appendage and worthless drain on society. Women don't want to date you, parents always asking when are you getting a job, you have to put up with the revulsion at parties when you have to admit you are not drawing a salary... And you have to take it easy on the expenses. But it was a great decision, and I'll do it again soon when I get another nest egg saved up. You gotta have nerves of steel and be able to tell the others to keep following your dreams of the deferred life plan, and call me in 2060 when that pans out.

If I don't spend the money I earn on myself, then the government will just take it away from me in the next 10 years through 10%-20% annual inflation as it tries to pay down umpteen trillion dollars in socialism. You can't plunder the value behind my bank account dollars if I don't have any to take! When the new currency comes down the pike, I'll work my butt off at age 65 and 75 to earn a 350 thousand dollar/year salary working food service.

<comment><USER29> _In America, if you are not working a job and receiving a salary, you are seen as a leech, a useless appendage and worthless drain on society. Women don't want to date you, parents always asking when are you getting a job, you have to put up with the revulsion at parties when you have to admit you are not drawing a salary..._

I think you might be hanging around the wrong people...

<comment><USER14> Agreed. I've never seen this kind of reaction from strangers or friends.

I also don't understand the tax reference. Yes, there are taxes on company income. There are not taxes on money sitting in the bank from the previous year. This is no different than a job.

If I earn $50k this year the gov takes say $20k and I have $30k left over. If I do absolutely nothing the next year the government doesn't take money from that $30k.

Similarly if I run a company and have gross income of $100k and expenses of $50k leaving $50k the in the bank the gov will take a percentage. The next year the gov will only tax NEW INCOME.

At least that's my understanding. I'm not a tax expert nor a lawyer and I can only go from my experience in California. Other places might be different.

<comment><USER30> He was referring to the inflation rate. What he was saying was (as far as I understood it), if you safe e.g. $10k now, in e.g. 10years you could not buy as much with it as you could at the time you earned the money. Therefore, you "lose" money (or rather purchasing power) by not using it.

<comment><USER31> And that's why no one should be sitting on their money...invest it! Keep enough for emergencies (6-12 months of rent/food is the general mantra) in your bank account and put the rest in your IRA/401k and/or non-tax advantaged index funds.</comment></comment></comment></comment></comment>


Pornhub is using machine learning to automatically tag its 5M videos - <AUTHOR> https://www.theverge.com/2017/10/11/16459646/pornhub-machine-learning-ai-video-tagging?utm_campaign=Revue%20newsletter&utm_medium=Newsletter&utm_source=Deep%20Learning%20Weekly <comment><USER2> About 9 months ago I wrote a search engine based on Torch, OpenCV, a custom NLP (thanks word2vec) and Elasticsearch to quickly find adult videos based on linguistic descriptions of graphical content rather than the textual description on a $20 bet. Eventually after demoing it to some people for fun, (to my surprise) I received an acquisition offer a few weeks ago from a certain product search site after it was accidentally discovered that the model could be used to find more relevant products based on their images. Needless to say I was surprised to see this on the front page of HN and wonder how long they've been working on this too!

<comment><USER3> Can you go into any more details on the product you built and the acquisition? It sounds like a pretty unique success story, I'm sure others would like to hear more about it too.

<comment><USER2> Yeah sure! I'll ask my advisor what I can and can't say and put it up on my blog and submit it to HN

</comment></comment></comment><comment> Hash-Basher Hotdog, not hotdog</comment>


Ask HN: Is it viable tu run a flight business using Skyscanner API as back end? - <AUTHOR> As the title says I want to know if nowadays competition allows for a flight booking landing page or app business to run on top of Skyscanners API <comment><USER2> It depends on how much money customers will pay you as opposed to the amount of money you will pay for skyscanner API access.

</comment><comment><USER3> Ask your customers!</comment>


Building a $200K/Month Personalized Video Platform - <AUTHOR> https://launchbasket.com/building-a-200k-month-personalized-video-platform-an-interview-with-the-ceo-founder-of-adgreetz-eric-frankel/ <comment><USER2> _How did you validate the idea?_

 _By signing 40+ Fortune 100 companies and increasing engagement and activation exponentially, we took our platform from idea to proven success._

Oh, okay. Just go sign up 40 of the largest companies in America. That's how you validate your idea, duh.

<comment><USER3> Please don't post shallow dismissals to Hacker News. This is in the site guidelines: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html).</comment></comment>


More Cracks Undermine the Citadel of TV Profits - <AUTHOR> http://www.nytimes.com/2013/04/15/business/media/more-cracks-in-televisions-business-model.html?pagewanted=all&_r=0

<comment><USER2> I have a DirecTv DVR and I can skip commercials two ways, by clicking the 30-second forward skip or the old Tivo-style 1, 2, 3, fast forward gears. How does the Dish Hopper differ? Does it automatically skip with no remote- clickery? Or fewer clicks?</comment>


Revealing video about conditions at FoxConn iPad factory - <AUTHOR> https://www.youtube.com/watch?v=V3YFGixp9Jw

<comment><USER2> Listen, just the damn clocking in and out process is inexcusable! [http://mikecanex.wordpress.com/2011/06/16/some-things- just-a...](http://mikecanex.wordpress.com/2011/06/16/some-things-just-arent- right/)

</comment><comment><AUTHOR> I don't want one until this is fixed.</comment>


Map: Where Americans Are Moving - <AUTHOR> http://www.forbes.com/2010/06/04/migration-moving-wealthy-interactive-counties-map.html

<comment><USER2> I can't see the map because this site still uses Flash.</comment>


Car Talk's Long Goodbye - <AUTHOR> https://jalopnik.com/car-talks-long-goodbye-1833728790 <comment><USER2> I grew up listening to Click and Clack every weekend. Their rapport and playful sense of humor was very comforting.

They got to make a cameo in a relevant Pixar film and I remember being so delighted to hear their voices the first time I saw it.

[https://www.youtube.com/watch?v=kYcEalfFbhY](https://www.youtube.com/watch?v=kYcEalfFbhY)</comment>


Many Tech Professionals Don't Think Their Pay Matches Their Value - <AUTHOR> https://insights.dice.com/2019/04/01/tech-pros-pay-doesnt-match-value/ <comment><USER2> I would assume most people woulf think that. The majority of people overestimate the value they provide.</comment>


The issue with Bitcoin in commerce - <AUTHOR> https://www.scipioerp.com/2018/12/04/the-issue-with-bitcoin-in-commerce/ <comment><USER2> Major problem i had with bitcoin is that no subscription management product supports it.

Neither servicebot, nor killbill (the plugin doesn't work anymore)

So how can i add bitcoin in SaaS products?

There is no Opensource Subscription management product which supports most of the gateways including bitcoin.

Customers request that they want to pay for our VPN SaaS through bitcoin but we didn't find anything like chargify, recurly, chargebee supporting bitcoin.

When accepting bitcoin is soo difficult, no idea how it will grow.

I don't know why SaaS developers don't gangup and roll out Opensource self hosted chargebee like subscription management product with ability to support any gateway.

Then we'll not have to reinvent the wheel again and again while creating any new SaaS products.

We can solve it once for all.

It seems everyone implements their own billing flow which is often difficult for user to understand as every product uses it's own billing flow.

Why not a unified flow?

Some developers simply add stripe and are done with it.

I think this is leaving 20% on the money on the table which comes through other payment methods like cryptos, wire transfer (manual), skrill, western union, yandexpay, webmoney which is very popular in Soviet block countries.

<comment><USER3> @pierre from Kill Bill here.

Back in the days, we tried very hard to have a good native integration with the blockchain for recurring payments (see the "Extension for BIP-0070 to support recurring payments" thread on the bitcoin-dev list: [https://lists.linuxfoundation.org/pipermail/bitcoin- dev/2014...](https://lists.linuxfoundation.org/pipermail/bitcoin- dev/2014-February/004295.html)). It didn't go anywhere unfortunately, so we added support for the major providers at the time (Bitpay, Coinbase, ... see [http://killbill.io/blog/coinbase-integration- experiment/](http://killbill.io/blog/coinbase-integration-experiment/)).

In the end though, as the interest for Bitcoin as a currency decreased, none of our users were interested to offer Bitcoin as a payment mechanism anymore. We've since put this experiment on the backburner. Happy to revisit whenever there is demand for it.

Regarding other non traditional payments methods (wire transfers, Boleto, etc.), this is absolutely supported and heavily used outside of NA.

</comment></comment><comment><USER4> Many commercial solutions for Bitcoin payments seem to focus on e-commerce, which I believe is addressing the wrong market. The most common medium for companies in developing countries actually needing Bitcoin are paper (or .pdf) invoices.

That being said, due to Bitcoin being rough around the edges, a workable paper invoice needs the following components:-

\- The invoice amount in source currency.

\- The trigger & window when payment is expected. (e.g. T+1 day after bill of lading presented)

\- The seller Bitcoin address, both in text and in QR-code form.

\- The reference exchange rate index; e.g. xe.com for VND:USD and Tradeblock XBX for USD:BTC

\- Reminder to provide TxID after payment.

\- No. of confirmations for finality.

A scenario I usually share is the export of frozen chickens to Iran. While food is supposedly exempted from US sanctions, banking friction make this trade a nightmare. I'm hoping some entrepreneurs are willing to use Bitcoins as a workaround and share their expirience.

<comment><USER5> Electronic invoices are one of the coolest features of lightning network. They handle the vast majority of these components with near-instant confirmation.

Acquiring sufficient inbound channels to receive large payments is still a significant problem though.

</comment></comment><comment><USER6> Interesting view on the matter. A bit harsh with the words, but it raises some valid new points.

<comment><USER7> The words do come off harsh but they come from a passionate but frustrated place. I think everything raised is a valid point that Bitcoin will eventually self-improve on; however, the fact that accounting with Bitcoin is a nightmare is also a function of regulations... which may be less likely to change.

I don't think that the added complexity of 2nd layer improvements will keep Bitcoin from being a standard in the business world.

</comment></comment><comment><USER8> The article covers most of what I was going to say.

A big realization of mine the past few weeks however, is that with the decreasing difficulty curve, the price of BTC will simply sink lower and lower.

[https://www.coinwarz.com/difficulty-charts/bitcoin- difficult...](https://www.coinwarz.com/difficulty-charts/bitcoin-difficulty- chart)

Bitcoin, and other cryptocoins, have dropped their difficulty by about 30% over the past few months, which means it is now 30% easier to mine BTC. Unfortunately, that sets a new price floor for the miners. Miners are now willing to sell BTC at 30% lower prices.

Assuming the previous average was ~6500 USD / BTC, the current price of ~3500 USD/BTC is still far lower than 30% difficulty. Suggesting that miners aren't quite making money yet from the difficulty drop.

<comment><USER9> >A big realization of mine the past few weeks however, is that with the decreasing difficulty curve, the price of BTC will simply sink lower and lower.

The good news is that if you posses this kind of insight into such an unpredictable stochastic process, then there are plenty of financial instruments that allow you to make significant profits on your big realisation.

<comment><USER8> I haven't made any "big" realization, because the logic I stated earlier doesn't necessarily imply an upwards or downwards direction.

Look: the inverse is ALSO true with bitcoin. When the price rises, more miners join, raising the difficulty, raising the price of bitcoin.

And as I stated earlier: when the price falls, miners leave, dropping the difficulty, dropping the price further.

If there was an actual trade I was going to make, it'd be that BTC will remain volatile. Except everyone already knows that fact, so there really isn't anything novel I'm proposing. I'm simply noting that the momentum trade is probably stronger in the BTC world than in typical financial instruments.

</comment></comment></comment><comment><USER10> The people behind bitcoin don't read history books. Too busy with disrupting the world and the Singularity I guess.

The State regulates and issues currency, always have always will.

<comment><USER9> >The State regulates and issues currency, _always have_ always will.

This is false, and "people behind Bitcoin" can teach you more about this: [https://nakamotoinstitute.org/shelling- out/](https://nakamotoinstitute.org/shelling-out/)

<comment><USER11> You need _something_ to regulate a currency. It's more than getting the math right-- it's building a package and community that people trust.

We know the following work to at least a modest degree:

* A functional state that can manufacture demand by requiring its use in trade and/or tax payments (fiat) * Basing the currency on a natural resource with widely recognized scarcity (gold and silver) * Using an asset with actual utility as a currency (salt, grain) * Putting the currency in the hands of perceived-trustworthy adults (countries who replace their own currency with the USD)

We know some things don't work:

* A free market regulating on reputation and news alone (see pre-Civil War "wildcat banking") * A state with nothing to lose (see the Weimar Republic) * Blatantly speculative ventures packaged as a currency (like the Russian MMM scandal)

We're still deciding if some things work:

* Mathematical algorithms * Hard-coded economic policy decisions * Smart contracts

There's also an interesting trust relationship in currency.

With conventional currencies, the trust usually begins with the issuing institution or materials, and that's leveraged into support for the currency. If you believe Ottawa won't be sucked into a black hole tomorrow, you'll trust a 10CAD note. If you expect gold to be desirable in 2025, you'll take a sovereign for your Christmas bonus.

In the crypto world, the currency itself is the most trustworthy component, and it's more necessary to build trust and credibility around its community instead. (Noun)coin may be technically bulletproof, but if it's surrounded by pump-and-dump traders, dark-web drug dealers, and people who blame the Federal Reserve for their kidney stones, Grandma won't touch it.</comment></comment></comment>


Weed-fs Fast Scalable distributed file storage system - <AUTHOR> http://code.google.com/p/weed-fs/

<comment><USER2> How is this better than Gluster[1] or MogileFS[2]? Haystack is pretty neat but it seems like it loses quite a bit when simplified.

[1]: <http://www.gluster.org/> [2]: <http://danga.com/mogilefs/>

<comment><AUTHOR> Frankly, I don't use other distributed file systems. All seems more complicated than necessary. Please correct me if anything here is wrong.

Compared to MogileFS: WeedFS has 2 components, directory server and storage nodes. MogileFS has 3 components, tracers, database, and storage nodes. One more layer means slower access, more complexity, more fail possibility.

Compared to GlusterFS: WeedFS is not POSIX compliant, and has simple implementation. GlusterFS is POSIX compliant, much more complex.</comment></comment>


Reverse Engineering Facebook.com's Homepage Design Optimizations - <AUTHOR> https://goodui.org/blog/reverse-engineering-facebook-coms-homepage-design-optimizations/ <comment><AUTHOR> Facebook is known to run countless online experiments – most of which are kept secret. Luckily for us we have the Internet Archive that allows us to pry into these possible design optimizations.</comment>


Almost 1/3 of Covid deaths in Jul and Aug 'primarily caused by other conditions' - just-juan-post https://www.yahoo.com/news/almost-one-third-covid-deaths-155426293.html <comment> just-juan-post > "At the beginning of the epidemic we only saw this in a few cases, but this > is increasing because a lot more people have now had Covid," he said. "The > true death rate is an important thing to know because it gives us an idea of > impact. Clearly Covid was having a massive impact in March and April, but we > need to know if the disease is now taking the same toll as before.

The logic behind lockdowns and lifestyle restrictions is that cases are rising and the more cases rise the more deaths will occur.

Now we are seeing two things:

The first is increased testing which will in turn lead to increased cases which will in turn justify the above.

The second is incorrect death numbers which also justify the above. I don't believe there is a sinister motive behind this but none the less it results in the continued justification of the restrictions of liberties.

These two put together create a self-perpetuating loop. They continue to re- enforce each other and allow governments, individuals, and groups to justify control in the name of the virus.</comment>


Ask HN: What's was the hardest part about starting to code? - <AUTHOR> I'm trying to understand what the hardest part is for people new to programming? Is is understanding what source code means? Syntax? Was it variables or functions? How to think more like a programmer? <comment><USER2> Being frustrated about something that no one can help you with.

Sometimes you get bugs that just are real headscratchers. This happens at the beginning of your career, at the end, and all the way through. There's some subtle thing keeping your code from working, even though you've gone through all the guides, stack overflow, and code review you can handle. Examples of issues like this are bugs in other people's code, library incompatibilities, timing issues, and generally trying to do anything.

You really need a lot of patience and a good problem solving attitude to solve these problems and keep going. Some people are lucky and look more productive because they don't run into these problems as often (though they do run into them). But you learn a lot more by solving these issues and understanding random parts of the stack.

To do this you really need to understand the entire system and use your tools. You need to understand things like how the OS might be doing things, how memory works, how threads work, how drivers work, etc.

If you just sit there and get frustrated, you can put in all the time in the world and not come up with the solution. You need an engineering/builder mentality right from the start, IMHO.

<comment><USER3> I recently did a certificate signing application in Golang. This was my first Golang application. The app would send CSR over to a server which would sign and respond back with certs. For over a week of debugging realised the server had bugs and was not signing the certificate properly. The bug was very subtle. The bug in third party libraries can be overwhelming for a beginner.

<comment><USER2> God you're bringing up my own personal PTSD. I also had a problem one time in production where my certificate code wouldn't work, and it was live, and everyone was freaking out.

Anything with security, encryption, passwords, certificates is extra hard, because a lot of times the error messages are just too cryptic (ha!) to get to the root cause. They are trying to not give away anything if possible, which can make even the most trivial errors hard to spot.

</comment></comment></comment><comment><USER4> I would argue that it's thinking programmatically and applying that mindset to a computer.

When humans interact with each other there is a lot of subtlety and nuance that is embedded in that communication. I can say something to you but you can infer that I really mean the opposite by the tone of my communication.

All that is lost with computers, when communicating with a computer you need to be especially precise in what you want the computer to do and when you want the computer to do it. I'd argue that most bugs are a result of improper communication between the programmer and the computer. Either the actual intent was not communicated properly or there is context lacking in the communication (server status, load, etc.) that is not being accounted for.

<comment><USER5> Exactly this. You have to be super literal when writing code. The computer cannot make inferences.

</comment></comment><comment><USER6> For me it was the vast number of things that you (eventually) need to know, many of which are assumed by those writing tutorials, such as

1\. how to use the command line 2\. how to `build from source` 3\. how to integrate different technologies (such as the MEAN stack) 4\. etc.

In addition to the above, certain parts of the web, like StackOverflow, can be uninviting to new people even though (in my experience) the vast majority of coders are inviting and encouraging both in person and online.

<comment><USER7> This is a huge issue when it comes to learning React, Angular, Vue, etc. It's never just 'here's how the framework works', it's all the little extras they bundle into the tutorials they make things more and more overwhelming. Webpack, Redux, Jest/Enzyme/another testing framework, etc. It often feels like you can't understand the tech stack your code is running on at all.

</comment></comment><comment><USER8> The assumptions that documentation makes about what you already know. Sometimes these are such tacit assumptions that they don't even give you anything to start googling about. Other times they're assumptions that you're already skilled in areas of computing that it can take months to years to understand properly.

<comment><AUTHOR> What would be some good examples that most books/tutorials make assumptions on? Thanks

<comment><USER8> It's going to be different for everyone, probably. For me, it was always stuff around networking, systems administration, DB administration, and compiling/linking.

A tiny example might be something that uses a symlink or, worse, is hard- linked from multiple places. A newbie might not even know that such things are possible; and if you don't point it out or use the terms, they can end up be horribly confused.

</comment></comment></comment><comment><USER9> Language inconsistencies within documentation.

Half of all documentation is meant to be read literally. "Follow these exact steps for this exact reason and this exact thing will happen."

Then the other half is written as if you're supposed to have some secret knowledge. "Just run this, do the usual thing people do, and then you'll probably end up with something like this."

Those halves aren't mutually exclusive by document, and it took me a long time to get a feel for what the documentation author's intended.

</comment><comment><USER10> I started being interested in coding when I was 7 (in 1990). Our family was quite poor, and no way we could afford even 286DX, and 386DX was well out of our reach. Somehow my father found a half-broken Electronika BK-0011M, an old USSR computer that ran a stripped-down version of BASIC. It didn't have a memory chip, and we couldn't find any in our small and remote Siberian town. No tape either. And the power supply was faulty, so every 3-4 hours it would reboot, leaving me with a clean slate. We found some "books" that were badly translated BASIC manuals retyped on a typing machine. I was mostly coding various graphical and physical simulations then, drawing procedural images and such. Because of reboots, I had to write it in parallel on the computer and a sheet of paper, so I could type it again if power cycled before I could run and briefly enjoy it. At 11, I was skilled enough to land a first "job" for my mom's research institute: analyzing and visualizing some agricultural data. It paid enough to get a 2nd hand 80486, and my "career" went upwards from there. This whole experience taught me a valuable lesson: ignore excuses, stop complaining, make do with what you have, and move forward.

These days my biggest gripe is probably the state of the JavaScript world. I'm mostly a Python person, but having to deal with JS leaves me frustrated more often than not: new frameworks, tools crop up every year, old tools stop working, breaking changes are introduced at such pace that someone not fully dedicated to frontend has a hard time keeping up. If any JS framework had the same stability, level of documentation, and clear roadmap as Django, the frontend world would be a much better place.

I think the most valuable skill for a "real world" programmer is the ability to find and read the documentation. Also, curiosity to do that even without an immediate need. Read it like sci-fi. The more you read, the more you have the right mindset, and those "building blocks" that would come later when you're thinking about implementation.

</comment><comment><USER11> I learned 20+ years ago and I feel like back then it was a lot easier to learn. You would get a VB or C++ book and immerse yourself in it. The book would be self-contained --it had all the information you needed to become decent at that topic. Once you were done, you moved to the next book.

If I was learning today, I think that I would be completely overwhelmed by the amount of information that we have at our disposal. It would be harder to dive into one thing while being bombarded by the other 300 things you are supposed to learn because everyone is talking about them.

When I mentor young programmers, I advise them to focus on a single language/framework for a really long time, until they achieve real proficiency, and actively filter out everything else.

<comment><USER12> I had the same experience. When I was learning 20+ years ago, I absorbed books. I would go cover to cover and get a vision of what was possible plus whatever details I retained. Then I could go back to the book for reference as needed when I went to do things.

The amount of information available now is overwhelming and, increasingly, not collected into paper books. As much has I love my e-reader for fiction, I don't absorb technical content on it as well.

However, I don't have a problem picking up new things now without a physical book. There are basic concepts of programming that don't have to be relearned for new languages and frameworks. I don't have to learn about loops again. I just need a quick example of the syntax in a new language.

Perhaps immersive experiences are best early on as you say.

<comment><USER13> I agree, it doesn't really stick until you're working with it and running into/solving issues. I work with a young guy who is interested in programming and he was asking about html/css, python, test driven development, git, and then docker... I mean, holy crap what a tangled mess. Anyway, I gave him a VBA book and a couple of ideas for projects to solve business problems and he's been having a wonderful time. I'll show him git next week maybe...

</comment></comment></comment><comment><USER14> Much like mathematics, programming is learned through action. As a fairly cautious individual, I wanted to understand everything I was about to type as input for the compiler. I would recommend the opposite approach: Copy code examples line by line, and start modifying them with simple changes such as variable names, output strings, etc.

<comment><AUTHOR> I've been coding for many years and I agree, doing is the best way. I also encourage this method as well.

I'm looking to craft a tutorial for the /absolute/ beginner. That's why I asked this question.

Thanks!

</comment></comment><comment><USER15> To me, it's understanding how to think precisely enough about what you are trying to do.

Syntax comes pretty quickly, but it's the precision that is hard. So, for example, even writing a simple loop. Are you going to start at zero? Are you going to start at one? Should your loop condition be at the top of the loop, or at the bottom? Do you know what each of those implies about how many times the body of the loop will be executed? Do you check the termination condition with less than, equal to, or both? Are you sure the loop will terminate? Really sure? Do you know at what point any variables declared inside the loop are initialized, or re-initialized? Are you adjusting the loop variable inside the loop body in a way that is going to mess with the loop termination?

Programmers think of things like loop pre-conditions, post-conditions, and loop invariants to help them keep track of what they are doing, but beginners don't usually have tools like this that help them run the code in their heads while writing it to help ensure it will do what they intended.

As an example of just how easy this is to screw up, consider examples of unintended infinite loops:

[https://en.wikipedia.org/wiki/Infinite_loop#Examples_of_unin...](https://en.wikipedia.org/wiki/Infinite_loop#Examples_of_unintentional_infinite_loops)

</comment><comment><USER16> Dev environments and various software conflicts, obviously. ie. You're a noob dev and you need python 2.x.x but your mac os install has a different version and you're too noob to understand what's happening and the reinstall fails because xyz. Huge barrier to noobs. Programming is really quite trivial, fighting through external bugs like this is not.

</comment><comment><USER17> Getting to "hello world" is often the biggest hurdle.

Anyone here who ever taught a course to beginners where each person brought their own computer? I bet you've got stories about the hundred million ways that setting up a dev environment can go wrong. And it's even worse if that beginner doesn't even have an actual teacher guiding them.

</comment><comment><USER18> The hardest part is the constant jumping around between tech just to get something simple working, it's overwhelming. First you need to learn HTML and CSS...easy, oh wait you need to learn Bootstrap too, fml. Then Javascript...no JQuery...Coffeescript, Typescript? Don't forget React, it's mandatory for web development now. Back-end, well you need to learn NodeJS. Actually, all that stuff is a waste of time - just learn Ruby on Rails.

There is too much stuff coming at you all at once - it's like trying to drink from a fire hose.

</comment><comment><USER7> Well, understanding what source code means and how it works is definitely a big part of it. Because for many people, they learn via looking at other people's work, and where programming is concerned, that often feels overwhelming.

Which probably comes down to one thing really:

When you look at an existing codebase, you have no idea about the logic behind any of its design decisions. You think it's all a confusing mess or that a smarter person would 'just get it', without realising that most of the complexity comes down to:

1\. Bug fixes that cropped up along the way. Usually extreme edge cases.

2\. Code being refactored piece by piece, since throwing out the whole codebase and starting over is often not economically viable.

3\. Backwards compatibility in general

4\. Multiple people working on it, often without much of a style guide (or a non enforced one)

5\. Or one or more people having no idea what they're doing, getting help from other people who have no idea what they're doing, and using code from donkeys years ago also by people who may or may not have known what they were doing that sort of fixes the issue if you hammer at it a bit.

There's often a huge jump between 'what the average tutorial teaches you' and the source for a major project/commercial product, and for some guy going from say, learning basic PHP to reading the Magento source code, it can just feel completely overwhelming.

Relatedly, the whole jump from 'intermediate' to 'expert' is probably one of the hardest parts too. As people said before, there are loads of tutorials for absolute beginners, a fair few for experts, and a lot less for people in between.

</comment><comment><USER19> The hardest part could be slowing down, really reading, really practicing, really submitting yourself to the learning process. Anyone can be a script kiddie. Not everyone can say they know a language inside and out. Practice makes perfect. You won't learn to code in a day, week, month, year.

<comment> loa-in-backup Don't confuse learning corner cases and quirks with superior learning ability

</comment></comment><comment><USER20> Chilling out and realizing it's all just a bunch of pipes being duck taped together (web dev)

</comment><comment><USER21> The code itself wasn't the hardest part, it was understanding all of the things that your code is ultimately talking to: databases, web browsers, HTTP, etc. Each of these has both a vast encyclopedic bundle of stuff to get fluent with and also an abstraction that you need to "grok."

These auxiliary abstractions were the hardest for me. Where "is" my the data in my database? Isn't it all files at the end of the day? Why can't I just use files? What does "stateless" mean in the context of HTTP, when clearly something is remembered when I log in? Circa 2009, why not do everything in JavaScript? (Ha!)

</comment><comment><USER22> Being a computer power user in order to be able to effectively set environments.

</comment><comment><USER23> The hardest part was that I didn't have the hardware documentation (6502, POKEY, ANTIC, GTIA...) and my mom wouldn't buy me the assembler cartridge. I got delayed 6 to 8 years because of this. I finally resolved the problem via Peter Norton's assembly book and MS-DOS's DEBUG.COM when I got a hand-me-down with a V20 CPU.

The second hardest part was that edlin is a dreadful editor.

The programming comes naturally if you have documentation and tools.

</comment><comment><USER24> Listed in no particular order:

* Learning tools (they get in the way of solving the problem at the beginning imo)

* Incomplete/inaccurate documentation

* Not knowing what things are possible (both in code a la standard libraries or language features and working with tools like debuggers)

* Not knowing simple best practices until you're bit by something and find them out through a slow, painful discovery process

</comment><comment><USER25> Probably when you just finished your first book, whatever that is, and realize you just barely scratched the surface.

</comment><comment><USER26> Stopping. Remembering to eat. Having to stop to sleep. But eventually you get used to the interruptions.

</comment><comment><USER13> Personally, I feel it takes a certain kind of person to want to program. I never really understood this push to have everyone learn to code... maybe if just to get them to stop using their computers like a type writer and realize they're capable of more.

</comment><comment><USER27> The hardest part is learning how to architect large projects.

The difference between good and great is being able to refactor when you hit a wall, and avoiding the wall entirely by designing things well up front.

</comment><comment><USER28> Deciding which stack you want to target.

</comment><comment><USER29> I am not a professional programmer, I'm an amateur who can code python and JavaScript for small tasks. It took me many years, but finally things got better when I understood that programming is the skill of decomposing problems in small, manageable understandable taks. Once I got that, it became much easier to write my solution in my language of choice. Syntax is easy to Google for.

TL/DR : for me programming is a way of thinking with a problem solving attitude, making sure to simplify the problem as much as possible.</comment>


Give me your tired, your poor...doctoral candidates - <AUTHOR> http://www.economist.com/blogs/freeexchange/2008/07/give_me_your_tired_your_poordo.cfm

<comment><USER2> When I read this, all I could think was: _"we need fewer graduate students"_.

Want to know why American students don't enter PhD programs? Ask one: to get a PhD in this country, you must forgo five or more years of income and savings, live like a pauper, and lose many opportunities for early career development. Meanwhile, you get to watch your undergraduate classmates buy cars and houses, take authority roles in their companies, and accumulate significant retirement savings.

And what do you get in exchange? The obligation to work long hours for 3-5 _more_ years, in a $40k/year post-doc (usually in an expensive city), with the long-shot possibility of finding a professorship _somewhere_ (hopefully, somewhere near your spouse!) There, you'll work your ass off for _six more_ years, in the hopes of not being _permanently fired_ from the only job that you're qualified to do. And as an extra-special bonus, your job security rests largely on your ability to beg for money from the government...here's hoping that the NIH/NSF/DOE/DOJ grant budgets don't decline!

Is it _really_ any wonder that Americans don't want these gigs? The economics of the professorship don't make sense for people from an affluent society. If you want more American students to take an interest in academia, you've got to stop flooding the market with cheap labor.

<comment><USER3> "Is it really any wonder that Americans don't want these gigs? The economics of the professorship don't make sense for people from an affluent society. If you want more American students to take an interest in academia, you've got to stop flooding the market with cheap labor."

I agree with you the problem is demand and supply mismatching. But the current system is built on the demand of cold war. After cold war, most of the demand disappear.

It is another good lesson of governments have absolutely power to distort demand and supply of market.

So one way to solve the problem is to increase demands for graduate students. But I think so far no one has idea how to do that. The money and time lost in graduate school is almost the same as running start ups. But the payout for startup maybe better than graduate school.

</comment></comment><comment><USER4> So of the increasingly fragmented population, one Chinese University has slightly more phD candidates than any other university.

Can't say that it really surprises me. What does surprise me is that the economist picked this up; generally their more 'internationally neutral' than blatantly pro-US.

<comment><USER3> Well, if U.S. has an advantage in an overlooked area by general public and someone in the Economist points out, then the author is "blatantly pro-US"?

At the other hand. A better question to ask to anyone from Europe is: if there are good universities in England, France and Germany, then why students from these 2 top universities in China are not going there?

Is it because language barrier? Is it the economic prospect of Europe not viewed as good as U.S.? Are immigration regulations more restricted in Europe when they finish school and decide to stay instead of going back to China? Or do universities in those countries not accept more foreign students than local students? Do in general those countries have problems with immigrants and those student feel unwanted or discriminated? Or do universities in those countries forge good relationships with the two universities in China?

U.S. is not perfect in every aspect. But I don't like the idea when anyone points out its advantages then he/she should be labeled as "blatantly pro-US".

<comment><USER5> I used to live in Sweden (I'm American). Sweden is supposedly one of the most immigrant-friendly nations in Europe and even they are getting worn down by the non-integrated immigrant population (1 million out of 9 million total population). Swedes speak English exceptionally well which is the only foreign language most foreigners know (no one comes in knowing Swedish). The extra layer of language barrier is an issue (for Swedes and immigrants).

For a highly trained (grad school+) immigrant, being limited to one small nation was a big limitation (this was before the common EU passport).

As far as preparation for world business, I can't see why any Chinese student would want to learn anything but English.

No idea how immigration status changes post-graduation. Universities were free (or if you prefer, included in everyone's taxes).</comment></comment></comment>


123-reg DDOS attack - 3 million domains unavailable - <AUTHOR> http://www.123-reg.co.uk/support/system-status/

<comment><USER2> 123-reg technical support is busy migrating their DNS servers to new IP addresses, contrary to what they are saying about "filtering out the baddies" or "redirecting bad traffic and letting through the good traffic". This is a catastrophic attack that is extremely widespread - 123-reg host over 3 million domains in their DNS and therefore they're desperately trying to soften the blow to the public right now. Don't believe the hype! When there's no ETA in site, you know it's serious.</comment>