- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
if the compiler warned you when you just assumed an object wasn't null without proving it first (i.e. by manually checking) then you wouldn't need Option.
can you have nonnullable objects? seems pretty pointless if anything you know isn't Nothing or whatever it is in java could just be null after all
This exists. you tag things with @NonNull/@Nullable annotations and the ide uses that to figure out what can and can't be null
i'm using it in eclipse and it does make the language a bit less painful. but none of the libraries you'll want to use have nullability annotations, so it;s not exactly great yet
|
#
¿
Aug 22, 2013 21:19
|
|
- Adbot
-
ADBOT LOVES YOU
|
|
#
¿
May 9, 2024 03:55
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
code:use Acme::PrettyCure;
# retrieve member on their teams
my @allstar = Acme::PrettyCure->girls('AllStar'); # retrieve all
my @allstar1 = Acme::PrettyCure->girls('AllStarDX1'); # retrieve first .. fresh
my @allstar2 = Acme::PrettyCure->girls('AllStarDX2'); # retrieve first .. heart_catch
my @first = Acme::PrettyCure->girls;
my @mh = Acme::PrettyCure->girls('MaxHeart');
my @ss = Acme::PrettyCure->girls('SplashStar');
my @five = Acme::PrettyCure->girls('Five');
my $hc = Acme::PrettyCure->now; # retrieve active team members
gas planet, ban humanity
|
#
¿
Aug 27, 2013 23:27
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
java.security.SecureRandom biyatch
yagni, unless you're like literally a terrorist or a spy. java.util.Random is faster and ideal for all your high-performance legal cryptographic needs.
top tip: Random.nextInt(n) does a whole bunch of weird stuff that slows it down. use nextInt()%n for better performance in exchange for a minor loss of uniformity that nobody will ever notice
|
#
¿
Sep 8, 2013 12:04
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
someone somewhere is using that in production code
|
#
¿
Sep 12, 2013 23:02
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
java style properties files are pretty straight forward
Properties are processed in terms of lines. There are two kinds of line, natural lines and logical lines. A natural line is defined as a line of characters that is terminated either by a set of line terminator characters (\n or \r or \r\n) or by the end of the stream. A natural line may be either a blank line, a comment line, or hold all or some of a key-element pair. A logical line holds all the data of a key-element pair, which may be spread out across several adjacent natural lines by escaping the line terminator sequence with a backslash character \. Note that a comment line cannot be extended in this manner; every natural line that is a comment must have its own comment indicator, as described below. Lines are read from input until the end of the stream is reached.
A natural line that contains only white space characters is considered blank and is ignored. A comment line has an ASCII '#' or '!' as its first non-white space character; comment lines are also ignored and do not encode key-element information. In addition to line terminators, this format considers the characters space (' ', '\u0020'), tab ('\t', '\u0009'), and form feed ('\f', '\u000C') to be white space.
If a logical line is spread across several natural lines, the backslash escaping the line terminator sequence, the line terminator sequence, and any white space at the start of the following line have no affect on the key or element values. The remainder of the discussion of key and element parsing (when loading) will assume all the characters constituting the key and element appear on a single natural line after line continuation characters have been removed. Note that it is not sufficient to only examine the character preceding a line terminator sequence to decide if the line terminator is escaped; there must be an odd number of contiguous backslashes for the line terminator to be escaped. Since the input is processed from left to right, a non-zero even number of 2n contiguous backslashes before a line terminator (or elsewhere) encodes n backslashes after escape processing.
The key contains all of the characters in the line starting with the first non-white space character and up to, but not including, the first unescaped '=', ':', or white space character other than a line terminator. All of these key termination characters may be included in the key by escaping them with a preceding backslash character; for example,
\:\=
would be the two-character key ":=". Line terminator characters can be included using \r and \n escape sequences. Any white space after the key is skipped; if the first non-white space character after the key is '=' or ':', then it is ignored and any white space characters after it are also skipped. All remaining characters on the line become part of the associated element string; if there are no remaining characters, the element is the empty string "". Once the raw character sequences constituting the key and element are identified, escape processing is performed as described above.
As an example, each of the following three lines specifies the key "Truth" and the associated element value "Beauty":
Truth = Beauty
Truth:Beauty
Truth :Beauty
As another example, the following three lines specify a single property:
fruits apple, banana, pear, \
cantaloupe, watermelon, \
kiwi, mango
The key is "fruits" and the associated element is:
"apple, banana, pear, cantaloupe, watermelon, kiwi, mango"
Note that a space appears before each \ so that a space will appear after each comma in the final result; the \, line terminator, and leading white space on the continuation line are merely discarded and are not replaced by one or more other characters.
As a third example, the line:
cheeses
specifies that the key is "cheeses" and the associated element is the empty string "".
Characters in keys and elements can be represented in escape sequences similar to those used for character and string literals (see sections 3.3 and 3.10.6 of The Java™ Language Specification). The differences from the character escape sequences and Unicode escapes used for characters and strings are:
* Octal escapes are not recognized.
* The character sequence \b does not represent a backspace character.
* The method does not treat a backslash character, \, before a non-valid escape character as an error; the backslash is silently dropped. For example, in a Java string the sequence "\z" would cause a compile time error. In contrast, this method silently drops the backslash. Therefore, this method treats the two character sequence "\b" as equivalent to the single character 'b'.
* Escapes are not necessary for single and double quotes; however, by the rule above, single and double quote characters preceded by a backslash still yield single and double quote characters, respectively.
* Only a single 'u' character is allowed in a Uniocde (sic) escape sequence.
|
#
¿
Sep 22, 2013 23:16
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
i maintain a program that uses java properties files for its data, and users keep trying to edit them by hand or generate them from scripts and they always get it wrong. always.
basically gently caress users use xml
|
#
¿
Sep 22, 2013 23:25
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
a format that's deliberately designed not to scale? sounds good to me
|
#
¿
Sep 23, 2013 17:47
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
a format that sets out to do something reasonably scoped and then hits it out of the park and also provides suggestions and points you in a reasonable direction for your idiotic use case?
it's good for what it was designed for (sending many small messages over the network), but that doesn't mean it's good for every case
|
#
¿
Sep 23, 2013 18:56
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
How so?
Also I don't see what problems xml is solving that protobuf hasn't also solved but better.
"Protocol Buffers are not designed to handle large messages. As a general rule of thumb, if you are dealing in messages larger than a megabyte each, it may be time to consider an alternate strategy."
"Protocol Buffers do not include any built-in support for large data sets."
"If you want to write multiple messages to a single file or stream, it is up to you to keep track of where one message ends and the next begins. The Protocol Buffer wire format is not self-delimiting, so protocol buffer parsers cannot determine where a message ends on their own."
in other words, protobufs are intended for sending short messages over the internet. they do that pretty well, but that's all they're good for. if you need to handle non-trivial quantities of data, you'd have to invent your own proprietary file format that maybe uses protobufs internally to store chunks of data (and then you still have to worry about whether those chunks might hit the size limit).
alternatively you could just get over your irrational fear of angle brackets and use xml.
|
#
¿
Sep 23, 2013 23:30
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
holy poo poo
|
#
¿
Sep 24, 2013 22:34
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
step 1: install linux
step 2: it's really easy from there. why the gently caress were you trying to use windows?
|
#
¿
Sep 28, 2013 22:41
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
Java libraries typically have excellent documentation. Of course, reading the source of a Java library to learn how it works is also a valid option, because Java programmers understand how to design their systems and don't try to show off how smart they are by using the cleverest code possible.
lol
tbh 99% of libraries in any language are underdocumented poo poo that dont quite do what you need, best plan is just to man up and take responsibility for writing your own code instead of relying on other people all the time
|
#
¿
Sep 29, 2013 14:21
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
why is a factoryFactory a thing, i barely (lol jk not at all) grasp the need for factories
or really any programing paterns from a book
factories are necessary because sometimes you want to get an object but you want someone else to create it for you (maybe they're better placed to decide which implementation to use, or maybe they're doing caching or whatever). in java they can also be used to hack around the language restriction that prevents you treating a constructor as a value without wrapping it in an object first.
factory factories are necessary because the quality of java code is measured by volume.
|
#
¿
Oct 1, 2013 22:23
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
i use jython 2.7 for all my jvm scripting needs. its pretty good if you want to combine the robustness and raw performance of python, the terse expressiveness of java apis, and the proven reliability of beta software
do we have this driving mission-critical production code? i'll leave that to your imagination!
|
#
¿
Oct 4, 2013 02:12
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
the general purpose equivalent would be
code:10 I = SOMEFUNC()
20 IF I < 0 THEN GOTO 40
30 GOTO 10
40
which is definitely less succinct, but has the benefit that the next programmer along to read your code doesn't have to be familiar with C idioms. it also doesn't "hide" an assignment where you wouldn't generally expect it.
Why do we even bother with structured programming?
|
#
¿
Oct 4, 2013 21:31
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
hell, people unironically use scala on anroid to make videogames
"people unironically do X" is not a strong argument in favor of X
i mean there are unironically SDL bindings for loving PHP
|
#
¿
Oct 8, 2013 01:04
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
Good things about perl:
1. it's not php
2. it's not javascript
3. it's not ruby
4. it's not ksh
5. it's still not php
|
#
¿
Oct 9, 2013 10:26
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
which is worse, ruby on rails or node.jabascript
which is worse, crack or meth
just say no
|
#
¿
Oct 19, 2013 19:32
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
yeah, porting fortran can be pretty bad.
the other week I was trying to get some code running on linux that was written like 20 years ago in a mixture of k&r c and fortran 77. by a mathematician. for unicos. without access to any of the cray manuals that might have told me what all the proprietary keywords were supposed to do.
my advice for anyone else in a similar situation is to re-evaluate your life choices, e.g. your choice to be alive
|
#
¿
Nov 23, 2013 11:46
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
its not a coincidence the most popular IDEs for c# and java (vs and eclipse) are also the two best IDEs. like I guess you could develop c# or java on a non-windows platform, but idk why they hell you would (esp c#).
The only reason I use java at all is because I have one program that still has some users stuck on windows, and using java means I don't have to develop it there (but can still be confident that it'll just work)
|
#
¿
Jan 12, 2014 16:37
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
people whose time is worthless
my time's worth a fixed rate, it's not like i get paid for results or anything. might as well make sure i don't run out of work.
|
#
¿
Mar 4, 2014 01:19
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
lol if you learned to program
|
#
¿
Mar 11, 2014 01:17
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
C# enums accept arbitrary ints for versioning reasons. Sum types force you to handle all cases at compile time, enums (in C# anyway) explicitly don't. As long as you have a default: in your case statement then you're fine.
exhaustiveness checking is the best thing about java enums. if i add a new member, the compiler will tell me what code needs to be updated to handle it. default clauses just hide the problem, like why are you using a statically typed language if you don't want static checks
|
#
¿
Mar 11, 2014 19:44
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
code:org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:85)
at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:70)
at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:90)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:172)
at org.codehaus.groovy.grails.orm.hibernate.events.PatchedDefaultFlushEventListener.performExecutions(PatchedDefaultFlushEventListener.java:46)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.springframework.orm.hibernate3.HibernateTemplate$28.doInHibernate(HibernateTemplate.java:883)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:881)
at org.codehaus.groovy.grails.orm.hibernate.metaclass.SavePersistentMethod$1.doInHibernate(SavePersistentMethod.java:58)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
at org.codehaus.groovy.grails.orm.hibernate.metaclass.SavePersistentMethod.performSave(SavePersistentMethod.java:53)
at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractSavePersistentMethod.doInvokeInternal(AbstractSavePersistentMethod.java:179)
at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractDynamicPersistentMethod.invoke(AbstractDynamicPersistentMethod.java:59)
at sun.reflect.GeneratedMethodAccessor505.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:188)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:132)
at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport$_addBasicPersistenceMethods_closure71.doCall(HibernatePluginSupport.groovy:806)
at sun.reflect.GeneratedMethodAccessor504.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:80)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:307)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:63)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
at license.RequestCacheService.insert(RequestCacheService.groovy:39)
at license.RequestCacheService$$FastClassByCGLIB$$7876a7b5.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
at license.RequestCacheService$$EnhancerByCGLIB$$bb83a13b.insert(<generated>)
at license.RequestCacheService$insert.call(Unknown Source)
at farts.LicenseController.proxyRequestTo(LicenseController.groovy:158)
at farts.LicenseController.this$2$proxyRequestTo(LicenseController.groovy)
at sun.reflect.GeneratedMethodAccessor1449.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)
at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)
at farts.LicenseController$_closure2.doCall(LicenseController.groovy:189)
at sun.reflect.GeneratedMethodAccessor1571.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
at farts.LicenseController$_closure2.doCall(LicenseController.groovy)
at sun.reflect.GeneratedMethodAccessor1570.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at groovy.lang.Closure.call(Closure.java:282)
at groovy.lang.Closure.call(Closure.java:277)
at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:368)
at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:232)
at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:190)
at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:129)
at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handleRequest(SimpleGrailsController.java:73)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:292)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:298)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:264)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:255)
at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:183)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:245)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:134)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:112)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.codehaus.groovy.grails.plugins.springsecurity.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:40)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.codehaus.groovy.grails.plugins.springsecurity.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:69)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at farts.security.HttpResponseHeaderFilter.doFilterInternal(HttpResponseHeaderFilter.java:24)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at farts.security.HdivHelperFilter.doFilterInternal(HdivHelperFilter.java:181)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.hdiv.filter.ValidatorFilter.processRequest(ValidatorFilter.java:233)
at org.hdiv.filter.ValidatorFilter.doFilterInternal(ValidatorFilter.java:168)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at javax.servlet.FilterChain$doFilter.call(Unknown Source)
at filters.NetworkInterfaceFilter.doFilterInternal(NetworkInterfaceFilter.groovy:45)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:865)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
at java.lang.Thread.run(Thread.java:636)
grails baby
|
#
¿
Mar 12, 2014 10:21
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
nope
a core problem with c++ advocates is that they rarely understand what the gently caress c++ is.
hardly anyone understands that. look at anyone who says "c/c++" and you are looking at someone who only knows what one of those is
|
#
¿
Mar 13, 2014 13:32
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
i wanted to read dog cover book once but then i didnt own it and well
lol if your employer doesn't even pay for a safari subscription
or i guess you could say ... owned
|
#
¿
Mar 16, 2014 04:42
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
in that case i'm glad i only have one of those fake jobs where you can take some time out for personal development and still get paid the same
like when else are you going to read about it, on your personal free time? seriously?
|
#
¿
Mar 16, 2014 04:59
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
we live in a world where someone can be considered a professional developer despite struggling with trivial concepts like pointers and recursion. at least regexps have some moderately subtle edge cases, and i guess the book maybe discusses implementation details as well?
|
#
¿
Mar 17, 2014 04:08
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
most of the time iterative methods are superior and they are much more "will someone else be able to understand this in a year" friendly usually
idk there are cases where the recursive form is simpler and using iteration might be slightly more efficient but maybe not enough to be worthwhile. just do whichever fits your algorithm best really
|
#
¿
Mar 17, 2014 13:44
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
mods
|
#
¿
Mar 18, 2014 02:44
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
because (1) the contract that other languages follow sucks whenever you have to fall back to legacy syntax just to get the index
good solutions:
1. provide two mapping functions, so you can provide the index when explicitly asked for it
2. do it like python's enumerate(), which explicitly maps a sequence to tuples that contain the index
bad solutions:
1. implicitly do something unexpected that can cause bizarre and non-obvious bugs
(2) parseInt isn't a collection mapping function, nobody said it would be, wtf would you expect it to fulfill any contract other than its own
yes, how unreasonable to expect different parts of the built in library to be composable like they are in non-poo poo languages
|
#
¿
Mar 18, 2014 11:37
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
i for one am convinced that this trivial microbenchmark provides useful information about real-world performance
also lol if you think the main point of removing bad features is to make your lovely code run faster
Soricidus fucked around with this message at 01:13 on Mar 22, 2014
|
#
¿
Mar 22, 2014 01:09
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
yeah!! sheesh everyone knows the point is to show how superior you are to the plebs who don't make it harder for themselves to write code for no reason
this is a good computer joke you have posted in the computer jokes forum
|
#
¿
Mar 22, 2014 18:17
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
ides are good for statically typed languages where they can give you instant feedback on errors and sensible auto completion and type information and stuff
if your working in a plang then they don't buy you much. just use sth like emacs with flycheck mode to employ whatever syntax checking tools are available
|
#
¿
Mar 25, 2014 09:44
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
read the old new thing from start to finish (you can skip the ones about dreams and classical music). now you know everything about developing for windows in C
|
#
¿
Mar 26, 2014 03:07
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
|
#
¿
Mar 26, 2014 21:32
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
loose equals is for when you don't care what specific way the computer is storing some value (which is most of the time for most ppl)
most ppl also wouldn't care if you killed yourself, does that make it a good idea?
|
#
¿
Mar 29, 2014 10:19
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
just use whatever language you like and is appropriate for the task at hand?
what if you're doing client side webdev? none of the choices are fit for any purpose and nobody who likes them should be trusted to write code
|
#
¿
Mar 29, 2014 16:05
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
thanks for the advice, i'll give it a try
|
#
¿
Mar 29, 2014 16:10
|
|
- Adbot
-
ADBOT LOVES YOU
|
|
#
¿
May 9, 2024 03:55
|
|
- Soricidus
- Oct 21, 2010
-
freedom-hating statist shill
|
lol @ butthurt spergs raging against the modern universal development platform/their imminent obsolescence
thanks for the concern but my job doing interesting things with tolerable technologies isn't going anywhere
|
#
¿
Mar 29, 2014 20:09
|
|