136 reputation
7
bio website
location Minneapolis, MN
age 23
visits member for 4 years, 1 month
seen 1 hour ago

I'm a developer, alternately working on web apps (Java EE and Backbone.JS) and performance/automation scripting, all for a wellness company in Minneapolis.

On my rare occasions to code outside of the office, I keep trying to write a scripting language every few months, and have a mild interest in gaming and graphics (previously working on the Wine project and contributing to graphics modifications for a few old games).


Oct
1
comment Why were default and static methods added to interfaces in Java 8 when we already had abstract classes?
@Chris Multiple inheritance of state causes a bunch of problems, especially with memory allocation (the classic diamond problem)‌​. Multiple inheritance of behavior, however, only depends on the implementation meeting the contract already set by the interface (the interface can call other methods it declares and requires). A subtle, but very interesting, distinction.
Aug
12
comment Scheduling a few CPU-intensive tasks
@MartinSchröder Java EE. Delivering the data over REST for now (WebSockets later, likely). I'd be interested in making things fairly container-agnostic, so we can deploy to places like GAE and Azure.
Aug
12
comment Scheduling a few CPU-intensive tasks
@Snowman Took a look at it yesterday, and it looks like a fairly good solution. Need to test it and find a threading model that works well.
Aug
11
revised Scheduling a few CPU-intensive tasks
deleted 172 characters in body
Aug
11
comment Scheduling a few CPU-intensive tasks
@RobertHarvey It certainly is broad, hence being on programmers.se rather than SO. I was able to pare it down to two much more concrete points. Look better?
Aug
11
revised Scheduling a few CPU-intensive tasks
deleted 226 characters in body
Aug
11
awarded  Editor
Aug
11
revised Scheduling a few CPU-intensive tasks
deleted 17 characters in body
Aug
11
asked Scheduling a few CPU-intensive tasks
Jul
31
comment Client-side coding: How to prevent malicious use?
@Ajedi32 Clients are always inherently insecure, and if they probably aren't at the moment, you still have man-in-the-middle and all sorts of potential attacks, alternate clients, etc. You must never trust the client. If security matters on a particular operation, you do it on the server and deliver safe results to the client. What the client does after that is not necessarily your problem (if the client machine is compromised and logs traffic, you can't help that). You can still mitigate most data leaks by not sending the client anything it shouldn't have.
Jul
30
comment Client-side coding: How to prevent malicious use?
If I may elaborate on the first two sentences, the subtlety folks often miss is that point of client-side browser apps is to offload heavy lifting. Your server is still responsible for trusted operations, like sending emails or accessing the data. Having the client render a graph from that data, however, saves you CPU time (and money) without changing the security model.
Aug
22
accepted What other patterns can I use for this singleton?
Aug
22
awarded  Critic
Aug
22
awarded  Scholar
Aug
14
awarded  Autobiographer
Feb
16
awarded  Commentator
Feb
16
comment What other patterns can I use for this singleton?
I do think you're onto something with the tuple idea and 4, potentially with a global variable dictionary instead of a global parser.
Feb
16
comment What other patterns can I use for this singleton?
The log messages are formatted as-needed, so if the Logger can early-out based on severity level, the format will never occur, otherwise the format is triggered, then a brief lock for atomic write. What I do want is for all the log info from a single run of a single process to go into a single file, for a variety of reasons which include 6. Most logging only happens during error handling, at which point performance is tenth concern to in-order logging (stamped to the ms), making sure the log makes it to disk (the log is flushed if an error is logged), and so on.
Feb
16
comment What other patterns can I use for this singleton?
For 2, any plugin or most others bits of code may access the Server in order to create objects or load other plugins, but there must never be competing servers, hence the use of a singleton. I am well aware of all the implications of the (anti-)pattern, but that object is the ideal use case for it. For 3 , the Parser is also available to any plugin and at any time, but (4) it is Core-specific, so trying to move it there will likely help. For 5, the singleton creation and all calls are thread-safe (all the objects and their methods are, in fact)...
Feb
16
comment What other patterns can I use for this singleton?
@jhocking Singletons aren't innately bad, there is a very valid use case for the pattern, and the Server is it: all the state it governs is process-specific but must be accessible anywhere within the process and there must never be more than one instance. Making it anything else complicates a lot of things. The "start point" is the creation of a core.