HN user

cowabunga

108 karma
Posts0
Comments39
View on HN
No posts found.

Yes thank you for the clarification.

My point is more that regardless of the syntax, runtime or approach, the same outcome is possible without having to enter a risky niche.

PHP does nothing, but if you throw it in a prefork MPM module in apache, it does that.

Sure we don't let it physically crash and we handle the exception at the base of the thread and decide what to do, but the outcome is the same. Java error handling is absolutely fine and in some cases, far less painful that the "err" semantics of Go.

Thanks for the clarification! My bad.

Yes it is far superior from a representation point of view at least there. I have no doubts about that.

Not sure I agree with the conclusions:

1. Binaries: this isn't really an issue. We ship the JVM with anything that we do in Java. Unzip, run, done. Go is probably ideal there but it doesn't support embedded resources without some hideous hacks so you're still going to be deploying more than just a single binary in a lot of cases. CLR is pretty good at this as well.

2. Sockets: 0MQ/WCF/JMS/any stream abstraction wired up correctly.

3. ASN.1: Everything has ASN.1 libraries these days. I've never had to use one in the real world in any of the sectors I've worked in.

3. Let it crash: we do this. In fact we force threads to crash if they do anything bad by throwing an exception that isn't caught. All threads are designed to be idempotent, restartable and transaction aware. This is true in JVM/CLR at least.

4. Supervision: New thread, new state, no shared state. Not hard. PHP does this...

5. Inspection: I've seen the Erlang toolchain and it's pretty good but I'm not joking but inspecting and debugging the state of a system is better when there is lots of pooled knowledge (google) and lots of diverse tools. JVM wins there every time.

7. Messaging is not RPC: It's not in JMS either or WCF. It abstracts the transport away. In fact we have inproc transports in some cases that use concurrent collections to throw messages around.

8. Dialyzer: compiler, static typing (Java is less strong here to be honest than say C#).

I really like the idea of Erlang but the worse is better mantra applies here. It's easier to get staff, the knowledge when something goes pop is available, we benefit from the reuse of billions of lines of code written and tested by others if we pick a JVM. If we have to think a bit or throw some more kit at it, so be it.

Edit: just to add, I'm not knocking Erlang and quite like it in principle (I spent 2 months disassembling CouchDB to see if we could maintain it so it's not a foreign language to me), but the justifications in the reply aren't particularly unique ones nor are they major advantages.

Good for you :)

I would check the Lenovo recall page (google it) before paying for one. That's where I got my new one from - they replaced it free of charge ;-)

FreeBSD 10 r10 stable with some ACPI frigs and dpms set up (I didn't write them down)

Windows 8.1 Pro with Lenovo power manager installed via windows update.

Dual boot.

Amazon Echo 12 years ago

Well I was in emotional, physical pain and panic like (I assume) a crack addict for a couple of weeks. It was horrid.

Then I was sitting down reading a book (Speaker for the Dead by Orson Scott Card) and realised I'd blown 4 hours on it rather than doing any work. Rushed and grabbed the laptop and nothing was broken, on fire and no one had emailed me. Then I did a two hour coding binge. Did more on that day than any other and it has just got better and better.

Concentration has improved as has tolerance and patience. I also read a lot more because I have the time to.

I'm only posting on here because I'm waiting for compile cycles :)

Amazon Echo 12 years ago

Exactly. I don't actually carry a phone these days and people think I'm crazy. Personally I just don't want to be available all the time but it has certain privacy advantages.

Amazon Echo 12 years ago

Another spy in the house listening to you like the telescreen in 1984.

My X201 is fine with FreeBSD. in fact the battery life is slightly better than windows 8.1. Hibernate doesn't work so I just shut it down.

Performance isn't an issue really even though its an i5. If it is too slow, I ship the problem elsewhere (the feck off great big 24 core E5 HP Z620 in the office).

Sure there may be 10% difference between BSD and Linux but that's negligible these days versus the positives (like being able to just pkg install ruby21 without having to bugger around with rvm or wait three years for debian to pick it up in stable)

Well it's awesome until you want to leave or want support or thought wave was good or one of your users violates their ToS and they take your entire account out before you are even notified or its down for a few hours when you're about to drop a big presentation to that client or you find out that local legislation changes make it illegal to export data out of the EU or you're somewhere with a basic GPRS connection or none whatsoever.

These are all real problems I've had to work around.

In my sector (finance), literally everyone has some automation junk set up somewhere. They're usually written by one person and mailed around or stuck on fileservers somewhere or copied off a website somewhere badly.

It's surprisingly common. Even my wife who is a complete luddite has a couple of scripts for excel she copied off a web site to do a tax calculation.

The majority of the power of Office is only available on the desktop: COM, automation and integration.

This isn't a total give away, this is a loss leader which is just selling an editing front end for the files, not anything like the power of the full product.

However, I really think that Office on the desktop is a turd but it does make automation pretty easy but slightly awkward and painful. Perhaps this is bitterness from converting VSTO and Word interop to late binding all morning but I'm not a fan.

This is "meh" even to someone as embedded into the ecosystem like myself.

I worry about my father in this respect. He's getting on a bit and has been in and out of hospital with heart problems for about a decade now. He also has about 1TiB of crap on a NAS that I'm going to have to go through. Most of this is recent but there are thousands of files going back to TRS80 and early MSDOS systems, through 25 years of windows. All of this is code, mostly in BASIC and C. Everything he's ever done he has kept.

I'm just as bad really but I've kept it down to a mere 18Gb and it spans back to my first serious programs on Acorn RISCOS in BASIC and ARM assembly. I still fire up and emulator and fix bugs in them occasionally. They are still useful despite being old.

Nostalgia is painful sometimes however as not all those files are readable and perfectly preserved.

Regarding your first paragraph, I'm right there now and proud of it.

And that's exactly how it should be.

I will say that this time is only available from ruthless automation and organisation.

I spend the other 20 hours making sure I only have to do 20 hour weeks forever (startup).

I had all sorts of sync problems with OneDrive so I canned it. I now keep a central SVN repository with all my stuff in it.

I use svn because TortoiseSVN tooling allows diff/merge of documents, it is centralised so there is a single source of truth and it works over WevDAV/http so i can access it on my mobile device if need be (I avoid this where possible and just use it as a tether).

I think you nailed it. I was trying to articulate this point to a colleague the other day and couldn't do it but that is perfect.

Well the first point depends on what platform and how the kernel memory allocator is configured. It's possible to overcommit on Linux for example which is acceptable for short windows. NT will most likely tell you to go away.

Now that last point is the important one and is actually what I do which I was hoping to hear somewhere :-)

This doesn't always work.

When you have 512MiB of memory and your current allocation is 256MiB, where do you go?

Also when your dataset allocates 64MiB up front, then chucks two bytes on the end, where do you go?

Know thy data and test test test is the only rule.

curl | sh 12 years ago

Actually no as that signs the communications and not the software. If the target server is compromised then you are screwed. Also for example there is no guarantee that github.com isn't serving malicious traffic from one user under a legitimate request I.e. the poisoned sharecrop problem.

EV signed software is usually done off the internet. In our case we use a physical key to sign it offline and then upload.

"enterprise architect" here. Yes you just stamped on a lot of our toes and rightly so. There is a lot of batshit out there which is what you've most likely experienced. There are a few of us working to destroy this batshit without sacrificing the ultimate goal of building something that isn't a bag of rats though, so please don't tar and feather us all.

For ref, I don't use PowerPoint, I do write (a fuck load of) code, don't organise meetings and don't speak in buzzwords. I do however have a thinkpad so that's the only stereotype...

curl | sh 12 years ago

No it's not because MSI packages and EXEs are signed so there is at least a chain of trust. SmartScreen kicks you in the face if it's not "known" by various metrics and it's hard to get around that these days (as someone who just had to get EV certs for their MSI). If you click through that, and you don't know what the source was then you're a muppet.

curl + bash is suck and blam the machine. Hope you didn't do a sudo in the last few seconds...

http://www.nastybastard.com/funky-super-installer.sh:

   #!/bin/bash
   echo "mwuhahahaha"
   sudo rm -rf /boot