greptilian logo

IRC log for #friendlyjava, 2016-03-03

##friendlyjava on freenode

| Channels | #friendlyjava index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

All times shown according to UTC.

Time S Nick Message
01:44 HEGX64 joined ##friendlyjava
01:52 sfisque joined ##friendlyjava
02:03 sfisque1 joined ##friendlyjava
05:03 HEGX64 joined ##friendlyjava
07:06 abba joined ##friendlyjava
09:59 aditsu omg, default interface methods are sooo cool! :)
11:09 pdurbin aditsu: yeah? how so? this is a java 8 thing, right?
11:10 aditsu yeah, you can provide default implementations in interfaces, so you don't need to copy the code in implementations or use an abstract class that stops you from extending something else
11:11 aditsu although… it doesn't always work quite as well as I hoped - http://stackoverflow.com/questions/35770017/must-implement-default-interface-method
11:15 pdurbin_m joined ##friendlyjava
11:15 pdurbin_m Daniel De Luca on Twitter: "Java does not permit multiple implementation inheritance: Possible solutions in Java 8 via @venkat_s https://t.co/QC8NVHqMvx": https://mobile.twitter.com/danieldeluca/status/705316956333707264
11:17 aditsu ooh, a long video
11:18 pdurbin I think it's related. Haven't watched it yet. :)
11:18 aditsu the first answer on my question also mentions traits (and says I shouldn't use default methods for that)
11:19 aditsu (video title is "The Story of Traits")
11:25 pdurbin he says the code is on his website
12:43 abba joined ##friendlyjava
12:59 abba joined ##friendlyjava
15:30 sfisque joined ##friendlyjava
16:13 aditsu hmm, java 8 still doesn't have a method to get the file extension
16:27 pdurbin bummer
16:27 pulsar aditsu: i used mimetype detection for that a long time ago. iirc it came from the java mail api. jMimeType would be also an alternative.
16:27 pulsar and yes, i know, mime types and file extensions are not the same but perhaps it can help solving whatever issue you have to deal with.
16:30 aditsu pulsar: apparently there are many different methods for that, and none of them very reliable: http://stackoverflow.com/questions/51438/getting-a-files-mime-type-in-java
16:30 aditsu file extensions are much simpler
16:33 aditsu anyway, I have my own code to deal with that, I was just wondering why it's not in the standard library
16:36 pdurbin 'people who are new to java 9 or 10 or 11 will ask "can java parse json?" and the answer will be "go download this extra thing".' https://javabot.evanchooly.com/logs/%23glassfish/2016-02-24
16:42 aditsu by the time java supports json, they'll be asking about yaml or msgpack or something new :p
16:51 pdurbin "they" :)
17:36 sfisque what does this mean: "java 8 still doesn't have a method to get the file extension"
17:37 sfisque you know "file extensions" are merely a naming convention and have nothing to actually do with the file.   you can have a jpeg and name it "myimage"
17:38 sfisque this problem is partially solved on *nix by using "magic numbers" and leader byte sniffing, but even that is frought with peril because random binary files can "look" like anything
18:44 * pdurbin sniffs some files
19:42 sfisque1 joined ##friendlyjava
23:04 aditsu sfisque1: I mean just that - it doesn't provide a convenience method to split the file name by the last dot; of course they are a convention, and that's why they are useful
23:04 sfisque1 String.split( _delimiter );
23:05 aditsu not quite that straightforward, but yes it's fairly simple
23:06 sfisque how more straighforward than that.  you either get a list of tokens and the last one is your extension, or you get the filename because it doesnt have an extension
23:08 aditsu no, I mean your code is too simple and doesn't do the full job
23:09 sfisque oh, we've slid into pedantic land… gotcha….   s[] = _string.split( _delim );  if( s[].length > 1 ) { _ext = s[ s.length - 1 ]; }
23:10 aditsu also, I'm not sure why you're trying to implement it and give me the code
23:11 sfisque i'm just indicating how trivial it is
23:11 * sfisque hands aditsu a skinned cat
23:11 * xb hands aditsu the cranberry-jam to go with the cat
23:12 aditsu I already knew that, and I said I already have my own code for it; that still doesn't explain why it's not in the standard library
23:12 sfisque trival != universal
23:12 sfisque file extensions are not universal, they are contextual conventions
23:13 sfisque File doesnt care what the underlying os is.  if you make it exension aware, it becomes os-dependent
23:13 aditsu afaik, they are universal - nobody uses e.g. jpg or pdf files without the corresponding extension (except maybe a few weirdos)
23:13 sfisque now if there was an ISO or Ansi standard for file exensions, that would probably change
23:13 sfisque jpeg
23:13 sfisque jpg
23:13 sfisque JPEG
23:14 sfisque jpg
23:14 sfisque JPG
23:14 sfisque which one wins
23:14 sfisque jpg2000
23:14 aditsu they all win, everybody gets a car :)
23:14 sfisque .img
23:14 sfisque the truth is, i can have a jpeg that has no extension and it's still a jpeg
23:15 sfisque bob-car can be a jpeg
23:15 aditsu sure
23:15 sfisque or a tiff
23:15 sfisque or an audio file
23:15 sfisque what generally "goes into" the jdk libs is universal stuff.  a List is a List, regardless of OS
23:16 aditsu and a file extension is a file extension, regardless of OS :)
23:16 sfisque there will probably never be a call to File that indicates if it is a Unix File Socket because that's not universal
23:16 sfisque how about Locale?
23:17 sfisque what qualifies a file extension in Kanji?
23:17 aditsu a .jpg is a .jpg in kanji too
23:18 sfisque on what os?
23:18 aditsu on every OS in the world
23:18 sfisque even ToasterOS?  or RefrigeratorOS?
23:18 aditsu I haven't heard of those, but if they have file names, then the answer is yes
23:19 sfisque you're assuming.  that is not an apriori statement
23:19 aditsu anyway, I'm tired of arguing this
23:20 aditsu another thing that's annoyingly missing is support for a generic observer pattern - with java 8's ObservableList and stuff, I thought they added it, and I found a java.util.Observable but then I noticed it's "Since JDK1.0", and nobody seems to be using it :p
23:21 aditsu that one is (obviously) not generic, it uses Object
23:21 aditsu Swing and AWT have their own listener mechanisms
23:22 aditsu and now JavaFX adds some more, still highly specific
23:23 xb "even ToasterOS?  or RefrigeratorOS?" IoTOS ?
23:24 pdurbin aditsu: who are you callin' a weirdo? ;)
23:24 aditsu pdurbin: you use lots of files without extensions?
23:25 pdurbin meh. not really. I guess I'm not enough of a hipster
23:25 xb hipsters name the files with custom extensions
23:25 xb main.hipster-js
23:25 xb main.callme
23:26 xb main.trojan.exe.not-trojan
23:26 aditsu mountain.vintage-framed-photo
23:26 xb ^^^
23:26 xb main.sanfrancisco
23:26 xb main.aditsuscript
23:27 xb main.cjam
23:27 xb ;P
23:27 aditsu last one is not hipster :p
23:27 xb mhm
23:27 xb RIP CJam101
23:29 xb aditsu: Are you going to move from SourceForge any time soon?
23:30 aditsu nope, SF is good; they even got rid of all the adware
23:30 xb Really
23:30 xb Can I host the code on Github then?
23:30 xb I'll give you credit and everything
23:31 aditsu sure, it's free software, do what you want
23:31 xb :D
23:32 aditsu just don't try to claim it's the official version if you make changes :p
23:32 xb Ofc
23:32 xb Still going to give you credit though
23:33 xb Just seems right
23:39 aditsu hmm, the problem with generic observers is you can't have a flexible number of arguments
23:40 aditsu probably have to wrap them into one
23:43 xb aditsu: https://github.com/usandfriends/cjam-mirror
23:44 aditsu alright :)
23:45 xb I'll have to research on how to keep updating this repo
23:45 aditsu I think there's a way to use git to access an hg repo
23:46 aditsu then you could push changes

| Channels | #friendlyjava index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

##friendlyjava on freenode