UK unveils plans for huge lagoon power plants stretching miles into the sea - <AUTHOR> http://www.independent.co.uk/news/uk/home-news/uk-unveils-huge-lagoon-power-plants-stretching-miles-into-the-sea-10079730.html <comment><USER2> UK unveils _plans to build_ tidal power plants. We've been planning things in the Severn Estuary my entire life and so far not lit a single lightbulb from it. As all the comments on the BBC story say: get on with it, build the thing, and tell us when it's done.

(There are a few tidal-power-through-undersea-turbines schemes in operation off Scotland, I believe)

<comment><USER3> There is a scheme just starting to be built in the Pentland Firth between Caithness and Orkney:

[http://www.meygen.com/](http://www.meygen.com/)

I believe the first commercial tidal scheme of this type (effectively underwater windmills rather than a barrage) was in Northern Ireland:

[http://www.marineturbines.com/3/news/article/7/seagen__the_w...](http://www.marineturbines.com/3/news/article/7/seagen__the_world_s_first_commercial_scale_tidal_energy_turbine_deployed_in_northern_ireland)

<comment><USER4> There's been one in Brittany since the mid-sixties: [http://en.wikipedia.org/wiki/Rance_Tidal_Power_Station](http://en.wikipedia.org/wiki/Rance_Tidal_Power_Station)

It works alright, but unless you have a very luckily shaped coastline, it doesn't scale all that well. It's also subject to silting in the long run, which isn't great for the yield, or the local eco-system.

<comment><USER3> That's a barrage - like the scheme discussed in the original article. The NI and Pendland Firth schemes don't rely on a barrage but on the very strong tidal streams naturally found in those areas.

<comment><USER4> Yes I know, I was responding to the OP mostly, since you'd already provided a reference to underwater turbine schemes.

</comment></comment></comment></comment></comment><comment><USER5> That's _very_ little head. Does anybody have the engineering data on these projects? Have they built a smaller installation to prove the concept?

Head height is a major factor in hydro power installations.

<comment><USER6> There are some technical details about flow rates and head height in section 4.8 (p. 85/88) of this document:

[http://tidallagoon.opendebate.co.uk/files/TidalLagoon/DCO_Ap...](http://tidallagoon.opendebate.co.uk/files/TidalLagoon/DCO_Application/6.2_4.PDF)

One other thing I noticed upon briefly skimming is they're considering installing turbines which can also be used as pumps. I suppose in principle, at the cycle of the tide when the head is low and the plant isn't producing power, you could use the same facility as pumped storage.

There's also a rather florid promotional video here, if anyone's interested:

[https://www.youtube.com/watch?v=mXEmHDQtXnw](https://www.youtube.com/watch?v=mXEmHDQtXnw)

</comment></comment><comment><USER7> What I don't understand about the idea is this. This stretch of water has one of the highest tidal ranges in the world, but this presumably is a matter of resonance, i.e the Bristol Channel and Severn Estuary just happen to be shaped in such a way that their natural resonant frequency is a close match with the driving force's twelve and a half hour odd period. But surely this means that the extra energy in the water, over and above places with lesser tides, is not something that can be tapped again and again each tide at any significant scale, it's a one time only bonus in its potential and kinetic energy which is gone after you extract its power through dampening. The ultimate non renewable energy, gone in half a day!

Anyway, I'll be giving serious consideration to dragging my family out early to see a five star Severn Bore the weekend after next, it could be the last one ever.

<comment><USER8> That would be true if it were a freely oscillating system, but since the tide is 'powered' by the moon I'd think the tidal cycle should keep going until the moon stops orbiting. (though I'm not 100% sure I understand how tides work)

<comment><USER7> I don't see that. Surely if you have two swings hanging from a swaying tree and one of them is swinging wildly because it's the right length to resonate with the moving branch above, you can't say hey this x kg tyre is rising and falling y cm every s seconds, lets harness that. It only has the same renewable energy as the other swing, plus a one time build up of energy that its taken to get it up that extra height.

<comment><USER9> But the moon is providing an input. So, for your swing example, there is someone on one side giving it a push every pass.

<comment><USER7> No one's pushing my swings! I've already accounted for the input, it's the great mass of the swaying tree (and in turn the wind etc.), and like the tides' moon it's the same input to both swings, only one's them is swinging like the clappers whilst the other barely moves. Even though the former clearly has more energy at a given point in time most of that is a one off build up, and there can't be any more repeatedly extractable energy in the big swinger than the small.

</comment></comment></comment></comment></comment><comment><USER10> FYI tidal power plants are slowing down Earth's rotation. [http://physics.stackexchange.com/questions/6400/are-tidal- po...](http://physics.stackexchange.com/questions/6400/are-tidal-power-plants- slowing-down-earths-rotation)

<comment> bjelkeman-again The movement of the oceans, and flexing in the earth crust, also slows down earth's rotation. But we are talking milliseconds per century. [1] So, tidal power plants are going to have a very small effect overall.

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

</comment></comment><comment><USER11> This article reads like it was written by an 11 year old. Or someone who does not speak English natively.

Either that or, knowing how these things have been rolling aroud the planning and NIMBY protest camps for years, perhaps the author gave it precisely the right amount of effort and attention to detail it deserved.

</comment><comment><USER12> "Tidal Lagoon Swansea Bay is thought to be seeking a guaranteed subsidised price of about £168 for every megawatt-hour (MWh) of electricity it generates over a 35-year period – almost four times the current market price of power." [http://www.telegraph.co.uk/finance/newsbysector/energy/11426...](http://www.telegraph.co.uk/finance/newsbysector/energy/11426748/Swansea- Bay-tidal-lagoon-appalling-value-for-money-says-Citizens-Advice.html)

<comment><USER13> I'd assume that 35 years of inflation needs to be factored in as well, at 2% that would half subsidy by that point. Also, there is an inherent cost to green power, if it was cheap power companies would flock to build them of their own accord, but of course they dont, so the government has to subside them.

<comment><USER12> If something has negative externalities, the solution is to tax the externality. E.g. a carbon tax will raise the price of fossil-fuel energy, which will make some green energy projects worth building. That's it -- job done.

Subsidising "good" projects is instead of taxing bad projects is the wrong way to do it, because the government has to evaluate every project proposal to figure out which projects should be subsidised. Whereas a carbon tax does it for you; all the government needs to figure out is the cost of carbon, and the market takes care of the rest.

</comment></comment></comment><comment><USER14> How are they going to stop the lagoon from silting up and becoming shallower, short of dredging it regularly?

<comment><USER15> Multiple pools. When the silted one is empty at low tide, use the water from the other pools to wash the silt out.</comment></comment>


TREE vs. Graham's Number [video] - <AUTHOR> https://www.numberphile.com/videos/tree-v-grahams-number <comment><USER2> I really need a video on transfinite cardinals and ordinals beyond Aleph_0 and Epsilon_0. The VSauce video [1] on the topic only made me more curious with an elusive tree diagram displaying a few, and PBS Infinite Series [2] [3] just barely touched it. The mention of the Veblen hierarchies really piqued my interest, but much of what I've found on them has been a bit too dense for me.

1\. [https://www.youtube.com/watch?v=SrU9YDoXE88](https://www.youtube.com/watch?v=SrU9YDoXE88)

2\. [https://www.youtube.com/watch?v=uWwUpEY4c8o](https://www.youtube.com/watch?v=uWwUpEY4c8o)

3\. [https://www.youtube.com/watch?v=oBOZ2WroiVY](https://www.youtube.com/watch?v=oBOZ2WroiVY)

<comment><USER3> [https://www.youtube.com/watch?v=QXliQvd1vW0&list=PL3A50BB9C3...](https://www.youtube.com/watch?v=QXliQvd1vW0&list=PL3A50BB9C34AB36B3)

enjoy!

<comment><USER4> [https://www.youtube.com/watch?v=vq2BxAJZ4Tc](https://www.youtube.com/watch?v=vq2BxAJZ4Tc) is also a very good series and gets into infinite collapsing ordinals towards the end.

</comment></comment></comment><comment><USER5> There's lots of things about Graham's number, but because I love the style I thought I'd add in here Wait But Whys "from 1 to Graham's number":

[https://waitbutwhy.com/2014/11/from-1-to-1000000.html](https://waitbutwhy.com/2014/11/from-1-to-1000000.html)

[https://waitbutwhy.com/2014/11/1000000-grahams- number.html](https://waitbutwhy.com/2014/11/1000000-grahams-number.html)

</comment><comment> nils-m-holm I love numberphile, but I cannot watch a single episode, because all the zooming and panning while someone writes on a sheet of paper makes me motion sick in no time.

WHY? How does this improve the quality of the video?

<comment><USER6> It's action-math. Not meant for teaching, but for showcasing math to the general public. The general public wants action cams and cute animations.

<comment><USER7> Numberphile isn't that great if you're already interested in math. They talk a lot about math words, but they hardly ever do any math. 3Blue1Brown is where the good math is.

<comment><USER8> It isn't a great way to learn the details, but it's a great way to learn about topics you might not have come across.

This video is about the hierarchy of fast-growing functions indexed by ordinals, and it includes enough details for a competent mathematician to be able to work out the rigorous general definition. For someone unfamiliar with the topic, it's an enjoyable and low-effort way to learn enough about it to recognise whether it's interesting enough to learn about properly.

There are several examples of cutting-edge mathematical work having been directly inspired by numberphile videos, most recently the work of Andrew Booker and Drew Sutherland on expressing integers as sums of three cubes.

3blue1brown concentrates on giving clear, elegant, rigorous explanations of established subjects. So perhaps ironically, despite being typically more rigorous, I don't know any examples of it inspiring new mathematical research.

<comment><USER9> > There are several examples of cutting-edge mathematical work having been > directly inspired by numberphile videos, most recently the work of Andrew > Booker and Drew Sutherland on expressing integers as sums of three cubes.

I don't know if this is why you made this comment or not, but Brady Haran (creator of Numberphile) gave a talk on this exact topic a week ago today at the MSRI in Berkeley.

<comment><USER8> Oh, interesting! I knew Brady Haran had given a talk at MSRI, but I didn't know what the talk was about. Was it filmed?

<comment><USER9> I don't know if it was filmed. I was there but I didn't record it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Let t(n, i) be a function where n is the number of recursive TREE calls and i is an integer.

So t(1,3) = TREE(3)

t(2,3) = TREE(TREE(3))

etc.

Now you can do:

t(TREE(3), 3)

or

t(t(t(t(t(t(t(t(t(TREE(3),3),3),3),3...)

<comment><USER11> The way TREE grows it's very much possible that all these are inferior to simply f(n) = TREE(n+1).

<comment><USER2> Unlikely since we are piping the output of TREE back into TREE, which is much larger than n+1.

</comment></comment></comment><comment><USER12> [https://oeis.org/A028444](https://oeis.org/A028444) would grow faster right?

does it make sense to compare the growth rates of non-computable functions?

</comment><comment><USER13> TREE(Graham's Number) is just comically inefficient Googology. It makes me wince just to look at. Graham's Number isn't even on the same plane of existence as TREE. You'd just use TREE(TREE(3)) if you wanted to move up in the world. Somebody needs to tell them about the fast-growing hierarchy and how Graham's Number lives around \omega+1 while TREE hangs out with the small Veblen ordinal.

<comment><USER14> Maybe I'm missing something obvious here, but that's what the video is about?

<comment><USER4> The video is a basic introduction to the fast-growing hierarchy. They do state where Graham's Number sits in the hierarchy, but the explanation doesn't go as far as to say where TREE sits.

<comment><USER15> It does actually. It says it grows faster than anything in the hierarchy.

<comment><USER16> Faster than anything in the Wainer hierarchy (which ends at $f_{\epsilon_{0}}(n)$. But it's reasonably easy to define a fast-growing hierarchy that uses the Veblen hierarchy of ordinals for the subscripts. Then TREE is $f_{svo}(n)$ where $svo$ is the limit of the finitary veblen sequence as the number of elements goes to $\omega$ (aka the small veblen ordinal).</comment></comment></comment></comment></comment>


How I got to #12 (and still climbing) in the iTunes App Store - <AUTHOR> I wanted to share my experiences today, as a beacon of hope to my fellow indie game devs, as I sit here watching an app that I created rise in the iTunes App Store.
The name of the app is SimplePhysics, and it became available in the app store last Thursday (3/24/2011). I have been preparing for this moment for a few months now, starting back in December of 2010. I implemented a dialog popup in my other games that asked the user if they'd like me to e-mail them when I released a new game. Since that time, amazingly, I have been able to collect over 30,000 e-mails. I created an e-mail campaign at Campaign Monitor, and loaded in my list. I created an extremely basic e-mail, and got everything ready to pull the trigger. Here's the e-mail:

   Hello!

   This is Andrew Garrison, the creator of BridgeBasher.
   I am excited to let you know that BridgeBasher's sequel,
   SimplePhysics, is now available in the App Store! If
   you like BridgeBasher, then you will love SimplePhysics.
   You can find out more about it here:
   http://itunes.apple.com/us/app/simplephysics/id408233979?mt=8

   Thanks, and I hope you enjoy it!
   -Andrew

   ps - If you do not wish to receive e-mails about my game
   releases in the future, you can unsubscribe here.
 At the same time, as I was setting up this e-mail campaign, I tweaked my other apps, and I removed the e-mail signup dialog and replaced it with a dialog that linked directly to my new app. I submitted the update to Apple, and set it to "Hold for Developer Release." Now I had all of my ducks in a row. When I release these updates, and my existing user base loads up the new version, they will immediately be hit with a dialog telling them about my new game, along with a link directly to the iTunes page where they can buy it.
SimplePhysics went live last Thursday and I sat on it for a few days to make sure it propagated to all app stores worldwide. Last night, I pulled the trigger. I sent the e-mail and I logged into iTunesConnect and released all of my app updates. After less than 12 hours, SimplePhysics has risen to #12 overall in the iTunes App Store. I have complete refresh-syndrome. I am constantly holding my iPhone, checking the charts every other minute. I watched in complete amazement as SimplePhysics rose to #1 in Games->Simulation, ousting NBA Elite, a game made by fucking Electrnoic Arts. It is almost euphoric to see a game that I made sitting on top of a game made by EA.
I do realize that this rise on the charts is fleeting. I realize that once all of my e-mails are opened, and once all of my users have updated, that the game will start quickly falling from the charts. Nonetheless, it is still extremely exciting, and I hope it will encourage my fellow indie game devs. The app store is such a great opportunity for indie game development. It is the only place that I know of where a little guy like me can outsell a major game company.
If you want to see the app, here's the product page for it: http://itunes.apple.com/us/app/simplephysics/id408233979?mt=8
ps - I'm not asking you to buy my app, but you know, I can't say I'd be offended if you did......I mean, I did just give you all of my secrets ;) <comment><USER2> Andrew, congratulations on great launch! One of the things we are doing at allify.com is to allow you to 'bank' cross promotions credits. So if you plan to launch a new game, you can add an cross promotion unit and promote other apps. When you are then ready to launch your new app we will then give you back the impressions that you gave to the network pre-launch. Its a bit different from what you are doing - but same type of concept. All in all, great to hear tips like that - more power to independent app makers :) Best, henrik at allify

</comment><comment><USER3> How many copies have you sold of your other games? (Looking for the other number that goes with 30k emails + ?k app updates = #12 in appstore)

<comment><AUTHOR> Yes, BridgeBasher gave me a good seed to start with around 1.2 million total downloads, most of which were obtained when it was free.

</comment></comment><comment><USER4> What are your thoughts on pricing the game at $.99? Did much thinking go into that, or is $.99 just the de facto price for any successful game?

<comment><AUTHOR> I think that, sadly, $0.99 is the expected price of iPhone users, and it is integral in climbing the charts, unless you have an extremely sophisticated or high quality game.

</comment></comment><comment><USER5> Can you disclose some revenue numbers?

</comment><comment><USER6> Just wondering... is it against Apple's TOS to have locked levels you can only unlock if a user signs up to your newsletter?

Because if it's not, that would be a great way to build an email subscriber list.

<comment><USER7> If it's not already, and you start doing it successfully, it will either become against their TOS, or have a 30% tax applied to any benefit you derive from it.

<comment><USER6> Lol, and force all app developers to use their email newsletter software...

</comment></comment></comment><comment><USER8> How did u collect the emails? just a popup in the middle of the game asking for the user email? who would agree to that?

(i admire your geniousity)

<comment><AUTHOR> Yes, just a popup that asked if they wanted to be notified when I released my new game.

<comment><USER9> Didn't Campaign Monitor require your users to be confirmed opt-in or when you receive their email address you initiate a confirmation email to them ?

</comment></comment></comment><comment><USER10> Andrew -- do you have an email we can ping you at? I have been wanting to try iphone development, specifically with the box2d physics engine, would love to chat.

<comment><AUTHOR> Sure, you can reach me at iphone at andrewgarrison dot com.

<comment><AUTHOR> I really wish I hadn't put my e-mail on this page...I'm already getting spam now. Can anyone delete my previous comment with my e-mail?

</comment></comment></comment><comment><USER11> Congratulations, sounds like you got the success you deserved for putting in such careful forethought.

Thanks a million for sharing this marketing technique!

</comment><comment><USER12> I don't suppose you're planning on bringing this to Android any time soon? It looks like a game I'd be interested in.

Congratulations on your success!

<comment><AUTHOR> I would love to port it to Android! Just don't have the time at the moment.

</comment></comment><comment><USER13> Great idea and thanks for sharing, Andrew! Would you be able to share your email open and click through rates?

</comment><comment><USER14> I want more secrets on iphone development - do you have a blog? I applaud your effort and success!

<comment><AUTHOR> Thanks! I do have a blog, though it is geared more towards my users than developers: <http://andrewgarrison.com>

</comment></comment><comment><USER15> Congrats on your success! It's an incredible rush. Be careful, the feeling is addictive ;)

</comment><comment><USER16> Nice job. I saw the app zooming up the charts last night and was trying to figure out what was causing it to rise so fast.</comment>


Reflection in C++ - <AUTHOR> http://donw.io/post/reflection-cpp-1/ <comment><USER2> We already do have it, except nobody bothered to package it: DWARF4 debugging information. It's nicely structured, well-documented, easily accessed throught libdwarf; the only remaining thing to do is to package it nicely and submit to boost. It contains complete information about data layout, etc. (otherwise the debugger wouldn't know how to display your data and locate variables).

The downside is that shipping DWARF debugging info alongside of your program is not far from delivering the source code too. I guess it can be post- processed so that it only contains relevant data structures and nothing more.

Similarly, there's a COM component to access PDBs on Windows.

<comment><USER3> This guy has packaged it: [https://github.com/stephenrkell/liballocs/](https://github.com/stephenrkell/liballocs/)

</comment></comment><comment><USER4> This seems like a bad idea. It looks like the author is attempting to reinvent java in C (there is no c++ here) because he really likes c# or java.

Most applications use an embedded interpreter to do runtime inspection and modification. The tools for the job is usually lua/python. Creating your own type system seems like a bad idea.

</comment><comment><USER5> "is a bad idea".

<comment><AUTHOR> In game development it tends to help solve some common problems.

Games need a lot of iteration, C++ compile times can easily get very long i.e. minutes. You might object that compile times should never be long: "oh this never happens if you do X or Y" but in reality every C++ gamedev shop I've worked at has had long compiles times. Templates and other things of that nature tend to bloat it.

Anyway so reflection helps with:

      - Hot-reloading code
      - Tweaking reflected values at runtime
      - Exposing functions for scripting languages (without having to write lots of repetitive boiler plate code)
      - Saving / Loading

(And networking but that's not something I've experimented with personally!) Depending on how it's implemented, at least for games, it's worth it.

<comment><USER6> The first two reasons are development/debugging concerns, and the last two are somewhat hacky. Could you elaborate how reflection is the optimal solution for your last two examples?

<comment><USER7> I would say the optimal solution for the last 2 depends on the total requirements - aka there is no general optimal solution.

Both concerns are about having the need for boilerplate code (either for bindings or for serialization), which is quite repetitive to write and depends on the input types.

Now the possible solutions are from my perspective:

\- Write that code by hand, which is quite tedious and error-prone.

\- Use some code generator tooling (like protoc) for it. However that might require you to define your types in an IDL before going to code, which leads to an extra step in the development and build process. In my experience this works really well for big teams (because you also have an extra interface documentation against which all parties can work), but it might not be optimal for small teams and rapid iterations.

\- Generate the code automatically from the type definitions in your program. Either during compile-time (which would require good compiler support for extracting the relevant details and using them for code generation) or during runtime by reflection. With reflection you are most likely getting the slowest code. But iteration times should be the fastest (no need to change IDL files, run codegen tools, etc.)

</comment></comment></comment></comment><comment><USER8> For a statically-compiled languages, I don't see why people would prefer runtime reflection to compile-time code generation. You can reduce code duplication, but at the expense of runtime speed. But if that was the use case, I'm not certain why you would be using C++ to begin with.

</comment><comment><USER9> If you search for "reflection" in the list of papers at [http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2016/](http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2016/) there are some proposals to add _compile-time_ (as opposed to the _run-time_ reflection described in the article) reflection/introspection to C++.

Of course compile-time reflection can be used to generate the code/data structures necessary for run-time reflection.

P.S: The blog post is from 2011

</comment><comment><USER10> Can someone please clarify:

"What is Reflection?

A reflection API is a very basic, powerful tool that every game studio should have at their disposal. It normally contains some or all of the following features: ..."

This doesn't actually tell me what reflection is. Telling me what it normally contains or that its something that every game studio should have does not explain the concept. Could someone someone please explain what exactly reflection is as it relates to a language feature?

<comment><USER11> Reflection is the concept of having a program have knowledge about it's own structure. Kinda like having your code look into a mirror.

A really basic example of this is having you code get a list of all the names of fields of a class. This would be very useful if you want to create a generic object serializer.

In the past I used this to create a framework that would generate a UI for you based on class definitions.

Reflection can also include being able to modify your own code structure during run time.

<comment><USER10> Great explanation, thanks.

</comment></comment></comment><comment><USER12> To my knowledge, only code paths that are used are generated through templates. For example if you don't use std::list<int>, you won't get std::list<int> generated. So why does the author say:

>>Template meta-programming approaches suffer from increased compile-times and along with code generation, result in larger than necessary executables.

?

<comment><USER13> There are two reasons:

* If you use std::vector<int>, std::vector<double> and std::vector<string> you will (probably) end up with three instantiations of std::vector ("probably" because the implementation has some leeway). This it no different than what you would get if you implemented std::vector with macros or by hand, but for some reason people like to count it as code bloat.

* Modern compilers have a tendency to instantiate the same template multiple times, (e.g., std::vector<int>, std::string) and then get rid of any duplicates ( [https://gcc.gnu.org/onlinedocs/gcc/Template-Instantiation.ht...](https://gcc.gnu.org/onlinedocs/gcc/Template-Instantiation.html) ). This affects compile times, but if the compiler/linker does a good job of getting rid of the duplicates it shouldn't affect executable size. Sadly, many compilers do a bad job of getting rid of duplicates. extern templates are supposed to help out now ( [http://www.stroustrup.com/C++11FAQ.html#extern-templates](http://www.stroustrup.com/C++11FAQ.html#extern-templates) ).

<comment><USER14> _This it no different than what you would get if you implemented std::vector with macros or by hand, but for some reason people like to count it as code bloat._

Not if you implement it as a resizeable array of bytes, which is what a lot of the std::vector-ish structures I see being used in C are. There's just one set of functions which work with different element sizes, not a set of nearly- identical ones for each element size (and sometimes even multiple identical ones for elements of the same size but different type.) It's definitely bloat when the result is highly redundant and bigger than necessary.

<comment><USER13> Just as it is possible to implement a std::vector-like container using void* without templates, it is possible to do it with templates and partial specialization. It's a question of how much work the implementor put into things.

</comment></comment></comment></comment><comment><USER15> The referenced Reflex/gccxml/CINT approach has now been replaced in ROOT6 with an LLVM based system called Cling.

</comment><comment><USER16> What are those for .. in loops (as opposed to for .. :)?

</comment><comment><USER17> [http://xmlrpc-c.sourceforge.net/](http://xmlrpc-c.sourceforge.net/) is a real world implementation

<comment><USER18> That's an RPC library. I don't understand how that's relevant to reflection.

</comment></comment><comment><USER19> "I made up the term 'object-oriented', and I can tell you I didn't have C++ in mind"

Alan Kay (inventor of Smalltalk)

<comment><USER20> Upvoted for the value of that quote (it's new to me), despite it not contributing to the discussion.

</comment></comment><comment><USER21> Interesting. But this wouldn't work in a shop because the internal API would need to be maintained.

</comment><comment><USER22> There's a typo.

"struct Class : pubic Type". It says "pubic" instead of "public". I hope it can be fixed.

<comment><USER14> I know a C++/Java instructor (with a very dry wit) who would deliberately do this to see if his students were paying attention.</comment></comment>


We just launched a free, no-time-limit alternative to Basecamp - <AUTHOR> http://www.getprojecthub.com/

<comment><USER2> The layout looks cool. IMO it's asking too much for me to create an account just so that I can see what your service offers. A single screenshot does not replace {enter the various options for telling and showing features}.

</comment><comment><AUTHOR> Let us know what you think!</comment>


Ask HN: What's up with junior developer salaries? (UK) - J-dawg I'm an aspiring web developer, and I've been spending a lot of time looking for my first job in the industry. For an industry which supposedly has a big shortage of skills, I'm surprised by how low-paid a lot of the jobs are (I'm in the UK by the way). I'm talking about salaries of £15k - £25k, which seem to be fairly typical. And these are not no-skill "trainee" positions, they often come with a long list of requirements, typically knowledge of 5 or 6 different technologies, a portfolio of work and sometimes even 1-2 years industry experience.
By comparison, a graduate with zero relevant experience (or even without a relevant degree) can get a job with one of the big IT consultancies / professional services firms and command a salary in excess of £30k.
I'm really curious about the economics of all this. What's keeping junior developer salaries so low? Is the shortage of tech talent just a media fabrication? If not, wouldn't you expect salaries to keep pace with other industries competing for the same people? <comment><AUTHOR> I run a design agency and generally only employ Juniors.

You're about right on salaries in the UK. Its a strange market here, its very hard to find good staff and generally companies want far too much experience for a Junior role.

We take on new recruits with little to no experience in the field and train them from 6-18 months. We've taken designers and turned them into very good ruby developers as well as no experience to full-stack devs.

It really depends on the company though, look for a company who is focused on training. The salary should also increase in 6 months at a minimum and there should be a clear path to earning a decent salary.

We start at around 16-18K and have reviews every 3 months. The goals are set by the employees (we track this using a free product we made called Meta Trails check it out!) and as long as they say they've hit there targets its a 20% raise. Heres what it looks like in real life:

Starting 18K

3 Months: 21.6K

6 Months: 26K

9 Months: 21K

12 Months: 37K

After a year we move to a normal review period of 1 year. The reason we do this is we put a lot of time / money into training and our results are fantastic. I'd like to see more companies hiring Jr developers.

We are actually looking for another developer to join the team drop me an email josh[at]seriousfox.co.uk

<comment><USER2> Wow, started in 2000 on 18k ... that people are getting less than that now astounds me.

<comment><USER3> A LOT less. £18,000 in 2014 terms (RPI) is £27,659.

</comment></comment></comment><comment><USER4> The large consultancies are tied to the global market, as opposed to the UK market.

The UK vastly and systemically undervalues it's intellectual capital - especially in tech and entrepreneurial pursuits.

If you are young and ambitious, you can either stay and fight against the current, or find a route to a country that is more meritocratic/skewed in your favour.

I moved to NYC and the situation I am in simply does not exist in the UK. The UK is a great place to live in many ways, but tech salaries are not one of it's strong points.

<comment><USER5> They're both tied to the global market, just different ends; the UK attracts business from other parts of the world for financial services and big shiny projects approved at board level and outsources it in day-to-day development work, web design and devops. There are still well-paid developer roles in financial services, but not enough to push developer salaries up in other industries.

As for startups, if you think developer salaries in the UK are bad (which compared with the cost of living they certainly are) you should see some of the _non_ -developer salaries and experience requirements at startups and small agencies. Not to mention how demanding such companies can be about candidates to work _unpaid_ for a month or three. The combination of SV aspirations and cost of living (in London at least), plenty of unemployed professionals and a decided lack of investor-overoptimism isn't a great one for the junior employee.

</comment></comment><comment><USER6> Remember...

1) A job specification is a wish list. I'd love to employ someone who can code like a pro in 17 different languages. And only wants £15k. But I know I'm going to have to settle.

2) Your job desire is a wish list. You want a 15% pension, a BYOD budget, and be paid to go for conferences. You'll have to compromise somewhere.

3) There is a shortage - but companies don't always behave with economic rationality. If half the web developers in the UK died from Ebola, I'm still not sure I could convince my finance director to alter the yearly budget.

My advice to you would be to seek out a graduate training course (if you are a grad). If not, check out some other training schemes like Talentum [http://www.telefonicaando2careers.com/gb/explore-our- opportu...](http://www.telefonicaando2careers.com/gb/explore-our- opportunities/early-career-opportunities/) (full disclosure, my employer runs that one).

I would also advise you to prove yourself at an interview and then simply ask for more money than they originally offered. Doesn't always work - but if you're worth it, you'll get paid.

Finally - and this probably isn't what you want to hear - suck it up. Spend a year getting paid a shitty wage and then - hey presto - you now have 12 months of experience, a portfolio, and references which you can use to get a better job.

HTH.

<comment> J-dawg Thank's for the advice! I'm fine with "sucking it up". I'm prepared to work for ~£15k for 12 months. It's enough to pay the bills (just) and if I received some quality mentoring / training and developed my skills then I'd consider it worthwhile.

Regarding your point 1), are you saying it's ok to apply for a job without having every skill on the "required" list? I feel like it could lead to a really awkward interview.

<comment><USER7> £15k for a programming job in the UK is absolutely ridiculous. I know it happens as one of my friends took one, but you are seriously selling yourself short. From what I know, you should expect a minimum of 25k in London as a web dev.

</comment></comment></comment><comment><USER8> I wouldn't worry that much. I'm a Java Developer from Hungary with 4 years experience behind my back when I came here to the UK last year. My first job was with 22K and over a year I almost doubled my salary. The problem is with web development, that most of the developers come from a home learning background with almost zero commercial experience and nothing to show up. This is funny, because some fields need a portfolio or something, like Android development, where the candidate has to have successful apps on the Play Store. ( But who want's to work at a company if you have a selling app which makes you enough money) These things can water down the industry a bit. And don't forget, that as the candidate so does the company likes to lie a bit. They wan't more and more skills and we usually say more that we actually know. I would say, if you're confident enough with your skills and you can sell yourself, then always go for the highest offer. They very well know they won't get anyone decent with that low of a wage. But they like to try. And after a year or so, go and look for a new job. With one or two years commercial experience and something to show, you will get a lot better positions offered.

</comment><comment><USER9> Junior developer wages are terrible in the UK if you're not a part of a large business. In fact, I believe a lot of great junior developers move every year or two simply because someone else will offer them more money. Eventually, you get to a point where you're comfortable enough with your skill set to be able to demand more money and get it. Within four years of graduating I doubled my salary through moving jobs and being able to demand better pay.

I suppose the problem is that there's no reason for companies to pay more, because they will always manage to hire someone with such a low salary. I can't speak for all developers, but a lot of experienced developers that I know will go to a few interviews a year, and if they are offered better money elsewhere they'll ask for a pay rise or leave. When you're a junior developer that luxury isn't really available to you.

</comment><comment><USER10> There really isn't a developer shortage - just a shortage of developers willing to work for below market compensation.

</comment><comment><USER11> I'm a programmer currently working in central London (relocated from Italy about 1month ago). While i don't want to publicly disclose my salary, i can tell you that you can expect to do a bit more than double of what you just mentioned. For a junior-mid position you can expect to get something between 45-55k GBP. For a senior position you are supposed to get something between 55k to 70k. This is assuming you are working with a permanent position, if you work as an external consultant you will probably make 400-600GBP/day.

It also hugely depends on the field where you'll be working, financial institutions are well known to offer better wages (but it's mostly a very stressing environment).

<comment><USER12> Can you disclose your skillset, as 45-55k is what I'm seeing as senior-level roles for my field in London.

<comment><USER11> I'm a PHP developer. Strong Testing skills, good javascript. Very proficient with both relation and non-relational dbs. I'm very active with local meetups and try to speak at conferences every now and then BUT _only_ 1.5yrs working experience. Despite i work my ass off, i'm not at all a senior (nor i even sold myself as one).

I've done exactly 7 interviews for related positions in London and the lowest payed was 45k, highest 60k.

I personally know NOONE in central london ever working for less than 45k. Doesn't really matter if you are a C# dev, Java one, PHP, Ruby or pure frontend. Actually, my closest friends use to work in banking and they make A LOT more than what i just mentioned (70-90k, yet they are definitely seniors).

</comment></comment></comment><comment><USER13> My own experience:

* Graduated in 2012 and took a job in the South East (not London) - £25,000

* Left after 18 months because high cost of living and salary increases were below inflation (small company with money problems). Moved to North West and took a job earning - £30,000

* Left that job and took a cut down to £27,000 because I wanted to work with rails and it's hard to find rails positions here in the North West

I could probably be earning more money but getting professional rails experience is higher on my list.

It's hard looking at US salaries and not seeing jobs offered anywhere near those rates here in the UK. I guess if you want to earn over £50k a year before you're 30 in the UK you have to be a contractor.

<comment><USER14> I don't think this is accurate - though London might just be very different. I'm a 26 year old Australian C# developer that moved to London this year. In two weeks I had several job offers ranging from £50-57k.

Since then I've built up a network of connections and beefed up my skillset (spending more time with js frameworks such as Angular) and since received offers in the £65-70k mark. These were always "senior tech lead" positions, but they never seemed like real management jobs and I'd still spend the majority of the time writing software.

In the end I've jumped to contracting because the money is 2-3 times that of permanent roles and it was just too tempting. But the roles are there, especially in London - Ruby devs included.

<comment><USER12> > I don't think this is accurate - though London might just be very different.

London is its own micro-world. In the same way SV != USA, London != UK. Perhaps moreso here, seeing as the country is smaller.

</comment></comment></comment><comment><USER15> I've got a job with a major game developer in the North East and it's 18k per year, for a junior programmer. I've decided to accept it since I have the job I have always dreamed of, but I won't lie if I say that I would like to make more money - especially since I have a Masters degree in CS.

</comment><comment><USER7> £42k starting salary w/ up to 40k bonus,first job out of graduating with a middle of the road CS degree (albeit a 1st).

If you are looking for a high starting salary, the financial industry is the way to go in London. Should be 6 figures by the time I am 30.

Good luck!

<comment><USER12> ..and if you're looking not to burn out and to enjoy your job, not the way to go unless you're a particular sort of person.

Source: a long string of CS graduate friends who went to work for investment banks and quit within 5 years. At parties they used to compare how sh*t their employer was, not salaries & bonuses :)

<comment><USER7> Very true indeed!

I cannot imagine lasting very long at it. Plenty of 60-70+hr weeks and a large amount of stress. Although I do think the experience will serve me well for job interviews in different sectors.

</comment></comment></comment><comment><USER16> I started a graduate-level role in London less than a year ago at £25k. The only things I saw or were shown by recruiters that would give me a higher salary (at my level) were positions in places that would be a horrible commute.

</comment><comment><USER17> For some stats from the UK [http://www.techcityinsider.net/startups- paying-26-more-for-t...](http://www.techcityinsider.net/startups- paying-26-more-for-talent/)</comment>


More on Atari's dev env: paper tape, emulator boxes, Forth, PDP/11 - <AUTHOR> http://www.jmargolin.com/vmail/vmail.htm <comment><AUTHOR> This post is a followup to some of the hints dropped in the the Dave Theurer and Tempest. I wanted more details on the Blue Box!

[https://news.ycombinator.com/item?id=16191039](https://news.ycombinator.com/item?id=16191039)</comment>


Build and test iPhone/iPad apps without a Mac - <AUTHOR> http://trigger.io/cross-platform-application-development-blog/2012/06/13/new-features-test-iphone-ipad-apps-on-windows-and-linux-embed-media-players-and-widgets-updated-toolkit/

<comment><USER2> I think you can also build and test iOS apps on Windows with this iOS Build Environment (but you need a jailbroken device):

<http://www.pmbaty.com/iosbuildenv/>

It lets you code in MS Visual Studio and compile to a .deb/.ipa. Then you transfer it to your device and run it. A bit hacky, admittedly. In the end you still have to sign and submit the app on a Mac, but at least the development is all done on Windows.

I also came across Dragonfire-SDK and one or two other iOS remote compilation/signing services, but this looks like it'll work better for coding directly in Obj-C.

<comment><USER3> Huh, I'll have to check the licenses on some of the software included, and see if they allow for the code to be sold as part of a package.

<comment><USER4> Yes. Maybe they're trying to be cute with the 'donation' angle, "hey, we're not selling....we just require a donation of a fixed amount".

</comment></comment></comment><comment><USER5> You can also do this with Adobe Air. It's also free. Take a look at <http://www.flashdevelop.org/>.

<comment><USER6> I wish mobile AIR development would get more traction in the developer community. I'm building games with it (using FlashDevelop) and it is great. The best part is that since at its core it is just a SWF I can also run the game over a (Flash enabled) browser.

<comment><USER5> I am actually doing games, too. When we started our current game, we looked at the options for multiplatform development and found Air. I was really surprised by the (technical) quality of the system. It's easy to set up, easy to program and has really good performance. I now wonder why I have never really heard about this.

<comment><USER7> Adobe's toolchain is breathtakingly sophisticated , mature and powerful. It's incredibly easy to start writing really powerful programes with AIR. I look at all these HTML5 frameworks each with their own idiosyncrasies and pain-points, and the stuff you have to do to make it work seamlessly across devices and i want to cry. Then what is the reason AIR never really got traction ? Performance ! AIR is a known performance hog, on mobiles it can be virtually unusable. Adobe really missed the ship on this one. They had everything going for them, but they were never really able to make it's performance worthwhile.Which is a shame, given how much of joy the Flex/Air Platform is to work with

<comment><USER6> You should check out the newest AIR release (3.3) - with Stage3D you get great gpu driven performance. You don't really need to do anything new to get it if you use wrapper frameworks like Starling (<http://gamua.com/starling/>)

<comment><USER7> Yes i know about the new version of AIR, Stage3d And Starling. But it's all moot. This horse was shot in the face long ago when adobe decided to give flex up for adaptation of the Apache Foundation.Adobe is moving away from AIR, it clearly said so in it's own blog post, they are betting on HTML5.I don't see a reason why i would we writing something in a technology which even in the view of it's creator would be going obsolete in some time.

</comment></comment></comment></comment></comment></comment><comment><USER8> Here is my new, awesome, cross-platform development methodology: use a MOAI host for iOS, Android, Windows, OSX, or Linux (your pick), which simply takes its sources from <http://somewhere.at/project.zip> or thereabouts. Code on a local workstation (Windows/OSX/Linux), test the app, deploy immediately to a local Android or iOS device for testing.

<http://getmoai.com/>

Simply kicks ass.

</comment><comment><USER9> Any instructions for Linux?

<comment><AUTHOR> Working on it, can you email firstname.lastname@example.com and we'll email the draft when it's ready.

</comment></comment><comment><USER10> This is hardly a new or innovative service, these guys have done it for over 2 years now (IIRC):

<http://dragonfiresdk.com/>

<comment><USER11> PhoneGap has a remote build service like in this announcement too. I can only say this article is about catching up to others...

<comment><USER12> You mean PhoneGap Build? It's actually a bit different, because you have to send up your whole app to their server, where a compile and package is done and the fully-baked app is returned.

Useful in some situations, to be sure, but this approach means you still get all the benefits of the Trigger toolchain - builds are done in seconds rather than minutes.

</comment></comment></comment><comment><USER13> Do trigger.io apps have the same speed/responsiveness issues that people usually experience with PhoneGap?

<comment><AUTHOR> You have to write your apps in the right way for mobile and we've blogged about ways to do that:

[http://trigger.io/cross-platform-application-development- blo...](http://trigger.io/cross-platform-application-development- blog/2012/03/02/how-to-build-fast-html5-mobile-apps-using-backbone-js-zepto- js-and-trigger-io/)

We've also done benchmarks of our native bridge vs phonegap showing it to be 5x faster on Android:

[http://trigger.io/cross-platform-application-development- blo...](http://trigger.io/cross-platform-application-development- blog/2012/02/24/why-trigger-io-doesnt-use-phonegap-5x-faster-native-bridge/)

</comment></comment><comment><USER14> You can also use Delphi on Windows of all things.

[http://www.itwriting.com/blog/4841-hands-on-with-delphi- xe2-...](http://www.itwriting.com/blog/4841-hands-on-with-delphi-xe2-for- apple-ios.html)

</comment><comment><USER15> This + RubyMotion is getting dangerously close to Heroku for apps. Not sure what that means exactly, but I'm super excited.

<comment><USER16> It means a big exit.</comment></comment>


Ask HN: delete - <AUTHOR> sdfsdfsdf <comment><USER2> Give her some time. Who knows, maybe she really needs time to solve some serious problem.

</comment><comment><USER3> HN is now relationship advice?

<comment><USER4> Maybe HN types have a particularly techie way of responding to ghosting. In before Norton releases AntiGhosting.</comment></comment>