Ask HN: Is there a viable non-android non-iPhone mobile device? - <AUTHOR> My buddy rocks a dumb phone. I'm highly tempted. I do kinda like having slack, email and Lyft though. Any viable alternatives out there? The big two are pretty annoying, aggressive, opinionated, and anti-privacy. I'd be happy with someone who just hasn't had the opportunity to get bloated and forget that it's actually about the customer. I remember there was an Ubuntu phone, a Firefox phone, some weird privacy first Black phone. Are any of these viable today? <comment><USER2> There's kai os which is the survivor of the firefoxos project. I have one of these you can still do things like watch youtube in the browser because its firefox under the hood.

</comment><comment><USER3> Get a Sony Xperia X* and load Jolla's Sailfish X on it. I have the Xperia X2A Ultra, and it rocks. Battery lasts 8 days. :)</comment>


Show HN: AWS Re:Invent 2018 Event Catalog – Only Show Available Events - <AUTHOR> https://gist.github.com/jensenak/5ec3be368f23b0ada48b11b2f9eb5644 <comment><AUTHOR> The sole purpose of this is to help eliminate some of the pain for people attending re:Invent. The scheduling interface isn't great. I did this for myself and thought I'd share.</comment>


California bullet train funds eyed for Burbank-to-Anaheim line - <AUTHOR> https://www.latimes.com/california/story/2019-10-09/metrolink-plans-electric-train-service-burbank-anaheim-bullet-train-funds <comment><USER2> Let's look back at the promises made in the Title and Summary of Prop 1A, the original HSR funding bond issue:

"SAFE, RELIABLE HIGH-SPEED PASSENGER TRAIN BOND ACT.

Provides long-distance commuters with a safe, convenient, affordable, and reliable alternative to driving and high gas prices.

Reduces traffic congestion on the state's highways and at the state's airports.

Establishes a clean, efficient 220 MPH transportation system.

Improves existing passenger rail lines serving the state's major population centers.

Provides for California's growing population.

Provides for a bond issue of $9.95 billion to establish high-speed train service linking Southern California counties, the Sacramento/San Joaquin Valley, and the San Francisco Bay Area.

Provides that at least 90% of these bond funds shall be spent for specific construction projects, with private and public matching funds required, including, but not limited to, federal funds, funds from revenue bonds, and local funds.

Requires that use of all bond funds is subject to independent audits.

Appropriates money from the General Fund to pay bond principal and interest"</comment>


Android and iPhone: Possession vs. Utilization - <AUTHOR> http://www.asymco.com/2011/09/21/the-perils-of-possession-without-utilization/ <comment><USER2> Is it just me or is this a really poorly written article with questionable analysis?

For one, the graphs strike me as confusing. There's too much information trying to be packed into the graphs. It also appears that the various "utilization" measurements are the same on each graph. Furthermore, two completely different types of measurements are used for the "possession" metric, installed base for the U.S. market and quarterly sales for the global market.

Then, there is the questionable "utilization" metrics.

1\. Browsing market share: Now, I don't know much about iOs, but on Android there are several different competitive browsers (Opera, Firefox, Dolphin) in addition to the stock browser. Could counting only the stock browser undercount the Android share?

2\. Airport/in-flight market share: This is really a measure of what types of phones are used by people who do a lot of flying. Can any conclusions about general smartphone users be drawn from this data? If anything, it just shows that if you are trying to market to the jet-set, iOs is the way to go.

All-in-all it just strikes me a hand-wavy argument that iOs is superior to Android for development. I think there may be a way to make the case, but this certainly isn't it.

</comment><comment><USER3> The point of this article seems to be that, since Android users are much less likely to submit to price gouging for wifi in airports and on planes, the platform is ultimately doomed. This seems highly suspect to me. The platform has a different monetization strategy for devs, to be sure, and this is even hinted at, but the logical contortions needed to correlate willingness to buy non-premium products at very high prices due to local monopoly with viability of the system as a whole boggle my mind.

<comment><USER4> It is interesting that two of the four categories in their analysis can be easily described as "niche usage" and one of the others relies on the mobile web browser. The single most common form of smartphone usage, mobile apps, shows that ad impressions on Android far exceed iPhone. I don't know how you draw usage conclusions from that though.

Is it because the barriers to entry into the Android market are much lower? What about the comparative availability of paid vs. ad-supported apps on Android and iPhone? If the research _does_ indeed show that Android users spend less than iPhone users, is that a reflection on loyalty to the platform or the affluence of the userbase?

So very many variables are completely ignored here that it's hard to fathom how the author believed there was a point to be made.

</comment></comment><comment><USER5> My BEEF:

Airport-Wifi:Why would someone connect to airport WiFi when the phone already has data? Is it because ATT has shitty reception and for many years the iPhone was available on ATT?

In-Air-Wifi: Something about price gouging and iPeople willing to pay for it.

Ad-impressions: How does this ad network marketshare look like between iDevices and Android?

Explain this and then I will once again consider the authors points.</comment>


Ask HN: What is the most popular desktop Linux distro? - <AUTHOR> <comment><USER2> [https://distrowatch.com/dwres.php?resource=major](https://distrowatch.com/dwres.php?resource=major) claims Mint (1 minute google search). As you've seen in [https://news.ycombinator.com/item?id=19254903](https://news.ycombinator.com/item?id=19254903) everybody has their own favorite.</comment>


Ask HN: Pros and Cons of Google Hangouts Chat? - <AUTHOR> Recently, our top brass is looking to replace Slack with Google Hangouts Chat [1] for a team of around 70 members.
Since we already have G Suite subscriptions, and it comes with Hangouts Chat already, without need to pay any extra fees.
It's said that we need to  switch to Hangouts Chat for a month's period for "evaluation", but I'm not quite sure how that's gonna work since that means switching back and forth between Slack and Hangouts Chat.
Personally, I find it not very useful, given that:
- Have to migrate existings bots to Hangouts
- Unable to search messages from Slack from Hangouts
- No public channels to browse & join
- No native client on Linux
Not quite sure about pros. Any thoughts?
Link: https://get.google.com/chat/ <comment><USER2> We use Hangouts Chat, Switched from Slack about a year ago.

If you solely look at the utility of chat and keeping history of chat, Slack provides no benefit @ $7 a user over Hangouts if you're already a G Suite Subscriber.

Slack has a cleaner interface and has much better integrations. The community of addons and bots is huge and the APIs are better. But, you can achieve all the same things with Hangouts it's just not the path most traveled.

That said, If I had the choice. I would rather use Slack.

<comment><AUTHOR> How did you migrate then? Do you have years of chat history before?

Also, can you compare about efficiency of communication in both?

</comment></comment><comment><USER3> Hangouts makes for a nice alternative to whatsapp, but that's about it. I don't think it's a good choice for any serious teamwork, as it just doesn't have any significant features other than standard text chat and video calls.

<comment><AUTHOR> That's what we need, plus lots of incoming webhooks and bot interface. We don't even use Slack's video/voice call — It simply doesn't work very well.</comment></comment>


Show HN: I've been making one HTML5 game per week. Here's my 10th game - <AUTHOR> http://www.lessmilk.com/10/ <comment><USER2> Not sure if you're looking for critique, and giving critique has sometimes been discouraged on HN, but:

It's pretty good for a week of work. Though there's a difference between being challenging and being annoying. Many of the level design elements could be classified as a "dick move." An example would be not making it clear the goal is to collect _all_ the coins until after the player has bypassed some of them and reached the end.

In general the controls are too sluggish. It's as if triple buffering is enabled, or maybe quad buffering. If you're at a university, you should try to borrow a high speed camera and measure the time difference between when someone presses the spacebar vs when the character starts to jump. I don't know if it's a Chrome thing or what, but I fell off cliffs several times due to the input delay.

The gravity could be better. I'd recommend spending some time with Cave Story to get a feel for how to make gravity really work in the player's favor, rather than against them. In general it's a bad idea to make velocity strictly linear. Some acceleration adds to the experience and precision.

A checkpointing system would be good. I can see how most players will give up after getting mostly to the end and then dying. I think you should just restart players from the last point that they were on the ground without dying, that is, the most recent ledge that they were standing on.

It shows promise. If you're looking for feedback about how to advance as a game developer, one step would be to make sure you're not rewriting your entire game engine from scratch for each game. It's excellent that you're writing your own engines rather than trying to use other people's, so be sure to keep doing that. It's important for gamedevs to have an idea of the underlying principles and limitations, and the best way to do that is to write your own engines. I got the feeling that most of the week was spent on the engine rather than iterating on the gameplay or level design though. Teaming up with an artist or a level designer might be a good match.

<comment><AUTHOR> Thanks, I love feedback! You make some interesting points.

About input lag, I'm a bit surprised. On my computer the input is super responsive. Maybe it depends on the OS/browser? I'll have to look into this.

Gravity could definitely be better. I'll look at Cave Story then.

I have only 5 short levels, so adding checkpoint will make the game too easy I think.

<comment><USER3> I'm not a game developer, but I found the jump key to be slightly inconsistent, specifically pressing jump while running towards a ledge. Whether or not the jump registers seems to depend on how close to the edge you are. The closer you are, the less likely the jump is to register.

I guess depending on what you want out of the game mechanics, you could leave it as is or extend the "range" of a valid jump to slightly beyond the edge (perhaps half the width of the character). I guess some good questions that you could ask are: \- Is it a faster paced game where jumping from platform to platform quickly matters? \- Do you want to focus more on fluid movement and the ability of the player to think about their moves ahead of time? \- Are there any gaps in any level where the jump is nigh impossible without performing a "perfect" jump. If so, is that a feature? (maybe it's supposed to be that difficult?)

EDIT: I've been looking at the source and I'm pretty sure it has to do with how Phaser checks whether the character is on solid ground or not (body.blocked.down). I'm not too sure how it calculates it (I couldn't understand the SAT.testPolygonPolygon function[1]. If anyone wants to help me with that, I'd appreciate it). I think the tilt of the character when it's running potentially makes it worse too.

[1][http://docs.phaser.io/SAT.js.html](http://docs.phaser.io/SAT.js.html) line 605

<comment><USER4> Most platformer games actually let you jump for a short time after you run off the edge of a platform. The lack of this mechanic is what causes the jump to feel inconsistent.

</comment></comment></comment></comment><comment><USER5> I'm a hobby/hopefully someday profitable game developer who recently jumped on the "develop a short game in X days" bandwagon. My most recently made game was developed in 2 days [ [https://play.google.com/store/apps/details?id=com.ektomarch....](https://play.google.com/store/apps/details?id=com.ektomarch.PanicCircle) ], and damn did it feel good to get something done that fast!

My current plan is to make a bite-sized game comparable to this at least once a month (it'd be a little stressful to force myself to come up with something fresh every single week) and maybe just experiment with small projects with no plans for completion in between. I also have a long-term project that I'm expecting will take ~2 years, and honestly, sometimes I feel like I've run out of ideas. Taking time away from my main project to work on these little "distractions" actually ends up helping with my main work. I spend less time idly waiting around for a good idea or solution to a persisting problem, and more time solving new, smaller problems that can later be applied somewhere else. Hell, I actually find myself actively switching between tasks every 10 minutes and ending up even more productive than I would be focusing on just one project. Also, I had no real experience with Unity before this game, and just taking a couple of days to force myself to learn it opened some doors for future big projects.

In short, work on tiny projects whenever you find yourself doing nothing. You might end up more productive or just happier knowing what you're capable of.

<comment><USER6> What consists of a 'day'? Coming home from work or school and working on it until 10pm? Spending an entire Saturday pounding away at it?

<comment><USER5> It was a full Saturday and Sunday of work--about 12-15 hours total. A large portion of that was adapting to C# and reading up on Unity documentation.

</comment></comment></comment><comment><USER7> I've been following your progress with these games and there are several I really like, most of which is I think #5 with the cube jumping. I can't sing you enough praise on posting these as inspiration to others and sticking with the one game per week timeline. The motivation alone is inspiring.

That said, this one is frustrating. I feel the keys are off. I like to run before I jump and in some areas, it's not possible because the responsiveness of the keys just isn't there. It takes too long for my guy to jump after I press up. Also, it seems like you're possibly doing your left/right code in a way that gives left priority. If I press both left and right, my guy goes left. I feel like he should stay stationary in that situation.

Other than that, I like the gameplay, tutorial text that's part of the scene, the sounds and music. I really like the cube slanting to show motion, too. Clever.

Keep it up!

</comment><comment><USER8> Here's an article with lots of interesting background info from the same author (lessmilk), "What I learned while doing my 'one game per week' challenge":

[http://gamasutra.com/blogs/ThomasPalef/20140225/211663/What_...](http://gamasutra.com/blogs/ThomasPalef/20140225/211663/What_I_learned_while_doing_my_quotone_game_per_weekquot_challenge.php)

Worth it especially for the following superb link:

[http://www.gamasutra.com/view/feature/130848/how_to_prototyp...](http://www.gamasutra.com/view/feature/130848/how_to_prototype_a_game_in_under_7_.php?print=1)

<comment><AUTHOR> If you subscribe to my newsletter, you'll get an updated version of the gamasutra article that you linked.

<comment><USER8> I really enjoy your games and (especially) the tutorial side. Great stuff! But I have been a bit put off by the frequent plugs for your newsletter. Of course, you couldn't have known that before commenting here, and so I hesitated a while before posting this. But I figure it may be a useful data point.

In any case, I hope you keep up the great work, I'll certainly be following!

</comment></comment></comment><comment><USER9> I'm slightly afraid of clicking on game links on HN after 2048.

<comment><USER10> Seriously. I thought I was fine until I was reading HN on my phone and thought to myself "hmmm... I wonder if the game works well on a mobile browser."

It does. #fml

</comment></comment><comment><AUTHOR> OP here. Let me know if you have any questions about my project.

<comment><USER11> Any chance you release these on mobile?

<comment><AUTHOR> You mean releasing native iOS/Android games? Yes, I'm thinking about it.

<comment><USER12> You could trying porting the web games using phonegap[0] or titanium[1].

[0] [http://phonegap.com/](http://phonegap.com/)

[1] [http://www.appcelerator.com/titanium/titanium- sdk/](http://www.appcelerator.com/titanium/titanium-sdk/)

</comment></comment></comment></comment><comment><USER13> A significant number of devices on the web _don 't have keyboards_. They use touch as their primary interface. Please support touch devices.

<comment><USER14> For this kind of experience building project I think it's fine to be a bit feature limited, however it would be great to try doing at least one touch only game to help build out other interaction options.

<comment><AUTHOR> Game #7 works very well for touch devices.

</comment></comment></comment><comment><USER15> How experienced were you before you started? Have you coded before? Any reason you're not open sourcing your code? Seems like it'd be a great idea considering you're still learning and could use some feedback from others. Great job btw. Never heard of Phaser but now looking into it.

<comment><AUTHOR> I have a bachelor's degree in computer science, and I coded a few side projects.

And I'm considering going open source.

</comment></comment><comment><USER16> I'm impressed with the general quality:time-spent ratio.

I think the basic level design and polish steps are fairly well done. Even the sluggish controls (as a number of people have pointed out) feel more limited by lack of engineering time than your understanding of what feels good, and I would guess that through some rigorous testing and closer scrutiny of your code that could easily be fixed.

However, I think you exhibit some game design anti-patterns. I am referencing Zileas' List of Game Design Anti-Patterns[1], that I think game designers should reference more often until it's a quick checklist whenever they design any game.

Most notably I think Dark Blue succumbs to "False Choice" and "Or We Could ____the Player. "

[1] [http://forums.na.leagueoflegends.com/board/showthread.php?t=...](http://forums.na.leagueoflegends.com/board/showthread.php?t=293417)

</comment><comment><USER17> I think these are the best set of flappy bird clones that have come out yet (except perhaps the flappy bird orbital game).

Admittedly, only a couple of them truly qualify for that title (annoyingly difficult gravity games with stupid simple controls), but I think they all adhere to the same theme - extremely simple game ideas that are nevertheless compelling.

In the Atari-NES era, technical constraints forced this style of game design upon developers, and they (well, some of them) still produced compelling games by focusing on the details of these simple interactions. There are admittedly somewhat similar constraints on this particular canvas (ahem) but I believe the tools have evolved so much that you can spend a lot more time on the mechanics, rather than fitting it into RAM (hence, 10 rather polished 8-bit style games in 10 weeks).

I think it's good to get back to basics. I played all 10 games, and I enjoyed it (though the typing game was downright cruel; it's amazing how difficult it is to read and understand a misspelled word, then type it misspelled, let alone the gibberish). Well done.

</comment><comment><USER18> Well done! A few bits of constructive criticism, based on my own experiences with making platformers in GameMaker:

\- you need to fix the gravity so it doesn't feel like it's on the moon. I used to get the gravity wrong as well, but it makes for so much more fun and snappy gameplay when you get it right (or actually, a bit _more_ right, cause nobody really jumps that high anyway).

\- assuming your game logic goes a little something like, if the player is standing on something solid, they can jump: instead doing that, give the player a few frames (3-5) of leeway while they still can jump even though they just walked off a platform ledge. it's a very subtle thing, and if you don't pay attention you won't see that most platformers do this, but it makes all the difference in gameplay (if the player feels like they would have totally made that jump, but drop off the ledge instead, it feels like their character just stumbled or something).

the last one is also based on one of the golden rules of gameplay: try to make the game behave as the player wants, which is _not_ always necessarily exactly how the controls are input.

(the following stuff is not really critique of your game but some things to keep in mind as you continue)

similar tricks involve making the hitboxes of "good" objects larger than they actually are, and the hitboxes of "bad" objects smaller (player thinks: "phew! cool! I _barely_ missed that enemy!!"). btw Flappy Bird subverts this rule, which makes part of its interesting frustratingness, but as always you gotta know the rules before you break the rules.

and remember, you can always make your _levels_ harder, if you think such tricks make it too easy on the player. you'll find that in such cases "harder" translates to "challenging" instead of "frustrating".

good luck!

</comment><comment><USER19> Nice. Reminds me of the game Thomas was Alone.

</comment><comment><USER20> I love the way the tutorial is part of the background, seamless!

A colleague of mine made a similar type of game a while ago, this reminded me of that.

[http://www.tyasdev.com/MrBandana/](http://www.tyasdev.com/MrBandana/)

<comment><USER7> I can't get through level 2.

</comment></comment><comment><USER21> It seems pretty stuttery on Safari running on my Mac, but was fun for a while - good job!

I didn't actually like the explanations throughout the first few levels: sometimes it would be nice to figure things out on your own; feels like you rob the player of the reward for completing the level when you explain it to them before letting them figure it out? Especially since they can restart pretty quickly: case in point, let them fall into the red and die early on rather than explain it?

</comment><comment><USER22> As a mainly backend developer, I just signed up for the book, realised it didn't contain too much, but links to the tutorials. I had a quick read. and I would say it would be more accurate to call the title "One Javascript game per week". I got a bit excited thinking you could produce that sort of game using just HTML5.

Hope I don't sound overly critical, as its a cool game and I appreciate you posting it.

<comment><USER23> It uses HTML5 canvas and audio APIs.

<comment><USER22> All front end Javascript uses HTML elements.

I thought it meant pure HTML 5.

</comment></comment></comment><comment><USER24> Pretty good game for a week. Most quick and/or beginner platformers I see have a lot of glitches with collision detection and response. You pretty much nailed it.

Critique-wise, the low end of the variable jump height is a little high, and if the game lags it messes up the physics (e.g. in the first tunnel of the last level the player stayed up against the ceiling longer than usual, missing the platform).

</comment><comment><USER25> A Hack to jump farther and higher in Game#10!!

Try this,

1\. open Game#10 in chrome

2\. Open the web inspector

3\. Go to profiles, choose Record Heap Allocations, and start

4\. Now try playing the game. You should be able to jump farther and higher. In some levels, even overcome multiple climbs in a single shot than otherwise

Also notice kind of slowdown overall. But not necessarily a drag since all the key events are still taken in seemingly the same speed

So why is this? Or is it another Chrome one-off?

</comment><comment> atom-morgan Thanks a lot for posting this as well as one of your posts I saw a few weeks ago.

Because of your website I tried making my own simple game with Phaser and found it to be very fun. For someone who'd never programmed a game before, it was interesting to see how everything comes together. Just a simple game was very fulfilling to me.

</comment><comment><USER26> @lessmilk, I love all your games. Great Job.

<comment><AUTHOR> Thanks a lot! :-)

</comment></comment><comment><USER27> This is great! It's incredibly awesome how much you can take away from Mario and still have a fun game. I love how the rectangle slants to show that you are moving. The game feels really responsive! (Macbook Air, Safari 7.0.2)

The progression in difficulty seems just right. This is exactly what casual gaming should be like.

</comment><comment><USER28> You hit detection is off. It you make a game with pure rectangles the detection should be completely precise.

<comment><USER29> I'm also seeing this issue. Example, I died right after taking this screenshot: [http://imgur.com/Egy49Kv](http://imgur.com/Egy49Kv)

<comment><USER30> yes i died catching my breath in the same place. i repeat what person above said about rectangles meriting perfect collisions.

still a nice diversion. i like the way on my system, several bitmap redraws occur per screen trace, giving the character a parallelogram shape. subjectively, it looks like he's in a hurry :)

</comment></comment></comment><comment><USER31> That was awesome. I finished it. I died 92 times.

The jumping mechanics reminded me of "air control" in strafe jumping in Quake 2. Can you tell I haven't played games much lately?

Love the music. I have had the tab opened for a few minutes now that I'm done playing just listening to it loop through.

</comment><comment><USER32> I've seen/played a couple of your earlier games as well as this one. They all have a good look and feel and are pretty legit mini-games.

I'll also take the opportunity to plug my HTML5 game collection:

[http://yangcanvas.com/arcade](http://yangcanvas.com/arcade)

</comment><comment><USER33> That's so good for a day. I made a similar game a while ago that took a few weeks! [http://platformpixels.com/](http://platformpixels.com/)

I would be interested to know what you used for collision detection (If anything).

</comment><comment><USER34> After a little self-psychoanalysis I've realized that when I see "this is a hard level, you can't beat it", it makes me want to try even harder which is a neat idea to use in more games to get more people playing.

</comment><comment><USER35> It's a great game. Just my sort of thing really and I really like the music. It only took a couple of minutes to beat though so it's a little short. Then again for a weeks work it's fine. Keep up the good work.

</comment><comment><USER36> Have you been writing anywhere about the things you've learnt so far? The challenges with the framework you've used or anything you started to do to speed up development?

</comment><comment><USER37> I have been trying to write a small game. But after having seen this. Holy Cow! It's so minimally(don't know if that counts as an adjective) Awesome. Thanks for sharing.

</comment><comment><USER38> I may have bagged this game for being way too simple a few weeks ago. But after Flappy Bird, the genre seems to live on. It's annoyingly great. Keep up the good work!

</comment><comment><USER39> Loved the 'artwork'. Simple but immediately familiar. Like some other commenters, I felt that sometimes my jumps weren't being registered.

</comment><comment><USER40> I loved the games. They aren't simply demo projects, but real, interesting & challenging games! Good game play, actually enjoyed them! :)

</comment><comment><USER41> Responsiveness of the controls needs work, but the game was just frustrating enough. I died 19 times. Not nearly as brutal as super meat boy :P

</comment><comment><USER42> Don't know if it's just me, but opening up the webpage crashes my browser. I'm using Firefox on an Ubuntu virtual machine.

</comment><comment><USER43> These are excellent, well done! Thanks for both documenting your progress and taking the time to inject character into your games.

</comment><comment><USER44> 1\. What do I need to learn to start making games like this? 2\. Is it hard to make games that fill the browser screen?

</comment><comment><USER45> Beat it. Last level is pretty hard. In order to make important jumps register press jump first, then start moving.

</comment><comment><USER46> This series of games is an inspiration. I decide to take another look into phaser after seeing your stuff!

</comment><comment><USER47> Clever thread title. I bet "one HTML5 game per week" made quite a few people click on it. :)

</comment><comment><USER48> americans love to be positive but ill just be honest: the game play sucks. a great project for hitting out code and learning but pretty brutal for actually game play and enjoyment. but keep banging away at it, im sure a hit will come out eventually.

</comment><comment><USER49> May favorite part is the sound byte when you finish a level. "Yeaaah"

</comment><comment><USER50> This game is awesome. I love the "yeeah" at the end of a section.

</comment><comment><USER51> I literally LOL'd at the "yeeeeaahhh" upon level completion.

</comment><comment><USER52> Fun game, hooked me for longer than I'd have liked. :)

Curious why you chose HTML5?

</comment><comment><USER53> Easy to learn, difficult to master. Great game, needs more levels.

</comment><comment><USER54> can't beat it my ass!

[http://i.imgur.com/xKTvH81.png](http://i.imgur.com/xKTvH81.png)

:) great game. i enjoyed it! very similar to super meat boy

</comment><comment><USER55> Love the spirit of this. Good stuff. Keep building! :)

</comment><comment><USER56> Do you make any revenue from it?Or just pure hobby?

<comment><AUTHOR> It started as a pure hobby with no revenue. But now that my project is getting a lot of attention, I might start making iOS/Android apps, or maybe write ebooks about how to make games.

</comment></comment><comment><USER57> reminds me of this game [http://www.avalanchegame.org/](http://www.avalanchegame.org/)

</comment><comment><USER58> Check out MelonJS to beef up the themes

</comment><comment><USER59> i loved the second one xD ... it sends me back in the atari's days hehehehe, nice job man.

</comment><comment><USER60> Awesome work! Keep it up!

</comment><comment><USER61> that's very good ,if can run mobile,it's a good idea!

</comment><comment><USER62> kudos man, your creativity is impressive, good work.

</comment><comment><USER63> GREAT!!!

</comment><comment><USER64> It takes longer to load than Skyrim.

<comment><AUTHOR> That's the HN effect. Google Analytics tells me that there are more than 600 active visitors on lessmilk right now.

</comment></comment><comment><USER65> Glad to see the technology HTML5 is capable of has come so far.</comment>


Show HN: Speedproject to toy with Soundcloud API, feedback? - <AUTHOR>

I love the MISHKA Keep Watch Mixes, but I hate wading through their blog to find them. I made this ( http://crisnoble.com/keepWatch/ )so that I could see all the mixes at once and because I needed an excuse to tinker with PHP, mySQL and the SoundCloud API. It is far from perfect but I would love your feedback. <comment><AUTHOR> Clickable: <http://crisnoble.com/keepWatch/></comment>


Cisco subdomain private key found in embedded executable - <AUTHOR> https://groups.google.com/forum/#!topic/mozilla.dev.security.policy/T6emeoE-lCU <comment><USER3> The domain in question (drmlocal.cisco.com) resolves to 127.0.0.1. This is a handy and above all cross-platform/cross browser way for a website to talk to a locally installed application (that's running a web server, bound to the loopback interface) by using CORS and/or jsonp.

If the site that wants to make use of this is using SSL, then the locally running web browser also needs to be using SSL and it needs to have a publicly trusted cert.

The other alternative (installing a local CA) seems to be worse.

An option would be for the locally installed app to ask a server for a cert to use while it's running, but that means that the app needs to phone home which it otherwise would not have to.

So I guess we're back to proprietary browser extensions if this technique is frowned upon.

<comment><USER4> Back in 2011, the HBO Go application on iOS contained a similar certificate for 127.0.0.1; I believe in that case a certificate for the bare IP address or just "localhost" that they got from Verisign. It was noticed by jan0 from the iOS jailbreak community, who had written isslfix, with the goal of hacking in a fix to a bug found in Apple's SSL certificate verification. He had some logging and noticed this extremely weird certificate get checked.

[https://github.com/jan0/isslfix](https://github.com/jan0/isslfix)

The file was embedded in the binary as a base64-encoded PKCS12, but was encrypted with a password. They thought they were clever and used a format string to cobble together multiple parts that they then ran through a base64 decide to get the password. When jan0 told me about it, I spent a couple hours reversing the logic until I worked out the password... only for jan0 to tell me after that he had simply used _one of my tools_ to hook the decryption itself and it only took him a few minutes ;P.

(I scavenged my stuff and found a copy!) The password to this file--which is the one directly taken from the binary, and so this is the original password (!!)--is "AmsterdamIsC0ld". (I have given talks about "the fallacy of trying to secure content inside of a binary you give to your attacker", and this password with that 0 for the O always manages to get some laughs ;P.)

[http://test.saurik.com/hackernews/localhost.der](http://test.saurik.com/hackernews/localhost.der)

As for why this absolutely should be frowned upon: this doesn't provide any actual security... if everyone has the private key then anyone on your computer can man in the middle attack this connection. This is no better than just using HTTP to connect to this local service: the only reason you are even using SSL here is to bypass a security check in the browser (that an SSL website can't access a non-SSL website).

And if you want to argue "it is a local computer, why is a man in the middle attack relevant", you need only see the work people in jailbreak communities for random devices do to escalate privileges through various otherwise protected and sandboxed applications... made all the more obvious in your own description as it is the security of this website that is being undermined now (as maybe returning weird stuff from its API will mess with the user's site account or network settings or just break the website and give you arbitrary JavaScript execution).

I mean, in this case, you can't even guarantee the connect _is_ to localhost! You start by swapping out the DNS to redirect drmlocal.cisco.com to some other IP address, and now you can get that website running on one computer--which you might not even have physical access to!--to talk to your forged copy, and trick the user into interacting with it, possibly letting you steal authorization keys or doing any of the other aforementioned described "bad stuff".

I will argue a local CA is absolutely "better", even if the optics are worse: you can generate the key for the CA, use that key to generate a key for just the one host, destroy the private key for the CA, and then install the public key. You now have a CA installed that can effectively only ever be used for the one host.

Of course, that causes a problem that you are training users to install CAs. If you dislike that, you can either use a proprietary browser or lobby browsers and OS developers to provide support for installing a CA limited to a hostname pattern: the fact that these do not exist is the real problem here and is downright criminal, as we _know_ people want to do stuff like this, and it isn't even a ludicrous concept.

<comment><USER5> If that is true Verisign should be blacklisted for signing a certificate for localhost or an IP address. Both of these things are not allowed.

<comment><USER4> FWIW, my post provides the certificate _and private key_ for anyone to verify themselves; the certificate is definitely made out to "localhost" ;P.

subject=/C=US/ST=Florida/L=Melbourne/O=AuthenTec/OU=Terms of use at www.verisign.com/rpa (c)05/CN=localhost

issuer=/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at [https://www.verisign.com/rpa](https://www.verisign.com/rpa) (c)10/CN=VeriSign Class 3 Secure Server CA - <USER2>

</comment></comment></comment></comment><comment><USER6> For whatever it's worth, the team behind this stupidity has been let go a while back...

Throwaway account for obvious reasons.

<comment><USER7> Used to work for CSCO myself. Was amazed they (internally) didn't have centralised PKI, so we rolled our own as an acquisition.

This is the Sky UK middleware project isn't it? I know a couple of people who work there who said it's a bit of a clusterfuck. There were some good things at CSCO when I was there, but loads of WTF moments.

</comment></comment><comment><USER8> What impact does this sort of compromise cause? In context, it seems to be a poorly architected loopback to make an appliance gizmo work. So on the face of it, it sorta seems a bit harmless (well, as much as any internet appliance is harmless...)

I'd imagine that could allow an adversary to compromise DRM for the SKY perhaps? (Based on the domain name.) But there seemed to also be concern that improperly set up cookies for other cisco.com domains may allow this to compromise them; do Cisco devices put sensitive things in cookies where that could happen?

EDIT: I am _not_ in any way, shape, or form a network or security 'guy'. I just read the thread and wasn't horribly alarmed by the discussion; seems like a reasonable but bad exposure on the device.

<comment><USER9> At a glance, cisco.com has an SSO cookie set for .cisco.com, so given an attacker is on your LAN, they could have used this cert to MITM your connection to drmlocal.cisco.com and insert a script to steal your cisco SSO cookie. That would give the attacker to your cisco account (I have no idea what a cisco account actually entails).

</comment></comment><comment><USER10> I'm curious, what _is_ the current best practise for shipping LAN-only type embedded devices that needs to be configurable from a browser now that everyone is pushing for https only and marking http not safe?

Some may not even have a local DNS name but only use an RFC 1918 ip address. I don't think the current CA system can accomodate that? Obviously you don't want to hand anyone who asks for it a cert and a private key for "10.0.0.1".

</comment><comment><USER11> I wonder how many people had to approve the decision to send publicly trusted private keys to users. It seems like such an obvious security mistake that I didn't think people would make it.

<comment><USER12> I am more interested in how does an embedded app get the cert in the first place. That cert should be accessed by automation and restricted to a set of people only.

<comment><USER13> It's automatically embedded by the build script ;)

<comment><USER12> lol, yes, except the acl is wrong :)

</comment></comment></comment></comment><comment><USER14> Seems Spotify did the same: [https://groups.google.com/forum/#!msg/mozilla.dev.security.p...](https://groups.google.com/forum/#!msg/mozilla.dev.security.policy/eV89JXcsBC0/hKPv7lXfAQAJ)

</comment><comment><USER15> Odd that they requested a new cert after theirs was revoked... As if to say "Eh, we'll hide it better next time."</comment>


Google kills off Microsoft's RAM-saving feature for Chrome on Windows 10 - <AUTHOR> https://www.techradar.com/uk/news/google-kills-off-microsofts-ram-saving-feature-for-chrome-on-windows-10 <comment><USER2> Techradar will hijack your browser history in an attempt to trap you in their site, if you're on a mobile OS.

No thanks.

<comment><USER3> I never understood this, especially for a reputable site. It basically ruins a tab for me, I just have to close and reopen it.

<comment><USER4> It's a low effort SEO technique. Google uses time spent in site as surrogate metric for quality, so Goodhart's law applies.

</comment></comment></comment><comment><USER5> Better link: [https://bugs.chromium.org/p/chromium/issues/detail?id=110228...](https://bugs.chromium.org/p/chromium/issues/detail?id=1102281#c17)</comment>


Advanced SQL window function quiz - <AUTHOR> http://www.windowfunctions.com/ <comment><USER2> Why are they recalculating the sum of the weights in the Q0 query?

Their answer:

       select age, sum(weight) as total_weight
       from cats
       group by age
       having sum(weight) > 12;

Which is equivalent to:

       select age, sum(weight) as total_weight
       from cats
       group by age
       having total_weight > 12;

<comment><USER3> The HAVING clause is evaluated before the SELECT so you have to specify the full clause `having sum(weight) > 12` and not just the alias. Most SQL engines are probably smart enough to not actually recalculate everything.

<comment><USER4> Yes, SQL engines tend to be much smarter than the SQL languages as such.

</comment></comment></comment><comment><USER5> Q6: Ranking has an error, or I misunderstood. It says "Order by: ranking, name" but in truth one should not order by name!

Anyway, overall very nice!

<comment><AUTHOR> you are correct. I'll fix that.

</comment></comment><comment><USER6> See also Markus Winand's blog and [http://use-the-index-luke.com/sql/partial- results/window-fun...](http://use-the-index-luke.com/sql/partial- results/window-functions)

and Joe Celko [https://www.red-gate.com/simple-talk/sql/t-sql- programming/w...](https://www.red-gate.com/simple-talk/sql/t-sql- programming/window-functions-in-sql/)

<comment><USER7> We've got course that cover window function, not sure if I can post the url here. grrr.

</comment></comment><comment><USER8> Lovely website, I'm finally learning about window functions as I do this. Thanks a bunch.

One question / bug report? Q7 rejects this:

select name, weight, weight - (min(weight) over (order by weight asc rows between 1 preceding and current row) ) as weight_to_lose from cats

is that much worse than lag() or is it just non-idiomatic?

(edit: and Q10 asks about "window", but it was quite hard to google. if you could provide another one of those links to the relevant docs, that could help a bunch :D)

<comment><AUTHOR> That query looks fine to me, I'll tweak the code.

Yep I need to fix up Q10 a bit.

</comment></comment><comment><USER9> Meanwhile I'm stuck with mysql 5.4 without foreign keys, cuz, you know, performance. (The main db for a billion dollar security company)

<comment><USER10> InnoDB storage engine is available in 5.4, you don't have to use only MyISAM[1].

However, depending on your application, you may be enforcing these constraints elsewhere and not _need_ them at the engine level, even if it's a nice-to- have.

[1] [http://download.nust.na/pub6/mysql/doc/refman/5.4/en/storage...](http://download.nust.na/pub6/mysql/doc/refman/5.4/en/storage- engines.html)

<comment><USER11> I know a database that's using InnoDB tables but also has no foreign keys and, indeed, JOINs are forbidden.

(And yes, the workflow does include actions that involve multiple tables in one go.)

</comment></comment></comment><comment><USER12> I really really like this creation of yours, and I've already learned a couple things from it.

However, you really really need to be careful about SQL injection. I can see that you tried to lock it down as much as possible, as far as I can tell the account the queries are running under only has SELECT permission (no update/delete/etc). However I was still able to get some data you probably don't want me to have...

This query returns a list of all tables in your database:

SELECT c.relname||'' FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace

And this query returns a list of users and their privileges:

SELECT usename||'', usecreatedb||'', usesuper||'', usecatupd||'' FROM pg_user

I guess your name is Andy based on your HN username, but who is Rusty? :) And that's just what I've been able to get in 5 minutes of trying, let alone a determined attacker.

<comment><AUTHOR> Noted, I am currently running on the assumption that there is nothing interesting in that PG (There isn't). But yes I would like to lock that user down further it really shouldn't be able to access those things.

</comment></comment><comment><USER13> I've used a few of these and it's great to practice using more!

Q7 includes output:

      Misty   5.7  0.2
      Oscar   6.1  0.4
      Smokey  6.1  0.0

How would one show 0.4 for both Oscar and Smokey?

[http://www.windowfunctions.com/questions/7](http://www.windowfunctions.com/questions/7)

<comment><USER14> I'm not sure how you'd do this with windowing functions, but at least you can use common table expressions (WITH) to achieve what you're asking for.

The site is down right now, so I had to test using my own db instance. Column and table names might not match.

      WITH
          distinct_weights AS (
            SELECT DISTINCT weight
            FROM cats),
          weights AS (
            SELECT
              weight,
              lag(weight)
              OVER (
                ORDER BY weight ) AS lag
            FROM distinct_weights)
      SELECT
        cats.name,
        cats.weight,
        cats.weight - weights.lag
      FROM cats, weights
      WHERE cats.weight = weights.weight
      ORDER BY weight;

yields

      Any     5.5   null
      Misty   5.7   0.2
      Oscar   6.1   0.4
      Smokey  6.1   0.4

<comment><USER13> I see, it's joining with the lagged weight. Same without CTE:

      SELECT c.name, c.weight, c.weight - lw.lower_weight AS weight_to_lose
      FROM cats c
      JOIN (SELECT weight, lag(weight, 1, weight) over (order by weight)
            lower_weight FROM cats
            GROUP BY weight
            ORDER BY weight) lw ON c.weight = lw.weight
      ORDER BY weight

</comment></comment></comment><comment><AUTHOR> Author here - I'm scrolling thru the logs and it is interesting to see that on the first question lots of people try to write "select name, total_weight" despite there only being a weight column which you have to use an aggregate on to get the total weight.

I guess I need to rethink my design a little.

<comment><USER15> Quick bit of feedback: question 10 refers to the "WINDOW command" which I think should be called the "WINDOW clause" to help clueless folks (ie me) Google for it.

<comment><AUTHOR> good idea. I'll fix that.

</comment></comment></comment><comment><USER16> My feedback after answering the first question:

1\. Q0's success messages says "Group by and Having are commonly used aggregate functions". This terminology is incorrect. SUM() is an aggregate function. GROUP BY and HAVING are clauses. 2\. Without an ORDER BY clause, there's no guarantee of the order of the result, but the quiz appears to require the output rows to be in the same (in the case of Q0, undefined) order as the expected rows. While this is unlikely to spontaneously change, it's like depending on the order of an unordered hash map. As long as you're teaching people things, it's good to instill the habit of always ordering their results.

<comment><USER16> Q1: It's not apparently from the way the schema is shown whether "name" is a unique key. The suggested SQL will produce incorrect results in the case of a duplicate name as the window framing defaults to RANGE UNBOUNDED PRECEDING, so following peer rows are included in the aggregation.

<comment><AUTHOR> True. Well observed. How would you resolve this?

<comment><USER16> I'm not an expert in window functions and I don't know what's idiomatic. I think explicitly specifying ROWS UNBOUNDED PRECEDING makes it do the right thing, but as you noted regarding ORDER BY, this is making people type a lot of SQL and maybe detracting from the concept. But then, this is a problem they could easily run into in the real world.

I could see perhaps having a question that comes right after this one in which the OVER ORDER BY contains duplicates, that can be used as an opportunity to teach the "gotcha".

Alternately, if there's a guarantee of uniqueness, this can't happen.. but again it might be setting people up to try to apply what they think they learned to the real world and then finding out that their sums are wrong...

</comment></comment></comment></comment><comment><USER17> Great job!

And here is a small suggestion, you might want to change the name of output column "unique" in Q3 because.

      *expression* as unique --does work and is recommended answer
      *expression* unique --fail because of use of a restricted word
      *expression* "unique" --work because of double quote

Using a restricted word that need quotation in some context is globally discouraged and in this context can keep someone stuck independently of the problem at stack.

PS: also apply to "position" in Q4 maybe thats intentional?

<comment><AUTHOR> Good points. I'll update Q3 and look at Q4 it was not intentional to use keywords.

</comment></comment><comment><USER18> I guess window functions are advanced features, but I found it a little bit basic. Some things you could do to make it more advanced:

        * add questions about range mode
        * have questions which discuss default behavior regarding ordering and partitioning
        * Have questions which rely on things like RANGE 3 PRECEDING or other constructs

<comment><USER19> Last time I checked, PG didn't support RANGE <value> PRECEDING, only RANGE UNBOUNDED PRECEDING. The new MySQL 8.0windowing functions do, though.

</comment></comment><comment><USER20> I'm stuck on the first question. I'm not sure why this is wrong. Can anyone help me?

> select name, sum(weight) OVER (PARTITION BY name) as running_total_weight > from cats order by name

[http://www.windowfunctions.com/questions/1](http://www.windowfunctions.com/questions/1)

<comment><USER21> It's asking for a running total of all weights, so you shouldn't partition by name. Use an ORDER BY instead of PARTITION BY.

<comment><USER20> Ah, I get it. Thanks!

</comment></comment></comment><comment><USER22> Thank you for doing this.

Sidenote: either HN killed your backend or I did with a recursive CTE. If so: sorry :)

<comment><AUTHOR> No problem, just restarted it.

Its a brand new project so I may need to do some hardening.

</comment></comment><comment><USER23> Source:

[https://github.com/bootandy/window_funcs](https://github.com/bootandy/window_funcs)

</comment><comment><USER24> This is cool! How many questions long is it?

<comment><USER24> (it's 10 questions long)

</comment></comment><comment><USER25> Nice. I rarely use window functions and find them a bit arcane. This was really accessible.

</comment><comment><USER26> select version();

PostgreSQL 9.3.20 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4, 64-bi

I wonder why so old version is being used. I will be not supported by the community pretty soon.

<comment><USER26> I mean, in more recent Postgres versions, more things related to window functions are available – like CUBE, GROUPING SETS, etc. 9.3 was released back in 2013.

</comment></comment><comment><USER27> There are some big flaws in window functions I'd love to see fixed. The main one being the very limited ways in which you can refer to the 'current' row in window and filter expressions. The second being... you're almost always better off just doing all this work in code, in a programming language with dependable performance characteristics.

<comment><USER28> I don't know, I think most performance gained from pulling data out and processing it is generally an illusion. Windowing functions can have terrible performance, but that's pretty easy to determine and mitigate (indexing, multiple queries in a procedure). Pulling data down and 'doing something' with it starts getting into the world of round trips, serialization, concurrency models...

Plus there is the whole, "My report wants to use the same logic as this web form", oh it's in Java? Guess we'll just pull the data out, process it, populate a temp table, report it, clear those values....

If you have business data in SQL, just write the logic in SQL.

<comment><USER29> I generally haven't had a problem with window function performance - I was mostly using MSSQL.

That said, the single biggest performance drain I've seen is people _not_ using the database, and instead pulling data out to process in code. I don't think I've ever seen a case where it was faster to process data outside of the database - though there has also been plenty of times when the pertinent SQL to had to be written "smarter." Think in sets, not iteratively! There's a terrifying amount of loops in a lot of legacy SQL statements.

<comment><USER28> If you ever want to see some interesting thoughts on this, lookup "Toon Koppelaars thickdb". Granted he works for Oracle, but I think his point is quite well articulated.

Even if you write optimized C code, you can't tend to beat well written DB code because the IO completely overwhelms the processing time. And somewhat counterintuitively, moving processing outside the database tends to increase overall database CPU usage, because you tend to force more IO through the system.

That makes sense, since IO costs more than most cpu processing, and if you calculate in the DB Engine, you don't tend to need as much raw data out, you only need the results.

Basically I want a modern, cost effective mainframe, that uses a reasonable language for the data layer. The earlier suggestions of Python + Postgres or C# + MSSql are nearer the mark, but never quite feel first class.

<comment><USER30> Another Toon fan here. HE also co-wrote a book called Applied Mathematics for Database Professionals that is superb. It's dry, like a textbook. But the clarity and depth that they have on the underpinnings of how all this works and why it does is excellent.</comment></comment></comment></comment></comment>


Yahoo stock outperforms Google for 2010 - <AUTHOR> http://www.theatlantic.com/technology/archive/2010/12/chart-2010s-best-performing-tech-companies/68720

<comment><USER2> And yet they distributed pink slip quite leniently.

</comment><comment><USER3> ah, but did it outperform Amazon? :)</comment>


Forex Investors May Face $1B Loss as Trade Site Vanishes - <AUTHOR> http://www.bloomberg.com/news/2014-11-13/forex-investors-may-face-1-billion-loss-as-trade-site-vanishes.html <comment><USER2> So these folks have been duped, and the publication is exposing it as the scam that it is.

And then, under the article, "UK public snaps up bargains using bizarre online trick - madbid.com" and "How new iPads are selling for under £30".

I'm getting mixed messages here.

</comment><comment><USER3> This was obviously a ponzi-esque scam. That's just old fashioned financial crime. There was something that umped out at my though, now that we're in a time where we've thought about long tail or black swan risk quite a lot.

 _" Secure Investment said it offered something safer: It made trading decisions for investors and guaranteed their principal."_

Ultimately the long tail perverse incentive (I don't know if there's a name for it, but it's the same perverse incentive that performance bonuses create) is a tricky one and I think it permeates a lot of things. Say, these guys came out with a more credible claim. They guarantee 80% of your principle and target 10%-20% returns. There probably are trading strategies that produce nice results in the -20% - 20% range with a long tail risk of 100% loss.

Over twenty years, they might average over 10% returns with nice fees or bonuses (regardless of how this is set up) with an occasional cost to honoring the guarantee. One year out of twenty, they wipe out all investors and the game is up. The company takes home whatever it's made up until that point and investors lose their entire principle.

This kind of risk is difficult for us to understand. Regulation chokes on it. Investors choke on it. A 43 year old fund manager looking at his competitors' successful 17 year run is very likely to choke on it.

<comment><USER4> The biggest red flag is the fact that they claimed average returns of 1% per day non-compounded. As the article points out that is over 250% per year.

For context that is much much better than the Bernie Madoff Ponzi which claimed average returns of just above 10% over 17 years and people thought that was suspicious.

<comment><USER5> What does 'non-compounded' even mean? You can't just stop compounding from happening. Worst case you take your money out and put it back in.

Do they mean that you can't compound daily, that the 1% per day applies to compounding monthly or annually?

 _Any_ interest rate will eventually reach 1% of the original principal per day. Even a rate like 1% per year will average that much after a solid 800 years.

</comment></comment></comment><comment><USER6> And I thought MtGox was bad.

I don't want to victim blame, and I certainly feel terrible for these people, as I have been a victim of scams myself. But jeebus, I do more research into buying an iPhone case than these people did for wiring money to a foreign country.

<comment><USER4> "I thought MtGox was bad."

For context this is roughly 2 - 3x bigger than the Mt Gox loss of 850k Bitcoins.

At the same time it isn't as bad as the MF Global fraud that cost investors 1.6 billion.

</comment></comment><comment><USER7> Let me introduce the "business presentation" : [https://www.youtube.com/watch?v=fkBjbnvnrBk](https://www.youtube.com/watch?v=fkBjbnvnrBk)

<comment><USER8> Wow, that's mesmerizingly bad! That uploader has "business presentations" from many similarly obvious scams, including Empire Finance[1], Royal Fund[2], Sixa.biz[3] and Avan Fund[4]. (Note to self: don't invest in funds advertised with synthetic speech!)

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

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

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

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

<comment><AUTHOR> Relevant quote from [1]:

 _dynamic [boom] daily [boom] profit [boom]_

</comment></comment></comment><comment><USER9> All you need to know is the website claimed: _" It made trading decisions for investors and guaranteed their principal."_

<comment><USER10> Legitimate funds like that do exist. I took a look at one of the biggest banks on my country, and found five "protected principal funds" (if you can read Portuguese, it's at [http://www.bb.com.br/portalbb/page3,116,2198,1,1,1,1.bb?codi...](http://www.bb.com.br/portalbb/page3,116,2198,1,1,1,1.bb?codigoNoticia=12249&codigoMenu=1092&codigoRet=9848&bread=1_13)).

There are several caveats. According to what I read on that page, these funds use a combination of derivatives and fixed income to protect the principal. On the "risk factors" part, it says the principal cannot be guaranteed if you get out of the fund early; even if you wait until the end and get back the principal, it won't be adjusted for the inflation (6.5%/year and growing); and you always have to pay for the fund administration (1.5%/year for the fund I'm looking at).

Of course, the average return for these kinds of funds will be less than the return for funds which do not guarantee the principal. A quick search found an article ([http://www.valor.com.br/valor-investe/o-consultor- financeiro...](http://www.valor.com.br/valor-investe/o-consultor- financeiro/1040598/capital-protegido-e-bom-para-voce)) with a comparison between one of these protected capital funds and a balanced stock/fixed income fund (last graph in the article). Most of the time, the balanced fund won.

So, guaranteeing the principal is not a red flag. What should have been a red flag is the return rate: 1%/month is too high, even more it they are guaranteeing the principal (which should decrease the expected return). High return rates tend to be correlated with higher risk.

<comment><USER11> > 1%/month is too high

Yes, and they advertised 1%/ _day_

How anyone could possibly believe that I don't know

<comment><USER10> That was a typo, I meant 1%/day.

In my country, there are safe investments with guaranteed returns of over 12%/year (prefixed federal bonds). For instance, if you buy a LTN 010118 right now, it will return 13%/year (before taxes) when it expires on 2018-01-01 (the current buying price is R$ 684,17, it gives back exactly R$ 1000,00 when it expires).

Of course, that's if you don't look at the inflation. With inflation currently at 6.5%/year and rising, the true return is more like 6.5%/year before taxes, and more like 4.5%/year after the 15% tax on investment gains above 2 years. So yeah, if you do consider inflation, 1%/month is too high.

</comment></comment></comment></comment><comment><USER12> This is such common type of scam that it even has a Wikipedia article: [https://en.wikipedia.org/wiki/Foreign_exchange_fraud](https://en.wikipedia.org/wiki/Foreign_exchange_fraud)

Why do people keep falling for the same scam over and over again?

</comment><comment><USER13> This have HYIP all over its face. The website is typical HYIP scheme. People lost the money because of greed. Investing in some shady business for good returns is just wrong.

Anyone with at least a bit of sense in business would avoid this... Anyone else would lost their money anyways, in either this or other get rich fast scheme. It looks like very expensive lesson to many...

<comment><USER14> I had to look up the HYIP acronym, and yes, it looked like a ponzi-like scheme

[http://en.wikipedia.org/wiki/High- yield_investment_program](http://en.wikipedia.org/wiki/High- yield_investment_program)

</comment></comment><comment><USER15> CEO of forex trading site: Michael Sterling

Nominative determinism hits again.

<comment><USER16> white beard clearly showing experience from weathering the storms of forex market.

fat stature implies he has been fed nothing but high quality dinners at premium restaurants, a sign of success.

</comment></comment><comment><USER17> if something seems too good to be true....it probably is

Feel sorry for those who lost money, but, I can't imagine transferring money to someone making such promises

<comment><USER18> To a shady bank in Latvia, no less. This goes to show that if you dress something up the right way you can sell it to anyone.

In Spanish we say "even though the monkey dresses up in silk, it's still a monkey." But people are blinded by their own greed and can't see through the sham.

<comment><AUTHOR> > To a shady bank in Latvia, no less.

I kind of understand what you mean, but this is a little unfair to Latvia. It's a member of the EU and the eurozone, its banks are (don't laugh please) supervised, and the bank itself was very likely not shady at all. Rather, the bank's customer, which opened an account with the bank, was a shady fraudulent business.

The issue with transferring money like that is that it makes investigations harder and slower, as there are more jurisdictions in play. But I think the bank that processed the transactions was basically quite all right, unless there is specific evidence to the contrary.

<comment><USER19> _I kind of understand what you mean, but this is a little unfair to Latvia._

Completely agree, it'd be just as possible to perform such a scam with bank accounts in e.g. the UK or the US.

It doesn't take much. Here's a 16-year-old complaining about his bank's conduct after he was basically caught processing fraudulent payments via his bank account:

[http://www.theguardian.com/money/2012/jul/07/strange-bank- ac...](http://www.theguardian.com/money/2012/jul/07/strange-bank-account- money-mule)

</comment></comment></comment></comment><comment><USER20> >The site said investors had averaged net gains of 1 percent each trading day during the past five years.

How seemingly intelligent people (the guy was a doctor) read this and don't think "too good to be true" is beyond me.

</comment><comment><USER21> A screen of their website:

[http://www.domaintools.com/research/screenshot- history/secur...](http://www.domaintools.com/research/screenshot- history/secureinvestment.com/#0)

<comment><USER14> It hits all of the right buttons:

\- International phone numbers prominently displayed

\- Security certificate at the bottom

\- Success Stories with names

\- Social buttons with thousands of "likes"

\- People photos prominently displayed

and, while screenshots do not show them, there were addresses for offices in several countries

It was an extremely well-designed scam, it hits all of the points other articles on HN mention to gain trust for startups :)

</comment></comment><comment><USER22> >Because Secure had no real headquarters and existed on the Internet only, an investigation would be challenging.

This is where they lost me. How can a company involved in billions of dollars' worth of transfers be hard to trace? It's not like they can make a cash withdrawal and close down their account. Ordinarily, there is an enormous amount of official scrutiny around large international capital movements. This lack of enthusiasm in following the paper trail suggests governments are involved at some level.

<comment><USER23> That's one possible explanation. I'd like to offer another...there weren't billions of dollars.

That "fact" came from their website. Along with the P&L from their trading and the endorsements. What makes you think that the rest is fake and that bit isn't?

They probably had a few million across a dozen accounts in half a dozen countries. Well worth setting up a scam but hardly Bernie Madoff.

And even if it was more serious money, they weren't actually investing it so they only needed to keep enough around to Ponzi returns until the scrutiny got too much.

</comment></comment><comment><USER24> "1% per day average, no risk of deposit loss. "

I already thought forex trading individuals weren't the sharpest, but COME ON PEOPLE.</comment>


How to be a Programmer - <AUTHOR> http://samizdat.mines.edu/howto/HowToBeAProgrammer.html <comment><USER2> Many of these are pretty good, but on a startup-focused site, I just have to point out this:

"It then becomes your job to help the entrepreneur find a reasonable solution which is merely hard and gets most of what they wanted."

Many startups are founded by doing something impossible (Google, Apple, Akamai, YouTube, PayPal). Most of the remainder are founded by doing something useless (Twitter, Facebook, del.icio.us, Reddit, etc.) This is for very good reason. If something is neither useless nor impossible, it's quite probable that there's a big company out there that's already working on it, and they can bring more resources to bear than you can.

So if you _are_ the entrepreneur and not merely working for him, it's your job to do the impossible. And yeah, that means turning it into the merely hard and then doing it. But if you aim for "merely hard" to begin with, you'll probably end up producing a mediocre product in the end. After all, products never have quite the same glamor when they're done as when they're conceived in your head.

<comment><USER3> I think your point regarding impossible/useless ideas is very insightful, but I'd take slight exception to the word 'useless'. I think a better word would be pointless - things like twitter, reddit etc aren't useless by virtue of the fact that millions of people do use them, if however you describe what they do (and, as you point out, this is the reason that big companies wouldn't approach those sorts of ideas) then a reasonable response would perhaps be to describe them as pointless.

<comment><USER4> Perhaps "useless" from the perspective of advancing the state of the art?

<comment><USER5> > Perhaps "useless" from the perspective of advancing the state of the art?

Facebook is advancing the state of the art wrt computer systems. <http://www.stanford.edu/class/ee380/Abstracts/100505.html> (plug) is one of the things that they've released.

<comment><USER2> HipHop isn't exactly advancing the state of the art wrt computer systems. It serves FaceBook's needs very well, but source-to-source translation is already pretty well understood. There's Google's Closure Compiler (JS to tighter JS), GWT (Java to JavaScript), PyJamas (Python to JavaScript), Fog Creek's Wasabi (Visual Basic++ to PHP and Visual Basic), all the compilers that target C, and a bunch of toy or one-off production systems that serve their authors' needs but are never released.

The "state of the art in computer systems", IMNSHO, is things like Jekyll ( _bidirectional_ source-to-source transformation, where the generated C code is readable & editable and can be transformed back into Jekyll), Subtext (programming by copying & editing), Epigram (dependent types let the computer write most of the program for you, interactively), and a few other research projects that most people have never heard of.

<comment><USER5> > HipHop isn't exactly advancing the state of the art wrt computer systems.

HipHop advances the state of the art in the same way that a faster JVM does, or a new VM for that matter.

The claim was that Google was advancing the state of the art and Facebook wasn't.

If you exclude the application of known techniques to new problems or in new situations, Google hasn't advanced the state of the art, so the claim is false.

If you allow the application of known techniques to new problems or in new situations, then Google has advanced the state of the art. However, so has Facebook. (Thrift counts too.)

No, Facebook hasn't done as much, but it's younger.

<comment><USER6> Cassandra and Hive have to count for something as well.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I've been through this before and it does offer a lot of good advise but I really feel like it isn't describing how to be a programmer but just some tips for issues that programmers face. Being a programmer requires things like creativity and curiosity as well as experience with these things.

<comment><USER8> I was going to ask about whether there is any of the latter but I guess not. Too bad.

</comment></comment><comment><USER9> Just a suggestion, but it worked for me. Play games that involve scripting/programming. The more fun you make it, the more likely you'll be to remember what you've learned. You could start with WoW - learn how to create mods. What I enjoy most, though, are MUD's ( multi-user dungeons). What these are, basically, are text-based games, most of which are RPG's, played through a client. IRE has made a few games in which combat requires scripting. Being able to script in your client's chosen language ( I use Lua ) gives you a big advantage over those of the player-base who haven't learned to script. I got into this about three years ago, and I'm still learning. While it's the most fun I have gaming, it's also sparked my interest in learning to program. What's best is I find myself grasping programming much more easily because of what I've learned while MUD'ing.

<http://welcome-to-croatia.com/holiday-apartment>

<comment><USER10> Please don't try to use Hacker News for SEO. Your comment is fine, and Croatia is a lovely country, but holiday apartments in Croatia have nothing to do with either your comment or the story.

</comment></comment><comment><USER11> Its a shame this is out-of-date a bit... optimising loops by removing floating point operations? On x86/x64 its hard to remove a native float and replace it with something faster without some quality/accuracy tradeoff these days.

<comment><USER12> Fixed point arithmetic is often much faster than even native floats if you _really_ need the speed somewhere.

</comment></comment><comment><USER13> Managed to skip forward to the one section with the word "synergize" twice in one pageful, stopped reading immediately.

</comment><comment><USER14> I like the bit about doc, I am in agreeance with most of that section.</comment>


Apple's Best Kept Secret: Ad Hoc Installs for Testing Purposes - <AUTHOR> http://www.readwriteweb.com/mobile/2010/12/apple-best-kept-secret-how-to-do-ad-hoc-installs.php

<comment><USER2> Yeah this is how I do builds of Firefox Home. I have a script that is executed by Hudson when we check in new code. THe script then builds the project, makes all the .ipa, .html and .plist files, uploads them to a server and tweets a message to testers with a direct over-the-air install link.

People love it.

</comment><comment><USER3> I wrote some bash scripts a couple months ago which automates this process. When Hudson is done building, it uploads the .dSYM directory, signed .ipa, HTML for instructions and legacy zip file for pre-iOS4 users. Check out [http://www.oiledmachine.com/posts/2010/10/27/automated- ota-i...](http://www.oiledmachine.com/posts/2010/10/27/automated-ota-ios-app- distribution.html)

</comment><comment><USER4> I've been using:

[http://iosdevgoodies.joostschuur.com/ad-hoc-ota-ios-beta- app...](http://iosdevgoodies.joostschuur.com/ad-hoc-ota-ios-beta-app-updates- hockey)

<comment><USER5> Me too. Link to that project (Open Source MIT License):

<https://github.com/TheRealKerni/Hockey>

<comment><USER6> Awesome! Just downloaded it and was up and running the server and client auto- update in less than 30mins :)

I tweaked BWHockeyController to always remind of updates regardless, since I don't really want to add a settings page to my app and always want people to update (or at least get nagged!)

<comment><USER4> I did not actually setup the server before....so when we had issues with the prior install, your posted time here in HN made me confident enough to create a new cloud server and toss one up there in about < 30 minutes. Thanks man for adding to the discussion.

</comment></comment></comment></comment><comment><USER7> I built AppSendr which distributes apps via this method. So far it's proven to be very useful for a wide variety of needs. I don't know why this hasn't been more publicized.

</comment><comment><USER8> I've been using the TestFlight beta for around a month now (used iOS BetaTester prior to this).

I can't recommend them enough and will gladly pay for the service once they launch. It is very, very good.

The process used to take 10 minutes, now with TestFlight it's just 20 seconds, literally.

</comment><comment><USER9> This is great when combined with Dropbox's public folders. I recently developed an app where I pushed 40+ builds out to testers. On every bugfix or new feature, I just had to Build & Archive, save the IPA directly to Dropbox and then give it the public URL.

I stashed an HTML file in the same folder with a link to the provisioning profile (also in the public folder—when you add new devices this needs to be updated) and the IPA file. Testers could bookmark the page and grab a new version whenever they wanted (or whenever I notified them).

</comment><comment><USER10> This is one of the most helpful things I've seen posted on Hacker News all year. Thank you very much for sharing.

</comment><comment><USER11> BetaBuilder is an essential tool we've been using.

<https://github.com/HunterHillegas/iOS-BetaBuilder>

<comment><USER12> Do the UDID limitations still exist? I'd say the Enterprise license would be a workaround, but pretty sure that Apple would revoke it as an abuse of terms.

<comment><USER4> If you're using it for _actual testing_ and not _unauthorized distribution_ , get a second company account.

And yes, the UDID limitations with Adhoc certificates are all still there.

<comment><USER12> Right, one cross-platform developer (Tweetdeck, maybe) was talking about his beta and it was a hundred on iOS, and around 20k on Android.

<comment><USER4> I think if your app can be monetized while free, android is a terrific platform.

</comment></comment></comment></comment></comment><comment><USER13> I have been very very impressed with what the guys have at <http://www.testflightapp.com>

I have been using it in beta for a while now and it has never been easier to get testers updated. And their UUIDs back to me.

</comment><comment><USER6> Thanks! I didn't know this was possible. It's going save me untold amounts of time.

</comment><comment><USER14> TestFlightApp.com is really good for this, doing OTA downloads and such.

</comment><comment><USER15> AppMakr.com is a platform that helps anyone build apps and we launched over- the-air one-click install for testing back in November for our users; we call it AppDrop. You can find more info and watch a video here: <http://go.appmakr.com/appdrop>.

AppDrop and similar techniques really helps in reducing the friction of getting an app tested and made. This is a trend that more and more solution providers will jump on.

</comment><comment><USER16> There's another great way to test your mobile app before release: Android.

<comment><USER17> > There's another great way to test your mobile app before release: Android.

Although this was a bit snarky, I think it makes a good point.

This is Apple lowering (but not removing) an Apple-created hurdle. It would be nice if I could avoid the UDID hassle altogether.

I need to port to Android and see how I feel about that development experience.

kb</comment></comment>


A partial visual history of Sugru - <AUTHOR> http://sugru.com/story

<comment><USER2> I like Sugru. Have used it for several things including padding and grips on my compact digital camera. My only complaint is that it has a short-ish shelf life though from what I understand, it can be extended by refrigeration. Its also somewhat costly (if you consider the amount you get).

<comment><USER3> [I work at Sugru]

Yup, it lasts 2.5 times longer in the fridge!

<comment><USER4> what about the cost? :)

</comment></comment></comment><comment><USER5> I've used Sugru for one thing, applying a thin layer around the fraying part of my Macbook Air power cable. Wrapping it in white electrical tape never worked long-term, as the tape would eventually slide and get nasty. But the white Sugru has worked perfectly for more than a year now, without any disintegration, loss of flexibility, discoloration, or additional fraying. So at least for protecting thin cables, it works great.

PS: I wore rubber dishwashing gloves to apply it and smooth it, so it wouldn't wind up with fingerprints embedded in the texture along the whole way.

<comment><USER4> nothing like paying premium for a product because "it is designed better" and then having to redesign it :)

id have used color sugru, but then all my power cords have proper stress relieve...

</comment></comment><comment><USER6> I know I'm going to get downvoted to hell but...

Are these the beginnings of a new silicone valley?

</comment><comment><USER7> I've used Sugru for only one thing, and it has worked perfectly: apply a thin layer of it over the edges on my MBP where my wrists touch, so I don't feel like it's trying to open my veins.

</comment><comment><USER3> If you like the story, Jane's talk at 99U is also worth a watch:

[http://vimeo.com/72040407](http://vimeo.com/72040407)

<comment><USER8> Her talk at Hacker News London is also well worth a watch

[https://vimeo.com/37306611](https://vimeo.com/37306611)

</comment></comment><comment><USER9> Extremely inspiring while in the weeds of my own "10 year (hopefully) overnight success". I also really like the presentation format. Thanks for sharing.

</comment><comment><USER10> Take note of the small section regarding fixing a disabled girls wheelchair. Its wonderful.

</comment><comment><USER11> There is stuff with similar properties. Silicone or resin applied in layers. Also soldering plastic (good ventilation!) or wax.

But Sugru seems like very easy to work with.

</comment><comment><USER12> is there a forum or somewhere where i can figure out if my use case would work before i buy some?

my headphone cables always mess up around the part where they plug into a device. The wire is too bendy and the plastic part is too thick -- what ends up happening is the thin wires inside the cable bend against the plastic, and crack/break forcing me to hold the cable in awkward positions to get stereo audio.

could this actually fix it?

<comment><USER13> I've used Sugru on a few things, and yes it would fix the problem you have.

There are bits of Sugru on some Lenovo chargers where the cable pulls from the charging unit. This is precisely what you're describing and I've moulded it to still have some give (tapers away from the plastic charging unit).

And some bits on Brompton (cycle) pedals to add weight so that the pedals swing to a better starting position.

A walk around my house will reveal little bits all over, each doing a small thing and sparing me from the cost and waste of replacing larger things.

It works really well and the only complaint I would have is that it can be ugly. But more than anything that is your choice about which colour to pick and how you shape it before it sets. I now use a tool to shape it (back of a teaspoon, etc) so that my finger impressions don't live forever and make it look kinda amateur.

Works well, would definitely work on the kind of small fix you need.

<comment><USER3> If you're worried about finger impressions, dip your fingers in soapy water before moulding.

<comment><USER13> Thanks, great tip. I'll do that in future.

</comment></comment></comment></comment><comment><USER14> What a fantastic story. That's a startup I can get excited about.

</comment><comment><USER15> Wow, this looks like really cool stuff.

<comment><USER16> It is, got quite a few packs a year or so ago, down to my last one. Will be ordering more.

</comment></comment><comment><USER17> It was all in the marketing. There really isn't anything special about the actual product and it's nothing new, but man did they make it "feel gorgeous". This is definitely something to learn from.

<comment><USER18> I haven't come across any DIY formulations that can produce the same texture and properties (strength and flexibility) -- especially in gallon-size quantities (for robot parts). If it really "isn't anything special", then please share your homemade formulation(s)!

<comment><USER4> they probably wont sell it to you anyways.

few month i wanted to buy tempurkont or something from sherman willians. i did the research. i needed silicone paint or primer. they had a line of products perfect for my use. i got the info down to product number. cant remember now of course.

NONE of the stores knew about it. one of the stores took the trouble of calling some place. learned it was from the architectural branch. id have to order a minimum quantity of X gallons, x being a huge number i dont remember, and wait 2 to 3 weeks.

so, yeah, even if you learn the resin you need, though luck. they wont bother selling to you anyways.

so kudos to sugru. but shame on them for almost no tech info.

<comment><USER3> It's not easy to find, but we have a technical data sheet here: [http://sugru.com/pdfs/tds.pdf](http://sugru.com/pdfs/tds.pdf)</comment></comment></comment></comment>


Death Knell #56: Apple's Closed System Doomed to Die | The Mac Observer - <AUTHOR> http://www.macobserver.com/tmo/article/death_knell_56_apples_closed_system_doomed_to_die/ <comment><USER2> Such a pointless article. Saying that "Apple's closed system is doomed to die" is not the same as saying that Apple is doomed to die. If Apple absolutely refuses to ever adjust to market demands, technology improvements and changes in culture, then they'd be doomed to die. I think Apple has proven they havea damn good track record of showing flexibility when needed. They run a closed system right now because THEY CAN. The consumers are happy with what they provide and we're all greedily gobbling up what they're selling. When the market starts demanding an open system, I'd be willing to bet Apple will be there supporting that.

Why is it your MacBook Pro runs on an Intel chip and can run Windows7 natively now? 10-15 years ago this was unthinkable. The market demanded some level of compatibility and Apple met the demand.</comment>


Context2, flame chart creator, goes open source - <AUTHOR> https://github.com/shish/context2

<comment><AUTHOR> And version 1, if anyone wants to compare the nearly 1:1 python version - [https://github.com/shish/context](https://github.com/shish/context)</comment>


Uber drivers entitled to UK minimum wage, London tribunal rules - <AUTHOR> http://www.theregister.co.uk/2016/10/28/uber_drivers_not_selfemployed_london_tribunal_rules/ <comment><USER2> So pay them minimum wage and not a penny more.

Oh right, they want to have their cake and eat it too. Good thing automation is going to make these fools homeless soon, they certainly deserve it.</comment>


Ask HN: Would you prefer to live without cars? - <AUTHOR> For a long time I've preferred places where you don't need to drive much. As I've gotten older, and especially since having kids, this preference has gotten a lot stronger. Even though we live in a very walkable place, I feel my children are greatly limited by the danger of cars all around. And loading / unloading our car with the kids is a huge PITA, so much that it causes my wife and I not to bother with the kind of short driving trips we used to commonly take.
I find that I very much wish there was a place I could live in the western / southwestern US where cars were entirely banned, so that it would be safe for me and my kids to get around everywhere via waking or biking. Crucially I would like my kids to be able to run / scoot / bike / whatever safely without adult supervision.
I find myself thinking about this more and more, and I ask this question because I'm curious to get an anecdotal "sniff test" from the HN crowd. Am I alone in this? Are there a few of you who think similarly, or a lot? Is there and unserved market out there of people who'd like to live in a totally different kind of development, or am I the crazy outlier?
Cheers :) <comment><USER2> You're only the crazy outlier because our entire infrastructure has been _re-_ designed around having a car first and foremost. Except The Netherlands. That affects everything else - how things are built, spaced, run down of public transport, footpaths get the long way round, road gets the direct route to shop door, housing areas no longer have many (or any) local shops, services or expectation to add a rail station or bus route to the new houses.

Look back to history and most shops and milk used to deliver, or have a round that brought the green grocery, or whatever to you in a suitably kitted out van. Losing those means yet another push to individualise delivery to you in the car.

I can only hope we find a middle ground that's people first, but I suspect vested interests and big business will win, as always. FWIW We mostly do live without the car, but once every week or two there's a trip that's unavoidable. My ideal commute is 30 mins or so each way, on foot or bicycle.

</comment><comment><USER3> Some places in the world are set up in such way that you are much better off _without_ having to drive or park a car.

Paris is such a place, pretty much nowhere in central Paris is more than one or two hundred metres/yards from a Metro. Also most apartments have no provision for garages, and many streets are too narrow for parking.

Several times I have rented an apartment in Paris, and deliberately not rented/leased a car. It's just more convenient to walk a few hundred metres or take the Metro.

</comment><comment><USER4> Yes, absolutely, 100% I'd prefer that. I live in a pedestrian city, without a car (which is inconvenient maybe once a year, tops), and the behavior of people in cars is one of my biggest gripes.

</comment><comment><USER5> I've lived without a car for more than a decade. I'm not specifically looking for a place that bans cars, but I would certainly like to see a more people- centric, less car-centric US.

</comment><comment><USER6> In the majority of present society, a car is literally time.

Yes you can have modern integrated cities with jobs and housing within walking distance, but how many people can take advantage of them?

Maybe the rise of telecommuting / telepresence will increase the number of people.

</comment><comment><USER7> Deregulate residential development so developers can impose non car ownership by contract. I assume bulky goods and garbage will be moved by trucks?</comment>


Why Is Payroll Hard - <AUTHOR> http://wiki.c2.com/?WhyIsPayrollHard <comment><USER2> I go to their homepage and it's a simple HTML page.

This link won't load anything without js.</comment>


A Demo From 1990 of Disney Animation Software on the Amiga - <AUTHOR> http://www.youtube.com/watch?v=qSeYivHZpB8

<comment><USER2> The Amiga was really ahead of its times. It came out in 1995 (just a year after the first Mac) and it already had preemptive multitasking, custom audio and video coprocessors (with 16m colors, stereo sound) etc.

I still have my Amiga 1200 (although my first one was an A500).

<comment><USER3> High five!

I still have two A500+ machines, one of which has a 42MB external HD with this program on it. :)

I did a 192-frame, full-color animation in DPIV back around 1996. Took me five days to finish. Still trying to figure out how to migrate it to my XP box.

</comment></comment><comment><USER4> I'm struck by how incredibly simple the software looks. It's admittedly a very unfair comparison, but when I compare the UI and ease of use in that demo to something like Blender, it does make me wonder if graphics software has fallen off in usability over the years as more and more "stuff" gets shoved into it.

<comment><USER2> You're comparing a simple 2d traditional (cel) animation software with a full blown 3d modeling/rendering/video editing/game engine suite.

</comment></comment><comment><USER5> A lovely piece of software and some lovely moustaches there.

I wonder if anything creative came out of that software or is it all sitting lost on a floppy disc somewhere?

Is there any modern equivalent to that software?

<comment><USER2> <http://www.pencil-animation.org/>

<comment><AUTHOR> Thanks so much for that link and I thought I was stuck with Synfig.</comment></comment></comment>