« first day (873 days earlier)      last day (3144 days later) » 

9:09 AM
Monking
 
Monking
 
HOW GOES IT
...caps
 
Monking
 
Doing okay, having lots of meetings on university without actually doing much stuff
 
Sounds familiar, useless meetings
 
9:16 AM
Sometimes it's too bad this is a public chatroom :P
 
@Mast Ooh that is good. I think it's on topic, it's about improving readability. (of course yes I'm biased since I did answer it)
 
@skiwi why do you think I changed my name
today I found out that one of the libraries that was given to us by a third party for use in our project is missing 10% of its code
 
@SuperBiasedMan Thanks for reminding I was writing one.
 
I am still trying to work out how you remove 10% of the code (600 lines) of a library without realising
 
@ARedHerring Even then :D
@ARedHerring They just went missing?
Maybe your company didn't pay the remaining 10%?
 
9:23 AM
@skiwi side-by-side compare of the library + original library (same version) shows 600 lines have gone walkies, yes
its bootstrap.....
 
lol
 
I get you can make custom builds with bootstrap, but none of this was custom build stuff
 
@Mast I'm curious what about import django.utils smells to you? If I'm giving bad advice I'd rather know what potential mistake I'm making.
 
@SuperBiasedMan It's not bad advice per se. But you want to restrict what you import instead of importing everything you can find.
 
If your code works correctly, SO is not the place to ask about it. Try CodeReview maybe. — takendarkk 41 secs ago
 
9:30 AM
It's less problematic than namespace pollution, but I always learned you try to avoid it.
 
@Mast Ah yes. Masking the real problem. Yeah I didn't think of the idea that the OP could reduce how much they're using in that file. I'm too trusting and thought they'd have thoroughly tried that already.
 
@SuperBiasedMan Which is why I started with that comment.
I don't trust random strangers on the internet.
4
 
@SuperBiasedMan I know you didn't ask me, but something smells about having to import an entire kitchen sink just to get a single plate :p
2
 
That ^^
 
0
Q: Write a C Function

Raj BabuThe Question is: Write a function which takes a sorted list and groups equal values into a group(a list) and therefore returns a list of lists example: group([1, 1, 1, 2, 2, 3, 4, 4, 4, 5]) == [ [1, 1, 1,], [2, 2], [3], [4, 4, 4], [5] ] & what i did is #include<stdio.h> void group(int a[],in...

 
9:35 AM
This is also why it would help to see more of their code and whether or not they need so many plates.
 
food analogies make me hungry
 
@ARedHerring It might just be me misunderstanding the metaphor, but in Python you are supposed to just do import kitchenshink and then call kitchensink.plateA, kitchensink.plateB and kitchensink.plateC, rather than explicitly import the plates.
 
@CaptainObvious broken
 
Me too... shouldn't have skipped breakfast.
 
@SuperBiasedMan can't you do something like we do in ES6? ie:
import {PlateA, PlateB} from 'kitchensink'
I'm pretty sure Python has something similar
Disclaimer: haven't touched python in about ~1 year
 
9:37 AM
You can, but it's advisable to have more plain imports because kitchensink.plate is easier to read and clashes less if other modules also have plates.
 
from kitchensink import plateA, plateB?
 
@SuperBiasedMan Readability is not an issue with imports.
If it is, it should have a comment
 
Yeah, you can do that.
 
I would argue that my example is much more readable.
kitchensink.plateA everywhere is just noise.
 
@Mast No I'm talking about later when he calls it, not when importing.
 
9:38 AM
Oh.
 
I'm not a fan of shortening things. Reminds me of using namespace std
 
I wouldn't say they are similar at all
using namespace std means you're now implicitly using everything in namespace std
import {foo, bar} from 'qux' explicitly states you're only using foo and bar from namespace std
 
@ARedHerring Yes, which is a form of namespace pollution. As said in my answer, it's less worse.
 
@Mast I'm not saying using namespace is good. I'm saying that it's bad :P
 
We're not on the same wavelength, we agree :)
 
9:40 AM
Yeah, I was about to say.. lol
Also, at that python question
I really hope those imports are across the entire project and not just in one file..
 
Morning all
 
That # of imports makes that file longer than most of my code files..
Monking @DJanssens
 
@ARedHerring They're in one file, that's how Python's imports work.
 
@ARedHerring I think it's one file.
 
@DJanssens Morning
 
9:41 AM
Usually you split your files if they become too large.
 
1000 lines is way past the point of being "too large"
 
Not if it's part of a gigantic project, but it probably isn't.
It looks like he should've put a lot of his classes in their own files and link to those files instead.
 
0
Q: Triangle Classification

KofiNB: Sorry there were some grammatical errors in the first question. A Java program that receives 3 inputs as measures of a triangle's sides, Determines if the sides form a valid triangle. If so, it classifies the triangle as: acute, right, or obtuse. equilateral,isosceles or scalene. computes ...

 
@CaptainObvious No code
Sounds like a homework request TBH
 
I'm afraid this question does not match what this site is about. Code Review is about improving existing, working code. The example code that you have posted is not reviewable in this form because it leaves us guessing at your intentions. Unlike Stack Overflow, Code Review needs to look at concrete code in a real context. Please see Why is hypothetical example code off-topic for CR?A Red Herring 52 secs ago
/thread
 
9:52 AM
0
Q: How can my code be improved, with respect to re-use

Darren EstcourtI am a newb, and whilst I'm sure my formatting can be improved, I really want to know, how I can re-use my code for this simple program. The objective is simple, football game with a menu, that allows game status to be loaded and saved. Here is my code, files seperated by ---------- package mai...

 
@CaptainObvious the indentation....
it hurts
 
10:04 AM
0
Q: sizeof array in C program

Raj BabuProgram is #include<stdio.h> void replicate(int arr[]); main(){ int a[]={3,2,5,7,8,9,12}; int len=sizeof(a)/sizeof(int); printf("%d",len);//Here i am getting exact size i.e 7 replicate(a); } void replicate(int arr[]) { int len=sizeof(arr)/sizeof(int); printf("%d",len);//here the value is not 7 b...

 
10:23 AM
@SuperBiasedMan - I believe the bit-flipping code works... am I missing something?
 
@rolfl They're supposed to parse a string full of newlines and split them up, but instead they just loop and take multiple inputs
 
panabox:~/xxx/crev> cat bflip.py
for _ in range(int(raw_input())):
    N = int(raw_input())
    N = N & 0xffffffff # 32 bit representation
    print N ^ 0xffffffff
panabox:~/xxx/crev> cat bflip.in
5
50
90
1
0
6
panabox:~/xxx/crev> python bflip.py < bflip.in
4294967245
4294967205
4294967294
4294967295
4294967289
@SuperBiasedMan ^^^^ Seems to work fine, for me... using the description they gave.
 
Weird, I get this:
5
123
4294967172
12
4294967283
1
4294967294
4532
4294962763
213
4294967082
(where I'm putting in 123, 12, 1, 4532 and 213)
 
You typing it in manually?
 
But the representation might match in your environment because it allows you to enter newline characters.
Oh wait, I see now. That works in the most confusing way. I forgot that raw_input could take multiple newlines and can treat them as separate inputs.
 
10:34 AM
Yeah, and now the user has "fixed" their code and the new code is broken.
 
Oops. Hopefully my new comment clears it up.
 
@SuperBiasedMan - I think you're still confused .... raw_input reads a line from stdin ... docs.python.org/2/library/functions.html#raw_input
There is nothing in the code that is parsing "strings" as a unit containing new lines.
 
Well the brief is that if you enter in "213\n34\n231\n21\n123" it should work, which it does because when you enter that text into the program each newline character splits the text up to be treated as separate inputs into python, meaning that the loop will actually function and pass each line to the other input call.
I'm not even sure if we're confused over semantics and terminology or what's the code's actually doing.
 
Zak
11:03 AM
codereview.stackexchange.com/questions/105596/… - "How do I do a thing in the code without having to (re)write code to do the thing I want to be able to do"
 
I would recommend you to post your question here : code_reviewMehul Joisar 29 secs ago
 
0
Q: Need advice - C# & PHP

rgerculyI have C# Application and a PHP ( CakePHP ) website. This two application communicate between them using GET and (WebRequest)POST method. My problem is that it's happening to fast. I have made a diagram that shows some statistics : https://drive.google.com/file/d/0B52Hykk6DIzvWXRDVENLTk9oZVk/vi...

 
If you are looking for code review, you must post this on codereview.stackexchange.com — HappyCoder 7 secs ago
 
11:18 AM
@ARedHerring There was no example code posted
I'm afraid this question does not match what this site is about. Code Review is about improving existing, working code. The example code that you have posted is not reviewable in this form because it leaves us guessing at your intentions. Unlike Stack Overflow, Code Review needs to look at concrete code in a real context. Please see Why is hypothetical example code off-topic for CR?A Red Herring 2 hours ago
It was just a
 
possible answer invalidation by RobDel on question by RobDel: codereview.stackexchange.com/posts/105236/revisions
 
0
Q: Strawpoll fetch API in Python

Vaibhav YenamandraAs a beginner to python with some rookie experience in building software, I decided writing an API wrapper for Strawpoll would be a good exercise in learning the language and design patterns. The intent was to finish writing the entire wrapper but I feel something is amiss, but am unable to iden...

 
11:35 AM
@Mast I just copied from the "hypothetical" example on the meta. woops
 
@ARedHerring I figured.
 
11:47 AM
0
Q: Froogaloopelise - A Vimeo Wrapper

somethinghereI have developed a tiny bit of Javascript to quickly output a Froogaloop Vimeo video and some basic controls attached with almost no effort. You don't have to include the script from Vimeo (the script will add it for you) and it will create only the very basics of controls for now - although they...

 
Monking
sad sad sad. Bounty timed out, without a competing answer that may have deserved it.
 
possible answer invalidation by Raj Babu on question by Raj Babu: codereview.stackexchange.com/posts/105596/revisions
 
@Duga voted as off-topic anyway
 
12:11 PM
@ARedHerring Shouldn't have gotten an answer
@Vogel612 Too bad
Couldn't really help you with that one
 
@Vogel612 sorry, I really wanted to write a review but i've been sick thesep ast few days and just really not found thet ime
 
hey I lost the 50 rep anyways.
no need to apologize :)
 
@Vogel612 I don't like looking unreliable :P
 
@Vogel612 I lost a bounty too recently
 
bounties aren't very effective around here....
because questions sometimes simply need more time to be answered...
 
12:18 PM
Probably because some reviews take a lot of effort
This isn't really SO where questions are cut-and-dry
 
@Vogel612 @ARedHerring shall I ask on meta for longer bounties?
 
I don't know. like @Vogel612, I'm not so sure that bounties are really effective on this SE
 
and 50 rep don't get the over-the-top project reviewers interested, you probably need to start at 100..
 
I don't do reviews for internet opints, for example, I do it because I want to add to my portfolio
 
I got meta-pundit today :)
 
12:22 PM
Is there a way to hack-ily add TCO to a language that doesn't support it?
I need to use a recursive function in JavaScript and it could go quite deep. Don't wanna blow the stack
 
if you could derecurse, then there'd be no need..
 
@ARedHerring Python has a library to add TCO
 
if you can't derecurse.. rewrite the compiler / interpreter
 
@Vogel612 its a tree structure. unless there are better ways of parsing those..
I don't have a computer science background, so
 
you can derecurse tree traversal
it's simpler to recurse, yea. but you can derecurse it.
pseudocode:
 
12:24 PM
@Vogel612 no need for that, the library just uses a trick:
from fn import recur

@recur.tco
def fact(n, acc=1):
    if n == 0: return False, acc
    return True, (n-1, acc*n)
False means stop, True call me again, f means call f
 
Queue q ' Queue of nodes
q.push(root);
while (q not empty)
    node = q.get
    q.push(node.left)
    q.push(node.right)
 
@Caridorc I am not using Python, I'm using JavaScript.
@Vogel612 thanks!
 
keep in mind to work around undefineds
 
that looks like it might actually be easier to (mentally) parse too than recursive here
 
@ARedHerring something similar should be easy to write in javascripts
 
12:25 PM
@Caridorc it would be easy, however I don't feel like diving into the recur package to rewrite it.
 
that pseudocode is almost runnable in js
 
@Vogel612 yeah it is
 
@ARedHerring it is really not much code: 15 lines or so
 
let q = [];
q.push(tree.root);
while (q.length != 0) {
    let curr = q.pop();
    curr.left && q.push(curr.left);
    // same for right
}
can I abuse && like that?
 
@Vogel612 const q ;-)
yes, you can (but you probably shouldnt)
its not a binary tree, either :(
its an unbounded tree
but the principle should stil lwork
 
12:28 PM
which means you have an array of child nodes?
 
@Vogel612 yes sir - which may also have child nodes
@Vogel612 "I don't have a computer science background, so"
 
aaand I talk bananas again.
 
Those words mean nothing to me. I haven't had a course on data-structures, so anything I do know is me winging it.
 
It's amazing how often I see high-rep users suspended...
 
Depth first: go child -> child -> child
Breadth first: go child -> sibling -> sibling
 
12:32 PM
@Vogel612 thanks
 
@Vogel612 I never implemented them, is my pseudocode right?
def depth_first(tree):
    if not tree.children:
        return tree
    return (depth_first(child) for child in tree.children)
 
@Caridorc looks good enough, if the results of the for loop are auto-concatted
 
@Vogel612 no they are a lazy stream
 
which works just as well, but is not prepopulated.
now how would you derecurse?
That's the more interesting question :)
 
@Vogel612 my code is not even tail recursive !
 
12:36 PM
Recursion: Define a function in terms of itself
 
Maybe i should take a brief comp sci course online....
 
@Vogel612 time for lunch now see you soon
 
a function doesn't need to be tail-recursive to be derecursable
 
// In order to do this it probably looks something like this:
// - Shallow render component (to determine children)
// - If we have children, recursively invoke function to retrieve promise for them to be resolved
// - Pass initial props to fetchData in order to retrieve promises that need to be resolved
// - Return promise that represents the operation of all promises being resolved. The promise should return a factory that, when invoked, creates the entire render tree
^ what I am trying to achieve
is hard :P
And has probably already been achieved, but I like my square wheel, damn it
 
you need to promise to resolve the children??
aren't you substituting one problem for another?
 
12:39 PM
@Vogel612 the children may also have fetchData.
 
which means the tree grows as you resolve it?
 
0
Q: Ascii arts generator in C

Ahmed Abd El MawgoodI have written an ASCII art generator library and I was a practice on data abstraction and code abstraction and I wanted to know if there is something that can be improved first of all the file tree | |--Makefile |--fonts--|--StarStrips.c | |--whimsy.c | | ...

 
Yeah, that's why you would want depth search first
Well, yes and no..
Shallow render is synchronous + we can determine the children synchronously
However, all dependencies (may) be asynchronous
The idea is that you get a root component which may (or may not) have a fetchData which returns a set of promises. It also has children. These children may have fetchData with a set of promises.. etc
 
so your render tree root is synchronous but the rest isn't?
 
rendering all of the components is synchronous, but the data they have MAY be asynchronous
For example, rendering a component might be synchronous, but if it relies on a HTTP call then while we can render it synchronously - and determine its children - we still need that HTTP call
 
12:42 PM
first let me wtf, then let me recommend to use a BFS instead of DFS.
 
@Vogel612 lol
This is React. I don't know if you have used it
 
I don't do js aside from the minuscle UI goodies I need for BPM software
 
The high-level problem I am trying to solve is that React provides synchronous rendering fine, however, if you have asynchronous data that is requried before the page is considered "ready" obviously you can't get that with the synchronous render.
 
so you're trying to synchronously render asynchronous data?
 
No.
I'm trying to asynchronously wait for the render tree to be resolved so I have all of the data, and then pass that into the render tree so the render tree is hydrated with resolved data, and then render the render tree...
Let's take this to JavaScript libraries, its getting pretty long.
 
12:54 PM
tl;dr Recursive data structures functional stylee in Python
Also has an OO-functional example similar to how it would typically be done in Scala
 
I just am unable to wrap my head around Functional programming..
or rather all the implicit rules and minuscle differences in function workings
 
Algebraic Data Types are one thing functional languages express so simply
 
I'd need to do something in a functional language, but I seriously fail at making sense of them..
 
@Vogel612 it is very very useful to learn
You don't have to use a pure functional language to get started with.. Java has plenty of functional concepts.
Streams, for example, are just lists expressed over time and are stateless (well, not quite)
 
Those are as crippled functional in comparison to something like Haskell like Generics are as crippled when compared to C++ templates
 
1:01 PM
Yeah, you wouldnt' want to use it and claim its pure functional excellence
But its still usefulf or teaching you the concepts of immutability and pure functions
 
It's useful to learn a functional language just to see ADTs alone, then go back to your language of choice. You'll suddenly see ADTs everywhere and know how much more simply you can work with them
 
Hacking away at streams is dead simple... and immutability in Java streams is a unicorn
 
I see ADTs everywhere but working with them in other languages is just so verbose :(
 
What isn't well understood outside the FP fan club is that functional languages - now that type inference is common - are as good for rapid prototyping as dynamic languages like Python or Ruby
@JacobRaihle Aye
 
@itsbruce I've played a lot with React and it is really, really cool (functional - almost - library)
It makes reasoning about what is going on so much easier
 
1:06 PM
Any OO language which has interfaces can do ADTs without too much pain as long as you show a little discipline.
4
A: Class to verify if a rectification is upgradable

itsbruceThis looks as if it is part of the upgrade code itself. I think what you have too low a level of abstraction in here and you are also mixing different concerns. Also, your workflow just seems fragile. Cars and certificates You check that there is a car, then you check that it has any certific...

 
Funny, I have been exposed to so much in my career, but.... Apart from esoteric scientific applications, some scala, and one erlang application, I have yet to see much functional programming languages in production systems.
Now, my career is only a biased view in to things, but, I have seen more verilog, and assembler.
 
The OP in that question has modelled an entire workflow with one class containing lots of state toggle fields
But the different states of a workflow task can all be expressed via types (classes implementing the same interface, in Java). That's what ADTs do - describe the different states a type can be in
 
why would a Type be stateful?
 
@rolfl That was an argument used against Java and C++ for a long time
 
@itsbruce Yes, with a few more conditions in that state checking process, I would have recommended a "Strategy Pattern".
@itsbruce That's true, I am not saying FP's are not used, I am saying they are not used in places I frequent.
Also, I am not making a comment on their potential
 
1:11 PM
They are pretty useful in UI design
and in any kind of REST API.
or distributed data application (which is what I frequent)
 
@Vogel612 Just look at my description of how the workflow could be represented by different types. And how only some types have a method which can transform the current state into the next
 
The point I would like to make, is both personal, and by observation: FP languages require a different mindset, and it is a mindset that I have personally found hard to embrace. I get the impression that many people in the industry are similar to me in that way.
 
@rolfl Another argument that was long used against OO, of course
 
As a consequence, you need to find a way to get that "Mindshare" expanded.
It is my feeling that things that are pretty sketchy funtional languages, like Scala, and now Java, are probably the way things will transition.... as "stepping stones" to fully functional.
 
and javascript... :X
this is how I feel whenever js gets left out, :p
 
1:14 PM
It is clear, at least to me, and for the next medium-term period, that a classic, or pure functional language will not succeed in a wholesale way, at least while there are languages that let you pick the features of FP you want, and from OOP that you want, and merge the concepts a whole lot.
 
OO made the transition from something most coders sneered at to the default teaching method in CS. There's a troll on SO who keeps trying to tell me that OO is "natural", so pervasive has the paradigm become
 
My perspective on pure functional lnaguages (and his probably happened with OO) is that it doesn't lend well to the Real World (tm)
 
@rolfl Those languages are mostly quite messy
 
But pure functional languages definitely have very useful concepts. See C#'s LINQ, partial application, currying....
 
Life is messy
C# is not a functional language.... ;)
 
1:16 PM
@ARedHerring OO doesn't map "naturally" onto the real world. You've just become used to mapping it.
 
No, it's not, but LINQ was borrowed from functional languages.
Higher-order functions have roots in functional programming
 
@itsbruce the article you linked me to is weird. It says the data-stractures of things are not necessary, you may just use stractures of functions...
 
@ARedHerring And the success of Linq in C# is that you can use it when it is convenient, and not use it when it's not.
 
Nothing in Software Engineering is natural
 
@rolfl thats' my point - OOP gives you the choice.
But then again, one could argue that OOP forces you to use classes even when they are not convenient (C#/Java)
C#java, not oop
 
1:17 PM
@rolfl Ruby has LINQ built in (not literally of course) and is funcitonal, but OO and imperative are there, may you want them
 
@ARedHerring As a Java newbie, this is exactly how I feel.
 
@ARedHerring actually there's some workarounds for that
 
@Vogel612 you shouldnt have to work around a tool to get it to work for you.
 
static methods can be imported directly.
 
In Java.
 
And you still have the problem that you're attaching static methods to a "thing"
 
which takes the class out of your view
 
@SuperBiasedMan just use groovy, it is a Java compatible Ruby
 
@ARedHerring actually the import detaches it again.
 
@Caridorc I use Java for Android apps so I don't think that'd work.
 
1:18 PM
@itsbruce this is a great article, however I have to laugh that my work has blocked it because it contains the word "execution" in it.
 
@ARedHerring and C#
 
@JeroenVannevel my bad, didnt know static import existed in C#.
 
and suddenly your class becomes only a logical container
 
@SuperBiasedMan It would not, I fear, groovy is compatible with the JVM but not with android
 
I get that you can use free-form static methods in Java by using the static import
 
1:19 PM
you could even go so far to make the classname in lowercase
 
But it still doesn't change the fact you have to create a class that is not desgined to be instantiated to be able to do that.
Thatj ust feels like a hack.
 
@ARedHerring I linked to it to show just how unnatural OOP can look if you step back from the trees to see the wood
 
This is why I love JS. If i want to use a class, I can. if I just need free-form functions, I can use those too.
I don't need to shove everything into a class and then import it in a certain fashion because its in a class and I just want to use a utility function.
Whichever way you swing it, 'static' utility functions in java/c# just feel strange
 
@SuperBiasedMan Java is very supported for android, I wrote an app in Python, but it does not scale to screen size properly, works on my tablet but not on my phone
 
Unopinionated languages make simple to moderately less simple things easy. Especially if you're mostly only using your own (personal or team) code
They tend to become much more fragile outside that context
 
1:21 PM
@itsbruce This is true; C# and Java are more 'structured' (and obviously OOP is the standard line of thought these days)
whereas javascript currently only works in a) the browser or b) from open source community contributions.
(although node foundation looks to change that)
 
Opinionated languages force you to accept some constraints. But, once you are past that, you can trust any code in that language rather more, because the other guy was also bound by the same constraints
 
@itsbruce less choice == more predictability
as simple as that
 
Yeah. Which is a good thing in corporate environments or environments where you need that structure.
I am not minimizing how useful java and c# are :P just debating that static methods (moreover, static classes) feel like a hack
 
@ARedHerring I think both you and Caridorc are slightly misunderstanding what I mean by constraints
A constraint might be "no side effects". You can still do anything you can do in an imperative language, just different implementation. But you can know that the other guy's code has no unexpected side effects. You can know the same about old code you wrote. (We all learn in the end that our old code may contain bear traps we didn't know we were setting)
 
@itsbruce I understood what you meant, if thats your definition
 
1:26 PM
K
 
Potassium
 
Na
 
8
A: He who must not be named

balpha          That is all.

 
I'm glad people answered that "code re-use in Java" question. So much to be said there and I had so little energy to say it
 
@ᔕᖺᘎᕊ
0.o
 
1:28 PM
fixed, you know?
 
Damn
That was fast
40 minutes
 
@Vogel612 Did that answer your question about types representing state?
 
somewhat...
you propose encapsulating the constraints in a separate type by virtue of an object you hold
 
If you have one interface or abstract class which represents the concept, and different types which implement it and can be transformed from one type to the other, then the specific type an object has at any one point represents its state
And it's type-safe, immutable state, even in an imperative OO language.
 
oh I had my share of such object transitions...
 
1:34 PM
It lets the types define the workflow, rather than some block of code
Which, in an OO language, is both safe and flexible
 
IncomingInvoice -> Map<String, Object> -> OutgoingPayment
with some intermediary steps that associate an Approval
 
Zak
@Vogel612 In such cases, I always feel like an equally interesting story is how, exactly, someone came to be typing "@ᔕᖺᘎᕊ" into a chat room in the first place
 
Ah, but Map<string, Object> shouldn't be the type
 
@Zak there's a user on MSE that has that as display name
 
The map is an implementation detail
 
1:35 PM
@itsbruce yea, because it's horribly broken and an object reinvention.
legacy code at it's finest
oh actually it's worse.
Invoice -> Amounts -> Payment -> BankingExportRecord
which is also a simplification..
 
Zak
@Vogel612 See, now that just shifts the question to "How do you pick that as a display name?
 
0
Q: Passwords storage class

setevoyI' writing tool, which manage our application. To store passwords in encrypted view - I made class which based on two posts: http://stackoverflow.com/questions/20852664/python-pycrypto-encrypt-decrypt-text-files-with-aes and: http://stackoverflow.com/questions/4102761/python-config-parser-cac...

 
because the type transformations change the data everytime, and there's callbacks between the steps and Object fakes in between and different kinds of Payment, depending on where you come from and it's massively complicated..
@Zak maybe you want to ask them?
@CaptainObvious and here I though Jon Lin would hash a password without a salt for a second
 
@CaptainObvious Should this be since the OP is now aware of a builtin module that does the same job? Or is that only meant to apply when they were already aware.
 
the latter
 
1:50 PM
@Vogel612 Grand, thanks.
 
wow, we're having more than 1 migration a day now.
72 of 100 migrations come from SO.
of these 72, 15% were rejected (closed, but not as duplicate)
Hello and Welcome to the 2nd monitor @JanJitseVenselaar
 
Hi!
 

« first day (873 days earlier)      last day (3144 days later) »