Open Side Menu Go to the Top

01-12-2016 , 11:19 PM
Quote:
Originally Posted by jjshabado
Writing 'scalable' code from the start isn't even possible really. You have to make a bunch of assumptions and at least a few of them are going to be wrong.
Yeah which is why the only approach imo. is write just exactly what you need with an eye to future requirements but very very little code towards future requirements. Then refactor obsessively as the codebase grows.

The latter part is tough. The only way it works that I've seen is to have a developer or two slavishly dedicated to creating a framework so crystalline and pure in purpose - it should make any great developer want to cry. Not only is it a lot more work to progressively refactor, you have to battle pretty much everyone around you to get it done.

But when it works it's a beautiful thing.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
01-12-2016 , 11:49 PM
Quote:
Originally Posted by bex989
Hey guys, anyone with some good Clojure material?
Hi;

Can you be more specific?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 12:35 AM
Quote:
Originally Posted by adios
I agree with this basically. I would never write code based on some random thinking. I don't know anyone that does but maybe I just haven't seen enough people in action.
Quote:
Originally Posted by gaming_mouse
oh many people jump directly into code without knowing what they're going to do. i've seen it a bunch in interviews.
I do this all the time, holla. Not as much in interviews (except to the extent that it's a normal part of my figuring-****-out routine that I'm used to) but when I start working on a problem, usually I just start typing what pops into my head and start revising into something that makes sense.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 01:13 AM
Quote:
Originally Posted by daveT
where you drunk?
in front of my TV watching the clemson game last night
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 01:57 AM
I do feel better now than I did 20 oz ago. Crazy how that happens.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 07:16 AM
Quote:
Originally Posted by goofyballer
I do this all the time, holla. Not as much in interviews (except to the extent that it's a normal part of my figuring-****-out routine that I'm used to) but when I start working on a problem, usually I just start typing what pops into my head and start revising into something that makes sense.
Not random though, you have at least some vague notion of how you want to tackle the problem. The process you suggest here seems to me to be a good and valid way to come up with a solution. I am guessing you write some code at the keyboard, compile it, build it, think of a few test cases, run it, make architectural considerations, refactor/add more code, etc. rinse, wash and repeat something like that. Completely different than the process companies require potential candidates to follow in evaluating their software development skills almost always. I would definitely prefer a candidate that used your more interactive process with the development environment than someone who had to use a blunt writing instrument to work out many details before they proceeded. Before we get into well a developer could be going off in a direction that is "disastrous" for lack of a better word, where do code reviews fit in then?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 07:54 AM
Quote:
Originally Posted by daveT
Hi;

Can you be more specific?
Yes. I have 4 years of experience of programming in Java and I would like to learn writing well designed FP and data driven programs in Clojure. I like to read books.
Thanks.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 11:42 AM
Quote:
Originally Posted by suzzer99
Yeah that's great if you're not planning to work on the app ever again or be gone from the company in a year.
You could just throw away the entire code and rewrite once you validated whatever you wanted to test with the MVP and be fine.
The DropBox MVP was a video.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 01:26 PM
Quote:
Originally Posted by bex989
Yes. I have 4 years of experience of programming in Java and I would like to learn writing well designed FP and data driven programs in Clojure. I like to read books.
Thanks.
I've heard good things about Clojure for the Brave and True, but I've never read it:

http://www.amazon.com/gp/product/159...=sr_1_1&sr=8-1

I can somewhat suggest Clojure Programming, as it talks a lot about the differences between FP and OO, but it gets a little religious:

http://www.amazon.com/gp/product/144...=sr_1_3&sr=8-3

I have not read Web Development in Clojure, but the guy's blog is quite solid:

http://www.amazon.com/gp/product/168...=sr_1_9&sr=8-9

I'm not a fan of Joy of Clojure.

To be honest, I think the single best resources are the Clojure cheat sheet. It has a ton of excellent examples and I still learn new things from it every day:

http://clojure.org/cheatsheet

Also, if you have a meetup in your area, sign up and attend. The Clojure community is super friendly and helpful to anyone that wants to give it a real goal.

A few thoughts:

Clojure-style PF does not rail against all things OO. The language has polymorphism, multimethods, inheritance, etc. It only rails against global mutation and the design patterns required to contain it.

Clojure is a tough language. There really isn't a single good book that gives coverage of it because the more you learn, the more you figure out you need to learn. I've heard it takes about a year to become "very good" at it.

Make sure you are using correct and good tooling. Most of us use Emacs, but there are a few people who use Vim. I never seen anyone using Eclipse / counterclockwise or Cursive.

If you are using Windows, burn the machine and move over to Mac or Linux.

Everyone I know uses Leiningen. I haven't heard good things about Boot from anyone.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 02:23 PM
Thanks for the info daveT.

Quote:
Originally Posted by daveT
A few thoughts:

Clojure-style PF does not rail against all things OO. The language has polymorphism, multimethods, inheritance, etc. It only rails against global mutation and the design patterns required to contain it.

Clojure is a tough language. There really isn't a single good book that gives coverage of it because the more you learn, the more you figure out you need to learn. I've heard it takes about a year to become "very good" at it.
Given all of this, do you think that a good place to really start is SICP?

Quote:
Originally Posted by daveT
If you are using Windows, burn the machine and move over to Mac or Linux.

Everyone I know uses Leiningen. I haven't heard good things about Boot from anyone.
But it's possible to compile executable that can run on Windows? I figure it should since it runs in JVM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 02:29 PM
Quote:
Originally Posted by bex989
But it's possible to compile executable that can run on Windows? I figure it should since it runs in JVM.
Windows is fine, that was just dave going on an anti-M$ rant.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 03:06 PM
Quote:
Originally Posted by bex989
Thanks for the info daveT.


Given all of this, do you think that a good place to really start is SICP?
No. SICP is not an FP book, but this chapter, if you can understand it, will describe what FP attempts to do. it is well enough explained without understand the code.

https://mitpress.mit.edu/sicp/full-t...html#%_sec_3.4

FP is really just a viewpoint about working with concurrent systems. The book gives an example of a bank account. Don't confuse concurrency with parallel processing. They are related, but very different ideas.

The main point of FP is that each function is guaranteed to return a value Y when called with value X. it really is that simple, and once you try to add anything new to this, you end up confusing yourself.

Clojure doesn't say you can't have local-bound values. Clojure does say you shouldn't allow those values to escape and affect the global code base.

Quote:
But it's possible to compile executable that can run on Windows? I figure it should since it runs in JVM.
The Clojure community doesn't really care about Windows development. I know it requires much more than running a .jar to get everything working together. At the minimum, add in Cygwin, have fun configuring PATH variables to work, etc. You also have to get the lein.bat file and hope against hope that thing runs as described. I *can* be done, but it really isn't worth the effort. There is no .exe that I'm aware of.

Note that there was no lein.bat when I started with Clojure so I had to do manually configure POM files. It was trying to program Clojure on Windows that finally made me quit.

I guess this anecdote will give you a better visual of how the community views Windows. In a meetup, I was able to talk to some of the core maintainers. I asked one about an issue I was having getting a program to run, and he looked at my computer and said "I can't really help you compile programs on a Windows machine." I was running Linux despite lenovo emblazoned on my computer, but it just shows the general attitude.

Quote:
Originally Posted by candybar
Windows is fine, that was just dave going on an anti-M$ rant.
have you tried Clojure on windows?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 03:47 PM
Quote:
Originally Posted by daveT
The Clojure community doesn't really care about Windows development. I know it requires much more than running a .jar to get everything working together. At the minimum, add in Cygwin, have fun configuring PATH variables to work, etc. You also have to get the lein.bat file and hope against hope that thing runs as described. I *can* be done, but it really isn't worth the effort.
Far easier to get this working in Windows than setting up a Linux machine from scratch.

Quote:
I guess this anecdote will give you a better visual of how the community views Windows. In a meetup, I was able to talk to some of the core maintainers. I asked one about an issue I was having getting a program to run, and he looked at my computer and said "I can't really help you compile programs on a Windows machine." I was running Linux despite lenovo emblazoned on my computer, but it just shows the general attitude.
This is basically every unpaid open source developer's attitude towards a runtime environment he doesn't need to use personally.

Quote:
have you tried Clojure on windows?
Yeah it works fine. Not a fan of clojure though.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 04:46 PM
Easier than setting up a Linux machine from scratch? To install Fedora, have Clojure running, integrated with Emacs, and everything working just fine, takes an hour, if that.

Easier than a mac and using Homebrew? I don't think so....

How long does it take to get Clojure, lein, java, emacs, ClojureScript, cider, etc, working on Windows? Yes, it can be done, but don't be surprised when you have to do manual work:

https://github.com/clojure/clojuresc.../Windows-Setup

Each variation requires manual intervention. Ouch.

in any case, here is the win-installer for leinengen. I expect this will take much more than 30 minutes, but let me know how it goes:

http://leiningen-win-installer.djpowell.net/
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 04:50 PM
is there a dreamweaver alternative that kind of sounds similar in name?

my google-fu is failing me atm, but I swear that I'd read such a thing exists
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 05:11 PM
Here's my impression of every network connectivity issue at my company. Our scene opens at the project standup meeting:

"Ok suzzer, how are things going, any impediments?"

"Well yes same impediments as last week, you see that giant rock over there at the base of the mountain? It still hasn't pushed itself up to the top of the mountain, so we cannot proceed."

[excruciatingly long pause]

"Ok, well who do we need to talk to about that?"

"XYZ needs to work with the rock moving team, as discussed last week"

"Ok let's bring in XYZ"

...

XYZ: "I thought ABC had an action item on that, no?"

...

"Ok let's bring in ABC"

...

[This repeats in email form until there are 50+ people on the email, mostly discussing which route to take to move the rock up the mountain. At some point no one objects to the routes anymore and the email chain stops.]

...

"Ok suzzer, how are things going, any impediments?"

"Well yes same impediments as last week, and the week before. Giant rock, mountain."

"But I thought we settled that."

"Well we sort of agreed on a route up the mountain, then the discussion stopped. It's unclear who was going to take the next steps."

"Ok let's bring in XYZ"

...

XYZ: "I thought we decided this. Well... suzzer can you work with the rock moving team?"

"No. I don't know who to talk to on the rock moving team, I have two projects with teams of developers to manage, and you promised me you would take care of this and it would be no big deal when I told you it would be an issue at the beginning of the project.

...

"Ok let's bring in ABC"

...

[repeat ad infinitum and scene]


Thanks for letting me vent.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 05:17 PM
Quote:
Originally Posted by daveT
Easier than setting up a Linux machine from scratch? To install Fedora, have Clojure running, integrated with Emacs, and everything working just fine, takes an hour, if that.
You're assuming that some random guy asking if he can do something on Windows already knows how to use Linux, has hardware that is well-supported and can make all of the necessary decisions needed before he's ready to go. Which distribution? Which version? VM or dual-boot or dedicated? If VM, which hyperviser? If dual-boot, what kind of partition setup, which partitioning software? What kinds of hardware works well with linux? Peripherals? Do I use distribution-provided packages or latest from the web? Which desktop environment do I use? emacs or vi? Why won't ctrl-c ctrl-v work? Why does eclipse look funny?

Quote:
How long does it take to get Clojure, lein, java, emacs, ClojureScript, cider, etc, working on Windows? Yes, it can be done, but don't be surprised when you have to do manual work:

https://github.com/clojure/clojuresc.../Windows-Setup

Each variation requires manual intervention. Ouch.

in any case, here is the win-installer for leinengen. I expect this will take much more than 30 minutes, but let me know how it goes:

http://leiningen-win-installer.djpowell.net/
None of this takes much time at all. There's also:

https://chocolatey.org/packages?q=clojure
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 05:20 PM
Suzzer,

I think you need a new job. If you want to stay doing the mega-corporate thing have you looked at Walmart? They are pretty huge when it comes to node.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 05:33 PM
Quote:
Originally Posted by candybar
You're assuming that some random guy asking if he can do something on Windows already knows how to use Linux, has hardware that is well-supported and can make all of the necessary decisions needed before he's ready to go. Which distribution? Which version? VM or dual-boot or dedicated? If VM, which hyperviser? If dual-boot, what kind of partition setup, which partitioning software? What kinds of hardware works well with linux? Peripherals? Do I use distribution-provided packages or latest from the web? Which desktop environment do I use? emacs or vi? Why won't ctrl-c ctrl-v work? Why does eclipse look funny?
ctl-c / ctl-v doesn't work on Linux?

I have no response the rest of this, but with all due respect, it is a bit exaggerated.

Quote:
None of this takes much time at all. There's also:

https://chocolatey.org/packages?q=clojure
Latest clojure version is 1.7.

Look, all I'm pointing out is that you wouldn't decide to run a full .Net stack on your Linux or Mac machine and go to war with your operating system to get it to function. The same is pretty much true with Clojure.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 06:57 PM
Quote:
Originally Posted by suzzer99
Here's my impression of every network connectivity issue at my company. Our scene opens at the project standup meeting:

"Ok suzzer, how are things going, any impediments?"

"Well yes same impediments as last week, you see that giant rock over there at the base of the mountain? It still hasn't pushed itself up to the top of the mountain, so we cannot proceed."

[excruciatingly long pause]

"Ok, well who do we need to talk to about that?"

"XYZ needs to work with the rock moving team, as discussed last week"

"Ok let's bring in XYZ"

...

XYZ: "I thought ABC had an action item on that, no?"

...

"Ok let's bring in ABC"

...

[This repeats in email form until there are 50+ people on the email, mostly discussing which route to take to move the rock up the mountain. At some point no one objects to the routes anymore and the email chain stops.]

...

"Ok suzzer, how are things going, any impediments?"

"Well yes same impediments as last week, and the week before. Giant rock, mountain."

"But I thought we settled that."

"Well we sort of agreed on a route up the mountain, then the discussion stopped. It's unclear who was going to take the next steps."

"Ok let's bring in XYZ"

...

XYZ: "I thought we decided this. Well... suzzer can you work with the rock moving team?"

"No. I don't know who to talk to on the rock moving team, I have two projects with teams of developers to manage, and you promised me you would take care of this and it would be no big deal when I told you it would be an issue at the beginning of the project.

...

"Ok let's bring in ABC"

...

[repeat ad infinitum and scene]


Thanks for letting me vent.
https://www.youtube.com/watch?v=kbuJrK69x6g
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 07:27 PM
Quote:
Originally Posted by gaming_mouse
At my company that flight would need 4-5 layers of approval. He'd need to log in to a booking system which sends off a red flag to all approving managers if he doesn't pick the cheapest flight. When he gets back there's a very real chance one his managers not in the initial approval chain will be angered at not being consulted for approval of the trip.

Within the expense system, he needs to scan copies of all his receipts and attach them one by one to each item. All room charges must be itemized by taxes and fees on a daily basis. Any shared meals must be itemized and all participants listed. Non-employees will not be approved.

The expenses will also need 7 or 8 layers of approval (true story). He will get reimbursed in about 2 months if all goes well. Rejection rate the first pass is about 90%. 2nd pass maybe 50%. Common mistake is to not include the flight which was booked and paid for by the company before leaving.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 07:36 PM
It's pretty easy to run it in windows. Download clojure source code, navigate to its folder with cmd and run java -cp clojure-1.7.0.jar clojure.main

I will have to install clojure on different machines. My project is to load some data from xls, compute values and create human readable xlsx files.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 08:07 PM
glad to hear it's easier these days.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 08:10 PM
There's also this project that was created by Target. https://github.com/tomfaulhaber/excel-templates

Here's the maintainer:
https://www.youtube.com/watch?v=qnJs79W0BDo
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
01-13-2016 , 08:21 PM
I watched that yesterday. Mind = blown
I've been using java with apache poi so I want to try and switch for this type of projects.
Still working on mathematical formulas in open office so later I'll see if setting up is easy.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

      
m