276 karma · joined July 30, 2011
Your one big method interview example - so you think had they not been able to reply on static typing for refactoring in their previous work they would have gravitated toward cleaner code? That just seems wildly speculative as a counter to me. A fair amount of projects don't get the refactoring they need in the first place, so developers working on those don't get the experience to begin with. Developers who write large functions often have reasons like "if you use multiple functions you have to jump around to see whats going on." If i'm attacking a straw man, its unintentional.
Anyway having unit tests in a projects would encourage smaller units more, you can have tests easily in static languages - so you get the best of both worlds - smaller units and the ease static typing brings to refactoring.
The go-to sources on writing good code in c#/java land are proponents of keeping methods and classes small as well - that's where i learnt from. (Not to start any wars on over use of design patterns)
Your comment assuming we'd all agree choosing a static language is a bad choice for a small example is also very strange to me. When i'm under pressure id go with what i'm most familiar with, likely C#. Though, with JS and PHP being my dynamic alternatives, i may just be sounding like a very bad programmer to you ;)
I've seen plenty of very long functions in javascript (and c#), and dont think it has anything to do with static typing.
A hn user also launched http://www.weekendhacker.net which got a bit of traction at the time.
You have also reminded me of the Startup or Shutup thread someone started in 2012.
https://news.ycombinator.com/item?id=3394844
Some of the discussion is here...
https://groups.google.com/forum/m/#!forum/startup-or-shut-up
I recall the live document linked in the hn thread having activity at the time too but its not working anymore.
https://docs.microsoft.com/en-us/dotnet/framework/data/adone...
Then there's this write-up of someone replacing rethinkdb with postgres for live queries - (including a link to some code)
http://blog.sagemath.com/2017/02/09/rethinkdb-vs-postgres.ht...
Have you any plans already of how you will go about this?
Reliability would be the big consideration for moving from ssis to a 3rd party product as main editor, support for future versions etc
BIML looked very interesting and seemed to be getting a lot of traction as well.
I'm mostly out of data work now, but id be curious to hear what your thinking of doing here?
"Many teams schedule refactoring as part of their planned work, using a mechanism such as "refactoring stories". Teams use these to fix larger areas on problematic code that need dedicated attention. Planned refactoring is a necessary element of most teams' approach - however it's also a sign that the team hasn't done enough refactoring using the other workflows."
https://www.wizy.io/solutions/gmail_workflow.html https://kissflow.com/how-it-works/
It's mostly easy to comprehend and examples are in C#. The subject is complex though, so I'm not even sure a single book is enough.
https://www.amazon.co.uk/Patterns-Principles-Practices-Domai...
https://www.amazon.co.uk/Effective-Executive-Classic-Drucker...
So:
CASE WHEN SUM(express_delivered) = 0 THEN 0 ELSE 1 END AS ever_been_express_delivered
becomes:
IIF(SUM(express_delivered) = 0, 0, 1) AS ever_been_express_delivered
You might need some additional help with assembly. Personally I looked at the "megaprimers" on securitytube.net and then the Intermediate Intel x86 series of video lectures on opensecuritytraining.info.
Proper study of the material takes time and I never got through it all. Perhaps I'll get to return to it.
Linux: http://www.securitytube.net/groups?operation=view&groupId=5
Windows: http://www.securitytube.net/groups?operation=view&groupId=6
Some good resources here too http://www.opensecuritytraining.info/Training.html
http://www.amazon.com/Stealing-Network-How-Own-Box/dp/193183...
http://www.amazon.com/Soul-New-Machine-Tracy-Kidder/dp/03164...
Stealing The Network: How to Own the Box. This is a collection of fictional accounts of "hacking" written by hackers. Real world techniques are described though its in lightweight detail, the aim of the book is more to give an insight into how an attacker thinks. It's quite an enjoyable read too.
http://www.amazon.co.uk/Stealing-Network-How-Own-Cyber-Ficti...
Kingpin: How One Hacker Took Over the Billion-Dollar Cybercrime Underground by Kevin Poulsen. This one's a true story.
http://www.amazon.co.uk/Kingpin-Hacker-Billion-Dollar-Cyberc...
Code: The Hidden Language of Computer Hardware and Software By Charles Petzold. I still have to read this one, but I expect it would fit in with what you're after quite well.
http://www.amazon.com/Code-Language-Computer-Hardware-Softwa...
It uses the short stories from the work days of a senior manager and software consultancy owner to explain how and why the brain reacts the way it does in challenging situations and gives advice on how best to mitigate its limitations.
I took an interest in malware analysis last autumn and cant recommend the book Practical Malware Analysis enough. It introduces the subject to a beginner including the wide variety of skills required and tools used. One of the best things about the book is the malware samples supplied for analysis at the end of each chapter and then the detailed walk-throughs of how it should have been done.
The book focusses on windows malware and thus discusses x86 assembly, both an introduction to and identifying the constructs of higher level languages on dissassembly.
I immediately looked to supplement the information on assembly however. First with the Linux Assembly and Windows assembly "megaprimers" on securitytube.net, then with the Intermediate Intel x86 series of video lectures on opensecuritytraining.info. The quality of the latter was very good, so much so that I may go back and watch the introductory x86 lectures as well. I'm not usually a fan of video tutorials, but I thought the format suited the topic quite well.
I've stopped looking into malware analysis for now due to work, part time college and side projects that will hopefully lead to better work in the short term. I do look forward to picking it up again in the future though, its really quite fascinating.