HN user

bananas

1,332 karma
Posts0
Comments481
View on HN
No posts found.

Agree. I didn't go to a single lecture after 2 months at university (electrical engineering). My TA was shit as well - was too tied up in computer vision research and found us inconvenient. However we formed a club (5 of us who actually gave a shit) to work through stuff as students. Rather awesomely our digital electronics lecturer turned up after a couple of weeks and helped us with stuff and had a weekly rant about how useless the other staff were. I think we helped him vent too.

Definitely but that gurantee is thrown away the moment you pull a 3rd party black box in.

I'm suggesting it's feasible but not necessarily perfect and when it does go boom, which it does when you have 100 million HTTP hits a day, you need to be able to find out precisely where it went wrong. LINQ makes that damn hard:

   NullReferenceException
   Company.Product.Assembly.Namespace.Type.Method() +14
   ...
When line 14 has 22 dereferences then you have no idea why it broke.

This. Most of the code I write is gluing stuff together rather than inventing new things which is what I'm paid to do.

A lot of people say this stifles creativity and is boring but the productivity is off the scale. I've built things that would cost £50000+ in dev time and licenses and take 3 months in .net in a couple of days in Java without spending a penny (reporting, messaging, email processing, document scanning, parsing, bulk processing, ETL, matching, logging). This is because someone already did the leg work and released it with an open source license meaning no license cost. Not only that, the ecosystem, Unix based deployment platforms are all easy to automate so jobs only get done once and stay working. Sure you can throw out an ASP.Net MVC web app quickly but that's the easy bit.

We can put £500,000 a year back into open source projects through time investment and donations if we replace .Net and still do better than break even on the dev cost.

Yep but you'd know which dereference it was if you unrolled it. Nulls happen unfortunately even with the best checking and intents.

Why? We write less code in Java than we did in C#. To be fair NetBeans writes most of it.

I still write C and don't hang myself because it doesn't have generics!

LINQ isn't a magic bullet.

   collection.Where(s=>s.Transaction.Amount < 100).OrderBy(s=>s.Name).Single();
I'll let you debug the intermittent NullReferenceException that threw in production with no PDBs...

The only bad choice was the foundation on which to build the product. The above technologies are pretty much a response to the world being better elsewhere. Unfortunately the responses are pretty immature, poorly documented with bad support reputations and virtually no backing.

I've used most of the above. ServiceStack was pretty good but nothing in comparison to Jasper which has much better documentation, a cleaner architecture, stable migration notes and better performance. Look: https://jersey.java.net/documentation/latest/index.html

NancyFX I haven't touched.

NHibernate is a buggy behemoth with a learning curve from hell. It doesn't scale well with project size (we have 2000 tables of which about 500 are NH mapped "model-first") and it stinks. The SQL generated is terrible, it's impossible to debug when it goes wrong other than sift through 50Mb of log4net DEBUG level logs. To add insult to injury, the LINQ provider is so buggy it's like programming with a hand grenade. I've used hibernate in java and NHibernate isn't even a tenth of the way to the maturity and reliability.

Dapper - I really like Dapper. I have used it for data transforms before. However it doesn't play well with low trust as it uses IL emit.

OrmLite - see ServiceStack.

Not bad choices - just choices I either regret or had to make because the whole ecosystem is amateurish outside of Microsoft and unstable inside of Microsoft. Sorry.

As for the company, we've got over one million lines of c#. As new subsystems appear they are being moved to other technologies (Angular + Java + Jersey + maven + guice + Jetty + Redis + postgresql). This takes time. The amount of code is tiny compared to the old implementations and the time to market and reliability is awesome.

As for me, because I'm in charge of the migration. When its gone I'm not even going to go to the funeral.

I've been through EVERY ASP.net update on every version of .net and every MVC update from CTP2 onwards, dealt with WWF being canned and rewritten, moved APIs between old SOAP stuff (asmx), WCF and WebAPI and rewritten swathes of ASP VBnand C++ COM code, ported EF stuff to later versions and worked around piles of framework bugs including the MS11-100 fiasco. That and been left royally in the shit with silverlight.

Not one of the above has actually improved the product we produce and are all reactionary "we might get left in the shit again" changes.

I'm really tired of it now.

That's basically rubbish and misinformation.

You're complaining about WDM audio. There's built in WaveRT and external ASIO stacks as well. The latter has become the standard on Windows for professional audio and is direct hardware access.

USB audio devices are and aren't polled. The cheap ass speakers and stuff are but anything $20+ are buffered raw device access.

I can get 8ms out of a Windows 7 laptop with ASIO over USB that isn't even tuned. My Korg Triton Studio manages about 4ms and that's seriously high end kit.

I don't buy that.

Everyone I know has a sub $100 USB interface hanging off their machine and swears constantly at the latency and wishes they'd just stuck with ASIO on Windows...

Personally I still have a workstation...

As for the iPods they sound horrible. The latest line of nano has noticeable noise on the outputs.

Yes I because:

1. They actively monitor your connection to be able to determine whether or not you have "infringed". This has non legitimate utility.

2. They are building a mailing database which whilst is under a mild agreement may in the future be made available under different terms.

So this is not a win, it's a tragic first step towards what we don't want.

I'm terminating my Sky account over this today. At no point is this in my interest as a customer. They took £750000 to voluntarily violate my privacy.

They obviously will have to develop a heuristic for suspicion and store suspects somewhere. If that list becomes available by accident or court order then it puts people at litigation risk. Unfortunately despite guarantees supposedly mandated by law, if you're confronted with a case then you're screwed either with respect to costs or defense.

I would suggest people start moving to Andrews and Arnold or a similar smaller ISP immediately.

Screw the black cabs.

I didn't realise what a rip off they are until I started driving around the city myself regularly with Google Maps which to be honest with traffic aware routing destroys "the knowledge" instantly. Black cab drivers know how to make cash, not the most efficient journeys in time and money. That meter hurts you badly.

So they'll cause some chaos; good for them but it'll raise more awareness on the issue and hang them faster.

More competition is required in this sector for the passengers.

Free Your Android 12 years ago

In this case it is. Privacy is about control and unless you have absolute control you cannot guarantee any privacy at all. And you don't control your phone's operating system, the GSM module OS/firmware, the carrier, the client applications and even the radio signals.

What you want is an illusion of privacy. The two are vastly different.

Free Your Android 12 years ago

My approach is different. I still use a completely Google tied Moto G with everything turned on. Hiding in plain sight (the grey man principle) is a better tactic.

If privacy is required, I leave the handset at home and get on my bike. There is no hiding unless you turn it all off.