hacker news with inline top comments    .. more ..    2 Sep 2014 News
home   ask   best   5 years ago   
Failing the startup game Unbabel (YC/2014)
150 points by andreasgonewild  3 hours ago   31 comments top 16
linker3000 32 minutes ago 0 replies      
I feel for you too. It wasn't a startup and the job was local, but I took a salary drop and swapped a cosy-but-unrewarding role with a global corporate to join a 40-strong SaaS development company that wanted someone to come in and sort out their internal and customer support infrastructure - they had no strategy, procedures or hierarchy and were constantly firefighting - shuffling resources between projects according to which customer complained the loudest.

It became clear very quickly that the two founders who brought me in wouldn't embrace any change that didn't come from them, and they had a total fear of empowering anyone else to make executive decisions - even about their own team members; I constantly found my guys being assigned to firefighting for other teams without my knowledge, so workload planning and scheduling knowledge sharing periods was impossible - we had information silos all over the place and if someone went on vacation they would often be called or emailed frequently because they were the only ones who knew about a specific part of a project or system. I wasn't allowed to attend support review meetings with the customers - the Directors went alone and told me what had been agreed, and they constantly dealt directly with one of my guys (the company 'guru'), assigning him work and making it impossible for me to grab his time so he could share his skills with the rest of the team - I highlighted it as a serious business risk that this guy was the only person who knew some of the tricks with some of our internal and customer infrastructures, and that he wasn't encouraged to document or share his knowledge, but they dismissed my concerns.

When we had that Friday afternoon talk after 9 months of trying to bring in some best practices and semblance of organisation, I left the office for the last time with a sense of great relief that I was out of the clusterfuck.

It only took me a few weeks to find a much better role and I hope things work out for you too.

Edit: Looking back at what I wrote, it might be that the OPs circumstances just offered the opportunity for a bit of a personal rant, which was not the intention - so apologies for any unintentional threadjack. My main point was based on the fact (not covered at all by me in my original post - my bad) that when I met the two Directors (twice), prior to joining, the setup and opportunity for me looked very positive, and I was convinced I was going to be empowered to fulfil the role.

Things turned out very differently, and I clearly did not fit in with the company culture the founders wanted to both leave and stick with simultaneously (it was their comfort zone, and although they knew is was not the best way to run a business, they ultimately couldn't leave it). Moral: Shit happens, despite due dilligence, but that doesn't soften the blow

malanj 39 minutes ago 3 replies      
It seems that given Andreas' move to join the startup - if his explanation is accurate and complete - the level of responsibility of the founders does increase. I've been a founder asking people to move before and I've always felt that it adds a significant extra responsibility. You need to be quite a lot more certain it'll be a good fit before asking someone to move to join your company.

In my mind "culture fit" is the responsibility of the founder. If you're recruiting someone, you need to make the call if they fit into your culture. You can't really blame the person you're recruiting for not fitting in. You can (and should) fire them if they're not a fit, but it's still your hiring mistake, and you need to take the responsibility for it.

If a mudslinging contest can somehow be avoided, it'll be great to have a response from the Unbabel founders. There are probably some good lessons for both coders and founders here.

onion2k 51 minutes ago 2 replies      
A really big problem for startups lies in attracting high quality coding talent. There aren't many experienced developers who're in a position to take the necessary risk joining a startup and working for a reduced income for a while. Consequently any startup that screws over a developer isn't just hurting their own rep, but they're damaging the chance of success of every other startup by reducing the size of the talent pool.

Whether or not Unbabel did something wrong here is a matter of speculation without more details, but there's still a lesson in it for every startup founder - developers are necessary and important to your success so being nice (especially if the relationship isn't going well) is a Good Idea.

BSousa 1 hour ago 0 replies      
I feel sorry for you, I really do!

Not knowing the details of your contract I can't say for sure, but with the recent changes in employment law in Portugal, I think legally (not ethically) they maybe in the right. I can put you in contact with a lawyer that specialises in this kind of situations, but honestly, for 1.5 months salary, it isn't probably worth it for you (justice system in PT is very very slow, though they do tend to stick with the employee in these situations, even when the law isn't on their side).

If you don't mind me asking, what made you move from Sweden to Portugal to work at this startup? Was it Portugal that attracted you? Knowing the salaries and economic situation of the country, specially compared to Sweden, it confuses me a bit why you would do it, but if it is Portugal as a country that interests you, shoot me an email, I maybe able to help you out.

Best of luck

ransom1538 12 minutes ago 0 replies      
Ok. I have been hacking in startups for 10 years or so. A few rules to note. 1) Startups almost always fail. Pretty much assume at any point you can be let go for any reason. If you can't afford to blow 3 months of salary and be paid in "promise" - don't do it. 2) Startups are not for everyone. Enjoy good code? Like a peaceful atmosphere? Need comments? Love structure and strategy? Welp - you will fail at a startup. In my 10 years: startups are trench warfare with company ending deadlines. As an exercise: Try borrowing money from your best friend and not paying it back. 3) Legal. You are going to sue a former employer? What a great way of ruining your future. Future employers will avoid you like the plague. Try starting a board meeting with: "Our newest employee is in a legal battle with their former employer...".
kfk 24 minutes ago 1 reply      
I see a clear lack of management, communication and leadership skills here. For how meaningless those words might seem here on HN, it really shows when startup founders do not have them. And it's not even a culture fit issue, dealing with people that are not a 100% fit is part of the challenge of managing a business.
morgante 27 minutes ago 0 replies      
If you read between the lines, it seems like this job definitely wasn't the right fit. Hence, they were probably in the right for letting you go.

But they're definitely in the wrong for how they handled it. In particular, knowing that you moved to Portugal for the job, they should have given you severance sufficient to cover relocation back to Sweden.

god_bless_texas 56 minutes ago 0 replies      
I'm sure there are two sides to every story, but you can guarantee that if they did this to you they'll do it to someone else. I'm consistently amazed by people and companies who operate without integrity. I think about Paul Graham talking about startup founder factors as people who break the rules. I'm fairly certain this is not what he's talking about.
jacquesm 38 minutes ago 0 replies      
There is a 60 day period in which you can be let go without further notice ('trial period') so legally they are in the right, but morally, after letting you move from one country to another and without in any way assisting you in cushioning the blow they are jerks (assuming this one-sided view is the unvarnished truth).

But better that you are out of there now than a year down the line, if they are like this then that saved you a bunch of time and a lot more hardship.

purpleD 29 minutes ago 0 replies      
When I was a few years out of school I went to my second job and inherited a huge code base with 4000 line java files, no tests, no one who worked on the code still around, etc, at a big non-tech company. I was young and stupid to think I was a bad programmer that I couldn't fix it all in a few weeks by myself.

I know it's in the past now, but try to avoid situations like this. If you can't, talk to your boss about what can reasonably be done in what time frame. Now I would try to figure out which parts can realistically be refactored and which can be isolated and rewritten iteratively make things better. I wouldn't take on new features unless I was confident I could deliver with spaghetti around.

pkorzeniewski 11 minutes ago 1 reply      
That's why I'm very suspicious when it comes to stories about "wonderful work environment" at startups. I'm sure there are quite few startups where people really like to work, but I've a feeling most startups are chaotic, unorganised and ego-driven by the founders. To me it's the extreme opposite of big corporations, where everything is over-managed and run by well-defined processes, whicih may be sometimes irritaing, but at least you (usually) know what you're standing on.
ehurrell 1 hour ago 0 replies      
I have to say I admire your courage in writing this. I've been put in a not dissimilar situation in the recent past. I said nothing. I'm hoping one day the situation will resolve itself, but I doubt it, and I suffered a lot for it. Thankfully I'm out of immediate danger now.

I hope this leads to a positive conclusion for you, as I have a lot of respect for the difficulty of startup life, but none for those who behave dishonestly rather than face the consequences of their actions.

andystannard 42 minutes ago 1 reply      
Hi I think they are legally able to do this from my understanding of EU law. It sucks especially if you have had to relocate for the job but you obviously were not enjoying working for them. It sounds as if the lead dev might be feeling overprotective of his own work and does not want to let go.

I am sure you will find another job easily enough as good devs are in demand. Hopefully at a place where you are valued and can contribute your skills

troels 54 minutes ago 0 replies      
After one month of insanity and abuse I was called to a Friday afternoon meeting with the founders. They told me that they felt that we had a difference in style and that they didn't want me to work there anymore. Just like that, no further explanation.

A bit curd perhaps, but following the rest of the story I suppose it makes sense? This sounds very much like a culture misfit to me.

(To be clear: I am not passing any judgement on the handling of the matter here. Or on who to blame on the misfitting)

TomGullen 41 minutes ago 0 replies      
Now we wait and see how skilled they are at an apologising. (If true).
homakov 54 minutes ago 1 reply      
37 old Java professional from Sweden spends all of his savings in two months? You have 5 kids or something?
15 points by galapago  26 minutes ago   discuss
HTTP/2 interop pains
92 points by robin_reala  4 hours ago   13 comments top 2
skrebbel 3 hours ago 5 replies      
Is this a mistake or Google trying to force the standards process in their favour? Users seem to be blaming Firefox, not Google.
pedrox 2 hours ago 2 replies      
Does it work on Chrome (nightly or with that support enabled)?Does anybody disagree that this is a no brainer for Mozilla: they should work that around ASAP (with a HTTP/2 blacklist for example). The impact is so high and it affects too many users.Also note that Google in its deepest feelings wants FF down so this may by even intentional since people will always blame the client.
Uber ordered to halt transportation services in Germany
131 points by sschueller  6 hours ago   257 comments top 18
noelwelsh 3 hours ago 6 replies      
Against my better judgement I'm going to attempt to contribute to this thread. There are good arguments on both sides but most people are talking past one another. As I see it, it comes down to this:

Uber says there is a surplus, people driving cars with empty seats, and they attempt to capture that surplus. From an economic point-of-view that is a good argument. The surplus undeniably exists, and it would be beneficial to reduce it.

The argument on the other side is that this is an issue of public policy. Various countries have decided it is beneficial to legislate people driving strangers in exchange for money. The general arguments are ones of safety, but quality of service also comes into it. Again this is a reasonable argument. There is an information asymmetry when hiring a taxi (I don't know what kind of driver I'm going to get) so legislation reduces that.

The main point seems to be who gets to decide public policy? Uber and "Silicon Valley" types believe that private individuals and companies should be allowed to set public policy. Most others reject this.

The next argument is whether current legislation is appropriate and whether Uber has sufficient features to make existing legislation unnecessary. E.g. are ratings and ubiquitous GPS sufficient to reduce information asymmetry. If Uber wants to engage in this argument it should use the usual methods of setting public policy. I don't know if Uber has started any court cases but I expect they will be involved in some soon if not already, and this is one way to effect public policy.

jacquesm 5 hours ago 4 replies      
The court order is here:


It's (obviously) in German.

The fines are 250K per violation, Uber has already announced they will fight this.

Uber is looking for a communications lead in Germany: https://www.uber.com/jobs/18835 , they'll definitely be needing that and more.

Deutsche Welle has it here (in English):


edit: thanks!

einrealist 1 hour ago 2 replies      
I use Taxis several times a week (in Germany). A lot of the drivers are already complaining about their income. Most of them are below the minimum wage, which will come in 2015. And a lot expect their company to shut down business. When I ask them about their opinion about Uber, many of the drivers speak positively about such an alternative. It would allow them to work without the need of a concession and to keep more money of the margin. But they also demand the same standards for such an alternative.

I prefer the Taxi (and my employer would not allow Uber in the first place), because of insurance and other minimum standards demanded by regulation (federal, country and town (via concessions)).

So I see a conflict, that is not just about Uber, but about the working conditions and the income in general. If Uber is allowed to work at lower limitations than the Taxi businesses, it will be a distortion of competition. It would make more Taxi companies to go out of business, which already struggle to keep their business and to pay their employes wages above the minimum (today and 2015).

So yes! Uber drivers must maintain the same standards as Taxi businesses, if they offer a commercial service.

Xylakant 4 hours ago 0 replies      
> Uber plans to appeal the decision and said it would continue offering its services until a final ruling has been made.

I'm curious how they'll do that. They already said that in the Hamburg and Berlin case, but those were administrative decisions where an appeal blocks the injunction until a court decides. This time it's a preliminary injunction from a court, where an appeal has no delaying effect. The injunction can be enforced. The fines are also much much higher - in Hamburg it was a measly 1000 EUR per violation, this time it's 250 kEUR per violation or up to 6 month in prison for the CEO.

ChuckFrank 4 hours ago 1 reply      
The irony of this, with regards to their brand name, is delicious.
steilpass 50 minutes ago 0 replies      
Has someone looked at the scope of the German law?


>Diesem Gesetz unterliegen nicht Befrderungen 1. mit Personenkraftwagen, wenn diese unentgeltlich sind oder das Gesamtentgelt die Betriebskosten der Fahrt nicht bersteigt;

=> As long as the total fare is below the actual costs the law is not applicable.

It seems if Uber operates at a loss they are fine. ;-)

crapshoot101 4 hours ago 0 replies      
Interesting, took an uber in Berlin about 3 days ago. The options here are much more limited (its UberPop, instead of UberX), and the driver coverage is smaller (my friend recognized the driver as being the same one he had seen a month ago). Cabs are relatively easy to get here and so cheap, haven't felt the need to really fire up Uber much at all for the most part - ie, it was raining last night, and found a cab in 1 min.
cromwellian 2 hours ago 1 reply      
I really wonder how much of this is protectionism for Taxis, and how much of it is protectionism against foreign companies. I don't have any particular love for Uber (the way they waste Lyft resources makes them d-bags in my book), but I don't buy the 'safety' excuse being given.

It reminds me of the bullshit safety concerns used to continue Oregon's ban on pumping your own gas at gas stations: http://www.oregonlive.com/opinion/index.ssf/2014/06/its_for_...

The reality is, it's a form of protectionism for gas station attendant jobs, just as this German decision smells like regulatory capture. My guess is that if Uber changed policy to actually meet whatever requirements safety they're asking, they'd devise a new set of excuses for the ban, because this is ultimately about preserving the status quo.

oskarth 4 hours ago 10 replies      
I live in Berlin and this is extremely disappointing. I'm beginning to doubt European cities in general have any clue what makes startups in US work. Here's what pg tweeted when there were protests in London:

Lots of cities say they want to be the Silicon Valley of Europe. Uber tests whether they mean it. (https://twitter.com/paulg/status/477428094530121728)

Talk all you want about Uber being evil, predatory and not really the One True Sharing Economy - this right here is why Europe won't catch up to US in terms of startups, despite all the nice talk about being friendly to them.

jfoster 2 hours ago 1 reply      
"Violations of the injunction will result in a fine against Uber of 250,000 euros ($328,108) per ride. Uber plans to appeal the decision and said it would continue offering its services until a final ruling has been made."

Is that an error in judgement on Uber's part? Perhaps they'll settle or get the fine reduced if they remain unsuccessful, but with a fine like that per ride, there is a slim possibility that defying the order could send them out of business, isn't there?

Roritharr 1 hour ago 0 replies      
Living in Frankfurt, I still see Uber Pop Drivers in the Uber App. Doesn't know what that means tho.
throwawayaway 44 minutes ago 0 replies      
Deutschland uber Uber!
blackdogie 4 hours ago 0 replies      
Just checked Munich, and no black cars are displaying but Uber Pop's are. I wonder how much notice you would get about such an action.

image : https://twitter.com/paulsavage/status/506714057609867264

jasonisalive 3 hours ago 1 reply      
Banning Uber (or upholding laws that restrict market-entrants such as Uber) is just another example of banning "Walmart Scotch."

Recommended: http://theumlaut.com/2014/04/30/how-net-neutrality-hurts-the...

charlie_vill 4 hours ago 1 reply      
'Uber of 250,000 euros ($328,108) per ride'. I don't think this is accurate.
wellboy 3 hours ago 1 reply      
Anyone knows why Uber has to pay 250k fines and all the other German taxi apps, such as MyTaxi that have raised $10M, don't?
duncan_bayne 6 hours ago 11 replies      
To quote Rand:

"There is no way to legislate competition; there are no standards by which one could define who should compete with whom, how many competitors should exist in any given field, what should be their relative strength or their so-called relevant markets, what prices they should charge, what methods of competition are fair or unfair. None of these can be answered, because these precisely are the questions that can be answered only by the mechanism of a free market."

High-Performance Packet Filtering with Pflua
20 points by fafner  2 hours ago   discuss
How a new HTML element will make the Web faster
191 points by wfjackson  9 hours ago   87 comments top 20
xenomachina 6 hours ago 0 replies      
This element reminds me of the ill-fated FIG element (https://www.cmrr.umn.edu/~strupp/elements.html#FIG) which was proposed in HTML 3.x, but never made it in. (I think it was replaced by EMBED which then transmogrified into OBJECT).

FIG was intended to be an alternative to IMG, and unlike IMG it wasn't self-closing. It could have children, and the way it was supposed to work was that the outermost one the browser thought was "good enough" would get rendered. One possible usage at the time was to have a png in your outer FIG, a gif on the next one in (png was new at the time, so not well supported), then an IMG for browsers that didn't understand FIG. Once FIG was well supported then you'd leave out the IMG, and instead just have the "alt" text -- except it could have real markup instead of just the plain text of the alt attribute.

ardemue 7 hours ago 2 replies      
For the technical side, instead of the historical one: http://responsiveimages.org/

An example from the homepage:

  <picture>    <source media="(min-width: 40em)" srcset="big.jpg 1x, big-hd.jpg 2x">    <source srcset="small.jpg 1x, small-hd.jpg 2x">    <img src="fallback.jpg" alt="">  </picture>

Illniyar 8 hours ago 4 replies      
This is a bit of a linkbait. There are maybe two lines on how the new "picture" element makes the web faster.

The rest is the story of how the "picture" element came to be, which is a very interesting story but has nothing to do with how it'll make the web faster.

latch 8 hours ago 3 replies      
Recently, a HN job post brought me to a career page. It served up a 1MB css file, a 650K [mostly red] png image, and a 300K black and white png.

I don't know whether it's incompetence or indifference, but for most sites, slow loads is a developer, not a tool or design, issue.

TheAceOfHearts 8 hours ago 1 reply      
tl;dr: <picture> tag. It contains an <img> tag inside for backwards compatibility, and allows you to define multiple <source> tags for different sizes.
thomasfoster96 6 hours ago 0 replies      
I think <picture> will (hopefully) ultimately win out because it quite nicely makes all the main three forms of embedded media (pictures, video and audio) work pretty much the same way. Plus, if only use of <figure> and <figcaption> was a bit more widespread...

Either way, the article makes it pretty clear that the current method for drafting and implementing standards for the web is not working brilliantly (having both W3C and WHATWG around exemplifies this).

igl 1 hour ago 0 replies      
Someone from the HTML standard body is going to make the web better? Riiiiiiight...
bambax 8 hours ago 2 replies      
There are many browsers out there, not just Chrome and Firefox, esp. on mobile. Android Chrome is fairly out of sync with desktop Chrome. Kindle devices use their own browser and won't let you install another one, etc. Plus, mobile users update their apps or their OS rarely, if ever.

Shouldn't the solution come from the server side? You can serve different image sizes to different devices, whereas if you need the browser to do the work you'll wait forever.

There is even a simpler solution, which is to use just one image of average-to-small size, and size it in the page dynamically. If the image is of good quality in the first place (noise free), most users won't notice.

superzamp 5 hours ago 2 replies      
For people interested in on the fly image processing, there's a nice article here http://abhishek-tiwari.com/post/responsive-image-as-service-...
NicoJuicy 6 hours ago 1 reply      
To resize images, i create a cookie with javascript that gives the browsers current width and height. (mostly for full image front pages -> the function for choosing the image width is based on bootstrap)

When i read the title, i thought media-queries would get the functionality to load external stylesheets, which seems like a better option to me (especially if css could fill the img src, then stylesheets reduce in size, but also images. Only this option uses to much back-and-fort communication. Perhaps a default naming would be appropriate (eg. img-1024.jpg => for browsers with a max-width of 1024 px, same could be used with stylesheets). Even a syntax like <img src="small.jpg" srcset="large.jpg 1024w, medium.jpg 640w"> could be used.

PS. If you downvote me, at least do it with the decency of giving arguments...

c23gooey 6 hours ago 1 reply      

This probably wont be used on any major sites for the time being, considering the devices that the element has been designed for dont support it.

hrjet 8 hours ago 1 reply      
Why stop at images only? A more general solution using CSS-like media queries would be much preferable; with a general solution it would be possible to serve all sorts of assets (CSS, JS, Images, Video, etc) tailored to the display device and network connection.
ptbello 5 hours ago 0 replies      
I found this article on the subject to be more informative and useful:


ethana 5 hours ago 0 replies      
I think this should just be a server side issue. Querying for images with size information and the server spit out lower res images on the fly. This way, the web design guys have less to do when creating graphics assets for a site.
aianus 7 hours ago 3 replies      
This doesn't seem too useful in the first world anymore now that we have 4G connections and higher resolution screens on our phones than our desktops.
jbb555 5 hours ago 3 replies      
Ah, it might make the web faster on mobile. Not very interesting.
swehner 7 hours ago 0 replies      
If mobile browsers struggle to download images, change the mobile browsers. Let the browser wait for some javascript to manipulate the src's ...
blencdr 6 hours ago 0 replies      
I don't understand why so much question as this problem should be easily solved with wavelet type images (jpeg2000 for instance).

the low resolution devices could load the first bytes of the image and the high resolution one the full image.

sixQuarks 6 hours ago 1 reply      
I think the current mobile browser is long overdue for disruption. In 10 years, I can see us looking back and chuckling at the fact that we had such tiny spaces for all the information we interact with.

Virtual reality should bring inexpensive, full-peripheral "monitors" that we can interact with naturally, anywhere. No more having to bend over backwards to fit all our info on mobile devices.

ihsanyounes90 7 hours ago 0 replies      
I knew about this tag 2 months ago, when I was Implementing a responsive website. I came accross the picture element but Unfortunatlly, most of modern browser is not supporting it yet. So I decided to do it via javascript.So I don't see the "news" here, I thought the article was about a compression algoritm or somthing, but nothing special.
Lost Lessons from 8-Bit BASIC
67 points by ingve  7 hours ago   29 comments top 16
laumars 4 minutes ago 0 replies      
I think the article misses the point a little bit. The IDE facets that the author fondly remembers isn't part of the BASIC programming language, it's part of the command shell. It's loosely akin to your terminal emulator running Bash. By default it works in real time but you can write more complicated routines programmatically and then run them at your convenience; and you can do so from the shell prompt (either via aliases, shell functions or just echo'ing to a shell script in a similar fashion as his line numbered example).

Plus a lot of his complaints seem to be about the modularisation of modern languages - which seem an odd complaint to make in my opinion. If anything, I'd personally argue that things like importable, self-contained, chunks of code is one of the single greatest advances.

He definitely has a point that the barrier for entry these days is much higher (and this is probably why so many kids these days fall into web development over native applications) but I think the examples he's used don't justify the conclusion he's trying to draw. And neither do I agree that regressing to a BASIC-like environment would fix the problem. I think the problem is simply expectation - people expect so much more that there often isn't the patience to start with the basics. Plus the "code me!" vs the "consume me!" mindset raised by chx[1] erodes what little patience some might have.

That's my 2c worth anyway

[1] https://news.ycombinator.com/item?id=8256211

chx 5 hours ago 6 replies      
There is one more important thing here: the 8 bit computer immediately invited you to start coding. The barrier to entry was incredibly low to the point of nonexistent. Compare this to a laptop today or even worse a tablet.

I very strongly believe that perpetuating a "code me!" mindset vs the "consume me!" mindset has really big consequences. The ability to make your computer do something that you can do something with, that the kind of game you bought with your computer is something you could attain as well (which is not necessarily true -- some of those games were incredible feats of programming but still the illusion was there) is completely, absolutely missing today.

And the consequence is: you get (at least the illusion of) the possibility that you yourself can create something that is easily spread worldwide. The HN readers will argue the huge audience of tablets makes up for this but the problem is -- most people will never even think they can do it. That's the problem: did your iPad came with a manual for a programming language? I didn't think so.

Prorgam or be programmed. http://www.rushkoff.com/program-or-be-programmed/

Kids Can't Use Computers http://coding2learn.org/blog/2013/07/29/kids-cant-use-comput... I know there is a lot of controversy about this article but it does have valid points.)

Aardwolf 13 minutes ago 0 replies      
I know it's not exactly the same, but, open the Javascript developer console in a browser, and you have a somewhat similar capabilities at your fingertips. You can alter your whole environment if you consider the particular webpage you're visiting to be your whole environment. You don't need to do much more special for "cos" there either, just type Math.cos(2) / 2.

And if you're using Linux, it's easy to be welcomed by the bash prompt of course (and I hear Mac uses a Unix terminal too now these days).

tragomaskhalos 1 hour ago 0 replies      
As a ZX Spectrum veteran the only things I really missed - in the sense that they made my bigger programs unwieldy - were precisely those cited in the first paragraph, viz calling subroutines by name rather than line number, and parameter passing. Oh yes and an Else statement. Of course those snooty BBC Micro kids had all that IIRC.

The Spectrum community was fantastic in those days - in addition to a plethora of magazines there was the "ZX Spectrum ROM disassembly" (which I still possess) that gave an annotated listing of the whole 16K ROM; basic interpreter, fp calculator, cassette tape routines, the lot; an absolute goldmine.

So an entire ecosystem that basically screamed "program me!". A beautiful time.

Turing_Machine 23 minutes ago 0 replies      
Hmm.... the JavaScript console in modern browsers like Chrome and Firefox is probably the closest thing we have to the old 8 bit BASICs. It's always on, and available at the click of a mouse.

It's not as directly "in your face" as the BASIC was, of course, but it's there.

narag 10 minutes ago 0 replies      
How did IDEs go so wrong?

I'd say it's a retorical question, but the IDEs part makes me doubt. Programming is no more inmediate, graphics are difficult. All that.

jacquesm 4 hours ago 2 replies      
To me a huge loss from that time is that you could still completely understand what your computer was doing and what the software running on it was. Bloat has solidly killed that possibility, you could not even understand all the code on your phone these days if you wanted to, let alone your desktop machine.
tim333 37 minutes ago 0 replies      
I kind of miss BASIC. One of the good things in those days was that printing a few lines or drawing a graph was about the limits of what the computer could do so it seemed cool. You can now run BASIC in a javascript interpreter in your browser (http://www.calormen.com/jsbasic/) but it's not cool anymore. I'd guess the nearest equivalent of something simple to learn that you can impress your mates with these days would be javascript - then you can make apps, funny effects on webpages and BASIC interpreters if you get good at it.
user_id3 22 minutes ago 0 replies      
I think the important message here is that simple programming has long been the niche of hobbyists and entrepreneurs, it's about time that we cornered this market and commoditized it. It should be really easy since it's small and unimportant.
Zardoz84 5 hours ago 0 replies      
I remember when I used my ZX Spectrum to study multiplication tables with a program that I made on Basic that show me the tables and then ask me random multiplications of a table. Funny times...
derekp7 54 minutes ago 0 replies      
What this article boils down to is two things: 1) Computers used to have a built-in language that would be immediately available, and 2) that language had a REPL.

If you wanted to get the same experience in any REPL without line numbers (and with Lambdas), you could say:

    mainprog = lambda{some lines of code};    exec mainprog;
instead of:

    10 line 1 of code    20 line 2 of code    RUN
In the case of BASIC, prefixing a line number is a shortcut for saying "variable LINE-XX = lambda{some code}". Now we just need to get computers to come up with a standardized REPL readily available at boot time. Maybe if web browsers started to default to having a Javascript console prominently displayed at all times.

lmm 4 hours ago 0 replies      
This has something of the Smalltalk image-based approach (and the author might enjoy using a Smalltalk development environment). IMO the costs outweigh the gains - it's worth decoupling programming a computer from using it. When source code is just text files, you can manipulate it with lots of powerful tools; even better, you can use tools from different languages whose authors never talked to each other. When the shell and the compiler are just user-mode programs, they can iterate much faster, and you can choose one that suits your style. You can use the same program for both, if you really want to - for a few weeks I used tclsh as my login shell - but it turns out the tools you need for programming are quite different from those for general computer use. Division of labour is ultimately a good thing, even if it means less of the population has any specific skillset.
xxs 3 hours ago 0 replies      
I started with BASIC when I was 6. That thing had built-in calculator with parenthesis(and calculators were not that common in the early 80s). So it was totally fascinating.Of course I never realized there could be anything but global variables and the GOTO was considered bad style.

It was possible to code a small program that draws on the screen (with ijkm [ijkl])in several minutes. Fun times indeed, but I am not sure it's applicable to the young kids any more.

McUsr 3 hours ago 1 reply      
If you are on a mac, then you can really do all this with Apple Script, which also is a bit small talk alike, and that by Maverick, can let you create libraries quite easy.

I use it a lot as a calculator, when I don't use it for autmating the UI. It is great, IMO, the best thing about a Mac.

fit2rule 3 hours ago 0 replies      
I've still got all my machines from that era. They still work, they're still highly entertaining, and very, very useful. My kids (6 and 4 yrs) are learning to read, write, spell .. and do math .. with the same machines I used when I was 13.

This just points out, to me, how arbitrary technology really is. All the energy into building that C64 is wasted if the thing ends up on the trash heap .. but dust it off today and someone, somewhere, will still find a use for it.

    "Where did the IDE go wrong?"
I think where things went wrong is the disassociation of 'developer' from 'user' that happened as a consequence of marketing-grads getting involved in the business of computers. I've never considered an OS truly 'user friendly' if it doesn't ship with everything on board that a person would need to build applications for it - and that is something the BASIC guys did well, back in the day.

(Which is why I think that things like LOAD81 are so darn cool .. ;) http://github.com/antirez/load81)

cturner 3 hours ago 0 replies      
If you wanted to recapture that feel of an instant-on console, you could set up a computer that booted into lighttable. It supports mouse and graphics and music. But to get a web browser up, you call a function.
The End of Agile: Death by Over-Simplification
33 points by ern  4 hours ago   9 comments top 8
lostcolony 45 minutes ago 0 replies      
Agile requires a bit of fudging around the edges, but it already admits that that is required (people > processes).

Yeah, YAGNI and its ilk may apply, but sometimes you -do know you're going to need it-. That story is in the pipeline, your users are demanding it; to design and code only to the current story, dismissing the design considerations that that future story would impose upon the current one, is shortsighted and self-defeating. You shouldn't be delivering -features- from that story yet, but by all means recognize that "Oh, we'll need a hook for that, and it would make sense for me to implement this with an event manager so we can add subscribers, and keep these decoupled, rather than just make a direct method invocation", etc, so you can easily tackle that future story when it comes up.

Oh, hey, the build and deploy process sucks, and that has no direct user value, and thus no story. Well, deal with it anyway; you -know- that is costing you time, and being able to rapidly iterate = faster development time = less cost = desirable to the user.


Really, agile always seemed to me to be two different things. One was a series of processes. The other was a series of values (among which was people > processes). And a lot of the flack agile has taken recently has been due to people focusing on what happens when teams adhere rigidly to the processes, to the detriment of the values, when it should be the other way around.

EDIT: I've also seen teams that take the values as excuses to ignore the processes, which also fails hard. "People over processes? Okay, no process then, everyone just code! Get shit done!" The point is to take on the processes, modify them in accordance with the values as experience leads you. Something doesn't work for your team? Change it. As someone mentioned elsewhere on this thread, that's what retrospectives are for.

scottlilly 42 minutes ago 0 replies      
I think that one problem has been with some people promoting TDD by saying to write "the simplest thing possible to get the unit test to pass".

I've seen "Uncle Bob" do his bowling game demo, without using the expected classes for Game, Frame, etc. It's an interesting exercise, but would be a horrible way to write any large-scale business application. However, some people walk away from that with the idea that they should write quick "hacky" code, instead of doing any thinking about design.

When I write a program, I use my [constantly-evolving] set of "best practices", based on what I've experienced when writing other applications. Writing a factory method for object instantiation is not "the simplest thing possible", but I've seen it come in very handy at times, so that's what I'm doing in my projects now.

After all, aren't retrospectives, and modifying your process based on what you've learned during your project, one of the huge points of Agile - even though I've rarely seen them done, let alone done well.

darkxanthos 16 minutes ago 0 replies      
With any story like this there's always one bit that's understated. There's agile as it is practiced and agile as it is described by the founders. They're quite different.

Agile as described by the founders is so squishy it can almost never be wrong. How so? There is no process. There is no explicit denial of waterfall process. There's only values and stated preferences. If an agile project fails one can always say "Why didn't you choose a better process for the people?"

Ultimately the whole point was to deliver working software and optimize for change. That hasn't died as far as I can tell... We just achieve it in many different ways. What could be more agile than that?

planetjones 19 minutes ago 0 replies      
Fair points, for the most part I think. To write good software, you need good people who know what they're doing. Whatever process you follow without that you're always in trouble (requirements, design, coding, testing, etc. all those need good people). What I really hate about the Agile consultants, etc. is that many say switch to Agile and the world becomes a better place. Not with bad people it doesn't.

However, I think a lot of the Agile stuff can really help get the best out of the good people. For the bad people I have seen it work the opposite way - they lose the safety net of structured requirements analysis, design, etc. and end up creating a mess.

Best part for me was the link to the anti agile manifesto:


adamors 1 hour ago 1 reply      
> In my personal opinion, we will have to go back to the basics: To all the wonderful design fundamentals that were being discussed in the 90s: the SOLID principles of OOD, design patterns, software reuse, component-based software development.

Many of us are doing just this while practicing Agile. It's not an either or situation. Are people really this out of touch with contemporary software development practices?

rnernento 1 hour ago 0 replies      
One if the issues I see with Agile in practice is that it draws clear lines around individual tasks. Developers become responsible for their own individual tasks but don't take responsibility for the project as a whole or how that task might fit into it. For a small already effective team the adoption of Agile really just resulted in more meetings and less cohesive end results.
UK-AL 1 hour ago 0 replies      
"In my personal opinion, we will have to go back to the basics: To all the wonderful design fundamentals that were being discussed in the 90s: the SOLID principles of OOD, design patterns, software reuse," - Err, Agile is based on those principles to. Agile takes quality above all else, a task is not finished until its finished well.

Agile has always been combined with software craftsmanship, especially XP style engineering principles.

k__ 1 hour ago 0 replies      
My Software engineering Prof. Once wrote, those agile methods were first used by highly skilled teams that knew what they wanted. There has never been any evidence for them to be a silver bullet.

Big planning slows down experienced engineers, but can help the unskilled quite well...

Cottage Computer Programming (1984)
37 points by phenylene  6 hours ago   8 comments top 4
jim_lawless 1 hour ago 1 reply      
It looks like Paul is still working on his own ( via http://www.arachnoid.com/administration/index.html )

"In 1988 Lutus cast off his lines and began what was to become a four-year solo circumnavigation of the world in a small sailboat. More recently, Lutus has divided his time between writing articles on diverse topics and exploring the wilder regions of Alaska to photograph grizzly bears."

kjjw 3 hours ago 2 replies      
"Overall, I believe the computer age favors the individual and that resistance to the individual work style is the last gasp of the dying industrial age. Many software companies put their faith in committees because they believe this is the way things have always been done. In fact, most unique modern achievements have been the product of individuals or very small groups, including relativity theory, the airplane, the laser and the computer itself. Until now, individual achievement has been exceptional in a mass society, even though the exceptions often transform that society. The deliberate cultivation of individual creativity may end up being the most important social result of computer technology. Either that, or cottage programmers like myself will simply have more time to cultivate our gardens. "

This is a view I hold but very rarely hear expressed in my day to day working environment where committees of people from various organisations work together to agree or disagree on plans that are always proposed by one, or very few, individuals. The majority, even in a committee environment, are superfluous from the perspective of productivity, though not from the perspective of governance.

matthewcanty 14 minutes ago 0 replies      
"A mistress of perfect consistency, the computer rejects all but the flawless, offering no explanation. When the acceptable is finally offered, the machine's acceptance is total, unwavering and eternal."


gioele 1 hour ago 1 reply      
Joey Hess (of git-annex fame, and HN user) lives in quite similar setting.

To have an idea of this home habits, have a look at the notes written for caretakers of his home while he is away:https://joeyh.name/blog/entry/notes_for_a_caretaker/

Batsh A language that compiles to Bash and Windows Batch
332 points by kolev  16 hours ago   88 comments top 32
ygra 7 hours ago 1 reply      
Long ago I thought about writing something that compiles to batch files, if only to make complex logic a bit easier to write or make the process of thinking about every little syntactic idiosyncrasy less tedious. Since then I found PowerShell though, and the need of writing complex and sophisticated batch files isn't so much there anymore.

Nice to see this compiler adopting some idioms that make it easier for working with larger codebases, e.g. passing a return value variable name into subroutines. The author apparently lacks a bit of understanding on how to write robust batch files, though. Turning

  x = "a|b";

  set x=a|b
is surely going to cause trouble. Quoting the argument to set is also often much easier than correctly escaping every meta-character. And iterating over files by throwing for /f at dir's output will cause trouble with filenames that use characters outside the current legacy codepage (not to mention that /w is the wrong switch and /b must be used, otherwise you get funny "files" back like Volume, in, drive, C, ...). Testing their language and output for correct functioning apparently wasn't high on the list, or at least, as usual, only for bash.

(Bugs reported, but the choice of implementation language makes pull requests a bit hard for me. It also seems that the language is unusable for anything but simple stuff. readdir() returns a string with space-separated file names, but there is no way of iterating over them again (and it's not easy in batch files). Things like iterating over arrays or better support for printing text that does not cause trouble or side-effects have been known for over half a year without a change. I guess the project, while nice, is currently a zombie.)


Last thing I really wrote was a deployment script for a website that had to run on Server 2k3 instances where I wasn't allowed to install anything. And I still have a half-written bignum library in numerous batch files somewhere. Only addition worked properly, though.

rmchugh 6 hours ago 0 replies      
I for one am disappointed that they didn't host this on a .it domain.
yulaow 16 hours ago 6 replies      
I would have preferred a bash/powershell solution. Hoping no one is still writing batch files on windows... even if he is still using xp
mlwarren 15 hours ago 3 replies      
This is great for me. As part of my day job I am often stuck writing batch scripts (yes, in 2014) for clients that refuse to run powershell. Writing a simple batch script is usually not a problem, but it can be very encumbering as the complexity increases.

Thank you for sharing.

kolev 16 hours ago 1 reply      
This implementation is not perfect, although it's interesting that it supports Windows. I personally don't care about that, but it brings the idea to create some sugary wrapper around Bash that allows you to use Bash v4 features such as associative arrays in Bash v3, and wrappers that allow functions to return arrays and other typical headaches.
chrisdevereux 1 hour ago 0 replies      
This is a really juvenile comment, but batsh.it would be an excellent domain for this project.
unexistance 12 hours ago 1 reply      
1. From UNIX point-of-view, not all has the luxury of bash, so seems to be quite limited to a certain modern platform? I found out ksh are more prevalent

2. I actually use UnxUtils in windows so I can has POSIX command option (and scripting). Performance-wise, never tested as not needed, all short command / simple script

giancarlostoro 1 hour ago 1 reply      
Was discouraged at it being OCaml, but because you made it web based so it's accessible to everyone, you win a free internet.
neilellis 16 hours ago 1 reply      
So I like the idea of a cleaner higher level version of BASH that still works like BASH but doesn't have the baggage of it's evolution.

Key feature has to be output that is no less readable than the average bash script. Which it seems to be.

ptx 14 hours ago 1 reply      
There's no mention of error handling, which is what really makes Windows batch files completely hopeless for anything involving more than one or two commands. Being able to write code with exceptions and having it compiled to the corresponding mess of ERRORLEVEL and GOTO would be sweet!

(I've switched to just writing everything in JavaScript for WSH. It's ECMAScript 3 and the API has some issues, but it's still a million times better than trying to write any logic in batch.)

linker3000 5 hours ago 0 replies      
Having just written a Nagios plugin with json parsing in bash (main design goals were no dependencies or support code/modules needed) and then 'ported' it to batch, I look forward to trying this.

..and why wasn't this posted 2 weeks ago!

tootie 10 hours ago 1 reply      
So are we really supposed to install OCaml and compile it or do we use it as a hosted service? I can see that you just post a batsh script and specify your output, but I don't know if that's intended for public consumption. Otherwise this just looks like a POC.
xkarga00 12 hours ago 0 replies      
eponeponepon 14 hours ago 2 replies      
I want this to be great; it would solve no end of problems at my workplace.

Unfortunately, "You have to install OCaml (version 4.00.1 or higher) development environment before compiling Batsh" (not to mention "1. Install OPAM. See instructions.") basically makes it a non-starter for my purposes.

Why can't this take a batch file and translate it to Bash? Or vice-versa? Genuine question - I do not have a sufficient understanding of the fundamentals to guess.

aaronetz 16 hours ago 2 replies      
I'm not so sure about the utility of this in my case. I usually end up using python for scripts, with perhaps a one line batch file that runs it with some default arguments for convenience.
tokenrove 15 hours ago 0 replies      
I had to do this once to avoid having to duplicate a bunch of build and install logic (that couldn't assume some other scripting language was installed), but because of how limited batch is (powershell was not available at the time), I opted to write a simpler DSL that output one or the other. I could see this project developing in that niche by maybe providing more substantial built-in functions for common build/install script functionality.
Maken 14 hours ago 0 replies      
The way it compiles to Bash is far from efficient. However, seeing how Batch "supports" functions I can see there a good case use.
talles 15 hours ago 1 reply      
This would be extremely handy for me in the past when I had to make both bash and bat scripts. I always hated with passion freaking Windows bat.
olivierkaisin 4 hours ago 1 reply      
Could be great to have a compiler js -> bash / batch
nodesocket 15 hours ago 1 reply      
Love the idea of writing bash in a higher, easier to read format, similar to CoffeeScript. Unfortunately Batsh is written in OCaml (the author addresses why he uses it though).

How do you use pipes in batsh?

golemotron 16 hours ago 2 replies      
I can't think of a case where seamlessly having two different targets like this has worked - particularly if there's pressure to really support all of the features of both.
throwaway5752 12 hours ago 1 reply      
I don't like the concept so much. They are their own languages, and I'd rather write very low level ansible primitives and build upon them than rely on a somewhat opaque translation process. Also, all automation I do going forward is PowerShell, not batch.

I could see a lot of places using it, though, so bravo for sharing.

thomasfoster96 13 hours ago 0 replies      

Also, why hasn't this been around before?

aneeskA 8 hours ago 0 replies      
Is there any way to convert Bash to Windows Batch using this tool? Then I would say this is very very useful.
metabrew 16 hours ago 1 reply      
Great name
cheez 15 hours ago 0 replies      
I just use Python if I'm going to install something anyway.
molixiaoge 9 hours ago 0 replies      
just for save
n0body 16 hours ago 1 reply      
I have to ask, why?
shirman 16 hours ago 1 reply      
A language that compiles to bash from what?
pentabular 14 hours ago 0 replies      
bash(1) is a crazy shell. This here is Bat-Shit crazy.
nisaacs 15 hours ago 0 replies      
Proposing name change to 'batshit'
hucxsz 7 hours ago 0 replies      
Does it useful? Just recreate a new language,then say a solved the issues. A user who want to use the 'Batsh' must learn the Batsh's new syntax.hehe
The skyline problem
88 points by brianpgordon  11 hours ago   22 comments top 10
michaelmior 32 minutes ago 0 replies      
My first thought was to dump the rectangles into an interval tree. Also O(n log n), but less space efficient since it always requires O(n) space regardless of the structure of the problem.
bnegreve 3 hours ago 0 replies      
This is an instance of finding the Pareto front [1] of a set of points in a two dimensional space.

This problem is also known as "skyline queries"!

According to [2], author's bound O(n log(n)) is the best bound for d=2.

[1] http://en.wikipedia.org/wiki/Pareto_efficiency[2] http://pdf.aminer.org/000/211/201/on_the_computational_compl...

srean 5 hours ago 0 replies      
I am very bad at these things when put in a spot. OTOH if you would let me pace around for a bit and stay invisible for a few minutes then its not too bad.

Havent checked for correctness, but my off the cuff attempt would be to sort the left and right edges, then use a variable for the height and a stack. Proceed left to right. If I encounter a left edge and current height is lower than stack, push height on stack and update current height. If left edge lower than current, just push its value on the stack. If I encounter a right edge that matches current height pop height from stack in to current height. If right edge lower than current height, just pop the stack. The awkward case is when the left and right edges coincide.

signa11 2 hours ago 0 replies      
if we think about it somewhat, it becomes apparent, that it would take linear time to merge one building to the skyline, and also two skylines together.

merging skylines together gets us more bang-for-the-buck. and is trivially done with scanning them from left->right, match x-coordinates, adjust heights...

all of this is just divide-and-conquer, and usual recurrence rules apply i.e. T(n) = 2T(n/2)+O(n), which means T(n) = O(n lg n)

brianpgordon 11 hours ago 4 replies      
This is targeted toward students who could benefit from someone hand-holding them through the design of an algorithm, but anyone can learn something. It's always good to have another potential interview question in your repertoire.
frownie 2 hours ago 0 replies      
is it me or the algorithm suggested at the end degenerates if the rectangles are organized as the steps of a stair and each of them extends to the rightmost position ? In that case it degenerates because the heap manipulation degenerates...
curiousDog 6 hours ago 0 replies      
A regular google interview question as well!
sgeisenh 8 hours ago 1 reply      
If you think recursively, the n log n divide and conquer solution is pretty straightforward.

The problem becomes much more interesting when you consider optimal parallel performance. The best span you can do is log^2 n. I believe the problem can be reduced to sorting, though it is not required to explicitly sort the sequence of buildings in order to achieve the desired asymptotic performance.

praptak 3 hours ago 0 replies      
Fun fact: this is a specific case of finding the union (usually: area of) of a set of axes-oriented possibly overlapping rectangles.
thewarrior 7 hours ago 2 replies      
How would you efficiently find the critical points ?
Hacking Hearthstone with machine learning Defcon talk wrap-up
80 points by declan  9 hours ago   12 comments top 3
declan 7 hours ago 3 replies      
The interesting thing to me is what exactly Blizzard Entertainment said that prompted the author of this blog post (a Google research lead) to decide not to release the utility that at Defcon he said he would.

Excerpt:"Following Defcon we had a series of conversations with the Hearthstone team about our research... they were very concerned that our real time dashboard that can predict your opponents deck will break the game balance by giving that person (that is, whoever has the tool) an unfair advantage. They also expressed concern that such a tool..."

There's no evidence his utility was derived from reverse engineering or a TOS violation. It appears to be based on evaluating a large number of Hearthstone matches and using those results to create a mathematical model that lets you find "undervalued" cards. One application of the model is a utility that can help to predict "what your opponent is going to play based on previous turns." https://www.elie.net/blog/hearthstone/how-to-appraise-hearth...

Blizzard has taken aggressive legal action before. As EFF tells it, Blizzard filed "a DMCA lawsuit against a group of volunteer game enthusiasts who created software that allowed owners of Blizzard games to play their games over the Internet. The software, called "bnetd," allowed gamers to set up their own alternative to Blizzard's own Battle.net service." https://www.eff.org/wp/unintended-consequences-under-dmca

This time, I wonder if the decision not to release the utility was prompted by a friendly query from a Blizzard developer or a C&D nastygram by a Blizzard attorney -- with a lawsuit threatened if he didn't comply.

minimaxir 8 hours ago 0 replies      
It might be easier to use machine learning for card prediction in Hearthstone than you might think at first glance: the problem space is constrained by class choice, metagame, and limited card pool.

If your opponent is using a Hunter deck at a reasonably high level of play for example, he's using one of two deck types, and due to Hearthstone's 30 card deck limit, there are a finite amount of bombs he can put into the deck.

Contrast this with MtG decks: although you might know the overall archetype of the deck, the problem space is much larger, and much more likely to have tiny variations, especially in the number of card copies in a deck (Hearthstone only allows 1-2 copies of one card a deck; MtG allows up to 4, in addition to any number of basic lands.)

rockstarstats 6 hours ago 0 replies      
Cool initial look at the problem space. I think a Nash HearthStone deckbuilding solution is very possible, but it's the definition of building to one client given the aggressive legal stance Blizzard tends to take. The best commercial chance would be to try to sell it as a balancing tool so devs could make sure all classes stay viable for new releases. Given board + life + hand information is clear, alpha beta for the gameplay strategy combined with a simple genetic algorithm for deck peturbation, initialized with the best decks from current players, could probably be superhuman competitive.
University of Tokyo Biped Robot Can Hit Speeds of 2.6 Mph
12 points by Libertatea  2 hours ago   2 comments top
ck2 51 minutes ago 1 reply      
Maybe they can use this to fix the creepy "negative knees" of honda's asimo robot



By the way, since Asimo can do 9km/h, how is 4km/h the fastest?

The Lessons of Lucasfilm's Habitat (1990)
52 points by joslin01  8 hours ago   4 comments top 4
lnanek2 1 hour ago 0 replies      
Seems disingenuous to not mention MUDs at all, the first of which had been running for a decade at that point. Yes, they added graphics, apparently, but I was playing Neverwinter on AOL a year later in 1991 with graphics as well, and quests that worked fine for any number of players, and GM led events and contests that did as well.

The MUD I was on had GM led quests and stories and adventures for every single new region that opened as well. So the huge problem they ran into of an event only working for one user just sounds like some thing they blew out of proportion to write what they wanted to write, or they were just ignorant of what everyone else was doing at the time.

guiambros 8 hours ago 0 replies      
I love this paper, and keep re-reading it every 4-5 years. It's incredible how actual it still is. From Habitat, to Worlds Chat, to Second Life, or upcoming metaverses using Oculus Rift.
K2h 5 hours ago 0 replies      
This paper was fascinating and made me wonder if it was one of the inspirations or reference materials in writing the fictional work 'The Metamorphosis of Prime Intellect' by Roger Williams. A crazy virtual reality turned real... for lack of a better paraphrase. The great debate, the sheriff, DEATH and THE SHADOW, user created content - all things that reminded me of strong themes in Prime Intellect.

Prime Intellect: very NSFW sci-fi you can read online at http://localroger.com/prime-intellect/

samman 1 hour ago 0 replies      
What a gem. The reference list seems to tell a story all by itself.
Shenzhen trip report visiting the world's manufacturing ecosystem
150 points by sadfaceunread  15 hours ago   59 comments top 12
Wogef 11 hours ago 8 replies      
Ive lived in Shenzhen for almost 10 years (native New Yorker).

This article was a bit better than most for Shenzhen- it was at least willing to speculate that a lot of Shenzhens advantage now comes from talent and infrastructure. Its still pretty common for people to attribute it entirely to lower labor costs- which is just not the case.

Shenzhen, like New York is an immigrant city. People come from all over China to get ahead, and get rich. Unlike New York its only a bit over 30 years old- and back then it was basically a fishing village. This is important because of the Hukou system: http://en.wikipedia.org/wiki/Hukou_system Its a bit long to go into (check the link) but basically it ties people to their birthplace and gives them a significant home field advantage.

If you are in Shanghai or Beijing and have a local Hukou you have access to the best education system, the highest paid jobs in both the public and private sector, and often a large network of friends and family members in local government. People from Shanghai or Beijing rarely immigrate to Shenzhen because they lose that advantage and are forced to compete with what they would consider the rabble. People from other provinces can rarely compete on even ground with locals- both for legal and cultural reasons. The rivalry is less like US States and more like countries within the EU- but worse.

A local in Shanghai may feel perfectly entitled to cut to the front of a line if those people are "Waidiren (outer province people- ). Its considered perfectly reasonable for migrant children not to get the same healthcare or schooling. The local dialog about them in every city is a familiar one- basically damned dirty immigrants taking our jobs and committing crimes. Needless to say the Central Government is quite keen to keep the provinces deeply prejudiced against each other- because it distracts their attention from the real culprits.

Shenzhen on the other hand is by far the most egalitarian city in China. The city is so young that no one really has an "Uncle" etc. in local government willing to investigate competitors or send some easy government contracts their way. There is little difference between those few born in Shenzhen and those who came a few years ago. There is no local dialect that is used to subtly determine whos local- everyone basically speaks Mandarin.

So for people in relatively poor provinces (Hunan, Hubei etc), with brains and education but little in the way of prospects due to their Hukou, Shenzhen represents the best possible opportunity to compete in a first tier city almost purely on merit. Success here is based largely on hustle, brains and hard work- while in other cities at least 50% is simple corruption (well placed relatives in banking and government). Most Chinese would place the number even higher.

So Shenzhen gets a lot of Chinas best and brightest, but also those who are inherently ambitious- because they were willing to leave their hometowns and family (a much bigger deal here). A huge amount of the slow grinding machinery of legacy corruption does not exist here (massive numbers of bureaucrats given comfortable jobs doing basically nothing as a form of social welfare). It happens occasional sure- but not to the point that it does in other cities where merit and hard work is almost meaningless next to the right connections.

The result is a giant magnet for talent and a massive, well funded playing field where that talent competes with significant rewards reserved for the most skilled, clever and hardworking.

There are a lot of incredibly smart highly motivated people here- and that, more than just simple labor costs is responsible for Shenzhens market position.

Cookingboy 11 hours ago 2 replies      
One anecdotal story: One summer I went back to Shenzhen and decided to get a PlayStation 2 with a mod chip installed so I can play pirated games (I was a poor student).

Now, there was this one mod chip that was really good but requires a bit of soldering work to get it installed right, and me, being an EE student, was no stranger to a soldering iron, so I planned to do it myself after buying the chip.

So I bought a brand new PS2/mod chip combo from this small electronics store and the shirtless owner actually offered to solder it for me for free. I took up on the offer since I get to test the chip on the spot as well.

He opened up the PS2 case, with one hand took up a soldering iron, while the other hand holding a cigarette, started working. I nervously watched him tapping around my brand new PS2's motherboard with just one hand while paying most of the attention to the live soccer game on TV at the time. 5 minutes later he was finished and 8 years later that PS2 is still working and reads all pirated discs with absolutely no problems.

Throughout college I've never met anyone who's as good at soldering as this shirtless electronics shop owner I met in Shenzhen.

jonmrodriguez 12 hours ago 6 replies      
> In an interesting twist, the factory boss suggested that we could build the precision molding tools in China and then send these tools to a US shop for running production.

> This role reversal is an indicator of how the technology, trade, and know-how for injection molding has shifted to Shenzhen. Even if US has the manufacturing capacity, key parts of the knowledge ecosystem currently exist only in Shenzhen.

This is what really saddens me about outsourcing manufacturing from America, is that we lose the knowledge about manufacturing technology. Although we may be at the forefront of software development, in many areas of manufacturing technology the cutting edge development happens in China now.

I'd really like if we could bring about a revival in manufacturing engineering in the US. Other than the ecosystem effect, the main way that China has an advantage is labor cost, so I propose that we could build up a "Shenzhen of America" in the San Diego / Tijuana free trade zone. The repetitive work that takes a lot of hours would be done on the Mexico side, where labor is now almost as cheap as China. The manufacturing engineering and tool-making would both happen on the American side, bringing these jobs back to the USA from China.

San Diego / Tijuana are shipping ports on the Pacific, facilitating importing electronic components from China, Japan, and Korea, and then we could do all of the PCB fab, PCB assembly, injection molding, and final device assembly (as well as all tooling for all of these processes) over here in the Americas.

I'm very supportive of China's development but competition is good and as American citizens we can't just throw in the towel, we have to build our manufacturing knowledgebase back up and be willing to actually compete.

pmorici 38 minutes ago 0 replies      
"What's great about AQS is that, with the help of bunnie, they have started working closely with startups and other projects that previously would have had a very hard time finding a partner in China because of the small volume"

So I guess that is the secret to getting AQS to respond to your request for an assembly quote.

userbinator 12 hours ago 2 replies      
Visiting Shenzhen is highly recommended if you have any interest in electronics at all --- I'd say it's definitely an eye-opening experience, and can change your perspective on the manufacturing costs of all the things we usually take for granted.

bunnie has organised another trip there near the end of this month, if you're interested:http://www.bunniestudios.com/blog/?p=4087

narrator 11 hours ago 1 reply      
The most interesting thing to me about China's capitalism is the massive amount of small firms. I think there's a tendency among western firms to use cheap financial capital to acquire smaller firms. I'm not sure if this is the case in China where the government is more directly involved in directing lending and not focused on mergers and acquisitions.
ausjke 9 hours ago 0 replies      
As an embedded linux hacker I am very happy to see articles like this. I just opened my small firm in Shenzhen to do hardware and embedded linux software. The ecosystem there is just unbeatable and the willingness of engineers there to get job done is hard to find here at US at the moment.

USA, by all means, is under attack in this regard. Unless one day the kids here put education first, I somehow feel the future is hopeless.

NicoJuicy 5 hours ago 0 replies      
I'm curious, someone mentioned me about the (lot of ) empty buildings in china (or big cities).

Banks lend to people with the right connections (it's otherwhise impossible), they get an easy loan with the building as insurance.

They invest 25% of the money, leave with 75%. The bank takes the building back and no one can live in it.

Is that right (asking to the ones living there)

aftbit 12 hours ago 0 replies      
This is a great write-up about a world into which I normally have no visibility. I didn't realize on a that manufacturing capabilities for small-scale operations had advanced that much.
yamazi 3 hours ago 0 replies      
Actually, due to China government policy change and labor shortage, more and more major electronic manufacturers and their suppliers have moved their operations to Eastern China, such as Suzhou in the past 10-15 years and now even inland cities like Chongqing and Zhengzhou. Many of my friends have already moved out of Shenzhen.
zhte415 10 hours ago 0 replies      
If anyone is interested in the aspects of reuse and recycle touched on in this article, I highly recommend Junkyard Plant, a book about recycling largely but not exclusively focused on China. There are a couple of chapters on electronics and Shenzhen, as well as other chapters ranging from paper & cotton, steel, plastics, aluminium, etc, and the entire sourcing chain.


nraynaud 8 hours ago 0 replies      
if some people are interested in a little bit more details than a reverse culture chock blog post, there is a bunch of interesting videos here about the link Shenzen/Hong Kong, shipping your product, finding your factory etc: https://www.youtube.com/user/iantube/videos
Plants in offices increase happiness and productivity
192 points by dsr12  19 hours ago   84 comments top 18
IvyMike 17 hours ago 5 replies      
Funny enough, when the plants show up, in my experience it's a bad sign. I have no proof this conversation happened at the last two places I worked... but I'm pretty sure it did happen.

Upper-level manager #1: "The results of the employee morale survey are back. Morale is at an all time low. The employees feel that upper-level management is clueless, they are increasingly unable to do their jobs efficiently because of process and bureaucracy, and the raises we gave this year were below industry average."

Upper-level manager #2: "I just googled 'how to raise morale' and it said 'plants'"

Upper-level manager #1: "Let's do that!"

dominotw 18 hours ago 3 replies      
I have this[1] closed ecosystem on my desk that I share with a coworker. Best decision ever.

1. http://www.amazon.com/gp/product/B005IZOB5M/

Shivetya 3 hours ago 1 reply      
For the last twenty years the offices I have worked in have had trees in their atrium. A few coworkers have had plants in their individual cubes. Yet I think the fact I am in Atlanta and the last two office buildings I worked in are surrounded by trees and flowers made a bigger difference. You cannot look outside any window without seeing trees, shrubs, and depending on the time of year flowers.

I won't live in a city nor work in one for these very reasons. I never want to look out a window and see concrete. Yeah I know cities have parks and fortunately cities like Atlanta have more trees than not, but its the grayness, the dirty feeling I don't miss. Which leads me into one peeve, who thought that gray cubes and dark carpet were appealing?

GFischer 18 hours ago 0 replies      
I really hope they took the Hawthorne effect into account:


I'm not sure if it's the plants themselves which generated the positive change, or whether anything else (paintings, something personal/warm) would have generated a similar response.

And while I rant about my awful working conditions, at least I don't have my keyboard fixed into place !!

nether 18 hours ago 12 replies      
What plants can survive with 100% fluorescent office lighting? I tried a succulent but the soil was covered in mold in a few weeks.
GrinningFool 46 minutes ago 0 replies      
Always brought my own plants wherever I work.
GazNewt 3 hours ago 0 replies      
Surely the presence of plants reflects employers giving a shit about the employee environment and that this this is the true reason for happiness and productivity. Really come on... I don't look at a plant and feel happy, it's common sense.
calinet6 15 hours ago 2 replies      
Are dead plants better than no plants at all? That's our problem... but it is really nice to have (mostly living) plants around, have to admit.
Edd314159 18 hours ago 0 replies      
I learned this in Theme Hospital 15 years ago.
SushiMon 9 hours ago 0 replies      
There was actually a NASA study about which plants clean the air for space stations. http://en.wikipedia.org/wiki/NASA_Clean_Air_Study or
mlwarren 15 hours ago 1 reply      
The impact plants have on clean indoor air also creates a boost in productivity[1]. This is probably most effective in areas with increased pollution, though.

1. http://www.ted.com/talks/kamal_meattle_on_how_to_grow_your_o...

trumbitta2 16 hours ago 1 reply      
Unless you have allergies like me. It may seem a joke, but most of you know someone with allergies to various plants. Just ask them :
meej 13 hours ago 0 replies      
I wonder if it works if the plants are fake?
themgt 15 hours ago 0 replies      
I find it amusing the plant they have pictured looks quite possible to be a San Pedro cactus. Office happiness indeed!
lifeisstillgood 14 hours ago 1 reply      
Cause and effect are reversed here - people who are happy and capable at a good enjoyable place to work often decide to bring plants in because they feel empowered to do so and have latitude to do it.

Aping them by putting plants in front of disempowered bored workers will not help.

callmeed 14 hours ago 2 replies      
Coming soon: a subscription-based PWAAS* startup

* (Plants-and-Watering-As-A-Service)

TeMPOraL 15 hours ago 1 reply      
From my experience, plants (whether in office or at home) attract bees, wasps, mosquitoes and other such annoying nonsense, that tries to bite you, stab you or enter your ears/mouth, and in office, flamethrowering them away with lighter and deodorant is not always an option (due to people not used to fire being afraid of it). Therefore, plants near me usually directly decrease my happiness and productivity.

(EDIT: I'm dead serious here)

Danish Startup Solves Roaming Worldwide
19 points by dsarle  1 hour ago   3 comments top
junto 1 hour ago 1 reply      
Notably for mobile users roaming in the EU, this problem has already been solved by the European Parliament:

  Under the wide-ranging telecoms reforms, the cost of making a call   or downloading internet data in another EU country will be the same   as at home.  The change is due to take effect from 15 December next year. It still   requires approval from EU governments.  In recent years the EU has legislated to lower the costs, so telecoms   operators have been forced to cap their fees.  The package was adopted by 534 votes to 25.
Source: MEPs vote to scrap mobile roaming fees in Europehttp://www.bbc.co.uk/news/world-europe-26866966


Hyperreal numbers: infinities and infinitesimals
45 points by mmastrac  10 hours ago   15 comments top 12
arh68 1 hour ago 0 replies      
Yeah, math! I like this explanation. I'm not a mathematician, but I was reading about the reals, the hyperreals, the surreals on Wikipedia last week, and the Dedekind cut [1] just seemed like a mind-blowingly simple way to look a things. I think I was taught in school how to construct the reals by Cauchy's proof. Constructing the reals used to seem like some magic trick back in the day. :)

[1] http://en.wikipedia.org/wiki/Dedekind_cuthttp://en.wikipedia.org/wiki/Surreal_number

Sephiroth87 49 minutes ago 1 reply      
It's been a while, but I seem to remember that this is actually how I was thought calculus...
Grue3 1 hour ago 0 replies      
If there's an infinite model of some first-order logical system, then there's a model of the same logical system of any infinite cardinality. [1]

Thus, there exists countable model of reals, as well as models of greater-than-continuum cardinalities.

[1] http://en.wikipedia.org/wiki/L%C3%B6wenheim%E2%80%93Skolem_t...

cgs1019 7 hours ago 0 replies      
Baez's google+ posts are always super interesting, informative and full of references for further reading. The comment threads are generally also very interesting and active. Highly recommend following him.
mkl 8 hours ago 0 replies      
This book is really good. I hope to have time to go through the whole thing in detail some day, but so far I've only read the first few chapters. If you want a (much more usable and readable) PDF version, go here: http://www.math.wisc.edu/~keisler/calc.html

Keisler also has another shorter book on the same stuff: http://www.math.wisc.edu/~keisler/foundations.html

ianopolous 4 hours ago 0 replies      
I also wrote a blog post about these numbers recently. http://ianopolous.github.io/maths/surreal/
darkxanthos 7 hours ago 1 reply      
When the author says infinitesimals can be used to define calculus in a perfectly rigorous way I get a bit skeptical. After reading this Wikipedia article though I see why.


I still think there's a certain elegance of not needing to define a whole new set of numbers, but there's also an elegance to the intuition of infinitesimals and infinitesimals.

EGreg 30 minutes ago 0 replies      
For those interested in investigating a larger concept of "hyperreal" numbers: http://math.stackexchange.com/questions/221334/whats-the-dif...
fxn 6 hours ago 0 replies      
Some time ago I wrote a post with a little bit of historical background and an outline of their formal construction: http://advogato.org/person/fxn/diary/475.html.
doctorpangloss 7 hours ago 1 reply      
From his article:

You can calculate the derivative, or rate of change, of a function f by doing

(f(x+) - f(x)) /

and then at the end throwing out terms involving


To be clear, this formula is typically introduced as the finite difference formula in calculus instruction.

But differentiation of polynomials is straightforward, so don't be too impressed that a simple formula finds the derivative of x-squared in his example. A bunch of simple procedures find the derivatives of polynomials.

For more complicated algebraic functions, like rational functions, nearly every calculus student is taught a collection of shortcuts that are fundamentally taking the limit of the finite difference formula as epsilon (or "h" commonly) approaches zero.

ChaoticGood 5 hours ago 0 replies      
John Baez post - love this guys work. I am striving to learn enough math to fully appreciate his posts.
4ad 6 hours ago 0 replies      
There are many different rigorous definitions of infinitesimals. Many don't require creating* any new sets, though many do require intuitionist logic[2]. My favorite are nilpotent infinitesimals which give rise to synthetic differential geometry[3] and dual numbers[4]. Compared to hyperreal infinitesimals, nilpotent infinitesimals are much easier to construct.

Here[5] is a gentle introduction to nilpotent infinitesimals and intuitionist logic, and here[6] is a very good book on synthetic differential geometry.

* I didn't say construct, because that means something very specific in mathematics[1] and non-standard analysis is not traditionally constructive.

[1] http://en.wikipedia.org/wiki/Constructivism_(mathematics)

[2] http://en.wikipedia.org/wiki/Intuitionistic_logic

[3] http://en.wikipedia.org/wiki/Synthetic_differential_geometry

[4] http://en.wikipedia.org/wiki/Dual_number

[5] http://math.andrej.com/2008/08/13/intuitionistic-mathematics...

[6] http://home.imf.au.dk/kock/sdg99.pdf

Our Use of Little Words Can, Uh, Reveal Hidden Interests
217 points by nosecreek  22 hours ago   62 comments top 12
Udo 3 hours ago 0 replies      
There are severe misconceptions in this hypothesis, or at least in the examples that are being presented.

When you are introducing yourself, you have to refer to yourself explicitly. You are trying to convey information about who you are and what your background is. That's not a sign of low status, it's a necessity to transport essential context. If you try to leave that information out, or if you just omit the pronoun, your introduction will inevitably sound broken or unfriendly.

I'm guessing the reason why this is being conflated with low status by the professor is simple: if you're high-status, other people initiate contact a lot more often than you do. And when they initiate contact, they need an introduction, whereas you are already known to them.

At a fundamental level, this hypothesis as it's being described muddles correlations and causes.

Secondly, I'd like to point out that clearly marking certain points as opinion does not come from a perspective of inferiority or uncertainty. Especially in a setting where discussion is warranted, such as here on HN, it's an appropriate signal.

When I refer to myself and my perspective, I'm not asking you to disregard my point of view, I'm inviting you to see things from where I'm standing, and I'm also inviting you to present other perspectives without either of us being pressured to lead with assertions like "WRONG! Here's how it really is: [text]". Instead, you are afforded the option to respond with "My experience has been different. Here's why: [text]".

bnegreve 20 hours ago 4 replies      
> We use "I" more when we talk to someone with power because we're more self-conscious.

Isn't it simply because you need to introduce yourself and provide a bit of context when you write an unsolicited email? That seems to be a reasonable explanation for the two examples from the post...

analog31 21 hours ago 4 replies      
>>> What you find is completely different from what most people would think. The person with the higher status uses the word "I" less.

Here's a hypothesis. The higher status person has learned to express their thoughts in a way that makes them seem more objective and authoritarian -- and less susceptible to negotiation or debate. The implicit assumption is that your words convey opinions, but their words convey facts.

anigbrowl 15 hours ago 2 replies      
In fact, says Pennebaker, even in our native language, these function words are basically invisible to us. "You can't hear them," Pennebaker says. "Humans just aren't able to do it."

There's an entire class of people who make a profession out of being able to do that reliably. They're called actors, and they're not the only people who are good at this. This sort of hyperbole in discussions of science may engage some readers but probably alienates at least as many more.

An earlier version of this story ran on NPR in 2012.

Wow - just 3 or 4 new sentences tacked onto the end. I wish they had put this warning at the beginning of the article rather than the end.

thedevopsguy 2 hours ago 0 replies      
There is some confusion around the article and it may be because of the way it is written. but here's a brief summary. Hope this helps to clarify:

* The theory/hypothesis is not saying avoid pronouns.

* It's about relative frequencies not absolute.

* The pronoun frequency is looked at in different scenarios:

   1. between two people who don't know each other    2. between two people who do know each other    3. pronoun frequencies of an individual in a diary, blog over a period of time.
* The frequency of pronouns in spoken or written language is an unconscious activity. It's something that is hard to fake, unlike body language.

* The words being compared/counted are primarily social identifiers vs determiners and articles.

chippy 19 hours ago 0 replies      
Anyone have a working free link to academic article this is based on?

The sagepub.com registration is non functional for me... it probably only works in IE...

Edits - Here it is for you lucky Athens users: http://jls.sagepub.com/content/33/3/328.full.pdf+html

aaron-lebo 18 hours ago 2 replies      
The author says that you can't intentionally modify your language to change who you are, but there's not much depth to that section.

I can't help but to wonder if you really can "fake it until you make it". If you force yourself to write in a more "powerful" manner, could that not cause people to perceive you as such and therefore boost your confidence to where you really are that person?

mnarayan01 19 hours ago 3 replies      
I'm not a fan of the examples as both have the "lower status" person initiating the conversation. This further makes me wonder if looking at this in terms of word-level usage is going to miss the true causation sources. Consider "I think this article has problems" versus "This article has problems". The former seems (to me) to be much less confrontational than the latter, but I don't think that's really a function of the appearance of the word "I".

Going back to the examples, maybe the usage of personal pronouns is not directly related to the status of the email participants, but instead, is based upon who initiated the email. If the person with lower status is more likely to initiate the email (seems plausible, particularly in academia), then you might see the same results.

sanxiyn 20 hours ago 1 reply      
I am curious about similar studies for non-English languages. Especially, whether being a http://en.wikipedia.org/wiki/Pro-drop_language changes anything (my guess is it should).
zuck9 19 hours ago 0 replies      
Does it count in difference between native speakers and non-native speakers?
hnriot 9 hours ago 0 replies      
I was thinking as I read this that someone should capture the essence in nltk.
blazespin 17 hours ago 0 replies      
Yet another example of how actions speak louder than words.
Urgent security warning that may affect all internet users
169 points by mazsa  18 hours ago   86 comments top 14
orofino 11 hours ago 8 replies      
The question for us, as technologists, is what are we doing about this?

2FA is nice, but not the end all, be all. OAuth has largely failed to gain any reasonable traction. Using Facebook login means Facebook gets to track me as I move around the web.

Our users reuse passwords, primarily due to the proliferation of dozens or often hundreds of online accounts that a single individual has. We can't expect people to use password managers (they're complicated and then centralize everything into a single point of failure). Forcing people to use crazy passwords just results in weaker passwords.

I was hopeful that something like persona from Mozilla would catch on, but that has failed. Where are we with replacing the password? It is flawed technology.

On top of this we have the compounding factor that our systems are more complicated than ever and it appears that they're simply impossible to secure. Too many layers exist with too much code. Many sites just don't both with even hashing password, meaning those of us that care, are just kind of throwing our hands up and saying "well it wasn't my site that was compromised, so it isn't my fault". All the while, bad guys walk in the front door because we've decided to ignore the reality of the situation.

I know I'm not providing a constructive alternative here, but I'm a bit ashamed that we've even let it get this far. We're failing those that rely on our systems. I don't have the answer, but would love to hear some ideas about what can be done.

ted0 15 hours ago 8 replies      
Hey all, Teddy from Namecheap here. Happy to answer any questions here or at ted@namecheap.com.

As always, we advise turning on 2-factor authentication on your account.

Negitivefrags 15 hours ago 1 reply      
As someone who runs an online game we find that a huge percentage of our users arrive pre-compromised.

Vast quantities of people wander around from site to site using the same email/password combo that has been compromised a long time ago.

We do a GeoIP check now and send an email with an unlock code any time someone logs in from a different city than last time. This reduced the account compromise problem significantly. Most of these pre-compromised people have a different password on their email at least.

junto 6 hours ago 0 replies      
Funnily enough there was a HN post yesterday that looked like a phishing attempt on namecheap accounts:

  Gift HN: Unused domain 'appstores.io' with ~11 months registration left  Post your namecheap username and I'll pick someone at  random in 24 hours and push it to the winner.

Maybe it was genuine, but if I had posted my name cheap account name there, I think I'd want it deleted now.

saosebastiao 7 hours ago 2 replies      
I've seen a huge uptick in spam email the last few days, and although I have no indication that I've been hacked, I feel as though I should probably fear for the worst and aggressively change all my passwords from their current kindergarten security levels. Is there a widely accessible, secure, multi platform, free/libre password manager that is recommendable as easy to use? I reuse passwords because its easy to remember, and I'm hoping there is something out there that is light years better than those I found the last time I tried (2007).
diafygi 16 hours ago 2 replies      
> The group behind this is using the stored usernames and passwords to simulate a web browser login through fake browser software. This software simulates the actual login process a user would use if they are using Firefox/Safari/Chrome to access their Namecheap account.

So basically PhantomJS? Or is it more sophisticated than that?

Also, this might actually let me see if I'm in the list, since I will get an unsolicited 2FA text if they try my account.

morgante 7 hours ago 0 replies      
This is a good reminder that we all need to encourage our friends, family, and colleagues to not use the same password everywhere. Almost all of them currently do.

The best solution I've found thus far is getting them to use 1Password or the like. They still only have to remember 1 password, and the browser extensions make it trivial to log in different places. If necessary, buy them the software.

Gustomaximus 8 hours ago 1 reply      
The way I have organised is to have 5 varying levels. This limits the volume of passwords I have to recall whilst maintaining variety. While there is still opportunity for cross-use if one is hacked it does create breakage points from areas more likely to be hacked and avoids a single point of failure. It's structured something like this;

1) Random sign-ups.

2) Slightly personal information e.g. Hackernews

3) Personal or slightly financial: e.g. mail accounts

4) Financial: e.g. Banking/Share trading

5) Work accounts

I've been wondering if I should expand this to have the same as above but bring in a component of the URL into the password to create variance for all but keeping it easy to remember. Does that seem a good method or do people have better systems?

MarkMc 11 hours ago 2 replies      
For sensitive sites like this, users should not be given the option to use the same username/password as other websites: The username should be issued by the site in the form Sally379687 or Fred965912
scoot 9 hours ago 0 replies      
It seems like an API to check compromised account / password combinations against a database of breached accounts could be useful.

Websites could check users aren't reusing a compromised password either at account creation, or as a one-time check as existing user log in.

supercoder 14 hours ago 1 reply      
"504 Gateway Time-out"

Seems we were all too late....

AdamGibbins 16 hours ago 1 reply      
I get a 404?
yuvadam 14 hours ago 2 replies      
Hyperbole much? WTF is this "urgent"? How might this affect "all internet users"?

A hacker group is trying dictionary attacks. Wow.


Let's Make a Promo Creating Videos for Apps
87 points by djfumberger  15 hours ago   14 comments top 8
epaga 5 hours ago 1 reply      
Wow. Awesome.

Just as a data point for poor indie devs like me - for my own minimalistic app demo video (http://www.mindscopeapp.com), I created a bridge over my iPad using my kids' Duplos, stuck my iPhone 4S on top, made sure there was enough light, and recorded me using the app for a few minutes. I then edited the video with iMovie on iPad and wrote a quick little doodle on Garage Band as the music.

ronyeh 5 hours ago 0 replies      
If your app is an Open GL game, you can check out the Kamcord SDK, which will allow you to make a screen recording of your iOS or Android game.


It won't be as fancy as the videos in the linked article, but for indie devs it's a pretty cheap way to make demo videos.

Disclaimer: I know the folks @ Kamcord.

acgourley 5 hours ago 0 replies      
Is turning the screen brightness all the way down not enough to capturing the screen output in a lit environment? If not, finding a thin film to shade it further might work. That seems easier than the solution posted of mirroring all touches to the simulator and recording there.
prawn 12 hours ago 1 reply      
Amazing effort.

I've already started working with Reflector and ScreenFlow for our app demo, but the tip regarding After Effects and the device model is handy.

thomasfoster96 5 hours ago 0 replies      
This was awesome. The fact that I kinda want to download the app now probably shows how important it is to have some good videos to promote your app.
dangoor 12 hours ago 0 replies      
This page consistently crashes my mobile Safari (iOS 7). Funny given the subject matter.
kovacs 5 hours ago 0 replies      
This is amazing work
okonomiyaki3000 12 hours ago 3 replies      
Dammit. Read that wrong. Guess I need a bigger font.
The End of Big Twitter
97 points by mjn  14 hours ago   61 comments top 22
A_COMPUTER 8 hours ago 2 replies      
Twitter is an optimal conduit for narcissism, trolling, harassment, mobbing, astroturfing, demagoguery, and manufacturing consent. The medium shapes the discourse, and Twitter encourages and amplifies bad behavior while inhibiting intelligent and thoughtful conversation. Even if it didn't architecturally push you toward this behavior the scale alone enables every bad behavior you would expect if you scaled a single IRC channel up to a billion people. There is no way to "fix" this. It is its nature.

It is a technology that exists because it makes a few people a ton of money and gives regular people a dopamine tweak along with heaps of suffering. It is the online equivalent of a crackhouse.

bphogan 9 hours ago 2 replies      
In a completely unrelated matter, I liked the Dave Matthews Band before they were cool.

Seriously though, the revelation that the "unwashed masses" now dominate a platform is pretty much commonplace. Twitter has, for me, become a news stream and very little more.

I did an experiment where I recorded and released a song a day, and nobody really noticed; I promoted via social media and all that, but really, there's so much noise, so much of a firehose, that unless you are watching the stream when something posts, you're going to miss it.

It's neat in a way, but it's also, exactly as the author says, no longer the intimate gather place.

Ah well, back to IRC then. :)

nsxwolf 10 hours ago 2 replies      
One of the advantages of being a total nobody is that I don't have these sorts of problems with Twitter.
calinet6 10 hours ago 1 reply      
This is great. It's just perfect.

The service purposefully limited to naturally content-light context-light 180-character quipswhose intent is to broadcast and be broadcasted to unfilteredachieves its destiny.

The result is natural and unavoidable. I'm so happy we're beginning to realize it.

Seriously though, this is one of those unmeasurables that's difficult to nail down. Sure you could blame it on changes to the UX, or on the user-base itself, or any number of other reasons. But in the end, you've gotta look at the nature of the form of communication itself and its parameters and assumptions, and make a conclusion at face value.

liface 10 hours ago 3 replies      
Platform starts, intelligent, well-spoken early adopters sign on.

Fast forward 7-8 years. Platform is overrun by normal people.

Early adopters leave and move on to the next platform

The cycle continues.

jbogp 12 hours ago 1 reply      
People are growing out of things, thinking platforms are getting old but forgetting that sometimes it is simply them that are in fact struggling to adapt to fast evolving ways to use a concept as generic as Twitter.

I'm not saying that he is necessarily wrong about the recent changes in the timeline but it does sound a bit like "things were better when we were the kings of the hill"... you don't hear the Bieber and Lady Gaga fans complaining about Twitter...

im_dario 3 hours ago 1 reply      
I left this comment in the blog:

I'm sorry but this doesn't make sense for me nowadays. I'm not a big account (close to 1.5k followers) and I suffered serious trolling, threatening and harassment due political ideology (striking harder on electoral campaign). My notifications were full of their tweets.

First, I blocked them and report them to Twitter. I got their accounts suspended but they came back within a few days. This lead me to a different strategy and mindset. I saw their tweets but I "felt" them as what they were: noise.

Do you know that pain-in-the-ass noise that you ignore after a while? Somebody drilling, i.e. That kind of noise.

When I realized this, I didn't care about them. I just passed through them, ignoring actively. They eventually stopped harassing. They became powerless.

With this experience I developed a fine sense to detect useless discussions, allowing me to even get in one on purpose if I'm bored enough. Even if I'm in the mood I can answer them but when I do it I use to be right on the spot. They tend to stop after two or three tweets.

I think everybody should develop this kind of mindset around Twitter. Obviously, this won't work in other types of harassments beyond "intellectual" one. They should be dealt in more severe ways.

blackaspen 11 hours ago 0 replies      
"I have found that my greatest frustrations with Twitter come not from people who are being nasty though there are far too many of them but from people who just misunderstand."

This is not different from life outside of Twitter (or Facebook or Instagram or The Internet for that matter). It's life. A fraction of people will always 'misunderstand'. The Internet has generally attracted open and eager people to the platforms it builds, but as things go more mainstream, you're going to get some 'normalcy'. The Internet population becomes the rest of the global population.

ducuboy 3 hours ago 0 replies      
This is exactly what I'm working on!

Twitter demands a lot of hard manual work in order to stay interesting. It doesn't have an efficient filtering mechanism. Follow/Unfollow button will not do.

I tried showing this problem from a different point of view - we get overloaded with popular stuff that we don't care about.

"How to Find Out Whos Popular on Twitter. And why theres no point in doing it" - https://news.ycombinator.com/item?id=8252252

fineline 8 hours ago 1 reply      
I have never had a Twitter account, nor have I ever posted to Facebook (although I do have a page, so the press have a nice picture of me in case I'm kidnapped or something, as well as 50 or so "friends", although I have no idea who many of them are or where they came from). So I don't quite get what this guy is complaining about. How was posting to a privately owned (by someone else) but publicly broadcasted platform, designed to attract freely contributed content in order to build an advertising channel, ever supposed to be "intimate"?
ux-app 12 hours ago 2 replies      
For me the benefit of Twitter is access to its social graph. I still don't personally see the benefit of Twitter as a communication channel. It is amazing for mining connections between people. In this respect I've found it an invaluable resource.
walterbell 11 hours ago 0 replies      
peterkelly 10 hours ago 0 replies      
People are always going to be nasty to each other online - as they have been offline, for thousands of years.

I don't think the introduction or abandoning of any particular technology is going to change that.

void-star 8 hours ago 0 replies      
So... FWIW, I totally don't have these problems with twitter. It's probably because I only check my twitter feed and spout out a few tweets at a time once every two weeks or so and pretty much ignore it the rest of the time.

Full disclosure: I don't use any other social network besides twitter, either. It's because it's so non-committal that I can deal with twitter...

malloreon 10 hours ago 0 replies      
This is fantastic news. Openness isn't inherently good; sharing everything and allowing others into our lives isn't automatically better.

Not only because of the attacks and general constant stream of stupid "content" that comes from even the most interesting of people, but since social networks make us unhappy.

Hopefully people will stop using broadcast based social networking. You heard it here first, one to one communication is the next big thing (tm)

bellerocky 9 hours ago 0 replies      
I was just starting to really like Twitter. Is it really the end? I have my doubts. Something is going to have replace it first, and it wont be Facebook since Facebook has conflicts family and private groups with public sharing.
austenallred 12 hours ago 3 replies      
The same frustrations (and more) are constantly levied against Facebook (as well as nearly every other platform). The reality is, however, that people are joining much, much faster than they're leaving. So even if 1 in 10 hates a platform and refuses to use it, that is negated by the 5 that are joining.
snowwrestler 11 hours ago 0 replies      
It's probably better described as the end of "small Twitter"--the time when everyone on Twitter wanted to be there. Today many people on Twitter just ended up there because that's where the celebrities are. They have no sense of community or allegiance to a "culture" of the service.

Every single popular technology goes through this phase. For example, people used to dress up to fly on airplanes. Look around the next airport you're in and think of that.

On the Internet, Usenet's "September that never ended" was the most famous of many such transitions.

snoman 12 hours ago 3 replies      
Twitter is useful and interesting, but your idea of rich conversation is shallow or weak if it was ever satisfied by conversations that were had 140 characters at a time.
adventured 9 hours ago 0 replies      
I'm not a heavy user of Twitter, although I've been a member since 2008. Mostly I check in a couple times per week with a few people that matter to me. The first time I noticed just how bad the 'people just misunderstand' effect now is, I was observing Richard Dawkins argue on his Twitter about simple logic concepts, and the people that were arguing against him could not grasp even rudimentary concepts of logic. It was terrible to observe.

Or another example: I randomly ran across Dax Shepard making a point about sugar consumption and the rise of diabetes ( https://twitter.com/daxshepard1/status/498145203639685120 ). Many replies were pointing out that type 1 diabetes isn't acquired from a sugar heavy diet (which was blatantly not his point). Type 2 diabetes is over 95% of diabetes cases in America, and that's obviously what he meant. Could the audience be that stupid?

I suppose it's the MySpace'ification of Twitter; that point where mass-appeal or distribution has been reached. I don't think I've seen any mega-sized, public service that this hasn't happened to (it's a non-stop complaint on Reddit for example).

DanielBMarkham 11 hours ago 0 replies      
I follow a small number of people. The people I follow are followed by a small number of people.

This creates more of a small room atmosphere. If you piss all over the place, you're going to be back online tomorrow with the same folks.

Over and over again I learn the lesson that Twitter as a broadcasting medium sucks. Twitter as an open chat room is tolerable. More accessible than IRC.

I suspect others are coming to similar conclusions.

hnriot 8 hours ago 0 replies      
I only use twitter for its nlp signal, I have zero interest in actually posting or worst still, actually reading any of it. twitter is like youtube comments, without the video. But it's great for what the aggregate signal it contains.
An Overview of Kernel Lock Improvements [pdf]
78 points by mmastrac  13 hours ago   9 comments top 6
xroche 5 hours ago 0 replies      
Note: for those interested, MCS locks and qspinlocks are discussed in this fine article: http://lwn.net/Articles/590243/
fmstephe 1 hour ago 0 replies      
Can anyone explain the use of 'round-robin' to describe mulit-node scenarios and 'fill-first' for single node scenarios. I initially assumed they were describing thread schedulers, but that doesn't make clear sense in these tests. Thanks in advance.
yxhuvud 1 hour ago 1 reply      
It would be interesting to see the same benchmarks for more normal amounts of cores. Most system does not have 240 cores, after all..
MoOmer 11 hours ago 1 reply      
This is great; I'm still reading through, but, I had no idea that the performance drop was that steep!
readerrrr 4 hours ago 0 replies      
This is the key: each locker spins on local memory rather than the lock word at page 63.
molixiaoge 9 hours ago 0 replies      
A minimal, UI-focused programming language for web designers
63 points by benjamindc  4 hours ago   30 comments top 16
thomasfoster96 17 minutes ago 0 replies      
AppleScript for the web? Awesome!

However, I'd think that support for more than just click events will be needed to make this worthwhile. 'hover', 'tap' and 'drag'/'drop' seem pretty logical.

progx 2 hours ago 0 replies      
A simple language could be a benefit for all, not only for beginners.

Extend uilang with more commands (like "after that", "then") and conditions and it would be really powerfull language, that can be used for complex things too.

At the moment every developer with little complex instructions have to comment the code, uilang can reduce this work.

A separate npm module and source files with uilang could be parsed and compiled (like browserify) - (reactjs is a good example for that, include directly in frontend or compile jsx in backend).

I really think you should rethink the project and focus not only on beginners. -> i am not sure they will use it, because you find tons of ressources for things like bootstrap, purecss, ....

mattfenwick 43 minutes ago 1 reply      
This seems to be implemented as an external DSL, with a brand new syntax and semantics. So my question is, why do that instead of implement it as an embedded DSL?

(Disclaimer: this is an honest question out of curiosity. I don't mean to imply that an embedded DSL is the right way, or that it's better -- but I do believe there's a tradeoff here and am interested in how that tradeoff factored in to the decision to implement this as a separate language.)

butterfly14 44 minutes ago 0 replies      
Reminds me of Hypercard. I can't think of many better compliments than that.

There's nothing you can do with Hypercard that you can't do in C, and there's lots of things that you can do in C that you can't do in Hypercard. But there's a lot of people who could manage Hypercard to do basic things who probably would never master C. That, I think, is the problem uilang is trying to solve.

There's also no reason why you can't use uilang to do simple things and roll your own code for more complex ones on the same page.

As an aside, back in GNOME 2 it took me perhaps half an hour's reading to get into UI themes and adapt existing ones to suit my preferences, even start designing my own. It was limited but fun to play with. Then comes GNOME 3 with all its fancy CSS and I just can't be bothered to hunt down how I can make a thicker border on the button with tab focus without the buttons jumping around a few pixels whenever I tab to the next one. Sometimes, less is more. (Long live MATE!)

csmattryder 2 hours ago 1 reply      
I think this is a solution to a problem that doesn't exist.

That's not to say it's not a great bit of effort, but I can't think of anybody that has a job to build widgets like on the demo page, yet cannot build them via pure CSS2/3 or JQuery.

I'm no designer, but i'd find it easier using CSS examples I find off the web combined with the information-glue that is StackOverflow, if something goes wrong with UILang, I'm on my own.

axefrog 3 hours ago 1 reply      
All of the examples are basically differently-styled variations of "clicking on X adds/removes class Y on element Z". Is this all it can do? Would have liked to see some slightly more varied use cases.
joshcrowder 2 hours ago 1 reply      
I really like this. I think its an interesting approach to a problem designers have.

I personally teach all of our designers enough jQuery so they can animate their designs. The issue is its a steep learning curve and to be honest the Javascript is normally throw away as once we come to build the interface we normally use a framework like Ember or Backbone.

Nice work Benjamin!

splatcollision 2 hours ago 1 reply      
This is cool even though not immediately practical. Quite similar to my project shorthand.js - http://splatcollision.github.io/shorthand.js/

Mine is a little nicer (IMO of course) and supports a little more than just class toggling (the workhorse of interaction design) such as multiple chained actions per target, and more.

I've always thought of this as an intermediate step - designers for whom this type of thing would be useful would know CSS selectors at least, and could work with a bootstrap-alike. The more useful state would be to expose something like this directly in a web preview environment.

OliverM 2 hours ago 0 replies      
This is a neat extension of CSS to allow designers to create simple interactions. I like it as a mechanism targeted slowly at that use case, and I like it even more for determinedly limiting itself to solving that use case well.

The same design taste is evident in the project webpage itself.

benjamindc 3 hours ago 1 reply      
In case you're interested in learning more about the motivation behind creating uilang, I wrote a little piece on Medium: https://medium.com/@bdc/the-educational-side-of-uilang-92d39...
adamwintle 1 hour ago 0 replies      
For anyone who might be looking, here's the Github repo: https://github.com/bendc/uilang
mhd 1 hour ago 0 replies      
Reminds me of Rexx, AppleScript and localized programming languages
tobyhinloopen 2 hours ago 0 replies      
Clever idea, but please don't use it.
nodesolomon 3 hours ago 0 replies      
I think its a good idea, but it needs a bit more work.
yoran 4 hours ago 0 replies      
Bon boulot Ben!
pestaa 3 hours ago 1 reply      
It makes easy things slightly easier, and slightly harder things impossible. Stupid idea.
Google 'discourages' users of old browsers
59 points by shazzy  15 hours ago   71 comments top 12
userbinator 13 hours ago 10 replies      
Google has started showing old versions of its search page to people using out-of-date versions of some web browsers.

On the other hand, many of the people using older versions of browsers would probably be the same ones who don't like the changes Google's made to its pages.

As someone who regularly uses various browsers (including text-based), I have a very strong opinion on this: I've noticed the "you must use browser X, Y, or Z" trend become more prevalent over the years, and I think it's against the basic premise of the Internet to be an accessible source of information to all. Users should be free to use whatever browser they want, on whatever hardware they want, with the understanding that some sites may use features their browsers don't support. Most sites on the Internet are still primarily sources of information, and it's rather disconcerting to see "appification" turning easily accessible pages containing text and images into complex behemoths that only work in the latest browsers from the big vendors. I know there is a certain allure to using the "latest technologies" for many developers, but if it needlessly excludes some others, there's a marginalising, discriminatory element to it that I just can't agree with.

She added: "We're continually making improvements to Search, so we can only provide limited support for some outdated browsers."

It would help if she pointed out the particular "improvements" and what features they need.

thomasfoster96 14 minutes ago 0 replies      
While I do respect Google wanting to move forward and bring along newer features that need newer technology, is it really too much to ask for simple fallbacks for browsers that are otherwise still supported by their vendors?

Safari 5.1 is pretty old, but it's no IE8. It supports enough HTML5 and CSS3 features to make me think that Google's just being a bit cheeky to non-Chrome older browserusers in user-agent sniffing and then not providing a current search page with fallbacks.

By the way, are versions of Chrome at about the same age of these other browsers also being affected?

josteink 22 minutes ago 0 replies      
'Discourages' eh? I think a quote from Iain M. Bank's culture-series is in place here:

"You might call them soft, and they might agree with you, but they're soft like the ocean is soft, and any sailor will tell you how harmless the Ocean is."

Google is just being 'soft' on non-Chrome browsers here.

millstone 10 hours ago 2 replies      
Riiiight. "Old browsers." Which "old version" of Chrome do you think is affected?

Google has already proven their willingness to degrade their search experience for non-Chrome browsers, by splashing a Chrome banner ad on the Google search home page[1].

This is about capturing more marketshare for Chrome, pure and simple. Eventually "old browsers" will be replaced by "browsers we don't care to support" will be replaced by "browsers that aren't Chrome." In the end, there's a possibility that Google's client software will be required to access Google's services.

Do you think that's farfetched? That Google is committed to browser diversity on the web? Then look at their vision for the desktop: Chromebooks, which do not support installing any web browser that's not Chrome.

[1]: http://techcrunch.com/2012/09/04/firefox-install-google-chro... and http://timothycope.com/wp-content/uploads/2014/05/0529201400...

butterfly14 29 minutes ago 0 replies      
<sarcasm>This is great news! Now all I have to do is not update my browser any more and I won't have to deal with the mess of google, facebook etc. changing their UI every so often and making me search for the new locations of the links to the features I use frequently.</sarcasm>

More seriously, I have set my "google" bookmark to google.com/webhp?complete=0&hl=en because I LIKE the old style better and don't want instant/autocomplete.

diminish 48 minutes ago 0 replies      
Do they really discourage the stock browser in many Android 2.x devices? I have one, and I don't see anything, anyway I can't update it neither.
weilu 9 hours ago 0 replies      
As a web dev, I'm very well aware of the pain of supporting old browsers. I appreciate what Google did for that very selfish reason.

Google provide a "free" service ("free" as in they don't directly charge you for it, they show you ads and have advertisers pay for it instead). Users sure have the freedom to use browsers of their choice and search engines of their choice, so is Google entitled to similar kind of freedom -- they are free to set their own house rules, whether that's "old homepage for old browsers" or "special homepage for chrome". As a user of such a "free" service either you suck it up or leave. Bitching about something like this is like getting a free lunch and complaining there's not enough salt, imho.

afafsd 12 hours ago 12 replies      
I'm using Firefox 3.5, and a helluva lot of stuff doesn't work properly any more. For instance, I notice that reddit broke a few weeks ago and I can no longer vote or comment. Why? I have no idea.

"Why don't you just get a new browser?" you might ask. Because new versions of browsers don't work on OS 10.4.

"So why don't you upgrade your OS?" Because as far as I can tell, no upgraded OS that will work on this machine is still available. There's no upgrade path from here to there. OS 10.6 would run on this machine, and OS 10.6 would run the latest Chrome, but you can't get OS 10.6 any more.

So I'm stuck in a bind, with no other option than to throw this (perfectly good) machine out completely. I do have a newer machine, but I keep it in the office, and this one ought to be capable of doing everything I want from it, but web devs keep breaking things that used to work fine.

growse 13 hours ago 1 reply      
I'm on the latest chrome (v37) on Ubuntu, and I'm getting ye olde schoole Google for omnibar searches. If I hit google.com and then type a search in the page, I get the current Google layout.


dblotsky 12 hours ago 2 replies      
I may be misinterpreting the article, but isn't that just graceful degradation?
dpweb 9 hours ago 0 replies      
Old == not Chrome?
awjr 13 hours ago 0 replies      
I know it's wrong, but I'd be happy if they just refused to provide any services unless you had an up to date browser or any interaction would immediately take the user to the what browser site http://whatbrowser.org/
Fourier Image Filtering
158 points by daviddotli  22 hours ago   40 comments top 15
calhoun137 20 hours ago 3 replies      
This is very cool and impressive, really good job!

Image filtering is a popular subject these days thanks partly to Instagram, and this subject is on the boundary between art and science, which is nice for a change of pace sometimes.

Anyway, to master image filtering in photoshop/GIMP for example requires learning a (very) large number of words and concepts which seemingly have no organizational structure. These words/concepts exist for historical reasons, and not because they represent some sort of cohesive or unified approach to filtering in general. The exact same problem exists for simulating effects pedals for guitars in programs like Pro Tools, interestingly.

Only Fourier methods can possibly unify this type of filtering, for a number of reasons which are actually obvious to anyone who is familiar with the fundamental role played by these methods in analysis.

The problem seems to be that the people who actually use this stuff all the time do not know Fourier methods and are not in a position to learn it; and this has created a massive inertia against re-formulating the entire UI/UX for image filtering based on the only possible unified approach.

It might be thought that Fourier methods are too hard for a graphic designer to understand, but I believe that it is up to people like us who do understand these things to redo the entire approach to filtering from square one, based on Fourier methods. In fact, I believe such an approach will make this subject much more accessible to everyone, and will be significantly easier for power users as well.

angry_octet 20 hours ago 0 replies      
This is really cool.

A nice explanation of using image FFTs is also given in the Image Magick docs:


claudius 21 hours ago 1 reply      
As it wasnt immediately obvious to me: You can click on parts of the gain/frequency line to fix points and individually move points, causing the gain/frequency function to be not just constant but an interpolation through these points.
nullc 9 hours ago 0 replies      
Has ugly cyclic artifacts, would probably look better with mirrored extension (where the image is padded with flipped mirrored copies of itself). E.g. lowpass and watch the sky bleed into the bottom.

Generally block transform techniques are not that interesting over a whole image because the signal isn't stationary.

thearn4 18 hours ago 0 replies      
Partially related: Here is a Python implementation of Conway's Game Of Life, using numpy.fft


This advances the game state image through re-expression of the game rules as a convolution filter.

gus_massa 21 hours ago 2 replies      
It's interesting, but a little slow in my slow machine. Does it use FFT or the "normal" FT?
gagzilla 8 hours ago 0 replies      
Strangely for me- neither Chrome nor Firefox seems to load this. Would be helpful if we knew what's missing to make this work.
theoh 19 hours ago 0 replies      
If you have 3D data instead of 2D rasters, you can not only apply the same filtering techniques but also use the Fourier transform to do volume rendering! https://graphics.stanford.edu/papers/fourier/Levoy_GI92_Volu...
Fice 17 hours ago 0 replies      
Darktable has similar wavelet-based filter: http://www.darktable.org/2011/11/darktable-and-research/
quarterwave 21 hours ago 2 replies      
Is 'frequency' 1d or 2d? Also, gain transfer function looks like a spline, why not try an FIR?

It would cool to add a few images with periodicity. I expected the lake bed image to show some quasi-periodic lines, but couldn't make that out in the spectrum.

starmole 18 hours ago 1 reply      
Somewhat small bug: The edges wrap around, which you certainly don't want for image filters. Especially noticeable with the blur. You want to use either clamping or mirroring at the edges.
TophWells 17 hours ago 0 replies      
The curve editor works very nicely. Did you write it yourself? I'm working on something similar, and it's really interesting to see all the things you did differently.
Elizer0x0309 9 hours ago 0 replies      
This is awesome! I'm expecting an audio version, soon-ish :)
mrcactu5 16 hours ago 1 reply      
why use Fourier analysis when it is not a repreating signal? I guess any function can be approximated using Fourier series, but it spreads information that is local and localalizes information that is spread out. I think a wavelet analysis would be more appropriate -- or at least separate the features and then use FFT.

Great job tho!

codehero 9 hours ago 1 reply      
Is there a similar way to play with the phase component?
Show HN: Awesome-radio a curated list of radio resources and information
43 points by vhost-  12 hours ago   3 comments top 2
LeoPanthera 9 hours ago 0 replies      
Anyone even vaguely interested in radio would be well served by getting an amateur radio license. There's a simple test to prove that you understand the laws and safety aspects, and then you are allowed to transmit in a large number of bands across the spectrum.

ARRL (US) "New hams":http://www.arrl.org/get-on-the-air

RSGB (UK) "Getting started":http://rsgb.org/main/get-started-in-amateur-radio/

Amateur radio isn't just about sending morse code to your friends in neighboring states - there are a growing number of digital modes and even people that bounce signals off the moon.

irfan 6 hours ago 1 reply      
Great effort but isn't wikipedia a better place to make such documents?
Predicting the next Math.random() in Java
129 points by nilknarf  22 hours ago   48 comments top 9
imaginenore 19 hours ago 2 replies      
If you want cryptographic-quality random numbers, both Java and Javascript have them. Math.random() is simply a super-fast decent RNG.


    var buf = new Uint32Array(10);     window.crypto.getRandomValues(buf);    console.log(buf);
Outputs things like:

    [4027145128, 258543382, 1205615760, 2665675208, 4033127244,      2280027866, 3983484449, 510932333, 1911490534, 2609399642]
This works in Chrome and FF.

IE11 has Crypto.getRandomValues(...)

Java has SecureRandom:


mnw21cam 19 hours ago 0 replies      
That is a nice not-so-subtle reminder. When a PRNG says it is insecure, it is insecure. When a PRNG says it is secure, it might be - get someone very clever to check it first.
phpnode 19 hours ago 0 replies      
nitpick, Firefox doesn't use Rhino, it uses SpiderMonkey which is C++.


xxs 17 hours ago 0 replies      
Math.random() should be used only for tests. That's it.Performance sucks as it's shared. ThreadLocalRandom is a lot better if you need fast but not-quality random.

And there is SecureRandom for security concerns.

Last fun fact Math.random() and a Monte Carlo test introduced "CAS in Java" and all that followed with JSR 166.

drinchev 19 hours ago 5 replies      
How dangerous this prediction can be? I can't stop thinking of java-backended real money, poorly written, gaming websites.
lunixbochs 17 hours ago 0 replies      
I tested a similar attack against ApacheCommons' RandomStringUtil. Given a few bytes of output, I could recover the RNG state in 20 minutes on CPU.
jlebar 18 hours ago 0 replies      
As another commenter has said, Firefox doesn't use Rhino. Here's the relevant code in Firefox's JS engine.


mda 19 hours ago 0 replies      
Reminded me an interesting Java Random issue with small seeds and power of two intervals:

  for(int i = 0; i < 256; i++) {      System.out.println(new Random(i).nextInt(8));  }
It returns same number for all seeds.

Peksa 19 hours ago 0 replies      
Hah, funny! I recently did the same to circumvent CSRF-protection based on java.util.Random. Here's my solver in JS: https://peks.as/experiments/random/
Drone Developers Consider Obstacles That Cannot Be Flown Around
22 points by evilsimon  8 hours ago   7 comments top 2
pan69 7 hours ago 2 replies      
What is the proposed usage for these drones if I may ask? I don't want to be a pessimist but if these drones are supposed to be transporting anything of value wouldn't that encourage shooting these things out of the sky?
lotsofmangos 2 hours ago 0 replies      
"Drone technology has not been thoroughly tested in populated areas" - Except by tens of thousands of hobbyists over many decades, with apparently nobody in the press really noticing until recently when cameras got added to the RC loop, which surely makes it less risky as it is much easier to fly, so I am sure it can't be that bad.

"and commercial use of drones is not allowed in the United States." - Although the only legal ruling so far for the first person taken to court by the FAA says that commercial drones are completely legal and that the FAA is talking crap. FAA has asked for an appeal and the NTSB has kicked it into the long grass since March. - http://blogs.findlaw.com/decided/2014/03/faas-commercial-dro...

This is really shitty journalism.

       cached 2 September 2014 13:02:02 GMT